SharePoint Designer によるワークフロー製作で困った点
SharePoint 2007 のワークフローは、通常のUIから設定するだけでなく、SharePoint Designer を利用することで、より複雑なワークフローをノンコーディングで作成することが出来ます。
ユーザ側である私にとって、この Designer で何処まで出来るのか、は極めて重要なポイントです。
いろいろと試してみているのですが─やや行き詰まりました(苦笑)
バグなのか、あるいは仕様なのかはわかりませんが、気づいた(困った)点を挙げておこうと思います。
メール送信の怪・その1
ワークフローのお約束「電子メールによる通知」。
当然、Designer でもサポートされています。
UI で設定するよりも、より柔軟に、任意のタイミングでメールが送信できるようになっています。
そこで挑戦です。
これは「送信マスタリストの “タイトル” 列を参照して、このアイテムの “エスカレーション先” 列の値と同じ値を持つアイテムを探せ。もしあれば、そのアイテムの “担当者” 列を宛先として返せ」と指定しています。
あらかじめメール送信先のパターンを別リストに作成しておき、アイテム登録時に宛先をそのパターンから選択できるようにする意図です。ワークフローではありがちな手法だと思います。
しかし。
どうもこの場合、参照キーになる二つの列の形式は同じでなくてはならない、という制約があるようです。
この例であれば、”エスカレーション先” 列を選択肢にしてしまうと、(同じ値であっても)メール送信に失敗します。
マスタ側の参照キーになっている “タイトル” 列が一行テキスト形式であるためです。
“エスカレーション先” 側も一行テキストにしたところ成功しました。
知ってさえいれば、ひと工夫して回避できなくもありません。
しかし、なんとも使いにくい制約です。
メール送信の怪・その2
メール送信でもうひとつ。
こちらはより致命的かもしれません。
ワークフローに伴う通知メールを送信する場合、当然ながらそのワークフローの発端となったアイテムへのリンクを文中に挿入したいと考えます。
[本文への参照の追加] → [ワークフロー参照の定義/ソース:現在のアイテム] から、URLリンクを挿入することができそうです。
ところが。
実際にこれを挿入してみるとこんな風になります。
http://~ が省略されているのはいいとしても、末尾がヘンです。
本来であれば DispForm.aspx?ID=~ とすべきところでしょう。
幸い、アイテムID値は正しく返されるようですので、http:// 以下、/DispForm.aspx?ID= まで全て手書きしておき、末尾にID値を挿入すれば、とりあえずURLをつくることは出来ます。
SharePoint 2007のワークフロー機能は「使える」のか?
ワークフロー機能のエージェント的活用 2
login