SharePoint 初心者がつまづく点:アプリとアプリパーツの関係がよくわからない

SharePoint において、サイト管理者にサイトコレクションを渡しても、いつまで経っても構築されずに放置、または、サイト管理者のテストページが作成された痕跡があるだけ、いつしか全く利用されずにゴーストタウン化…なんて事がありがちかと思いますし、そのような現場を数多く見てきました。

なぜ利活用が促進されないか?色々原因はあるとは思いますが、単純にユーザーが使い方がよくわからなく、便利だと感じるまでに到達しないからだと思います。ネットワーク上の情報共有はメールで行うのが昔から定着されてきた方法で、この根強い牙城を崩すことはこんな世の中でもなかなか困難です。メールにはない便利さを多大に感じてもらわなければ、わざわざ慣れたメール文化から「しぇ?しぇあぽいんと?なにそれ?」から積極的な利活用には持っていくことは厳しいです。
逆を言えば、ある程度使い方を教えて便利だと感じてもらえれば利活用促進の第一歩かと思います。第一歩ですが大きな一歩です。

過去にたくさんの SharePoint 初心者と関わらせていただきました。ここで示す初心者とは「サイトを作成・運営」する立場の人達です。時にはマニュアルやガイドを作成したり、時には社内セミナーや勉強会を開きました。長年運営に携わりリアルガチな生の声もたくさん聞いてきました。そこで様々な SharePoint 独特のわかりづらい点があり、教えるのに苦労した事もあったり、よく質問をもらったりしました。そこでそういう点を過去の経験を基に紹介しようと思います。

それぞれの環境により正解は異なるのでここでは特に正解は書きませんが、何かの気付きになっていただければうれしいです。


そもそも「アプリ」「アプリパーツ」という用語がフワっとしちゃっていますが…。

Office 365 内の「アプリ」という言葉の定義がフワッとしている…

今回の記事の「アプリ」とは、いわゆるリスト・ライブラリの事です。「アプリパーツ」とは、リスト・ライブラリ Webパーツの事です。

SharePoint は良くも悪くもクセのある製品だと思います。SharePoint をはじめて触った人がサイトを構築しようとして困惑するのが、このアプリとアプリパーツの関係性と作成の操作性・操作手順でした。

例えば「トップページにライブラリを追加しよう」という単純な目的があるとします。初心者の方が困惑するのは、だいたい以下の操作をイメージするからです。

▼このページにライブラリを追加したい!なにやら右上に「編集」があるぞ。

▼おっ!編集できそうだ。ライブラリはどう追加するんだろう?リボンのタブに「挿入」があるぞ!(ここに気がつくまでにも時間がかかりますよね…)

▼おっ!「アプリパーツ」ってこれじゃん!

▼ん?どこからライブラリを作るの?意味わからん!

で詰まってしまうようです。

  • ページにアプリパーツを追加したい。
  • ページを編集してアプリを追加する。

SharePoint について知らない場合は、そういう考えになってしまいますよね。

SharePoint を知っている人なら以下の手順で作成すると思います。

  • アプリ(ライブラリ)を作成
  • ページにアプリパーツ(作成済のライブラリ)を追加

でも、この概念をUIから直感的に理解する事は今の SharePoint では困難なんですよね。まずはアプリを作成してからパーツとしてアプリを配置するという事に。

で、行き詰ってしまって諦めて使われなく…。

なので、サイトコレクションを渡す際に、キモとなる部分は最低限教えてあげる必要がありますね。これはその一つなのではと思います。

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

サイトコレクションの設定画面に「ポータルサイト接続」なるリンクがあります。これは SharePoint 2007 の頃にはお世話になりました。 SharePoint 2007 には画面左上にパンくずリストが存在し、ポータルサイト接続で設定したリンクがパンくずリストの最上位に表示されたんです。なので、利用例としては社内ポータルサイトがあれば、そのリンクを他の全てのサイトコレクションの「ポータルサイト接続」に設定します。そうすると、どこへ行っても左上のパンくずリストから社内ポータルへ行く事が可能になります。

SharePoint のパンくずリストへの扱いはバージョンアップするごとに追いやられてきました。SharePoint 2010 ではユーザーが気がつかないほど目立たなくなり、SharePoint 2013 からはとうとうなくなりました。

となると、パンくずリストがない今、なぜまだ「ポータルサイト接続」の設定が生き残っているのか?他にポータルサイトへのリンクが存在するのか?と思って色々調べてみました。

日本語で「SharePoint ポータルサイト接続」で検索しても、古い情報しかないので、苦手な英語で検索をしました。英語では「Portal Site Connection」というようです。するとさすが世界は広く色々と結果が出てきました。

ただし、恥ずかしながら僕は英語が苦手なので…以下はあまり自信がありません。

複数検索結果を翻訳を頼りに読んでいったところ、どうやら「ポータルサイト接続」はパンくずリスト用途以外はなさそうです。そして SharePoint 2013 からはパンくずリストは表示されていないため、単にここを設定しただけでは意味が無いようです。

つまり SharePoint 2013 からポータルサイト接続を利用したい場合は、まずはパンくずリストを表示させなければいけません。パンくずリストは機能として消えたわけではなく、表示されていないだけで、裏側で機能としては残っているようです。ただし、標準機能の範囲でポチポチ設定するレベルではなく、どうやらマスターページを編集する必要があるようで、若干敷居が高いです。

元々、SharePoint 2007 では、個人的に「ポータルサイト接続」は冒頭に説明した利用用途では重宝していましたが、「パンくずリスト」自体は微妙でした。( SharePoint 2007 の頃はパンくずリストが2箇所あり、いまいちパンくずとしての機能が果たせていなかったと感じています。)なので、 SharePoint 2013 からは消えてしまったこともあり、パンくずリストを頼りにしない構成や見せ方を検討した方が良さそうです。

ポータルサイト接続に関しても、「どこへ行っても社内ポータルへのリンクがある」という要件であれば、別の方法を模索してみましょう。
例えば、面倒ですが各サイトのトップリンクバーに必ず社内ポータルへのリンクを追加するという約束事を設ける事も別にナシではないと思います。
例えば、 SharePoint Online なら画面左上の「SharePoint」をクリックすると(正式名称はわからないけど)自分用のリンク集みたいなページがあり、その中の「おすすめリンク」は自分で編集ができるのでそこを活用してもらうのも手かと思います。
例えば、ブラウザのブックマーク(お気に入り)を利用してもらったりホームページに登録してもらう方法だってありますよね。(企業によっては会社支給のPCにはあらかじめホームページに社内ポータルが設定されているところもあったりしますね。)

手段は色々あってユーザーが自発的に行える方法も複数あるわけで、それを教えてあげればユーザーは学習して、他にも応用されていくのではと思います。なのにIT部門などがカスタマイズをして手厚く用意してあげるのは、やはり「IT過保護」なのかなと思います。こんな世の中なのでIT企業でなくても従業員のITリテラシーは高いに越したことはないですよね。また、普段IT部門が「うちの会社のITリテラシーは低くて…」と嘆いていても、そんなITリテラシーの低い従業員は、プライベートではスマホでSNSを大いに活用し、PCで家族に内緒でエロ動画を見まくっているわけで、ポテンシャルは本来は持っていたりするハズなんですよね。ヤル気がないなどでポテンシャルを引き出せていないだけで。
従業員の教育にお金を注がずにIT過保護のためにカスタマイズにお金を注ぐのは、将来を考えると違うんじゃないかなと思います。 Office 365 の日々の進化っぷりや、コーディングせずにパワーユーザーが作成できるようなアプリが色々出るような時代の流れの中で、従業員に対してIT過保護になればなるほど取り残されていく危機感はあった方が良いのではと考えます。

脱線してしまいましたが最後。「SharePoint Portal Site Connection」などで検索してみると、SharePoint 2013 からのパンくずリストを表示させる方法や、SharePoint 2007 や SharePoint 2010 のパンくずリストの表示位置などが出てくるので、徐々にパンくずリストが追いやられていく歴史もわかって面白いです。

SharePoint 「人気の傾向」について

簡易的なアクセス数の把握には「人気の傾向」は気軽で良いですよね。ただ、この数字本当かね?って思える事ないですか?昨日は少なくとも自分はアクセスしたのに0になっている。など。

以前 Microsoft 社のサポートに問い合わせした事もあり、以下にその回答を要約したものを書きます。

  • サーバー側で1日1回実行されるタイマージョブにより反映される。
  • 1日1回がいつ行われているかは公開されていない。(つまりわからない。)
  • サーバー側の様々な都合で、処理が1日以上遅れる場合がある。

という事で、「人気の傾向」はあくまでも文字通り傾向を把握する機能として用意され、正確なアクセス数を取得するようなツールではないとの事でした。

サポートの方に薦められたのは Office 365 の監査ログでした。監査ログと言えば、オンプレの SharePoint をやっていた時代には、IT部門から「ログが肥大するから機能は利用しないでほしい」と言われた事があります。Office 365 の監査ログでは90日以内しか残っていないようですね。

また、 Office 365 の監査ログはデフォルトでは有効化されておらず、有効化を実施した日より以前のログをさかのぼって取得する事はできないので、そのようなニーズが予測される場合は、早めに有効化しておいたほうが良さそうですね。

人気の傾向でエクスポートされるデータを見ると月次の閲覧数は約3年間くらい表示されます。大雑把に傾向を把握する場合は管理面でもこちらの方が良さそうですね。一方、 Office 365 の監査ログは90日以内しか残っていないので、直近の正確なデータを取得するのに適しているのと、監査ログなので単にアクセス数を取得する以外にも色々なログが表示されているのですが、1年以上の推移が欲しいなどの場合は90日ごとにデータをエクスポートするなど、管理面では何かしらの手間はかかりそうですね。

SharePoint 投稿・閲覧ユーザーに教えると喜ばれる機能:自分だけのビュー「個人用ビュー」

前回、ビューでフォルダー階層を無視する設定があると説明しました。その際に、「え?だって権限低いからビュー作れないし…」と思った人もいるはずです。

  • ビューはリスト/ライブラリを作成する権限がある人しか作る事ができない。
  • だからその人達が作ったビューが自分的に使いにくくても我慢。

そう思っている投稿・閲覧ユーザーは少なくはない。と、これは僕の経験則です。しかし、投稿権限ユーザーでもビューは作れます。それが「個人用ビュー」です。

個人用ビューはザっとこんな感じ。

  • パブリック ビュー(通常のビュー)と同じ設定で自由にビューを作成できる。
  • 作ったユーザーしか表示されない。作ったユーザーしか利用できない。

という感じです。

では実際に投稿権限ユーザーで個人用ビューを作成してみます。(ビューの作成画面にたどり着くまではクラシック表示と新しい表示で異なるのでどちらも紹介します。)

■クラシック表示の場合

▼「ビュー選択の…メニュー」→「ビューの作成」をクリック。

■新しい表示の場合
※新しい表示で個人用ビューを作成する方法は若干分かりづらいです。(実は僕が知らないだけかもしれませんが…)

▼ビュー選択のメニューを展開させても「ビューの作成」はなく…「ビューの保存」をクリック。

▼ダイアログ内に名前を入力して保存

▼再度ビュー選択のメニューを展開させ「現在のビューの編集」をクリック。

ここから先は新しい表示もクラシック表示も同じです。

▼ビューを好きに設定しましょう。

パブリック ビューと同じ設定が可能なので、リストやライブラリの作成経験者が近くにいたら教えてもらうのも良いし、じっくり読めば色々わかってくるので、自分にしか表示されないビューだから好き勝手に試してみるのも良いかと思います。楽しんであれこれ試してみましょう。

▼このように個人用ビューが完成します。

先ほど投稿権限ユーザーで作成したビューが本当に他ユーザーに表示されないかどうか?実際にサイトコレクションの管理者でアクセスしてみました。

▼もちろんサイトコレクションの管理者でも表示はされていません。

このように自分だけのビューが作成できます。リストやライブラリを利用した際に、ビューの設定が自分の好みに合わず使い勝手が悪いと思ったら、自分好みの個人用ビューを作ってみると良いですね。

ちなみに…閲覧権限ユーザーの場合は、残念ながらデフォルトでは個人用ビューは作成できません。ただ、そういう機能があると知っているだけでも違います。というのも、「閲覧」アクセス許可レベルを編集し「個人用ビューの管理」にチェックすれば、閲覧権限ユーザーでも個人用ビューを利用する事が可能だからです。会社やサイト管理者のポリシー次第でもあるのですが、閲覧権限ユーザーでも個人用ビューを利用したい場合は、サイト管理者などに相談しても良いですね。

また、サイト管理者や利活用促進を目指す人達は、このような情報はユーザーに提供していくと良いと思います。

SharePoint 投稿・閲覧ユーザーに教えると喜ばれる機能:ビューでフォルダー階層を無視する設定

これは個人的な考えですが、SharePoint で情報共有目的でフォルダー管理するのはあまり好きではありません。他に SharePoint ならではの整理する手段があるからです。そこらへんの話をすると冒頭から話が大脱線してしまうので、また別の機会にします。

僕の好き嫌いは置いといて、一般的には SharePoint のライブラリでもフォルダーでファイル管理をしているケースは多いと思います。でもフォルダー関係なくライブラリ内の全てのファイルの新着情報や更新状況を知りたい場合もあると思います。

例えば…

Aさん「Bさん!○○ファイルをライブラリにアップしといたよ!」
Bさん「ん?○○ファイルってどのフォルダーでしたっけ?」
Aさん「えっと、まってね…Aフォルダー内のA-bフォルダー内のA-b-01フォルダー内!」
Bさん「早い早い!Aフォルダー内の??」
Aさん「A-bフォルダー内の…」

わずらわしいやりとりですよね。

この場合、SharePoint にはフォルダー階層を無視したビューを作成する事が可能です。この設定をはじめて知った時に SharePoint って便利だなぁと思ったし、他ユーザーに教えるとだいたい良い反応いただきます。 SharePoint に詳しい人にとってはよく知られている機能だけど、利用ユーザー全体で考えるとおそらく知らないユーザーの方が多いのかなと思いますので紹介します。

▼フォルダー階層のライブラリがあります。

フォルダーの更新日時はフォルダー内のファイルの更新日時ではなく、フォルダー自体の更新日時です。(この情報あまり必要ないですよね…。)なので、このビューだけではこのライブラリ内の各ファイルの更新状況は把握できません。

そこでフォルダー階層を無視するビューを作ってみましょう。

▼ビューの新規作成画面です。キモの部分は「フォルダー」。

ここで「フォルダーなしですべてのアイテムを表示する」にします。

▼ほかに「並べ替え」を更新日時で降順にします。

するとフォルダー階層を無視したライブラリ内の更新状況が把握できるビューが完成です。

▼このようにフォルダー階層を無視し全て並列でファイルが表示されます。

サイトのトップページにこのビューを配置し、ライブラリの新着情報にする…なんて使われ方が多いのかなと思います。

先ほどのわずらわしい例えだと…

Aさん「Bさん!○○ファイルをライブラリにアップしといたよ!」
Bさん「承知しました!」
(ライブラリの新着情報を見れば今Aさんがアップしたファイルが表示されている。)

こんな感じになります。

注意点があります。5000件問題です。ビューのしきい値の5000件問題はフォルダーにすれば回避できますが、この設定はそのフォルダーを無視する設定なので、ライブラリ内に5000件以上のファイルがある場合は、このビューは5000件問題に該当してしまいます。その場合は、フィルターを利用してビューの表示対象となるファイル数を制御しましょう。例えば更新日時が今日から7日前分しか表示させないような。

さて、この記事の「投稿・閲覧ユーザー」に喜ばれるというタイトルですが、「え?サイト管理者などリストの作成者が喜ぶんじゃなくて?投稿・閲覧権限ではビューは作成できないよ?」って思われる方もいるかもしれないです。それはおそらく「個人用ビュー」という存在を知らない人かもしれないです。「個人用ビュー」に関しては僕の経験則でも知らない人が多いです。また改めて紹介します。(宿題がたまるー)

SharePoint に詳しい方々なら知っていて当たり前のような機能でも、初心にかえって思い起こせば、その機能を知った時に「おっ、便利じゃん!」って思った機能があるかと思います。特にIT部門の担当者さんなんかはその感覚を忘れずに、利活用促進のためにユーザーに教えてあげれば良いと思いますね!

SharePoint Wikiページ ライブラリのアイコンに花がある理由を探ってみる

小ネタです。

Wikiページ ライブラリのアイコンに花があるけどなぜだか知っていますか?いや、作った人に聞いたわけじゃないので僕もMicorosoft社の正式な回答として知っているわけじゃないけど、調べれば推測できます。

Wikiの語源はハワイ語の「Wiki(ウィキ)」もしくは「WikiWiki(ウィキウィキ)」とされています。

そしてハワイ州の州花は「イエローハイビスカス」です。アロハシャツにはハイビスカス柄が多いですよね。

つまりあのお花はハイビスカスなんですね。

ビジネス色の強い SharePoint の中で一輪の花。和み…ますかどうかは人それぞれですが…。

以上、小ネタでした。

iOS の SharePoint アプリとコミュニケーション サイト

先日、 iOS で SharePoint アプリのアップデートがありました。アップデート内容を見るとコミュニケーション サイトに完全にアクセスできるとの事。早速チェックしてみます。

その前に、SharePoint アプリをインストールしてはいるけど、ほとんど利用した事がないので通常のサイトがどう表示されているかもよくわからないのでチェックしました。

■クラシック表示のサイトをアプリで表示

▼アプリでサイトを表示するとホームページではなくこんな感じでサイト内のアクティビティが表示されます。

▼バーガーメニューのアイコンをタップすると左からナビゲーションがスライドします。

▼ホームを表示するとクラシック表示だとPC表示のまんま表示されます。

スマホからの利用ではやはり使いづらいですね。

■新しい表示(モダンUI)のサイトをアプリで表示

▼モダンUIのサイトでもやはりアクティビティが表示されます。

▼バーガーメニューからホームをタップすると新しい表示なのでレスポンシブ。

スマホからの利用でもクラシック表示よりは遥かに利用しやすいですね。ただこのホーム画面からは閲覧はできても投稿はできなさそうです。ホーム画面は閲覧するもので、投稿したい場合はバーガーメニューから各アプリにアクセスして、そこで投稿する流れでしょうか。

では、本題のコミュニケーション サイトをアプリから表示してみます!

と…、その前にジラしてしまいますが、念のためPCブラウザでスマホサイズにした際の挙動も比較のためにチェックしてみます。(コミュニケーション サイトは作成されたテンプレートのまま)

■コミュニケーション サイトをPCブラウザをスマホサイズにしてアクセス

▼このようにレスポンシブなのでスマホサイズでもタイル部分がカルーセルUIで表示など対応。

▼少し下に行くとニュースページのサムネイルなどもスマホサイズで表示。

▼更に少し下に行くとドキュメントが表示。

こんな感じです。とはいえ、PCブラウザをスマホサイズで利用することはあまり想定されないので、肝心なのはスマホからのアクセス。 ようやく本題です。ジラしてすみません。

■アプリからコミュニケーション サイトにアクセス

▼サイトにアクセスしたらアクティビティではなくホームが表示されます。この方が個人的に好き。 「コサ」がどうしても気になります。

▼少し下に行くと同じくニュースページのサムネイルやらイベントが表示。

ただ、PCブラウザをスマホサイズで表示と違う点があるんです。それは、ここもホームから投稿できない点です。

その上で使ってみるとわかるのですが、例えばニュースを新しく投稿をするのがちょっと面倒だったりします。数アクション必要になります。つまりそこを克服しないと現時点ではアプリからの利用は閲覧用途がメインとなってしまいそうだなぁという印象です。

そしてちょっと困った点を数点発見しました。

■その1:ニュースページからボタンで戻れない

ニュースページのサムネイルをタップしてニュースを表示した際なのですが…

▼戻るボタンがないんです。

左上に「←」があるじゃん?と思うでしょうが、これをタップするとホームに戻るのではなく、サイト一覧画面に戻ってしまうのです。

▼通常サイトを表示すると下部に「<」「>」などのボタンがあるバーが表示されるんですけどね。

話を戻して…

▼この状態でバーガーメニューをタップするとなぜか「ホーム」がハイライトされたままです。

▼ニュースページを開いた状態で右上の「…」をタップし、「更新」をタップすると…

▼なぜかこの操作でホームに戻れるんです。

ニュースページに遷移しても「ホーム」がハイライトされている、つまり現在地がホームであると示し、更新をタップするとホームが表示されるという事は…、ニュースページもホームであるという事でしょうか。感覚としてはURLの遷移はなくモーダルウィンドウっぽい挙動のような。SharePoint 的に言うとダイアログボックス表示のような振る舞いのような。とにかくホームに戻るのもわかりにくい感じです。

【追記】
戻るボタンはないけど、画面左端(画面外)から右にスワイプすると戻る事がわかりました。

■その2:ドキュメントをタップすると…

バーガーメニューから「ドキュメント」をタップすると、 OneDrive アプリが起動するのですが、今のところ100%の確率でアプリが落ちます。これは僕のiPhoneだからなのかはわかりませんが。

【追記】
実は僕のiPhoneは容量不足でExcelやWordやPowerPointのアプリを入れていませんでした。機種変してこれらのアプリを入れた後に「ドキュメント」をタップすると、OneDrive アプリではなく、それぞれのアプリが立ち上がり、無事に内容が表示されることがわかりました。


という事でツラツラと書いてきましたが、結局のところ個人的にはアプリを使ってスマホからバリバリ使用するにはまだちょっと早いのかなといった印象です。まだまだはじまったばかりなので今後に期待ですね。僕の方も正直アプリは全然ノータッチだったのでもう少し使ってみようかと思っています。

SharePoint ライブラリにて「ドキュメントへのリンク」で作成したリンクのリンク先URLは変更できる

SharePoint だけでも色々奥が深いのに、日々進化していくので付いていくのが大変っすね。楽しくもあるのですが。

前回の記事では、新しい表示のライブラリでは、[ 新規 ]→[ リンク ]から作成したリンクのリンク先URLは、作成後に変更する事ができなかった件を紹介しました。

SharePoint 新しい表示(モダンUI)のライブラリの「リンク」で作成したリンクのリンク先URLは変更できない

このライブラリにリンクを作成する機能は新しい表示から実装された機能ではなく、古くから「ドキュメントへのリンク」コンテンツ タイプを利用すれば実装できる機能でした。そちらで前回の記事と同じ検証をしたところ、「ドキュメントへのリンク」コンテンツタイプではリンク先URLの変更は可能な事が判明したのと、副産物としてドキュメントへのリンクと新しい表示のリンクでは、同じリンクでも実装方法が違う事がわかったので紹介します。
まずは「ドキュメントへのリンク」コンテンツ タイプを追加する方法から念のため紹介します。

■コンテンツ タイプの追加手順

▼リストを作成し、詳細設定の「コンテンツ タイプの管理を許可する」を「はい」

▼詳細設定のコンテンツ タイプセクション下部の[ 既存のサイト コンテンツ タイプから追加 ]をクリック

▼「ドキュメントへのリンク」を追加しOK

これで完了です。次に検証へ。

■検証

▼[ 新しい ドキュメント ]→[ ドキュメントへのリンク ]

▼新しい表示の時と同じくYahoo!へのリンクを作成

▼リンクもドキュメントなので、新しい表示の際にはなかったけど、ドキュメントのプロパティの編集画面が。特に何もないのでこのまま保存。

▼新しい表示と同じく、ドキュメントとしてリンクが表示され、クリックするとYahoo!が表示されます。

ここまでは新しい表示とほぼ同じなのですが、新しい表示の方のリンクのファイルはショートカットリンクであり、「.url」がついていました。

一方、ドキュメントへのリンクで作られたリンクのファイルは「.aspx」でした。

同じリンクだけど実装方法が違いますね。さて、検証に戻ります。

▼該当ドキュメントを選択し、リボンの「プロパティの編集」をクリック

▼URLが変更できそうです

▼Googleに変更します

▼Googleに変更され、クリックするとGoogleが表示されます。

前回の記事と2回でライブラリにリンクをつける方法を新しい表示の「リンク」と「ドキュメントへのリンク」コンテンツ タイプで2種類紹介してきましたが、他ライブラリのドキュメントのリンクでもWebサイトへのリンクでも、後々になって修正が必要になる場合は、新しい表示の「リンク」より、「ドキュメントへのリンク」コンテンツ タイプを追加した方が良さそうですね。

ちなみに新しい表示に「ドキュメントへのリンク」コンテンツ タイプを追加してみました。

▼このように「リンク」と「ドキュメントへのリンク」が共存していますね。(これはこれでややこしい)

▼2種類の方法で投稿したらこうなりました。

SharePoint 新しい表示(モダンUI)のライブラリの「リンク」で作成したリンクのリンク先URLは変更できない

  • 新しい表示
  • 新しいUI
  • モダンUI

など、色々な呼び方がありますが、 SharePoint 内では「新しい表示」と記載されているので、ここではそう呼びます。

では、まずはライブラリのリンクとは?

■リンクについて

▼この「新しい表示」でライブラリを利用していると、 [+新規] の中に [リンク] というのがあります。

▼クリックしてみると右にパネルが出現します。

▼ [最近更新されたファイル] のファイルをクリックすると、即リンクアイテムが作成されます。

▼このようにライブラリ内にショートカットリンクを作成する事ができ、ライブラリ外のファイルにリンクができます。もちろんクリックするとリンク先のファイルが開きます。(新しいタブで表示されます。)

このリンクはファイルだけではなく、Webサイトへのリンクも可能です。

▼試しにYahoo!のURLを入力して作成します。

▼このようにリンクが作成され、クリックすると新しいタブでリンク先が表示されます。

これは「新しい表示」から備わった新機能かと思ったのですが、そもそも昔から「ドキュメントへのリンク」というコンテンツタイプを使えば使えていましたね。

このように作成されたリンクですが、後々リンク先URLを変更したい事もあると思いますが、それがなかなかできないんです。以下、例として上述で作成済のYahoo!へのリンクを、Googleに変更しようと試みます。

■一度作成したリンクを編集したい→リンク先URLはUI上では編集できない

▼該当アイテムを選択してとりあえずコマンドバー内に「名前の変更」があるのでクリックしてみます。

▼このようなダイアログが出現し、なんか変更できそうなので、試しにGoogleのURLに変更して保存してみます。

▼あれ?なんか怒られてしまいました。つまり「://」が禁則文字のようです。

▼ではhttps://を外して保存をします。変更されました。

しかし!クリックするとYahoo!が開くんですよね。つまり「名前の変更」の言葉の通り名前だけ変更されてリンク先URLは変更されなかったんです。

じゃ、URLはどうやって変更するんだろう?他にUI上にある操作を試します。

▼ […] → [詳細] はどうでしょう?

▼パネル内に [名前] [タイトル] が編集できそうなところですが、つまりここも同じく名前の変更だけでURLの変更はできません。

では上図のプロパティの右にある [すべての編集] というリンクがあるのでクリック。

▼ドキュメントのプロパティ編集画面になりましたが、ここも同じ構成。つまりURLの変更はできません。

※ […] → [その他] → [プロパティ] も結局はプロパティ編集画面へのリンクです。

あれ?UI上でリンク先のURLを変更するのは手詰まりになりました。

仕方ないので、次に着目する点としてこのリンクはショートカットリンクというファイルなので、それを修正してみようかと思います。

■変更したファイルを上書きアップロードしても無理

▼とりあえずこのリンクをダウンロードしてみます。

▼www.google.co.jpと書かれているのにYahoo!のロゴという悲しいショートカットリンクがダウンロードされました。

▼URL部分をGoogleのURLに変更します。

▼念のため、テキストエディタでショートカットリンクを開くとこんな感じで変更されています。

▼変更したショートカットリンクをライブラリに上書きアップロードしたのですが、相変わらず変更されていません。

ファイルを変更すればリンク先URLも変更されると思ったんですけどね。不思議なのは、この状態で再度ショートカットリンクをダウンロードしてテキストエディタで中身を見ると、googleのURLになっているんですよね。なぜかライブラリのアイテム上では変更されない不思議現象です。もちろんブラウザのキャッシュをクリアするなども試みました。

仕方ないので、一度該当ファイルを削除し、上書きしてもダメだったファイルを再アップロードしました。

▼すると不思議な事にリンク先URLがGoogleに変更されました。同じファイルなのに…。

つまり、原因はわからないけど上書き保存ではリンク先URLは変更されないようです。

結果として、一度作成したショートカットリンクのリンク先URLを変更する手順は、

  1. 変更したいショートカットリンクをダウンロード
  2. ショートカットリンクのプロパティ、もしくはテキストエディタでURLを変更
  3. 既存のショートカットリンクをライブラリ上から削除
  4. 変更したショートカットリンクをライブラリにアップロード

ん?いやいや、こんな事をするならリンクを作り直した方がまだ早い!つまり、結果的にリンクのリンク先URLは変更できないという事ですね。

ライブラリ内にWebサイトのリンクをアイテムとして作成するニーズがどれだけあるかはわかりませんが、リンクのリンク先URLはUI上では変更できない点と、UI上じゃなければ変更できるけど若干面倒である点を頭の片隅に置いといていただければと思います。

※変更できる方法がある!という場合は、ご連絡ください。

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


↑このくらいならCSSできる人なら30分~1時間程度でCSSのみでカスタマイズできます。

※サイト全体に適用するのではなく、ページに適用させる方法。
※クラシックUIの場合。
※発行機能が非アクティブの場合。

基本的にはCSSはCSSファイルに記述し、HTMLにはhead内にCSSファイルのリンクを記述します。もちろん SharePoint もそういう仕組みになっていますが、それは SharePoint 側が持っている既定のCSSファイルです。

CSSでオリジナルのカスタマイズを加える際に、マスターページを加工するなどすればhead内にオリジナルのCSSファイルのリンクを加える事は可能かもしれませんが、やはり極力マスターページに手を加えたくはありません。(そもそもマスターページに手を加えるとサイト全体に適用されます。)

■CSSファイルのリンクの記述を追加する方法

では気軽にCSSファイルのリンクを追加する方法は?というと、 SharePoint では昔から「コンテンツ エディター Webパーツ」を利用する方法があります。これは簡単に言えばHTMLを埋め込めるWebパーツです。今なら「スクリプト エディター Webパーツ」の方が主流なのかな。どちらにでもCSSファイルのリンクを記述すれば適用されます。

▼コンテンツ エディターWebパーツとスクリプト エディターWebパーツを挿入したところ
(もちろん実際はどちらか1つでOKです。)

▼コンテンツ エディターWebパーツのソースを記述するダイアログ

▼スクリプト エディターWebパーツのソースを記述するダイアログ

ただ、これは非常に気持ち悪い方法なんですよね。本来はhead内に記述すべき内容をbody内に記述する事になるので。

▼body内にlinkタグが入る感じになります。

しかし、気軽に適用させる方法としてはこれしかありません。そもそも SharePoint がValidなHTMLから程遠い(それでも SharePoint 2007 に比べれば遥かに良くなったけど。)ので、この際無視してください。本職のコーダーさんあたりは非常に気持ち悪いとは思いますが我慢です。

■CSSの記述方法

基本的には SharePoint が既定で持っているCSSを上書きする記述となります。なので!importantは結構使う機会があると思います。そしてHTMLはさわれないと思ってください。なので、まずは SharePoint の標準機能の範囲内でアプリ・Webパーツをページに適切に配置します。その状態で開発者ツールなどでソースを確認し、適用させたい要素・またはその周辺にユニークなidやclassがあるかどうかを調査し、そこに対して適用させるCSSを記述する感じです。
しかし、そのidやclassがどこでどのくらい利用されているかを把握する事はなかなか難しく、実際に適用させて(開発者ツール上でもOKですね。)目視で確認し、試行錯誤していく感じになります。また、ユニークなidやclassがない場合はセレクタを駆使してなんとかなる場合もありますし、諦めるのも大事な選択肢です。無茶して適用したところで管理面で難があったりすると良くないですからね。

■指定したWebパーツのみ適用させたい場合

Webパーツの構造は全てほぼ一緒なので、Webパーツ内のスタイルを変更した場合は基本的にはページ内の全てのWebパーツで適用されると大げさに思って良いかと思います(厳密には違いますが)。ただ、中には指定したWebパーツのみスタイルを適用させたい場合もあると思います。
調べてみるとわかりますが、ページ内でWebパーツごとにユニークなidが存在します。例えば「WebPartWPQ6」。この数字部分(←の場合は6)に関しては、Webパーツが増えていくごとに数字が増えていきます。つまりWebパーツごとにあるユニークなidなのですが、ただこのidの使用はあまりオススメできないんです。
というのも、Webパーツが今後増減しない確約がある場合は良いのですが、特にWebパーツを削除する事がある場合は、削除するとページ内の全てのWebパーツのidの数字がゴソッと入れ替わってしまうので、このidを利用したCSSの全て数字を変更しなければいけないからです。

▼このように番号が若いパーツほど削除すると影響度が高いです

ではどうしたら良いか?というと、ページの作り込みで工夫が必要です。ページではWebパーツ領域内にHTMLを記述する事が可能です。それを利用して、例えばユニークなidかclassでdivを記述し、そのdiv内にWebパーツを配置します。囲んでしまえばユニークなidかclassを利用してそのWebパーツのみ適用させる事が可能となります。

▼Webパーツ領域にカーソルを置き、ソースの編集を

▼例えばユニークなclassをつけたdivを2個ほど置きます

▼それぞれのdiv内にWebパーツを追加します
(この操作もコツがいたりします。)

▼再度ソースの編集を見ると、このようになります。
(思い通りのソースになっていない場合はここで修正)

▼ここまでできれば、指定のパーツのみにスタイルを適用させられます。
(例:list001のみ枠線を付けました。)

■CSSファイルのリンクの配置場所

あまり気にしなくても良いのかもしれませんが…。CSSファイルのリンクを記述したコンテンツ エディター Webパーツやスクリプト エディター Webパーツは、隠しWebパーツである事からも表示上は見えないので気にしなくても良く、ただページを編集モードにした際には邪魔なので、極力ページ下部に配置したいところです。
しかし、以前この方法をとったところ、表示に重いWebパーツがあると、カスタマイズしたスタイルが当たるのにタイムラグが発生しました。つまり例えば1秒程度、標準状態のデザインになった後にカスタマイズされた状態になる感じです。これは、HTMLが上から読み込む構造上、CSSファイルのリンクの記述が読み込まれる前に、表示が重い部分があるのが原因と推測し、CSSファイルのリンクが記述されたWebパーツを極力上部に配置すると、この問題が解消されました。
つまり、HTML的には極力ソースの上部にCSSファイルのリンクを記述された方がよく、SharePoint 的には極力CSSファイルのリンクを記述したWebパーツを、コンテンツ領域の左上に配置するのが良いかと思います。ただ、通常は後ろの方にあってもタイムラグが発生するケースはあまりないので、あまり気にしなくても良いのかなと思います。

■CSSファイルの保管場所

どこでも良いっちゃ良いんですけどね。極端な話、リンクができれば良いので、 SharePoint じゃなくてもどこかのWebサーバーに置いても良いくらいです。とはいえ、まぁ SharePoint のライブラリ内に保管するのが良いとは思いますが、ここで気をつけるべきはアクセス権限です。
サイトのアクセス権限よりも権限を絞ったライブラリに保管をすれば、もしかしたら中にはライブラリには閲覧権限がないけどページには閲覧権限がある可能性もあり、この場合はそのユーザーはCSSファイルに権限がないので、結果としてカスタマイズが適用されない状態でページが表示されます。逆に管理者以外に多くのユーザーが投稿権限以上が付与されているライブラリに保管をすれば、勝手にCSSファイルを編集したり削除する事も可能になってしまうので良くないですね。このような点に気をつけたライブラリであるならどこでも良いかと思います。スタイルだからスタイルライブラリに保管しなければいけないというわけでもないと思っています。

以上です。
他にも語ることは色々あるかもしれませんが思いついた時にまた記事にします。また、あくまでも僕の自己流なので参考程度にしてください。他にもっと良い方法があればむしろ教えてください。