SharePoint 参照列があるリストをテンプレート化しても、別サイト・環境で展開すると参照列は使えません

SharePoint では、リストをテンプレート化すると、サイトコレクション内で再利用ができます。しかし、参照列が入っているリストをテンプレート化した場合、参照元リストが所属するサイト内なら問題なく展開可能ですが、同じサイトコレクション内でも別サイトで展開したら、参照列は動作しません。そもそも参照列が取得できるリストはそのサイト内のみですから。

では、参照元のリストもテンプレート化して、別サイトで先に参照元リストをテンプレートから展開してから、次に参照先リストをテンプレートから展開してみたらどうでしょうか?
答えは、これもダメです。

【検証1】同サイト内に展開

    • 「company」リストを作成
    • 「company」リストのタイトル列を「company」に変更
    • 「products」リストを作成
    • 「products」リストに「Company」列を追加し、参照で「company」リストの「company」列を取得
    • 2リストをテンプレート化
    • 「products」リストのテンプレートから同サイト内でリストを作成

01

02

【検証2】同サイトコレクションの別サイトに展開

  • 「company」リストのテンプレートから別サイトにリストを作成
  • 「products」リストのテンプレートから上項と同じサイトにリストを作成

↓「情報の取得先:」の部分が消えています。
03

↓「Company」列は空欄です。
04

つまり、この記事のタイトル通りが結果でした。

参照列は面倒ですけど作り直しのようです。

SharePoint 運営の心得

SharePoint の運営は、

「シンプルイズベスト!」

これに尽きると思います。

費用対効果はもちろん、手を加えるほど複雑になり、管理が行き届かなくなり、セキュリティやバージョンアップなどのリスクも高まります。運営ガイドラインもなく各サイトコレクションの管理者に自由に運営を任せてしまうと、中には仕様書などを全く残さずにカスタマイズしまくり、挙句の果てにはその本人はすでに退社…なんて事も。ブラックボックス化されたSharePoint をおそるおそる運営していくようになり、案の定、バージョンアップ時にトラブル続出…というシナリオは容易の想像できるかと思います。

業務上どうしても実装しなければいけない要件以外は極力実装しない方向に持っていくのも一つのテクニックかと思います。カスタマイズのスキルがあるほど陥りやすいのが、実は基本機能を工夫すれば実装できるようなものまで、すぐカスタマイズしてしまったり。

カスタマイズも開発も極力せず、SharePoint の基本機能で構築し、基本機能も極力機能を絞り、アクセス権限もシンプルに。

特に情報共有がメイン用途であれば、極端な話、1サイトに1リスト・1ライブラリさえあれば、十分かなぁとも思っています。

中長期的な運営を考慮するのであれば、SharePoint はシンプルイズベストなんだと思います。