SharePoint アドイン製品一覧
SharePoint 2010 開発のステップ・バイ・ステップ
Windows Azure 入門
Windows Azure How-To 集
WCF / WF 入門
環境:Microsoft Office SharePoint Server (MOSS) 2007Visual Studio 2005SharePoint Server 2007 SDK and ECM Starter Kit
こんにちは。
今日は、SharePoint ワークフローの client integration のテクニックについて記載します。ご存知の方も多いと思いますが、SharePoint ワークフローでは createTask アクティビティなどを使ってタスクを扱うことができるようになっており、作成されたワークフローは、SharePoint のタスクリストの中から編集(起動、実行)できますが、Office クライアント (Excel, Word, など) からも直接起動して利用することもできるようになっています。また、タスク編集以外にワークフローそのものの起動も Office 上から可能です。
このテクノロジーが実際のビジネスシナリオにおいていかに使えるものであるかは容易に連想して頂けるでしょう。例えば、ドキュメント (Excel, Word, など) が登録されたらタスクを作成し、担当者にメールを送信して、メール本文にそのドキュメントへのリンクを埋め込んでおくことで、使う側はメールからリンクをクリックし、表示されるドキュメント上でメッセージバーから承認行為などをおこなえば、ワークフローがまわっていきます。利用者は、メールに答えるだけで、わざわざ毎朝 SharePoint のポータルを開いてタスクリストをチェックしておく必要はないのです。
さて、この client integration の仕組みの実装ですが、一般には、非常に単純な手順で完了します。以下に記載されているように、フォームオプション 互換性タブの [ブラウザまたは InfoPath で開くことができるフォーム テンプレートをデザインする] にチェックを付けて InfoPath のフォームを (タスクフォームとして) 作成し、あとは 過去に記載した要領 で、Visual Studio でワークフローを作成すればよいだけです (尚、この方法は、SharePoint Designer を使ったワークフローの場合には不可能です)。
http://msdn2.microsoft.com/en-us/library/ms548723.aspx
このように Compatibility に配慮されたフォームを作成することで、タスクリストから実行した場合はブラウザモードで起動し、クライアント(Excel, Word, など)から起動する場合には InfoPath のクライアントモードでタスクフォームが起動します。(フォームを aspx で作成した場合には、ブラウザが表示されます。)
しかし、実際にこの仕組みをちゃんと使う場合には、実は、いくつかコツがあります。今日はその辺りのコツを以下に記載しましょう。
SharePoint は、開発の観点では、正直、おぼえることの多い製品ですが、使いこなすと、大変強力な仕組みや製品を構築していくことができます。(カスタムの監査や、情報管理ポリシーの作成、デプロイについても、マニフェストや CAML を理解することで、製品パッケージの作成などにも対応した非常に幅広いデプロイシナリオを実現できます。)前回も記載しましたが、これまでは「新機能は何か?」「2007のコンセプトは?」といった内容説明が主体でしたが、今後はセミナー、MSDNなど通し、より実践的な内容(どううまく使いこなしていくか)をご紹介していきたいと思っています。