2024年6月14日 (金)

GitHub に PnP Modern Editor Webパーツが以前から公開されている。これは #SharePoint のクラシックサイトにあった「スクリプト エディタ Webパーツ」をモダンサイト用にコミュニティ有志が作成したもの。SharePoint Framework で作成されている。

sp-dev-fx-webparts/samples/react-script-editor/README.md at main · pnp/sp-dev-fx-webparts · GitHub

このソリューションの立ち位置についてはちょっと思うところがあるので、これまでのいきさつを含めて書いておこうと思う。

スクリプトエディタ Web パーツが登場する前は、テキストエディタ Webパーツがあり、文字通りテキスト表示に使うだけでなく、カスタムCSSやJSファイルのリンクを置いて利用したりして SharePoint サイトのカスタマイズによく用いた。その後、より効率よくスクリプトを直接書ける Webパーツとしてスクリプト エディタWebパーツが投入された。このようにして SharePoint サイトは CSS や JavaScript でこまごまカスタマイズしていく流れがあった。ただ、エンドユーザー向けではないので開発者または少し開発経験がある人があれこれカスタマイズしていった。ユーザーからの要望を比較的気軽にかなえ易かったのだが、実際にはよく吟味せず「こんなカスタマイズにあまり意味があるとは思えない」というようなものも多く含まれていたのが現状である。さて、ここには弊害が生じた。スクリプトがあちこちに埋め込まれてしまい、だれもが把握しきれない、いわゆる「野良スクリプト」が大量に生まれたのである。管理下にないスクリプトなどがたくさんある状況は望ましくない。また、開発者の手を離れたあと、エンドユーザーがメンテナンスするには難易度が高すぎるという問題もある。

モダンサイトでは、こうした背景もありユーザーが勝手にあちこちにスクリプトなどを埋め込んで利用することのないようにサイト管理者の管理下に置いてこうしたカスタマイズを管理する方向に変わった。そのためスクリプトなどをサイトに追加したいのなら SharePoint Framework という手続きに従ってサイト管理者の管理下で許可されたもののみ利用できるようになった。ユーザー側からするとモダンサイトになると利用できる Webパーツの種類も増えたし、機能も豊富になった。ユーザーは JavaScript など使わずとも、ポータルサイトを見栄え良く作りやすくなった。もちろん、追加機能が欲しい場合はある。しかし、そこは今や Power Platform で補完できるようになった。こちらも基本的にはユーザーレベルでメンテナンスができるものである。 こんな背景があるので、単純に「以前と同じようにスクリプト エディタ Webパーツ」が使えるよと簡単には紹介しにくいと感じている(実際、紹介はしてこなかった)。いろいろな教訓を得て、ここに至っていて、できるだけカスタマイズはせずにどのユーザーでも自分の手でメンテナンスや設定変更ができる「標準機能」を使うほうがハッピーではないかと思うからだ。 無論、開発エンジニアチームなどで自由にスクリプトなど書ける人が多くいるチームのサイトならこうした機能はうまく使えば便利に違いないので、一概には否定はしないが。