Uncategorized

[ブログ紹介] Visual Studio で作成したカスタムアクティビティ (Custom Activity) を SharePoint Designer (SPD) で使用する方法

(2008/08/15 赤字の箇所の記述追加)

(sample code を添付)

こんにちは。

方法を掲載しようと思いましたが、既にチュートリアルとサンプルのダウンロードが可能なページがありますのでご紹介します。(下記リンク)

Adding Activities to SPD (Microsoft SharePoint Designer Team Blog)

(追加情報: Tip: Clearing the SPD workflow assembly cache )

これは、おそらく、SharePoint のワークフロー (Workflow) を本格的に使いはじめると、まず使いたくなる技であると思います。(よく御質問も受けます。)

SharePoint (MOSS 2007, または WSS 3.0) では、ページのカスタマイズに際してコードの記述をしなくても良いよう、SharePoint Designer 2007 (SPD) というクライアントツールが付属しています。このツールでは、ノンコーディングで、ページやマスターページなどのデザインは勿論、データベースと接続したテーブルの表示や、アクション、さらにはワークフローの作成までが可能となっています。(この辺りは、昨年の Microsoft Conference でセッションをみて頂いた方はイメージして頂けるかと思います。)
しかしこのワークフローには、ノンコーディングであるが故、自由度に限界があるのも事実です。リストやドキュメントライブラリへのイベントと、メール送信、タスク作成、属性の変更、など決められたアクションを組み合わせて作成する必要があります。加えて、ループの処理を持っていません。

一方で、Visual Studio による SharePoint 上のワークフロー作成は、このブログでも何度もご紹介していますが自由度が高く、ドキュメントライブラリへのドキュメント登録、ネットワークリソースへのアクセスなど、さまざまな処理を実現できます。しかしこちらは、”Visual Studio” という開発者のための道具と、そこそこ難易度の高いコーディングが必要とされ、エンドユーザや管理者などに随時カスタマイズして利用してもらうには向いていません。

そこで、この両者の良い点をあわせて使う、つまり、Visual Studio でワークフローをカスタムに作成し、利用者には必要な属性のみを埋めてもらい利用する、というシナリオが必要になってきます。上記ブログは、その点をピンポイントに(方法について簡潔に)説明しています。

基本的な流れは非常に簡単で、以下の通りです。

  1. アクティビティを作成して、GAC に登録する
  2. web.config の authorizedType 要素として上記のアセンブリを追加する
  3. 専用の .ACTIONS ファイルを作成し、%programfiles%\common files\microsoft shared\web server extensions\12\TEMPLATE\1041\Workflow にコピーする
  4. iisreset をおこなう

追加する .ACTIONS ファイルですが、保存の際に必ず、[文字コード] として UTF-8 を選択して保存してください。

この方法を応用して、VSeWSS を使用してインストーラとして追加のアクティビティを組み込む (追加の処理などは、エンドユーザー側に SharePoint Designer で作ってもらう) といったことも可能となります。

本ブログに、このサンプルコードを添付しておきます。

 

Categories: Uncategorized

Tagged as: ,

4 replies»

Leave a Reply