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ファイルを編集したり削除する事も可能になってしまうので良くないですね。このような点に気をつけたライブラリであるならどこでも良いかと思います。スタイルだからスタイルライブラリに保管しなければいけないというわけでもないと思っています。

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

「 SharePoint のデザインは微妙!」という意見について

悲しいことに「 SharePoint はデザイン的に微妙。使いにくいから使ってもらえない。」って良く聞きますが、僕は必ずしもそうは思っていません。(もちろん、非の打ち所もないくらい素晴らしいとも思っていないし、不満も多々ありますが。)
少しトゲのある言い方ですが、良く学ばずにうまく構築できない・うまく利活用してもらえない人の責任転嫁だと思っています。

例えば、SharePoint の利用用途の大きな一つに「社内ポータルサイト」が挙げられると思います。 SharePoint を全社的に導入して社内ポータルサイトがない企業はなかなかないのではとも思っています。いわゆるイントラサイトという性質上、通常のWebサイトのように公開されておらず、多くの企業の担当者は「他社はどんな使い方をしているのだろうか…どんなトップページだろうか…」などモンモンとしているのではと思います。
SIerなどは業務の性質上、様々な企業の社内ポータルサイトを構築しているとは思いますが、 SharePoint 技術者がWebデザインにまで精通していない場合も少なくはなく、おのずと説得力のある提案ができずに、お客様の要件に従うだけの場合も少なくはなく、結果的に社内ポータルサイトという観点では SharePoint の成長は鈍化しているかもしれないです。
僕も長くユーザー企業側の人間だったのでモンモン組でしたが、過去に貴重な経験が数回あり、他社の社内ポータルサイトを拝見できる機会もありました。もちろん中には素晴らしいと思えるサイトもありましたが、多くは…悪口に捉えられるといけないのであまり語りませんが、…なサイトが多かったです。

通常のWebサイトとは目的が異なるのですが、やはり特に社内ポータルサイトであればIA・UXに(精通していなくとも)ある程度知識や意欲のあるメンバーが一人でも必要だと考えます。

一般的な人が「Webデザイン」って言うと勘違いしがちなのが、Webデザイナーのセンスに依存するものだと思うこと。たしかにデザインと聞けば100%アーティスティックなイメージがありますが、特に企業サイトなどでは、Webデザイナーのセンスというよりは、デザインの一つ一つは非常にロジカルなんですよね。つまり、どこにどのようなコンテンツを配置したり、余白だったり、配色なども、全てデザイン・レイアウトは論理的に説明できるというわけです。逆を言うと説明できないといけないと思っています。そういう意味でもIA・UXの観点は大事で、だいたいそこを担当する人が不在な事が多く、社内ポータルの構築メンバー視点だけで構築を開始し、言い方悪いですが構築メンバーの独りよがりなサイトになってしまいます。
しかし、あくまでも利用するのは利用者です。UXが大事というのはそういう事です。(構築メンバーの思いと利用者の感想は往々にして剥離しているケースが多いと経験則から感じます。

通常のWebサイトはターゲットが大げさに言えばネットができる世界中の人々なのに対し、社内ポータルのターゲットはいくら広くしても全従業員、とかなり絞れるのでむしろ考えやすいと思っています。つまり、しっかり考慮して構築すれば効果は高いのではと思っています。

IA・UXを本業にしている人を導入するとなると敷居が高いですが、勉強して少しでも知識をつけるだけでも違うと思いますし、そういうのが楽しいと思える人がメンバーにいるだけでも違うと思います。また、SIerに依頼する際にはそういう観点からもSIerを選定する事も大事であると思うし、SIerも SharePoint の技術者やプログラミングだけでなく、IA・UXに明るい人材をもっと増やすべきだと思っています。

これ昔から思っているのですが、 SharePoint に限らず様々な業務システムが存在しますが、UXを全く考慮されていない使い勝手の悪いシステムが多いように思います。もっともっとIA・UXを重視しお金をかけるべきかと思います。それが結果として良い製品となり、品質も高くなるのではと思います。

例えば勤怠管理システムのようにそれを導入すれば即利用できるものと違い、 SharePoint はそれ単体だけでは何もできなく、そこから「勤怠管理用に」構築を経て始めて利用が開始できる製品なので、その構築の仕方で使いやすさも左右されるのは当然で、構築が未成熟なのに SharePoint がダメだとレッテルを貼るのは、まだ早いのかなと思います。

SharePoint では情報の一元管理を徹底しよう!

※長文の文章のみとなります…。

■例えば

「部門ポータルの掲示板(リスト)に掲載したアノ情報だけど、全従業員にも見てもらいたいから社内ポータルの掲示板にも掲載しておいて!」
上司からそう命じられて、部門ポータルのリストに投稿したアイテムと全く同じ情報を、コピペで社内ポータルのリストにも投稿しました。

よくある話だと思いますが、実際にトラブルにつながる可能性があります。

■トラブル事例

「掲示板に掲載されていた自社製品情報をお客様にお伝えしたところ、後日、それが古い情報で損害が出たとのクレームを受けた。」
信頼に関わるトラブルですね。調べてみると、部門ポータルと社内ポータルに両方に同一タイトルのアイテムが投稿され、その後情報が変更された際に、部門ポータルのアイテムは更新されていたが、社内ポータルは更新されていなかった。投稿者に話を聞くと、両方に掲載した事を失念しており、部門ポータルのみを更新したとの話。

十分ありえる話ですよね。

■問題は?

ここでの問題は社内ポータルの更新を失念した更新者…もありますが、投稿を多数行っている人にその問題を押し付けるのはかわいそうですね。運営面から考えると、同一情報を複数個所に掲載しているという点です。これはメンテナンスが大変だし、トラブル事例のようにヒューマンエラーの可能性が上がります。特に、投稿者が退職などすると余計ありえますね。

■どうしたら?

※以下は、あくまでも解決のための一例です。

ここでタイトルの通り、情報の一元管理が大事です。ただし、部門ポータルに掲示した情報を社内ポータルにも掲示するな!という事は言いません。

まず考えるべきはその情報をどこに保管するのが一番ふさわしいか?です。
今回はまず部門ポータルに掲載されたことからも、またその部門発信という事からも、またその部門がサイトを所有しているということからも、部門ポータル内に情報を掲載する事で良いと思います。

次に一元管理しつつ全従業員にも見てもらうには?
社内ポータルの掲示板を利用しても良いと思いますが、大事なのは掲載方法です。ここでコピペで同じ情報を掲載すると二重になってしまいます。ただ、Webの醍醐味は「リンク」なので有意義に使いましょう。つまり、社内ポータルに掲示する本文には詳細内容を記載せず、概要のみと部門ポータルに掲示したアイテムのURLのリンクを起きましょう。そうすれば、リンク先の部門ポータルの掲示したアイテムのみをメンテナンスすればOKなので、更新し忘れはなくなります。

■リンクを活用するデメリットは?

例で考えると、社内ポータルの掲示板のアイテムにアクセスしたユーザーには、更にワンクリックを強要してしまう事になります。Webサイトの場合、ユーザーアクションをいかに減らす事を考慮しますが、ただし SharePoint に関してはWebサイトの考えがそのまま当てはまるわけではありません。つまりユーザーにとって本当に重要な情報であれば、離脱せずにワンクリックするからです。クリックされないならそのユーザーにとってはその程度の情報なのです。そういう意味でも大きなデメリットとは思えません。

次に、情報源であるリンク先のアイテムを移動したり削除されたら?
たしかにリンク元からはデッドリンクになり情報にたどり着きません。ただ、しつこいようですが本当に必要な情報であれば、リンク元アイテムの投稿者に連絡するなりします。更新し忘れて誤情報を元にトラブルになるリスクを考えれば、デッドリンクになった方がまだリスクは低いと考えます。もちろん、ユーザーからデッドリンクになっている連絡が来たら、投稿者がリンク先を更新すれば良いだけですし。

■リンクを利用して情報を一元管理する副産物

ユーザー目線で考えてみましょう。社内ポータルの掲示板を従業員が読んだとして、その情報が自分にとって必要と判断すれば読むでしょう。そこにリンクがついていればリンク先に行きます。例えばそこで「こんな部門ポータルもあったんだ!」と気づく場合もあります。自分に関連する情報であれば他の情報も気になる可能性もあります。そうすると初めて訪れたその部門ポータルの別のコンテンツも見る可能性もあります。つまり、利用者が増える可能性があがるわけです。

 

情報の一元管理が適切にでき、本来保管すべき場所に情報が鮮度を保たれて保管され、更に自分のサイトのPRにもなれる。
このような運営方針を投稿者レベルまで落とし込んで啓蒙しクセをつけてもらう事により、より安全な運営ができるのではないでしょうか。投稿者が多ければ多いほど、徹底させるのはなかなか難しいですけどね。

SharePoint :コミュニケーション サイト をとりあえず10分ほど触ってみて気になった点:レスポンシブデザインの挙動

コミュニケーション サイトがようやく利用できるようになったので早速サイトを作ってみました。ワクワク!

色々触っているうちに気になった点があります。レスポンシブ対応だったと思ってブラウザの幅をウネウネと変えてみたんだけど、一般的なレスポンシブのWebサイトとどうも挙動が違うんですね。コミュニケーション サイトは幅を変えてからワンテンポ遅れてレイアウトが変わるんです。

▼幅を縮めるとこのような状態に。一瞬「え?これがレスポンシブ対応??」と疑ってしまいました。

▼1秒ほど遅れてサイズに合ったレイアウトになります。そりゃそうだよね、安心した!

開発者ツールでウォッチしてみると少しわかりました。定点しか見ていないので全体は把握できていませんが、例えばdivにstyle=”height:300px”など、CSSがインラインで書かれているんだけど、サイズを変えて1秒ほどするとその300pxの数値が変わるんです。 Nintex Forms のパネルの表示・非表示の挙動に類似しています。

Heroと呼ばれる画像がタイル状になっているパーツに関しては、ブラウザが広いとタイルですが、狭いとカルーセルに変わります。その際に隠れるタイルがdisplay:noneで消えるのかと思ったら、どうやらゴソっとHTMLが変化しているようです。

つまり、ブラウザサイズを変更するとHTMLやらCSSやら諸々が再描画される感じでしょうか。ちょっと普通のレスポンシブ対応とは違った感じです。あまり気にしなくても良いとは思うけど、パフォーマンスに影響はないでしょうかね。 Nintex Forms に関してはあまり1ページに多数のコントロールを配置すると一気にページの読み込みが遅くなるので。また一般的なWebのレスポンシブ対応とは異なるので、ここにさらにカスタマイズを加えようとすると、一筋縄ではいかないのかもしれないですね。

とりあえず10分くらい触ってみた時に気が付いた事でした。

Microsoft Teams デスクトップアプリの起動時にお茶目なメッセージが!

「安心してください!接続しています。」

Microsoft Teams デスクトップアプリの起動時に、毎回ではありませんがたまに出てくるお茶目なメッセージです。毎回出ないのでなかなかスクショが撮れなかったのですが、ようやく撮れました!

某芸人さんの過去に流行ったギャグ「安心してください、はいてますよ」的なメッセージですね。ビックリマークまで付いているのが更にお茶目です。英語では何てメッセージが出るんですかね。

SharePoint 管理されたメタデータはExcelなどからクイック編集で一括コピペができない

リストにアイテムを大量に追加する際に、一つ一つ投稿していたら大変なので、クイック編集で一括コピペしたい場合があります。クイック編集で「管理されたメタデータ」列に追加する場合、すでに投稿済みの他のアイテムの値からコピペする事は可能ですが、Excelなどからコピペができません。これ、あとから出来ない事に気がついて焦るケースもあります。

【検証1:他の値をコピペはできる】

▼こんな感じで管理されたメタデータを作成します。

▼1件は普通に投稿し、クイック編集に。管理されたメタデータ列の値を選択しコピー。

▼新しいアイテムの行にペーストをすると、問題なくペーストできます。

▼クイック編集を完了しても問題なく投稿されています。

【検証2:Excelからコピペはできない】

▼同じリストに以下のExcelのデータをコピペします。

▼なんだかビックリマークのエラーが出ています。

▼ビックリマークをクリックするとエラー内容が。

▼もちろんこのままクイック編集を完了しようとしても保存できません。

【なぜ?】

管理されたメタデータの値と同じ文字列なのになぜExcelからコピペができないのか?作成した管理されたメタデータを見るとわかってきます。

カスケード分類できる事からもフラットではなく階層を持つ事ができ、それぞれの階層には同じ文字列は登録できませんが、別の階層には登録できます。例では「八百屋A店」の中に「キュウリ」を2個登録はできませんが、「八百屋A店」と「八百屋B店」の中に同じ「キュウリ」が存在していることがわかります。つまり、この列に「キュウリ」という文字列を単純に入力したところで、A店のキュウリなのか?B店のキュウリなのか?の判定ができませんよね。なので、登録したままの値では受け付けないんです。

では、どのような構造になっているのか?

▼通常の投稿でA店のキュウリとB店のキュウリを入力しましたが、見た目はわかりません。

▼クイック編集にして二つのキュウリの値をコピーしテキストエディタにペーストしてみます。

キュウリ|2c5d590a-ded0-4477-a93b-095c1c3f5843
キュウリ|ca8e4e7a-b256-4e7c-a302-8b0cffa830c4

このように「表示名|内部名」でペーストされました。(この|以下の文字列が「内部名」という表現で正しいかは不明です。)UI上では見えませんが、このように内部名と紐付いて一意の値になっています。このような仕組みになっているので、Excelからコピーしたデータでは、管理されたメタデータ列ではペーストする事ができません。

ちなみに、

▼「表示名|内部名」でExcelのデータを作成し、

▼クイック編集でコピペをするとペーストできます。

▼しっかり投稿されています。

とはいえ、管理されたメタデータの全ての値の「表示名|内部名」を調べる必要があるし、それを元にExcelデータを作成するのもダルい作業ですよね。

リストを作成する際にニーズとしてExcelでまとめたデータからクイック編集で大量にアイテムを作成する想定がある場合、気をつけなければいけませんね。

SharePoint 選択肢を実現する列の3種類の比較まとめ

いわゆる選択肢を実現したい場合の列の種類は、「選択肢」の他にも「参照」「管理されたメタデータ」と、合計3種類があります。この3種類にはそれぞれ特徴があるのですが、リスト作成時の全体的なニーズに対し、選択肢を追加する際にどの列の種類を利用するのが適切なのか?というのは、それぞれの列の種類の特色を把握していないとなかなか判断できません。
例えば、選択肢列以外の種類ではビューのフィルター条件の一部が利用できなかったり、集計値列で利用できない、など以外と忘れっぽい制限事項などがあり、後々できなくて困る事もあるかと思います。他にも過去の記事にこんな例もあります。

SharePoint 「選択肢」列で陥りやすいトラブル

トラブルにならないように3種類をまとめてみたいと思います。

まずは3種類の特徴を大まかに。

■選択肢

  • 名前がモロそのままなこともあり一番利用される。
  • ビューのフィルター条件での制限がない。
  • 選択肢の値を変更しても、投稿済アイテムの値は連動して変更されない。
  • サイト列として登録をすれば使いまわしも可能。
  • ドロップダウン形式の表示以外にもラジオボタンなどもある。

■参照

  • 参照元となる別リストを作成する必要があり、値の変更も参照元リストで行う。
  • 参照元リストの列を複数参照させる事ができる。※1
  • 参照元リストがあるサイト内でしか参照できない。

■管理されたメタデータ

  • カスケード分類が可能。 ※4
  • 用語ストアで登録すれば広範囲で使いまわしができる。
  • クイック編集時に難あり。 ※2

では、それぞれの機能を○×で表にしてみました。


※1
参照元リストの別の列をビューに表示させられるのは SharePoint 2010 以降。

※2
クイック編集内で別アイテムの値をコピペする事は可能だが、テキストファイルやExcelファイルなどからコピペはできない。(これは後日、別記事で紹介できればと思います。)

※3
既定で1時間インターバルのタイマージョブで変更されるため、最大で変更に59分かかる。

※4
カスケード分類とは?
「入力フォームでよくある、都道府県で神奈川県を選択すると、市区町村の選択肢は神奈川県内の市しか表示されなくなるアレ。」みたいに例えないと、未だに一発で理解できる用語が出てこない機能。SharePoint 界では「カスケード分類」があえて言うならメジャーな用語なのかもしれないけど、その「カスケード分類」と口にしても、未だに追加で都道府県の例えを話さないと理解してもらえない。

※5
利用できる参照元リストはサイト内のリストのみ。


以上です。

例えば、リストのフルコントロール権限は付与しても、選択肢の値の変更を許したくない場合は、選択肢列以外の利用が好ましいですね。参照を利用すれば、参照元リストの権限を閲覧にすれば解決ですし、管理されたメタデータであれば、用語ストアに登録し、その用語セットの権限でコントロールすれば解決ですし。

例えば、カスケード分類が必須であれば、管理されたメタデータのみですね。

例えば、大量の投稿がある事が予測されていて、かつ値は途中で変更する事があり、投稿済アイテムの値も変更に連動させる必要がある場合は、選択肢列は避けないと危険ですよね。(上述で紹介した記事を参照)

あらかじめそれぞれの特徴を把握していれば判断に怖くはありませんが、結構忘れちゃいがちなのでこのように表にしておくと良いと思います。

SharePoint あるある:必須列のあるライブラリはファイルのドラッグには向いていない?

SharePoint は多機能なので使いこなせば便利ですが、その場合、IT部門やサイト管理者がSharePoint に詳しいだけではダメで、このブログ内では何度も書いていますが、利用者の中でも大半を占める投稿者・閲覧者に対しても、最低限の教育をしなければいけないと思っています。

その中で投稿者が機能を把握していないがために起きたトラブルを紹介します。実際に様々な場面で見かけていますが、投稿者が悪いわけではありません。

■トラブル

「ライブラリにファイルをアップロードしているが、本人以外は表示されない!」
という問い合わせがありました。実際確認したところ、知らずに1年以上合計数十ファイルをアップロードしたが共有できていない事が判明しました。


これは必須の設定をしている列のあるライブラリに起きやすいトラブルです。
実際に検証してみましょう。

▼ライブラリに「コメント」という列があり、必須に設定しています。

▼エクスプローラーからファイルを選択する方法の場合は

▼アップロードする前に必ずプロパティを埋めるよう促されるので問題ありません。※1

▼この場合はファイルはアップロードされ、投稿者以外にもファイルが表示されています。

▼ファイルをビューに直接ドラッグをした場合

▼必須列に入力を促す警告もなく、アップロードが完了いたしました。ただし、本人以外のユーザーがアクセスしても該当ファイルは表示されません。
※画像が小さくて申し訳ないですが、投稿者以外のビューには1つしか表示されていません。

▼このままアップロードし続けるも、結果的に本人以外には共有されていない状態です。

これは、必須列が未入力だとチェックインができない仕様で、チェックインされないと本人以外には表示されない事が原因です。

ビューに直接ファイルをドラッグするとアップロードさせる仕組みはたしか SharePoint 2013 から実装された機能かと思いますが、Windowsのエクスプローラーのように複数ファイルを1度にアップロードできたりして便利なので、この方法でアップロードするユーザーは多いと思います。

リストを作成したサイト管理者が、ファイルをアップロードしたら必ず入力して欲しい意図があり必須と設定した列があったが、直接ドラッグしてファイルをアップロードするとこのような挙動になることまでは把握せず、特に投稿者に意図を説明しませんでした。

チェックアウト状態であるとドキュメントのアイコンの右下に矢印の付くアイコンになりますが、SharePoint をよく知らないユーザーがこれだけでこのトラブルに気がつくとは思えません。

困った事に、チェックアウト状態はサイトコレクションの管理者であっても、本人でなければ表示されないので、この違和感を本人以外が気がつきにくいこともあります。
※たとえサイトコレクションの管理者であっても、アップロードした本人でない場合は、ビューの表示は右側です。

さて、どうしたらトラブルを避けられるか?

■リスト作成時

  • 本当に必要でなければ必須列をつくらない。
  • 必須列をつくった場合は、投稿者に周知させる。

■投稿者への教育

  • このような事がある事を教える。
  • チェックアウト状態のアイコンを教えて日ごろから注意してもらう。

■サイト管理者の日常

  • 管理しているサイト内のライブラリを例えば以下の方法でたまに確認する。
  • サイト コンテンツページの個数と実際のライブラリ内の個数が一致していない。
  • ライブラリの設定で「チェックイン バージョンが存在しないファイルの管理」をチェック。

などなど、複合的にトラブルを避けられる方法がありますが、それぞれの環境に合わせて出来る範囲で回避策を実行すれば良いと思います。

しかし、日本企業にありがちですが、やはりIT部門やサイト管理者などが色々苦労して社員(投稿者・閲覧者)を楽にさせようとするのは、最終的には社員のIT(SharePoint)リテラシーの鈍化につながるので、個人的には好ましくないです。
IT部門やサイト管理者などが開発や管理などで対応する苦労の工数(費用)をかけるなら、その工数を社員の教育に使った方が、将来を考えるとよほど建設的な工数のかけ方かと思いますが、いかがでしょうか。


※1
この状態で「キャンセル」をクリックしたら、チェックインされない状態でアップロードされます。

Excel/Word スポイトツールはないけどスポイトしたい!

  • あの図形の背景色と同じ色を使いたい!
  • あのセルの文字色と同じ色を使いたい!

こういう時に、自分の色彩感覚に頼っても結構正確に選ぶのはキツイ時もあります。特に男性に多いとされる色覚異常の場合は厳しいですよね。

そういう場合にスポイトツールが有効です。PhotoShopやIllustratorはもちろん、Windowsに標準であるペイントにもあります。Officeで言えば、PowerPointにもスポイトツールがあります。ただ、ExcelやWordにはスポイトツールってないんですよね。今まではスポイトしたい図形のRGBの数値を覚えて…など、ダルい事をしていました。

ところが偶然スポイトツールではないけどスポイトできる方法を発見しました。ただ、ググったら同じ方法を紹介する方々がたくさんいるので既出のようです。それでも、紹介します!

▼このように四角と円の図形があり、四角の背景色をスポイトし、円の背景色も同色にしたいとします。

▼スポイトしたい図形(今回は四角)を選択し、「図形の塗りつぶし(アイコンじゃない文字部分)」→「その他の色」をクリックします。

▼「色の設定」ダイアログが表示されたら、何もしないでこのまま「OK」をクリックします。(この時点でスポイトされていますね。)

▼図形の塗りつぶしを見ると、スポイトしたい図形の色に変わっています。

▼この状態で背景色を変更したい図形を選択して図形の塗りつぶしのアイコンの方をクリックをすると、同じ色になりました。

ちなみに挿入した画像の色をスポイトする事はできないので、PowerPointのスポイトツールを利用してRGBの数値をメモりましょう。もしくはフリーソフトを利用するなど。