[Offce365]編集中の公開Webサイト(Webページ)を非表示にしたり履歴管理したりする方法(ただし非公式) -1-
Offce365では、外部向けWebサイト(Webページ)が標準で実装されおり、ユーザはGUIから自社Webサイトをデザインし、Offce365上でホストできる。これはとても便利な機能だ。
しかし、CMSとしては少々未熟な面もある。例えば「下書き機能がない」「履歴管理ができない」点がしばしば指摘される。更新中のサイトが一般ユーザや検索エンジンから見えてしまうし、一度編集を失敗すると元に戻すことができない。確かにこれでは実用上問題があるだろう。
この点について、Office365フォーラムにおけるマイクロソフトの公式見解は「現在サービスの提供には至っておりません」となっている。
Office 365フォーラム:公開Webサイトの作成での問題点
Office 365フォーラム:Webサイトの履歴管理はできますか?
ただ、この「Webサイト」機能。よく見ると、実体はSharePoint Onlineの「ページ」機能だ(少々カスタマイズされているが)。そのため、私としては疑問を感じていた。SharePoint 標準の下書き機能やバージョン管理機能は活用できないのだろうか?
自身で試してみたところ…結論から言うと、どうやらどちらも可能であるようだ。以下、その方法を解説するが、これはマイクロソフトが公式にサポートしていない手法であり、動作は保証できない。
また、今後、Offce365のアップデート等で利用できなくなる恐れもある。その点をご承知おき頂き、自己責任でお願いする。(ただ、上記の通りSharePointという製品的には標準機能の範疇であり、問題になる事はないだろうと個人的には考えている)
さて、Office365の「Webサイト」は、チームサイト(SharePoint Online)内の「Webページ」というライブラリに、実体ファイルが格納されている。URL的には (ドメイン)/Pages/Forms/AllItems.aspx になる。(注:ここでの説明・画像は全てプランPを前提にしている。また操作はシステム管理者アカウントだ)
上図を見ると判るが、通常のライブラリなら表示される各種リボンがない。そのため、このライブラリの設定を弄る事が、GUIからは出来ない。
しかし、SharePointにおいて、各リスト/ライブラリの設定画面は、必ず固有のURLを持っている。書式は (サイトURL)/_layouts/listedit.aspx?List=(リストのGUID) だ。この「Webページ」ライブラリも、適切なURLを直接指定する事で、ライブラリの設定画面にアクセスできる。
リスト(ライブラリ)のGUIDは、ライブラリのHTMLソースから確認できる。ライブラリを開いた状態で、画面を右クリックして「ソースの表示」を行う。その中から、以下のような記述を探してほしい。「ctx.listName」がそのリスト(ライブラリ)のGUIDだ。
URLを組み立てると、例えば私の環境では以下のようになる:
http://www.simplesso.biz/_layouts/listedit.aspx?List={C591902D-03FD-4169-B99B-A1001DB804CE}
このURLを直指定して、ライブラリの設定画面を開く。
次に[全般設定/バージョン設定]をクリックし、以下に設定する。
- 送信されたアイテムに対してコンテンツの承認を必須にする >はい
- このドキュメント ライブラリのファイルを編集するたびにバージョンを作成する>メジャー バージョンを作成する
- この ドキュメント ライブラリ の下書きアイテムを表示できるユーザー>アイテムを編集できるユーザー
さらに、設定画面の下の方にあるビューの設定から「ビューの作成を」をクリック。
[ビュー形式の選択/標準ビュー]をクリック
下図のように、新しいビュー「admin」を設定する。ポイントは「名前(編集メニュー付きのドキュメントにリンク)」、と「承認の状況」列が表示されいてることだ。標準のビューはドロップダウンが表示できないため、下書きの承認やバージョン管理をすることができない。