SharePointにイベントリストがあり、ユーザーが新しいイベントフォームで会議ワークスペースを作成できないようにする必要があります。新しいイベントフォーム(添付ファイルのサポートが壊れます)をカスタマイズするのは恥ずかしがり屋ですが、これはどのように行うことができますか?
4 に答える
既定では、ユーザーが会議ワークスペースを作成するには、管理者またはサイト所有者である必要があります (具体的には、サイトの作成権限が必要です)。このアクセス許可を付与しない場合、会議ワークスペースを作成することはできません。
これにより、ユーザーは、これらの権限が設定されているサイトの下にサイトを作成できなくなります。特定のサイト定義へのアクセスを制限する方法を認識していませんが、ユーザーは別のサイト定義を作成できます。
マスターページにJavaScriptを入れることができれば、私はこの小さなハックを思いついた.
MS が次のいずれかのホットフィックスまたはサービス パックをリリースする可能性があるという点で、いくつかの欠点があります。
「会議ワークスペースを使用して、このイベントの出席者、議題、ドキュメント、議事録、およびその他の詳細を整理する」チェックボックスの名前を変更して、文字列「CrossProjectLinkField」が名前に含まれないようにする、または...
他のOOTBマークアップの他の入力要素の名前に同じ文字列を使用できます
はしごの場合 (現時点では完全に誤りであるとは言えません)、このスクリプトを実行するマスターページを表示している場合、これらの入力は無効になります。
しかし、これは私が対処できるリスクです。他の誰かの制御によって発行されたクライアント ID と名前に依存するときはいつでも、これらのリスクを実行します。
<script type="text/javascript">
var anchors = document.getElementsByTagName('input');
for(var i=0;i<anchors.length;i++)
{
var anchorName = anchors[i].name.match('CrossProjectLinkField');
if(anchorName != null)
{
anchors[i].disabled = true;
break;
}
}
</script>
これが行うことは、ユーザーが会議ワークスペースを作成できるようにするチェックボックスを見つけ、それを無効にしてチェックできないようにすることです。問題が解決しました!
これを行うためのサポートされている方法はないと思います。1 つのオプションは、C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\XML\WEBTEMP.XML にある WEBTEMP.XML ファイルを編集することです (もちろん、最初にバックアップを作成します)。次のように行をコメントアウトします。
<!-- <Template Name="MPS" ID="2">
...
</Template> -->
このファイルを編集し、ファーム内のすべてのサーバーで IISRESET を実行すると、会議ワークスペースを作成できなくなります。
機能がアクティブ化されている現在の Web を削除する機能レシーバーを使用して、Web スコープの機能を作成し、テンプレートを使用できないことを示す SPException をスローします。次に、防止するサイト定義に以前の機能をステープルする Web アプリケーションまたはファーム スコープの機能ステイプラーを作成します。Web アプリケーションまたはファームでその機能を有効にします。その後、誰かがサイト定義の 1 つからサイトを作成すると、そのサイトは削除され、スローされた SPException のテキストを表示するエラー ページがユーザーに表示されます。