「安心してください!接続しています。」
Microsoft Teams デスクトップアプリの起動時に、毎回ではありませんがたまに出てくるお茶目なメッセージです。毎回出ないのでなかなかスクショが撮れなかったのですが、ようやく撮れました!
某芸人さんの過去に流行ったギャグ「安心してください、はいてますよ」的なメッセージですね。ビックリマークまで付いているのが更にお茶目です。英語では何てメッセージが出るんですかね。
Art-Break .log : Taichi Nakamura
Microsoft 365 ( Office 365 ) ・ Power Platform ・その他の情報発信ブログ
リストにアイテムを大量に追加する際に、一つ一つ投稿していたら大変なので、クイック編集で一括コピペしたい場合があります。クイック編集で「管理されたメタデータ」列に追加する場合、すでに投稿済みの他のアイテムの値からコピペする事は可能ですが、Excelなどからコピペができません。これ、あとから出来ない事に気がついて焦るケースもあります。
▼1件は普通に投稿し、クイック編集に。管理されたメタデータ列の値を選択しコピー。
▼新しいアイテムの行にペーストをすると、問題なくペーストできます。
▼もちろんこのままクイック編集を完了しようとしても保存できません。
管理されたメタデータの値と同じ文字列なのになぜExcelからコピペができないのか?作成した管理されたメタデータを見るとわかってきます。
カスケード分類できる事からもフラットではなく階層を持つ事ができ、それぞれの階層には同じ文字列は登録できませんが、別の階層には登録できます。例では「八百屋A店」の中に「キュウリ」を2個登録はできませんが、「八百屋A店」と「八百屋B店」の中に同じ「キュウリ」が存在していることがわかります。つまり、この列に「キュウリ」という文字列を単純に入力したところで、A店のキュウリなのか?B店のキュウリなのか?の判定ができませんよね。なので、登録したままの値では受け付けないんです。
では、どのような構造になっているのか?
▼通常の投稿でA店のキュウリとB店のキュウリを入力しましたが、見た目はわかりません。
▼クイック編集にして二つのキュウリの値をコピーしテキストエディタにペーストしてみます。
キュウリ|2c5d590a-ded0-4477-a93b-095c1c3f5843
キュウリ|ca8e4e7a-b256-4e7c-a302-8b0cffa830c4
このように「表示名|内部名」でペーストされました。(この|以下の文字列が「内部名」という表現で正しいかは不明です。)UI上では見えませんが、このように内部名と紐付いて一意の値になっています。このような仕組みになっているので、Excelからコピーしたデータでは、管理されたメタデータ列ではペーストする事ができません。
ちなみに、
とはいえ、管理されたメタデータの全ての値の「表示名|内部名」を調べる必要があるし、それを元にExcelデータを作成するのもダルい作業ですよね。
リストを作成する際にニーズとしてExcelでまとめたデータからクイック編集で大量にアイテムを作成する想定がある場合、気をつけなければいけませんね。
いわゆる選択肢を実現したい場合の列の種類は、「選択肢」の他にも「参照」「管理されたメタデータ」と、合計3種類があります。この3種類にはそれぞれ特徴があるのですが、リスト作成時の全体的なニーズに対し、選択肢を追加する際にどの列の種類を利用するのが適切なのか?というのは、それぞれの列の種類の特色を把握していないとなかなか判断できません。
例えば、選択肢列以外の種類ではビューのフィルター条件の一部が利用できなかったり、集計値列で利用できない、など以外と忘れっぽい制限事項などがあり、後々できなくて困る事もあるかと思います。他にも過去の記事にこんな例もあります。
トラブルにならないように3種類をまとめてみたいと思います。
まずは3種類の特徴を大まかに。
では、それぞれの機能を○×で表にしてみました。
※1
参照元リストの別の列をビューに表示させられるのは SharePoint 2010 以降。
※2
クイック編集内で別アイテムの値をコピペする事は可能だが、テキストファイルやExcelファイルなどからコピペはできない。(これは後日、別記事で紹介できればと思います。)
※3
既定で1時間インターバルのタイマージョブで変更されるため、最大で変更に59分かかる。
※4
カスケード分類とは?
「入力フォームでよくある、都道府県で神奈川県を選択すると、市区町村の選択肢は神奈川県内の市しか表示されなくなるアレ。」みたいに例えないと、未だに一発で理解できる用語が出てこない機能。SharePoint 界では「カスケード分類」があえて言うならメジャーな用語なのかもしれないけど、その「カスケード分類」と口にしても、未だに追加で都道府県の例えを話さないと理解してもらえない。
※5
利用できる参照元リストはサイト内のリストのみ。
以上です。
例えば、リストのフルコントロール権限は付与しても、選択肢の値の変更を許したくない場合は、選択肢列以外の利用が好ましいですね。参照を利用すれば、参照元リストの権限を閲覧にすれば解決ですし、管理されたメタデータであれば、用語ストアに登録し、その用語セットの権限でコントロールすれば解決ですし。
例えば、カスケード分類が必須であれば、管理されたメタデータのみですね。
例えば、大量の投稿がある事が予測されていて、かつ値は途中で変更する事があり、投稿済アイテムの値も変更に連動させる必要がある場合は、選択肢列は避けないと危険ですよね。(上述で紹介した記事を参照)
あらかじめそれぞれの特徴を把握していれば判断に怖くはありませんが、結構忘れちゃいがちなのでこのように表にしておくと良いと思います。
SharePoint は多機能なので使いこなせば便利ですが、その場合、IT部門やサイト管理者がSharePoint に詳しいだけではダメで、このブログ内では何度も書いていますが、利用者の中でも大半を占める投稿者・閲覧者に対しても、最低限の教育をしなければいけないと思っています。
その中で投稿者が機能を把握していないがために起きたトラブルを紹介します。実際に様々な場面で見かけていますが、投稿者が悪いわけではありません。
■トラブル
「ライブラリにファイルをアップロードしているが、本人以外は表示されない!」
という問い合わせがありました。実際確認したところ、知らずに1年以上合計数十ファイルをアップロードしたが共有できていない事が判明しました。
これは必須の設定をしている列のあるライブラリに起きやすいトラブルです。
実際に検証してみましょう。
▼ライブラリに「コメント」という列があり、必須に設定しています。
▼アップロードする前に必ずプロパティを埋めるよう促されるので問題ありません。※1
▼この場合はファイルはアップロードされ、投稿者以外にもファイルが表示されています。
▼必須列に入力を促す警告もなく、アップロードが完了いたしました。ただし、本人以外のユーザーがアクセスしても該当ファイルは表示されません。
※画像が小さくて申し訳ないですが、投稿者以外のビューには1つしか表示されていません。
▼このままアップロードし続けるも、結果的に本人以外には共有されていない状態です。
これは、必須列が未入力だとチェックインができない仕様で、チェックインされないと本人以外には表示されない事が原因です。
ビューに直接ファイルをドラッグするとアップロードさせる仕組みはたしか SharePoint 2013 から実装された機能かと思いますが、Windowsのエクスプローラーのように複数ファイルを1度にアップロードできたりして便利なので、この方法でアップロードするユーザーは多いと思います。
リストを作成したサイト管理者が、ファイルをアップロードしたら必ず入力して欲しい意図があり必須と設定した列があったが、直接ドラッグしてファイルをアップロードするとこのような挙動になることまでは把握せず、特に投稿者に意図を説明しませんでした。
チェックアウト状態であるとドキュメントのアイコンの右下に矢印の付くアイコンになりますが、SharePoint をよく知らないユーザーがこれだけでこのトラブルに気がつくとは思えません。
困った事に、チェックアウト状態はサイトコレクションの管理者であっても、本人でなければ表示されないので、この違和感を本人以外が気がつきにくいこともあります。
※たとえサイトコレクションの管理者であっても、アップロードした本人でない場合は、ビューの表示は右側です。
さて、どうしたらトラブルを避けられるか?
■リスト作成時
■投稿者への教育
■サイト管理者の日常
などなど、複合的にトラブルを避けられる方法がありますが、それぞれの環境に合わせて出来る範囲で回避策を実行すれば良いと思います。
しかし、日本企業にありがちですが、やはりIT部門やサイト管理者などが色々苦労して社員(投稿者・閲覧者)を楽にさせようとするのは、最終的には社員のIT(SharePoint)リテラシーの鈍化につながるので、個人的には好ましくないです。
IT部門やサイト管理者などが開発や管理などで対応する苦労の工数(費用)をかけるなら、その工数を社員の教育に使った方が、将来を考えるとよほど建設的な工数のかけ方かと思いますが、いかがでしょうか。
※1
この状態で「キャンセル」をクリックしたら、チェックインされない状態でアップロードされます。
こういう時に、自分の色彩感覚に頼っても結構正確に選ぶのはキツイ時もあります。特に男性に多いとされる色覚異常の場合は厳しいですよね。
そういう場合にスポイトツールが有効です。PhotoShopやIllustratorはもちろん、Windowsに標準であるペイントにもあります。Officeで言えば、PowerPointにもスポイトツールがあります。ただ、ExcelやWordにはスポイトツールってないんですよね。今まではスポイトしたい図形のRGBの数値を覚えて…など、ダルい事をしていました。
ところが偶然スポイトツールではないけどスポイトできる方法を発見しました。ただ、ググったら同じ方法を紹介する方々がたくさんいるので既出のようです。それでも、紹介します!
▼このように四角と円の図形があり、四角の背景色をスポイトし、円の背景色も同色にしたいとします。
▼スポイトしたい図形(今回は四角)を選択し、「図形の塗りつぶし(アイコンじゃない文字部分)」→「その他の色」をクリックします。
▼「色の設定」ダイアログが表示されたら、何もしないでこのまま「OK」をクリックします。(この時点でスポイトされていますね。)
▼図形の塗りつぶしを見ると、スポイトしたい図形の色に変わっています。
▼この状態で背景色を変更したい図形を選択して図形の塗りつぶしのアイコンの方をクリックをすると、同じ色になりました。
ちなみに挿入した画像の色をスポイトする事はできないので、PowerPointのスポイトツールを利用してRGBの数値をメモりましょう。もしくはフリーソフトを利用するなど。
いつの間に列の設定画面にこんな設定があったんだろう?とりあえず良く分からない設定はそっとしておいて、そのまま忘却していました。
で、おもむろに気になったのでググってみました。すると、とにかくアホでも理解できる説明が出てこないんです。「値に一意性を適用する…」一意性とか普段使わないし。とにかくよくわかりません。ただどうやら SharePoint 2010 からの機能らしい。よくわからないなら検証してみましょう。
▼カスタムリストのタイトル列の「固有の値を適用する:」を「はい」にしてみます。
▼なんかよくわからないけど「強制的」とか怖そうな文章のダイアログが表示されますが、
問答無用で「OK」をクリックしてみます。
▼もう一度投稿。今度も「テスト」というタイトルで投稿。しかし保存をクリックすると「この値は既にリストに存在しています。」というメッセージが表示され、投稿できませんでした。
なるほど。つまり、
「同じリストの同じ列に同じ値で投稿する事をできなくする」
という事ですね。
それを理解した上で「固有の値を適用する」という意味がなんとなくわかりました。
じゃ、疑問。
すでに同じ値で投稿済アイテムがある列に適用したらどうなるんだろう?
▼「タイトル」列に「テスト」で投稿したアイテムが2件あります。
という事で、列に同じ値を使えなくさせたい場合は、「固有の値を適用する」を「はい」にすれば良いようです。
ちなみにサポートされていない列の種類もあるようです。
列の値における一意性の適用
https://msdn.microsoft.com/ja-jp/library/office/ee536168(v=office.14).aspx
以下、サイト管理者(Q)と SharePoint 運用部門(A)のやりとりです。
知っている人にとっては SharePoint あるあるなのかもしれませんが、選択肢列の値を変更しても、投稿済アイテムの値が連動して変更されません。つまり、選択肢列の設定の値はマスターデータではなく、選択して投稿した際に、その値がそのままアイテムのデータとしてスタンプされるわけです。
実際に検証してみます。
▼「選択肢」列に「AAAA」「BBBB」「CCCC」という値を設定しました。
▼投稿後に「選択肢」列の「AAAA」を「ああああ」に変更します。
これを「クソ仕様」だと言う人もいたけど、選択した時の値を保持したいニーズもあるので、クソではないと思います。
▼想定される選択肢の仕様で後々トラブルになりやすい条件
例えば、そのようなニーズがあるリストを作成する場合は、選択肢列を利用する前に投稿済アイテムの値については確認を取った方が良いですね。
では、値を変更した際に投稿済アイテムの値と連動させるような方法があるか?ありますよね。参照列を利用し、マスターデータを別リストで管理すれば可能ですね。また、管理されたメタデータでも要件は満たされると思います。ただし、参照列も管理されたメタデータもそれはそれで特色や仕様があるので、そちらにも注意して利用しないと、別のトラブルになりかねないです。
そういう意味でも、選択肢を実現させるには複数の列の種類がありますが、全ての特徴を表にしたりすると良いかもしれません。っていうか僕はそういう表を作っていました。忘れがちなので。
サイト管理者の SharePoint のスキルや経験次第なのですが、仕様を把握せずに作成して運営を開始すると、後々になってトラブルになる事もあります。
とはいえ、運用・運営部門でも SharePoint の細かな仕様はなかなか全ては把握できず、ましてやサイト管理者となれば仕方のない事かなと思うので、やはり経験を積んでトラブルなどはしっかり記録してナレッジとして蓄積させないとですね。
FacebookでHirofumi Otaさんの書き込みを見て知りました!
開発やカスタマイズNGの環境では、集計値列の式を利用してHTMLを生成する方法は小手先技だけど色々できる技だったのにぃ!なんだかこの利用方法での実行がブロックされたらしい!っていうかこれは正式な利用方法ではなかったんだ?
以前デモで作ったリストがあったので確認しました。
選択肢を選ぶとそれに応じたアイコンが表示される仕組みです。
マジかぁぁぁぁ…orz
たった数日前まではimg列にはキレイなアイコン画像が並んでいたのに、今確認したら見るも無残なソースの表示がぁぁぁ…。
これ裏技だったとは知らなかったけど、テクニックとしてはネット上に色々紹介されているので、利用されている会社も少なくはないハズ。結構困る人もいるのでは???
Handling HTML markup in SharePoint calculated fields
https://support.microsoft.com/en-us/help/4032106/handling-html-markup-in-sharepoint-calculated-fields
よく読むと、SharePoint Online は2017/9/10までは延長をリクエストできるそうですが、延命措置はそこまでで、9/10以降は完全にNGそうです。
オンプレミスの SharePoint 2013/2016 は、2017/6のPUで「CustomMarkupInCalculatedFieldDisabled」という新しいWebアプリケーション設定が含まれ、この設定により管理者側で特殊文字をエスケープするかどうかを設定できるとの事。小難しい事言ってるけど、つまり、オンプレは管理者の設定次第で免れるという事ですかね。
リストに対して閲覧権限を付与されたユーザーは、他人の投稿したアイテムを編集しようと思っても、ボタンがグレーアウトされてクリックできません。わかりやすいし罠の臭いも感じません。
次にリストに対して投稿権限はあるけど、リストの詳細設定の「アイテムごとの権限」の設定を変更した場合。ここにイジワルとも言うべき罠が潜んでいるんです。
初期設定では「読み取りアクセス権」「作成/編集のアクセス権」が共に「すべてのアイテム」になっています。
ここで問題なのは「作成/編集のアクセス権」を「ユーザー本人のアイテム」にした場合。
つまり自分以外のアイテムは編集できないという事です。
この設定がなぜ罠かというのは実際にやってみるとわかります。
▼この設定にして他人のアイテムをまずは開きます。ん?リボンの「アイテムの編集」ボタンはクリックできる?? …とりあえずクリックします。
▼内容を編集して「保存」ボタンをクリックすると…このタイミングでNG!?
そうなんですよね。編集できそうに見せかけて最後の最後でやっぱできないんですよね。「編集できますよ!できますってば!ほら、やってみて!…うっそぴょ~ん!」というイジワルな声が聞こえそうな罠です。
このイジワル仕様による弊害は立場的には2点あります。
この仕様を知らないリスト作成者が、自分のアイテム以外を編集できない要件のあるリストを作成した際に、この設定を施します。その後、検証をしてみると編集ボタンはあるし編集画面に行けるから「あれ?うまく動作してない?」と勘違い。普通編集画面まで行けてしまった時点でうまく機能していないと思ってしまうから、そこから更に実際に「保存」までのアクションをテストせずに悩んだり調べたりしちゃいますよね。この仕様がわかった時に、無駄な時間をすごしてしまったと思っちゃいます。
実は実際に僕はこの罠に陥った一人です。ホント仕様を知った時に心の中で「orz」になりましたよ。
該当リストがそういう仕様だという事に気がつかずに、他人のアイテムを編集する機会があったとします。ボタンがグレーアウトしていたり事前にそういう仕様であると示唆するメッセージなどがないので、知らずにメッチャ気合い入れて編集し、保存ボタンをクリックしたら…。
俺の気合いを返せ!となります。
実は実際に経験談ですが、これで苦情を受けたこともあります。仕様なので仕方ないんですけど、苦情を入れたい気持ちもわかる。
アイテムごとの編集の設定を変更したら、リスト作成者はこの仕様を忘れずに。また、投稿者には何かしらの手段でしっかりアナウンスする必要がありそうです。
前回の記事を含め、数回にわたりアンケートリストについて取り上げてきました。
とはいえ、なんだかんだ言っても気軽にアンケートをとるには良いんですよね。今回はアンケートリストの詳細設定で、初期設定の状態で注意すべきポイントを挙げます。必ずしもトラブルになるわけではなく、一つ一つのアンケート内容次第かと思います。
サクっとアンケートの質問を作成していきなりアンケートをスタートさせずに、一度設定をしっかり確認すると良いと思います。
「作成/編集のアクセス権」に関しては、アンケートの回答を共同作業する想定はほぼないと思いますので、初期設定の状態で問題ないかと思います。ちなみにここを「なし」にすると作成すらできない、つまり回答ができなくなります。
「読み取りアクセス権」に関しては、初期設定が「すべての回答」となっているので、アンケート内容次第では変更した方がよさそうです。他人の回答を見なければいけない・見せたいアンケートってあまりないような気がするので、基本は「ユーザー本人が作成した回答」に変更し、ニーズ次第で「すべての回答」で良い気がします。
普段サイトを利用していて検索をした際に、結果にアンケートの回答が表示されるのはどうなんでしょうね。回答者も検索結果に表示されるなんてあまり想定していないと思います。アンケートとはいえ、例えば製品の有益な技術情報を含むようなアンケートであれば、回答を検索対象にしても良いと思いますが。これも基本は「いいえ」に変更し、ニーズ次第で「はい」で良い気がします。
総合すると、読み取りアクセス権がすべての回答で、検索結果に表示される初期設定のままだと、そのアンケートリストに権限のあるユーザーは、検索結果に自分も含めて他人のアンケートの回答が表示されるわけで、ちょっと気をつけたい設定かと思います。