SharePoint : サイトの開発・カスタマイズ用ファイルを「サイトのリソース ファイル」ライブラリに保管するのは微妙かも

開発・カスタマイズに利用する画像・CSS・JSファイルなどの格納先を「サイトのリソース ファイル」ライブラリに指定される事がよくあります。このライブラリはサイトを作成すると自動で作成されているのですが、「リソース」とは日本語で「資源・資産」なんて訳せると思うので、サイトのカスタマイズに利用する資源の格納先に選んでしまいがちでしょうか。

しかし、過去にも少し取り上げましたが、「サイトのリソース ファイル」ライブラリのそもそもの利用方法があり、それを考えるとカスタマイズファイルの格納先には向いていないのでは?と思います。

SharePoint 複数行テキスト列で画像・ビデオ・ファイルを挿入する際の「宛先ライブラリ」の初期値変更

「サイトのリソース ファイル」ライブラリとは、概ねページやアイテムに画像などを表示させる際のアップロード先と思って頂いて良いと思います。

SharePoint 2007 の頃はアイテムの複数行テキスト列に画像を表示したい場合は、先にどこかのライブラリに画像をアップロードし、URLを控えて、それを複数行テキスト列に指定して表示させていました。SharePoint 2010 からこの手間が楽になり、複数行テキスト列のリッチテキストエディタ内で、画像をアップロードしつつ表示させる事ができるようになりました。このアップロード先はサイト内のライブラリを指定できるのですが、その初期値で指定されているライブラリが「サイトのリソース ファイル」です。同じくビデオを表示させる際のアップロード先もそうです。

▼複数行テキスト列でコンピューターから画像を挿入すると

▼宛先ライブラリの初期値が「サイトのリソース ファイル」になっています。

▼新しい表示(モダンUI)のニュースページのヘッダー画像の追加も

▼アップロードする先は「サイトのリソース ファイル」になっています。

※しかも、新しい表示(モダンUI)のニュースページでは、宛先ライブラリの指定はできず「サイトのリソース ファイル」で固定のようです。

つまり、ここに開発・カスタマイズファイルを格納してしまうと、サイト運営開始してから上述のような方法で利用される画像・ビデオファイルと混在してしまいます。

「別に混在してもいいよ」って場合も、更に注意点としてアクセス権限があります。「サイトのリソース ファイル」ライブラリはデフォルトでは親となるサイトの権限を継承しています。つまりサイトに投稿権限以上あれば、ライブラリ内のフォルダーやファイルは編集・削除も可能です。それがなぜ注意点かというと…サイトの開発・カスタマイズに利用しているファイルを、特定多数の人達が編集・削除できてしまうという事です。

もちろんアクセス権限はフォルダー単位でも独立させて設定できますが、そこまでしてもサイトの開発・カスタマイズに利用しているファイルを「サイトのリソース ファイル」ライブラリに格納しなければいけない理由って逆にないと思います。

だとしたら、ゴチャゴチャしていなく権限も安全なライブラリに格納した方が良いのかなと思います。

  • 専用のライブラリを作成する
  • マスターページギャラリーやスタイルライブラリに格納する
  • 専用のサイト(コレクション)を作成する
  • 別のサーバーに格納する

などなど。それぞれの環境に合わせたやり方は色々ありますね。

もちろん、その上で「サイトのリソース ファイル」ライブラリを利用したい場合は、それもまた不正解ではなく正解なんだと思います。

SharePoint :複数行テキスト列(拡張リッチ テキスト)の「XHTML に変換」ってなんだろう?

拡張リッチ テキストにした複数行テキスト列の編集画面には、リボンに様々な機能があります。Word などに似たUIではありますが、意味のわからない機能もあると思います。個人的には利用頻度ワースト3に入る機能なのであまり気にしていなかったのですが、「XHTML に変換」ってなんだろう?と思ったので調べてみました。

マウスホバー時に出てくるメッセージは

XHTML に変換
基礎となるページを HTML から XHTML 準拠に自動的に変更します。

と書いてあります。複数行テキスト列に入力する作業が多いのは SharePoint 開発者でもなくサイト管理者でもなく、通常の投稿者が大多数でしょうが「なんのこっちゃ?」となるでしょうね。HTMLという言葉くらいは知っていてもXHTMLは知らなかったり、仮に知っていてもHTMLとXHTMLの違いなんて世の中では知らない人が大多数かと思います。

現時点での SharePoint Online ではページのソースを見ると、DOCTYPE宣言には XHTML 1.0 Strict となっています。

なので、HTMLで記述されたソースであれば、 XHTML 準拠のソースに自動変更する便利機能なんだろうと思いますが、正直、投稿者からすれば自分が思ったように表示されていれば裏側のソースがどうのこうのは関係なく、やはり「XHTML に変換」機能自体はマニアックなのかなとは思います。そもそも SharePoint のソース自体が XHTML 1.0 Strict に準拠…!?という話でもありますが。

実際にHTMLで記述したソースが「XHTML に変換」でどうなるかを検証してみる前に、このリッチテキストで「ソースの編集」からソースを入力すると SharePoint 側が勝手に色々ソースを変えるので、その挙動から検証をしてみます。

検証する材料としてのソースですが、HTMLとXHTMLの違いとしては細かいのが色々あるのですが、大きく以下の点を考慮します。

  • HTMLでは大文字小文字どちらもOKだけど、XHTMLでは小文字のみ。
  • XHTMLでは終了タグは省略できない。
  • XHTMLは整形式で記述しなければいけない。
    ×例→<p><span>text</p></span>
    ○例→<p><span>text</span></p>
  • 空要素の場合は/を入れる。

▼これらを全て盛り込んだ検証用HTML

<P>あいうえお
<HR>
<P><SPAN>かきくけこ</P></SPAN>

▼XHTMLに準拠した場合

<p>あいうえお</p>
<hr />
<p><span>かきくけこ</span></p>

▼では、検証用HTMLのソースを「ソースの編集」から貼り付けてみます。

▼表示のされ方はこのようになります。

この状態で「XHTML に変換」もせずに、もう一度「ソースの編集」を開きます。

▼やはり!(若干違うけど)この時点ですでにXHTMLに変換されてる。

つまり、ソースの編集でHTMLを記述すると、OKを押した時点でXHTMLに変換されるので、なおさら「XHTML に変換」の存在意義がわかりません。


結局、よくわからないので検索してみました。「SharePoint XHTML に変換」で検索しても日本語では有用な情報がなかったんです。仕方ないので英語サイトの情報を検索します。「XHTML に変換」は英語では「Convert to XHTML」です。しかしそれで検索しても情報がうまく見つけることができませんでした。つまり世界的にあまり利用もされていなく気にもされていない機能なのでしょうか。ただ、正解はわからないけど若干情報が出てきました。

それによると、「XHTML に変換」の用途は、例えばExcelからコピペしたあとに、そのソースをXHTMLに準拠したソースに変換しましょう!という事のようです。なるほど。実際にやってみます。

▼Excelの表部分をコピーします。

▼複数行テキスト列内にペーストすると見た目はしっかり再現されています。

▼ソースを見てみるとこんな感じで非常に汚いソースです。

ここで目立つのはfontタグがある事です。すっかり前段で検証し忘れていたけど、XHTMLの中でもStrictではfontタグは使用できません。つまりこのソースはXHTML 1.0 Strictには準拠していないという事になります。

では、この状態で「XHTML に変換」をしてみます。

▼fontタグが全てdivに変換されました!(汚いソースには変わりはありませんが…。)

その後、前段で検証し忘れていた「XHTML に変換」をしなくてもソースの編集でHTMLを入力したら SharePoint が勝手にソースを変えるという点ですが、fontタグはfontタグのままでした。

つまり、fontタグ以外のXHTML準拠の部分に関しては、「XHTML に変換」をせずとも変換してくれ、今のところ「XHTML に変換」はfontタグをdivタグに変換するだけの機能という感じ。

他にもあるのかもしれませんが、結局はHTMLをXHTMLにしますよという言葉以上の事はしないだろうし、「XHTML に変換」をしなくても、XHTMLの中にHTMLが入っていても、文法上は間違っていてもブラウザエラーになることもなく見た目は同じなので、投稿者目線では別にやらなくても良い行為で…やはりこの機能は利用頻度ワースト3不動かなと思います。

SharePoint : スクリプト エディター Webパーツ の空白の幅を詰めたい

スクリプト エディター Webパーツは閲覧モード時には非表示とする使い方も多いかと思います。例えばJavaScriptやCSSを直接記述したり、各種ファイルのリンクを埋め込んだり。

しかし、非表示のWebパーツでも縦幅はしっかり取られているので、デザイン・レイアウト的に邪魔な場合があるかと思います。(上の画像のように)

スクリプト エディター Webパーツを最下部に配置すれば解決しますが、中には最下部には置けない場合もあるのかなぁと思います。

■現象の確認

テキストのレイアウトを「2段組」にして左右にWebパーツを配置してみます。

▼当然ですが左右のWebパーツの高さは同じです。

▼左に スクリプト エディター Webパーツを配置します。

▼すると左のWebパーツは スクリプト エディター Webパーツの影響で落ちてしまいます。(段差がわかるように赤い線を引いています。)

これがスクリプト エディター Webパーツが空白でも縦幅をとるという事です。デザイン・レイアウトをあまり気にしないチームサイトなどは良いですが、社内ポータルサイトなどでは気になる場合もあるかと思います。

■解決策検討

単純にdisplay:none;でスクリプト エディター Webパーツを消してみます。

▼ソースでスクリプト エディター Webパーツの外枠に固有のclassを振ります。

【参考】
SharePoint のページにオリジナルのCSSを適用させる方法について

※ちなみにWebパーツのソース自体のdivのclassに固有のclassを追加せずに、わざわざ外枠にdivを追加しているのは、単に僕の好みです。

▼次に、以下のCSSを記述します。(適用のさせ方も上述の【参考】を)


.HideWebParts { display:none; }


▼無事解決。左右で高さが一緒になりました。(わかりやすいように赤い線を引いています。)

■しかし…

これで解決したかと思ったのですが、よく考えればわかることですが、このままだと編集モードにしてもスクリプト エディター Webパーツは表示されません。

隠してしまったスクリプト エディター Webパーツが一度設定したら二度と編集する事がない場合は問題ないですが、あまり管理面でもよくないのかなと思います。また、編集したくなったらCSSを解除すれば良いのですが、解除をしたらその間はユーザーがページを表示すると高さがおかしくなるので厳密には良くないです。

理想は閲覧モードの際にはスクリプト エディター Webパーツ分の高さは消え、編集モードの際にはスクリプト エディター Webパーツが表示されたら良いです。

■解決

これも解決できます。編集モードの際のソースを調べると、編集モード時に固有のclassがあります。

▼閲覧モード時の該当箇所

▼編集モード時の該当箇所

編集モード時の該当箇所のclassで、編集モード固有のクラスは、
.ms-rte-layoutszone-inner-editable
.ms-rtestate-write
の2つあり、editableとかwriteとか、いかにも編集っぽいワードで、どちらでも良いと思います。

▼これを利用します。(今回は.ms-rte-layoutszone-inner-editableを利用)


.HideWebParts { display:none; }
.ms-rte-layoutszone-inner-editable .HideWebParts { display:block; }


これで閲覧モード時ではスクリプト エディター Webパーツの縦幅が消えて左右のWebパーツの高さは一緒になり、編集モード時にはスクリプト エディター Webパーツは表示されます。

▼閲覧モード

▼編集モード

SharePoint:「注目リンク」リストは新しい表示(モダンUI)ではエラーになる

[2018/02/21]追記

現在は注目リンクリストもモダンUIに対応され、エラーになっていません。

SharePoint :いつの間に 注目リンク リストがモダンUIに対応していたので色々試してみる


新しい表示が出てきてから結構経つと思いますが、仕事でモダンUIを利用する事はほとんどなく、だいたいクラシック表示で開発をしています。なので新しい表示は自分のテナントで趣味で遊ぶくらいしか触っていなく、イマイチ慣れないのですが…。

SharePoint 「注目リンク」リストをCSSでイイカンジにカスタマイズ

先日CSSでカスタマイズを紹介した「注目リンク」リストですが、作られた時からクラシック表示になっているという事にふと気がついて、新しい表示だとどうなるのかな?と切り替えてみました。

▼最初はクラシック表示。何もカスタマイズもしていない注目リンクです。

▼新しい表示に変更!エラーになります!

タイルビューがダメなのかな?と思ってビューを切り替えました。

▼それでもエラーです。

つまり注目リンクは新しい表示には対応していないようですね。

新しい表示のページには Hero というWebパーツがあるので、そもそも注目リンクは不要になるということでしょうか。

注目リンクのようにページには表示させたいけど、管理はリストで行いたいというニーズもあると思うんですけどね。

ちなみに新しい表示のページにリストWebパーツを表示させられるようになりましたが、Webパーツの設定で選択するリストの一覧の中に注目リンクはなかったので、注目リンクはリストだけど新しい表示のページには表示できないようです。

なので、現時点では注目リンクリストはクラシック表示での利用となるようです。

現時点で新しい表示だけで運営をしようとしている企業っているのでしょうか。まだまだ慎重になっているのかなぁと思います。コミュニケーションサイトなんかも出てきて、モバイル対応重視なら新しい表示にするべきでしょうけど、なんとなく不安感ありますよね。今後に期待です。

SharePoint: コンテンツ エディター Webパーツの「コンテンツへのリンク」の活用例

SharePoint 2007 から何かとお世話になることの多い「コンテンツ エディター」Webパーツ。ただし、僕個人的にはこのWebパーツを本来の使い方である「リッチテキストコンテンツ…」として利用した事はあまりありません。SharePoint 2010 からはWikiページになって、コンテンツ エディター Webパーツを使わなくても、コンテンツエリア内に直接リッチテキストを作成する事ができてしまいますからね。(コチラの方がコンテンツ エディター Webパーツよりも色々制約がありますが…)

コンテンツ エディター Webパーツの利用の大半は、そのページに適用したいCSSファイルやJSファイルのリンクを埋め込む事。これで結構重宝しました。SharePoint 2013 からはこの役割を「スクリプト エディター」Webパーツも行えるので、コンテンツ エディター Webパーツの利用頻度は減ってきたような気がします。

その他で僕がコンテンツ エディター Webパーツを利用してきた中で、本題の「コンテンツへのリンク」をよく使っていました。これはライブラリにアップロードしたテキストファイルのURLを指定すると、テキストファイル内のテキストが表示される機能です。

▼このようなテキストファイルを作成します。文字コードはUTF-8で保存しましょう。

▼アクセス権限だけ気にしてどこでも良いのでライブラリにアップロードします。URLを控えましょう。

▼表示させたいページにコンテンツ エディター Webパーツを配置し、「コンテンツへのリンク」にURLを指定。

▼コンテンツ エディター Webパーツには、テキストファイル内のテキストが表示されます。

【注意】
▼文字コードはUTF-8にしてください。文字化けします。

う~ん、テキストファイルなのでプレーンテキストを表示するだけでしょ?コンテンツ エディター Webパーツの中に直接リッチテキストコンテンツとして入力した方が装飾できるので、今のところ特に「コンテンツへのリンク」のメリットがない。

直接コンテンツ エディター Webパーツの中にリッチテキストコンテンツとしてテキストを入力するのと何が違うかというと、サイトコレクション内で使いまわせてコンテンツが一元管理できる点です。(サイト内ではなくサイトコレクション内です。ただ、別サイトコレクションは指定するとエラーになってしまいます…残念。)

つまり、複数ページに同じテキストを表示させ、更新などの管理を全ページで一括で行いたい場合、「コンテンツへのリンク」を使えば、指定したテキストファイル内のテキストを変更すれば、一括で全ページが更新されるというわけです。

若干メリットが出てきました。

で、テキストファイルなのでプレーンテキストだけしか対応しないと思うじゃないですか。でも実はこのテキストファイル内にHTMLを記述すれば、コンテンツ エディター Webパーツにはソースが表示させるのではなく、ちゃんとレンダリングされて表示されます。

▼さっきのテキストファイル内をこんな感じでHTMLを記述して更新します。

▼このようにソースが表示されずに、ちゃんとレンダリングされます。

夢が広がってきました。

過去にこれを使った例としては、トップリンクバーやサイドリンクバーは利用せずに、複数ページのコンテンツエリア内に独自のナビゲーションを配置させるのに利用しました。

▼軽くナビゲーションを作ったテキストファイルです。CSSも対応されます。

上で紹介した同じ方法でライブラリにアップロードし、表示させたいページにコンテンツ エディター Webパーツを追加し、「コンテンツへのリンク」にURLを設定します。

▼このようにテキストファイルに記述したナビゲーションが表示されました。

4ページ作成し、同じ位置に同じ設定をします。(1ページ作成し、 SharePoint Designer でコピーしても可ですね。)

▼このように4ページに全て同じナビゲーションが表示されます。

これで、この4ページはこのナビゲーションで自由に遷移する事が可能です。更に一括管理できるメリットを試してみます。この状態でテキストファイルを更新してみましょう。

▼テキストファイルを更新しました。

▼テキストファイルを上書きアップロードすれば、同時に全てのページで更新が適用されます。

今回はデモなので4ページのみですが、ページの量が増えるほど、一括管理できるメリットが活きるのかなと思います。

こういう機能があるんだという事を知っておくと、何かの時に役立つかもしれないですね。

Excel / PowerPoint にいつのまに「自動保存」機能?

[2018/03/26 追記]

本記事には Word に自動保存機能がないと記載しておりましたが、その後、自動保存機能が実装されている事を確認しました。

Word にもいつのまに「自動保存」機能!そして気になる事を検証!


今日 Excel を触っていたら左上に「自動保存」なる文字が。グレーアウトされて目立たなかったから気がつかなかった?いつからだ?っていうかグレーアウトされているからオンにできません。

▼他もチェックしたら PowerPoint にもありました。

▼しかし、 Word にはありません。

で、グレーアウトされていたら使えないじゃん!と思って調べたところ、

【参照】

自動保存とは

OneDrive、OneDrive for Business、 SharePoint Online に保存されている時に有効になるとか。ローカルでファイルを作っていたからグレーアウトされていたという事か。

▼ SharePoint Online 上のドキュメントを開いてみると自動保存がオンに!

Excel Online でも開きつつ、Excel でも同じファイルを開いてみて、Excel上で編集してみると…

▼面白い!遠隔操作しているように excel Online 上に反映されます。

▼この「 SharePoint に保存 ▼」をクリックすると…

▼バージョン履歴が。「すべてのバージョンを表示」をクリックすると?

▼右側が開いてバージョン履歴が表示され、 SharePoint のライブラリのように復元もできるようです。

普段、クラウド上のファイルを直接編集する事がなく、ローカルPCで作成したものをアップロードする流れは未だに根強い方法かと思いますが、このようにクラウドならではの便利機能が増えるほど、色々と作業方法も変わっていくんでしょうかね。っていうかローカルPCでの作業でもこの機能欲しいなぁ。

僕自身も恥ずかしながらローカルPCで作業してしまう人間というか、そもそもあまりチームで共同作業をした経験がないので、複数人で編集した際の挙動などはよく把握していないので、今後色々と遊んでみようと思います。

「ファイルを編集している時は無意識にctrl+sで保存するクセをつけろ!」なんて事もそのうち懐かしい昔話となるのでしょうか。

SharePoint 「注目リンク」リストをCSSでイイカンジにカスタマイズ

「注目リンク」リストは SharePoint 2013 から登場しましたが、それまでのリンクリストよりもデザイン性も良く、新しいタブ表示などにも対応できて、重宝されている人は多いのではと思います。

しかし、

  • タイルが大きすぎる!(150px × 150px)
  • 1列でしか表示できない!(カルーセルUIっぽくなるけど)

ここら辺が弱点となり、利用に躊躇されているケースもあるのではと思います。

例えば、社内ポータルのトップページに、従業員が毎日利用する社内システムへのリンクを、見栄えも良くクリックしやすいタイルのリンク集を作りたい場合など。注目リンクを使うと大きくて社内ポータルのトップページに配置すると、他の重要なコンテンツの邪魔になったり、目立ちすぎて逆に困ったり。また、9個くらいリンクを置きたいのに全部配置しきれなく、カルーセルUIのようになるけど、矢印アイコンをクリックしないと表示されないリンクが出てきて、アクセシビリティが良くないなど。

とはいえ、注目リンクをやめて、コンテンツ エディター WebパーツなどでHTMLで組むとメンテナンス性が悪い。(リンクの作成・編集・削除はリストで行いたい。)

では、CSSでライトにカスタマイズして実現しちゃえ!

※ SharePoint Online 環境でカスタマイズしています。
※ IE11/Chorome最新/Firefox最新 のみ確認しました。
※タイルは100px × 100pxにしました。
※このサイズで3列で折り返しし、複数行表示されます。

▼こんな感じ。

これはビューにCSSを当てた感じですが、もちろんページにこれを表示させたい場合は、注目リンクリストをアプリパーツとして配置した後に、ページにCSSを当てればOKですね。そこまではここでは紹介しませんので、以下の過去記事を参照ください。

SharePoint のページにオリジナルのCSSを適用させる方法について

では、特に出し惜しみするものでもないので、CSSのソースも紹介しちゃいます。基本的には大きさの調整です。面倒なので全て!importantを付けています。強いて言えば、マウスホバー時の挙動に関して若干考えたくらいです。

※念のため。ご利用の際は、自己責任でお願いします。


.ms-promlink-root, .ms-promlink-body { width:330px !important; } .ms-promlink-header { display:none; } .ms-tileview-tile-root { width:110px !important; height:110px !important; } .ms-tileview-tile-content { width:100px !important; height:100px !important; } .ms-tileview-tile-detailsBox { top:50px !important; width:100px !important; height:100px !important; } .ms-tileview-tile-content [onclick*=”STSNavigate”] .ms-tileview-tile-detailsBox { top:0 !important; } .ms-tileview-tile-content img { width:100px !important; } .ms-tileview-tile-detailsListMedium { height:100px !important; }


あとは、好みの大きさに調整してみてください。

▼背景画像にアイコンを配置し、CSSの位置を調整すれば、こんな感じもいけちゃいます。(これ、実際に注目リンクです。)

SharePoint :ページにWebパーツを追加すると1つしか表示していないのにWebパーツのタイトルに[1]が表示される

ページにWebパーツを追加する時に、同じWebパーツを追加するとWebパーツのタイトルは一意なようで、例えば「○○」というタイトルだったら、複数追加すると「○○[1]」「○○[2]」…と、数字が振られます。

ページを色々とイジってると不思議な現象が起きる事があります。
ページ上では同じWebパーツを置いていないのに、Webパーツを追加したらタイトルがすでに「○○[2]」と表示されてしまっている現象。

▼このようにWebパーツは1個しか表示されていないのに、なぜか[2]がタイトルに追加されてしまっている。

▼もちろんアプリ名に[2]が付いているわけではなく、Webパーツの設定では[2]は付いていない。

この不思議現象はページ作成ほやほやには絶対に起きない現象です。

なぜ[2]と付いてしまうかというと、同じWebパーツを追加すると付くわけなので、表示的にはこのWebパーツは1つしかないけど、実はページ自体には裏側ではこのWebパーツは2つあるのでは?と考えます。

裏づけとして、このページが持っているWebパーツを一覧で表示させる方法があるので確認してみます。(割と有名?な隠しページ?です。)

▼ページのURLの最後に「?contents=1」を追加します。

▼隠しページのように「 Web パーツ ページの管理」というページがあります。

見ての通り、表示上では「lib001」というWebパーツは1つしかなかったけど、このように裏側では2つ存在する事になっています。なので[2]がタイトルについてしまうようです。

ここからlib001を一つ削除すれば解決します。下にある方が新しく追加した方で、上にある方はなんらかの操作で消えてしまった方です。なので上の方をこのページから削除します。

▼削除したいWebパーツをチェックして「削除」を。

▼このページ上からはダブっていたlib001が削除されました。

▼ページへ戻るとさっきまで付いていた[2]が消えました。

 

では、なぜ裏側で2つ保持されてしまったのか?おそらく現象が起きるオペレーションとしては複数あるんだと思いますが、僕の知っている範囲だとソースでWebパーツを削除すると現象が起きる事を確認しています。

▼Webパーツを削除する場合は、ここから削除した方が良さそうです。

複数ユーザーが管理するページにおいて、自分の記憶がなくても誰がどのような操作をしているかはバージョン管理だけではわかりにくいので、もし複数配置していないのに[2]など表示される場合は、Web パーツ ページの管理で確認してみてください。


【追記】

本現象が起きる操作として、Webパーツを追加した後に保存をしないでページの編集を閉じたり、ブラウザを閉じると起きます。(費さん!情報提供ありがとう!)

SharePoint 2013 以降/ SharePoint Online で SharePoint 2010 のパンくずリストを復活させる方法

以前、「ポータルサイト接続」機能の設定は、設定しただけでは意味がない話をしました。

SharePoint の「ポータルサイト接続」とは?

ポータルサイト接続はパンくずリストに表示させる設定で、そのパンくずリストが SharePoint 2013 からは非表示にされてしまったので、設定しただけでは意味がないと書きました。

つまり、パンくずリストを復活さえすればポータルサイト接続も利用できるのですが、それにはマスターページをイジらなければいけなく、マスターページをイジらない主義の僕としては別の方法を考えてくださいと書きました。

しかし、それから機会あってとりあえず動作検証してみたので、やり方だけ残しておきます。

※seattle.masterを適用しているとします。
※もしこの記事を参考に試みる場合は、マスターページのカスタマイズはサイトコレクションがおかしくなる場合もあるので、バックアップをとるなどをし、あくまでも自己責任でお願いします。

▼ SharePoint Designer でマスターページを開き、「bread」で検索すると表示されるここらへんのソースが対象です。

▼classが「ms-breadcrumb-dropdownBox」のdiv内「style=”display:none;”」を削除。

▼Visible=”false”のfalseをtrueに変更。

これで保存し、場合によっては発行して完了です。別のマスターページとして保存した場合は関連付けを忘れずに。

▼作業が終わると、トップリンクバーの左に見慣れぬアイコンが現れます。

ただ、これ…わかります??右のリンクのリンクアイコンのようにも見えます。しかも一般的な別タブ表示リンクのアイコンっぽいです。少なくとも知らないユーザーが直感的にパンくずリストがあると気がつく確率は限りなく低いように思えます。(なんかゴミみたいなのがある?くらいの印象ですよね。)

▼この小さなアイコンをクリックすると SharePoint 2010 のように展開されます。

そもそも SharePoint 2010 でも「これパンくずリスト?」って感じでなかなか気がつかず、クリックしないと展開しないので使い辛い。おそらくこんな感じだから SharePoint 2013 からなくなったんだろうなぁと思います。


パンくずリストが表示されたところで、ポータルサイト接続を設定してみます。

▼サイトコレクションの設定内に「ポータルサイト接続」があるので設定します。

▼パンくずリストを展開するとさっきまで無かった最上位に設定したリンク先が表示されます。

SharePoint 2007 の頃のポータルサイト接続はページ左上に常時表示されていて使い勝手が良かったのですが、やはりこれでは用途としては微妙で、わざわざマスターページをイジってまで復元させる機能ではないかなと思います。いつ消えてしまうかわからないし。

ということで、遊んでみたので記事にしてみました。

【参照】

What does “Portal Site Connection” do?

SharePoint 「サイトコレクションの管理者」と「トップレベルサイトのフルコントロール権限」は全然違う

「サイトコレクションの管理者なのに、サイトの設定画面に表示されていないメニューがある!」

という問い合わせを過去に数回受けた事がありました。この場合、ほぼ100%このユーザーは「サイトコレクションの管理者」ではない事が原因です。

上長からの任命などで「このサイトコレクションの管理者になった」という役割名の意味の「サイトコレクションの管理者」と、SharePoint の設定上の「サイトコレクションの管理者」に追加されたユーザーでは大きく異なります。つまり、問い合わせしてきたユーザーの「サイトコレクションの管理者」とは、前者のただの役割名の意味だったという事です。

会社によって SharePoint の運営方針は異なりますが、中には「サイトコレクションの管理者」はIT部門以外のユーザーは追加しない方針もあるかと思います。この場合、いわゆるサイト管理者にはトップレベルサイトに対してフルコントロール権限を付与する形が多いかと思います。(もしくはオリジナルのアクセス許可レベル。)

トップレベルサイトに対してフルコントロール権限があれば、トップレベルサイトの様々な設定が可能で、更にサブサイトを作成する事も可能なので、サイトコレクション全体にフルコントロール権限が付与されたと思いますし、言葉通りとればそれは事実です。
そもそもアクセス権限(アクセス許可レベル)とは別に「サイトコレクションの管理者」という設定というか存在が SharePoint 上にあるという認識は、実際にサイトコレクションの管理者にならないとなかなか知る由もない事です。

▼このメニューは実際にサイトコレクションの管理者じゃないと表示されないので。

▼そしてサイトコレクションの管理者じゃないと表示されないサイトの設定のメニューはたくさんあります。

トップレベルサイトにフルコントロール権限が付与されているだけなのに、説明では「サイトコレクションにフルコントロール権限を付与しました」という若干曖昧な言い方をしてサイトコレクションを提供してしまうと、もらった方は最高権限をもらったと思ってしまい、その後ネットで検索した情報を元に設定しようと思ったらメニューがなかった…なんてストーリーがあり、冒頭の問い合わせにつながります。

わかりやすいかは置いといて(置いとくなって感じですが…)イメージ図を作ってみました。

▼サイトコレクションの管理者の設定範囲

  • サイトコレクション内の全ての設定が可能です。
  • サイトコレクションの管理者は、各サイトの権限設定に影響されません。

通常、ユーザーに何の権限を付与しないとURLからアクセスしてもエラーで閲覧すらできませんが、「サイトコレクションの管理者」に追加されたユーザーは、各サイトのアクセス権限を一切付与していなくても、全ての操作が行えます。

▼トップレベルサイトにフルコントロール権限を付与されたユーザーの設定範囲

画像右下の前提条件があった場合、

  • サイトコレクションの設定は一切できません。
  • トップレベルサイトの設定はできます。
  • サブサイトBの設定もできます。
  • 各サイトの権限設定に影響されるので、この例ではサブサイトAは設定どころか閲覧すらできない。

このように大きな違いがあります。

以上の事を考慮すると…
立場上の概念的な名称として、そのサイトコレクションを管理する人の事を「サイトコレクションの管理者」と呼ぶ事は非常に紛らわしく、例えば「サイトコレクションオーナー」とか設定上の名称と概念的な名称は差別化した方が、今後の様々な意思疎通を行う上で齟齬や認識違いが発生しないのかなと思います。