【お仕事】保存したサイトテンプレートを使ってサイトを作るとエラーになる【SharePoint】
最近、お客様より問い合わせがありました。
- サイトテンプレートとしてサイトを保存した後、そのテンプレートからサブサイトを作ろうとすると、人によってエラーになるんだけどなんで?
とりあえずエラーを見ましょうかどれどれ・・・。
「Web テンプレートの適用中にエラーが発生しました」
なるほどなるほど、パッと見た感じテンプレートとして保存したサイトの機能が、作成先のサイトコレクションで機能がアクティブ化されていない為に出るエラーでしょうね。
と、エラーだけを見ればそう思うんですが、ポイントは”人によってエラーが発生したりしなかったりする”というところ。
おそろしくひどい矛盾、オレでなきゃ見逃しちゃうね(震え声
- サイトやサイトコレクションのせいならば人は権限以外に関係はない。
- 今回、人によってエラーになったりならなかったりということだが、権限は同じフルコントロールが割り当てられていた。
- その他カスタマイズはしていないし、メモリ不足だとかディスク不足だとかそんなチャチなもんじゃあ断じてねぇ。
さてさて、どうしたものかと思ってふと気になったポイント。
サイトテンプレートを作成する時は人によって違うかもしれない。
いやーそんな設定項目多くないしこりゃわからんな。
と思ってググったらなんと同じ問題に遭遇した方のブログがありました。
しかも割と間違ってなかった。
ポイントは
- SharePointでは、ユーザー操作では日本語が使える。
- SharePointの内部処理では日本語が使えない。
- キーとなる箇所に日本語が使われたとき、SharePointは内部処理を通すために日本語を英数字に置き換える。
上記のうち、1はまあ使ってれば普通に使用できるのが分かるのでよしとする。
2もSharePointを知っている人ならURL周りとかもあって、そりゃそうだとなる。
問題は・・・3だ。
とはいえ3も別に不思議なことではなく、ページを日本語タイトルで作成したあとにURLを見ると、エンコードされているんですね。
また、リストやライブラリを日本語で作った場合もList1等で作成されているのがURLを見ればわかるところです。
が、どうもサイトテンプレートで日本語を使うと、日本語の箇所において内容を問わず固定の英数字に置き換わる模様。
- sitetemplate1
⇒そのまま。 - サイトテンプレート1
⇒11 - 部署テンプレート1
⇒11
・・・あっ(察し
要は、重複できない箇所が内部で重複してしまっているんですね・・・。
(上記の時、サイトテンプレートのテンプレート名とファイル名を同じで、テンプレート元のサイトはすべて同じサイトです)
この場合、1つ目と3番目のサイトテンプレートは、作成する際にエラーになります。
2番目は重複していないのでエラーになりませんでした。
結論から言うと、
- サイトをテンプレートとして保存する場合、名前は半角英数にしておけ
ってことでした。
・・・いやこの仕様はどうなの(白目