SharePoint のモダンUIのメリットってパっと浮かぶところで「レスポンシブWebデザイン」などが挙げられると思いますが、僕は大きなメリットの一つとして「ユーザーの画面遷移・クリック数を減らす事でUXが向上されている」も挙げています。特に画面遷移が少ない事は大きいと思っていて、ここで言う「画面遷移」とはつまりページの読み込みが発生する事。近年インターネットのスピードは速くなったとはいえ、画面遷移時のページが読み込まれるまでの時間は未だユーザーにとってはストレスになります。つまり、何かをしたい時にページの読み込みが発生するような画面遷移は極力少ない方がUXとしては良いと考えます。例えば列の編集をする場合、クラシックUIの場合はビューからリストの設定ページに行き更に目的の列の設定ページに行きます。2ページ読み込みが必要です。一方、モダンUIの場合はビュー上で編集できます。この差は大きいです。
と、冒頭から脱線しましたが、今回の記事はこのモダンUIから行う列の編集についてです。 SharePoint においては「タイトル」列はリスト作成時に必ずついている列で削除できない重要な列です。タイトル列が邪魔だなぁと感じる事もありますが…。何かリストを作りたい場合、この「タイトル」という文言を別の項目に置き換えたい場合は結構あると思います。その場合は、タイトル列は列名を変更ができますよね。この場合、モダンUIのビュー上からタイトル列の列名を変更した時に変な挙動になるんです。
実際に現象を再現します。
▼カスタムリストを作成すると必ず「タイトル」列が存在します
他の列と比べるため、列を追加します。
▼ビュー上から「+列の追加」で今回1行テキスト列を追加します
▼「タイトル」「住所」と2つの列
この状態で一旦リストの設定ページで列の情報を確認します。
▼右上の歯車から「リストの設定」
▼列を見ると「タイトル」「住所」がある事を確認できます
このリストの設定ページはクラシックUIのままですよね。将来的にこの設定ページに行かなくてもビュー上で全ての設定が行えるようにするつもりだから、あえて設定ページはモダンUIにしていないのでは?と思ってしまいます。
では、確認した後に、この「タイトル」「住所」の2つの列の列名を変更したいと思います。
▼列名の変更もビュー上で行えます
▼無事、「タイトル」→「会社名」、「住所」→「会社の住所」に変更しました
さて、ではこのカスタムリストを PowerApps でアプリ化したいと思います。
▼編集バーから「アプリの作成」
できたアプリをよく見ると…
▼あれ??「会社名」って列名を変えたのに「タイトル」になってる!
初めにこの挙動を確認した時は、何が原因なのか? PowerApps 側の仕様なのか?と色々探ったんですが、これは実は SharePoint 側のせいだったんです。もう一度 SharePoint のカスタムリストの設定ページを確認すると…
▼あれ?「タイトル」って列名だ…
これ、列名が戻ってしまったわけじゃないんです。実際にこの後ビューを見ると…
▼やはりビュー上では「会社名」になってる
▼クラシックUIにしてもやはり「会社名」になってる
ここまでの事象を整理すると、つまり『タイトル列に限り、』モダンUIのビュー上から列名を変更してもビュー上の名前は変更されていても実体の列名は変更されていないという事。また、ビュー上の列名とリストの設定の列名は同じデータを参照しているわけではなく別のデータとして持っている?という事。
では、リストの設定ページから行く列の設定ページから列名を変更してみます。
▼列名「タイトル」を「会社」に変更
鋭い人ならここでおかしな点に気が付いたかな?実はこの時点で僕はミスっています。上の方でビュー上から列名を変更した時は「会社名」と変更したんです。でも今回は列の設定ページでは「会社」と変更したんです。ウッカリミスだったのですが、このミスが功を奏します。
▼リストの設定ページでは「会社」に変更されました
▼ビュー上でも「会社」
▼クラシックUIに変更しても「会社」
再整理をすると、つまり『タイトル列に限り、』列の設定ページから列名を変更すれば実体の列名もビュー上の列名も変更されるが、ビュー上から列名を変更してもビュー上のみ変更されるが実体の列名は変更されないという事。
う~ん…ダメじゃん!せっかく冒頭でモダンUIはUXが向上したと言ったけど、リストのタイトル列をしっかり変更したい場合は、結果的にビュー上からではなく列の設定ページから変更しなければいけないという事です。
更に… PowerApps のアプリ側を見ると、一度この状態で作ってしまったアプリは SharePoint 側で設定し直してもどうもダメなようです。
▼まだ「タイトル」のまま。データソースで「最新の情報に更新」をしても…
これはあくまでもアイテムのデータを更新する機能なので、リストの設定データが更新するわけじゃないようです。
▼では一旦「タイトル」列を削除して
▼再度フィールドを追加しようとしても「タイトル」のまま…
つまりこうなってしまったら PowerApps のアプリ側では手作業でラベルコントロールを変更するか、アプリをたいしてイジっていないなら作り直すのも手なのかな?ここらへんデータ元の項目と連動してくれるとうれしいけど、もしかしたら方法があるのかな?(あるぞ!という方はご一報おねがいします!)
という事で PowerApps でアプリ化した時に気が付いた事だったので PowerApps の事も書きましたが、 SharePoint の現時点での仕様?バグ?についてのお話でした。そのうち直ってくれるとイイですね。