Nintex Workflow活用テンプレート : サイトコレクションの管理担当とクォータ(容量制限)を一元管理する

SharePointの最も基本となる管理単位は「サイトコレクション」です。SharePointは「サイトコレクション」単位に管理者(サイトコレクションの所有者)を指定し、その管理・運用を委任することを想定した製品デザインになっています。この場合、システム管理者はバックアップ運用やクォータ(容量制限)設定といった、サーバ・アプリケーションレベルの管理のみを行います。

ところが、実運用においては、ユーザ部門担当者を「サイトコレクションの所有者」に設定しないケースも少なくありません。それは「所有者」の権限が強力すぎるためです。そのコレクション内ではシステムアカウントと実質的に同一で、そのぶんSharePointの理解が求められます。極端な例ですが、誤操作でサイトコレクションを完全削除してしまうことすら容易です。

そこで、サイトコレクションの所有者はあくまでシステム担当とし、ユーザ担当者には、特定のサイトレベル、あるいはコンテンツ(リストやライブラリ)に管理権限を設定します。これでリスクを最小化しつつ、限定的な権限委譲が可能です。このあたりが運用的な最適解かと思われますが、一方、前述の製品デザインとは異なるため、いくらかの問題が生じます。その最も顕著な例がクォータ(容量制限)の運用です。

SharePointはクォータをサイトコレクション単位で設定します。サイトコレクションの使用済容量が上限に近づくと、自動的に警告メールが送信されるのですが、この宛先は「サイトコレクションの所有者」固定です。更に、サイトコレクションには現在の総容量と、各リスト・ライブラリ毎の容量を確認できる「記憶域スペースの割り当て」画面※がありますが、これにアクセスできるのも「所有者」だけなのです。

※SharePoint2010ではこの「記憶域スペースの割り当て」画面が廃止され、分析レポートになりました。

1.ユーザ担当者は、担当するサイトコレクションが現時点でどれだけの容量か判らない。
2.システム管理者は、毎日届く警告メールを都度、適切なユーザ担当に転送しなくてはならない。
3.そのために全ての「ユーザ部門管理担当者」を把握し、常時アップデートする必要がある。

この運用はかなり徒労です。そこで、SharePointのアドオン製品である「Nintex Workflow」とを活用した解決方法をご提案します。Nintex以外はすべてSharePointの標準機能で、SharePoint2010およびSharePoint2007に対応します。

Nintex Workflow を活用したサイトコレクション情報一元管理サンプル

まず「管理簿(マスタ)」になるリストをカスタムリストで作成します(どのサイトコレクション・サイトでも問題ありません)。このリストには、Nintex Workflowで作成したワークフローを適用してあります。

運用としては、システム管理者はサイトコレクションを新規作成する都度、この管理簿に登録します。必要な登録事項は、1.サイトコレクションのURL、2.サイトコレクションの管理担当者(ユーザ担当者)が所属するSharePointグループ名、3.管理担当者 の三点だけです。

上図では、テスト環境のため2サイトコレクションしか登録がありませんが、実環境では数十~数百が並ぶと思います。

現在容量やクォータ値をはじめとするその他の情報は、ワークフローが定期的に動作して更新します。サイト名も取得→更新対象のため、変更があれば自動的にアップデートされます。

同様に、ワークフローの定期起動で、管理簿リストに設定された「担当者」と各サイトコレクションの管理担当者(管理担当者用SharePointグループ)を同期します。このサンプルでは管理簿→指定したSharePointグループの一方通行(つまり管理簿が主)ですが、Nintexの設定を少し変更すれば、双方向、あるいは逆方向も可能です。

現在容量がクォータ設定で指定された警告値を超えている場合、管理担当者に警告メールが送信されます。この文面はもちろん自由に変更可能です。また、一度警告が送信された後 n 日間は警告を抑止する(送信されない)仕様になっています。

警告メールの送信履歴は都度、別のリストに記録しています。

各サイトコレクションには、「管理担当者表示」と「容量確認ボタン」を配置。

担当者表示は、SharePointグループと連動しているため、変更は即時反映されます。「容量確認ボタン」をクリックすると、管理簿リストから情報をとり、このサイトコレクションの現容量などを表示します。

仕様概要

・SharePoint2010およびSharePoint2007で動作確認済。
・すべてSharePointの標準機能と、NintexWorkflowのStandard機能だけで構成。
・WFEにstsadmのバッチをタスク登録しenumsitesのxmlを定期出力するよう設定。
・NintexWFがこのxmlを読み込み、値を抽出して管理簿リストに反映させる。
・またサイト名の取得はSharePoint標準Webサービスのwebs.asmxのGetWebを利用。
・グループ連携はNintexWFからSharePoint標準WebサービスのUserGroup.asmx RemoveUserを利用。
・警告送信はNintexWFアクションのみ(IFで分岐処理とリストアイテム作成)。

サンプルテンプレートのご提供

SharePoint Maniacsでは、この事例のサンプル資材(SharePointリストとNintexのテンプレート+簡単な導入手順)をご提供しています(有償)。

40,000円(税別)

なお、本テンプレーはあくまで「サンプル」です。弊社環境で動作確認済ですが、お客様環境での完全な動作を保障するものではありません。本プレートの導入やカスタマイに関するご支援は別途お見積もりさせて頂きます。

本テンプレートに関するお問い合わせ、お見積もりのご依頼は[お問合わせ]から。またNintexWorkflowは弊社で直接のお取り扱いはしておりませんが、基本的なご質問であれば承れます。

Nintex Workflow活用テンプレート : SharePointで施設・備品予約
Nintex Workflow活用テンプレート : サイトコレクションの管理担当とクォータ(容量制限)を一元管理する
Nintex Workflow活用テンプレート : アイテム/ファイル保存時に自動的にアクセス権を設定する
Nintex Workflow活用テンプレート : ユーザによる登録情報の点数づけ(レイティング)
Nintex Workflow活用テンプレート : PscanServ と連携し自動PDF化。「ダウンロード禁止」を実現
Nintex Workflow とは 「The SUPER SharePoint Designer」


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9