謝罪 — SharePoint デザイナー ※ することができます ※ ステート マシン ワークフローの作成

私が最近学んだ可能であり、SharePoint デザイナーを使用してステート マシン ワークフローを作成するも簡単です。. 必要は発明とすべてが良いものの母と発明を見た必要この 1 週間を持っていた. 偶然にも, 私は来た この MSDN フォーラムのポスト 同様. 私の個人的な経験のこの 1 週間、「独立した確認" 私の信念に力を貸す. 私は完全に吹きつけられた例でより大きい長さではこれについて記述する予定します。, しかし、それの要点はここにあります。:

  • ワークフローがリスト アイテムを変更することは、アプローチを活用します。, 新しいワークフローをトリガー. 迷惑になるし、さらにこれを通常考えられてきた セマフォの使用に関するブログ それを処理するには.
  • SharePoint に複数の独立したワークフローを特定のリスト アイテムに対してアクティブにすることができます。.

それを構成するのには:

  • 状態マシンを設計します。 (すなわち, 状態および状態をどのようにするには、次のいずれかから遷移).
  • 別のワークフローとしての各状態を実装します。.
  • 各リスト アイテムの変更への応答で実行するこれらの状態のワークフローの構成します。.

各状態のワークフローに従いますこの大まかなパターン:

  • 初期化時に, それは本当に「現在のアイテム」の状態の情報を調べることによって実行かどうかを決定します。. そうでない場合は中止.
  • 作業を行う.
  • 「現在のアイテムをを更新します。" 新しい状態情報を. これが現在の項目に更新をトリガーし、状態のすべてのワークフローを起動.

脇からの明白な利点は、1 つ宣言のステート マシン ワークフローを作成できます。, すべての状態情報が Kpi を構築し、興味深いは素晴らしいことを再生します。.

それはかなり実質的な欠点を持っています。 — 標準のワークフロー履歴の追跡が一層無駄に簡単に改善の通常🙂より, ただし. カスタム リストですべての監査の種類情報を格納します。. それはおそらく、バニラのシーケンシャル ワークフローのも良いアイデアです。, それはまた別のブログの記事のためです🙂

私はこの謝罪」を呼び出す" 私が, 残念なことに, 複数回のフォーラムによると、1 つ必要があります visual studio を使用して、ステート マシン ワークフローを作成する他の場所. それは単に本当ではないです。.

</終了>

私のブログを購読します。.

Technorati のタグ:

4 「上の思考謝罪 — SharePoint デザイナー ※ することができます ※ ステート マシン ワークフローの作成

  1. Jaustral が書いた:
    こんにちはポール,
    どのように多くの州を扱っています。? だけを持って取得する 2 つの異なるアクティブなワークフロー ワークフローの設定ページに行くとき?
    ベスト,
    フアン.
  2. 分 Sanjeev ラージプート
    完全例を読んでみたいと思います. うまくいけば、あなたの一人私と同様の処理を抱えているいくつかの悪夢を明確に助けることができます。. どこに新鮮な起動する準備ができているポイントを午前します。.
  3. ポール Galvin
    それは SPD がステート マシン ワークフローを作成することができます大きなポイントで、感嘆符は本当に興味深いアプローチ置くです。.
    あなたの概要し、私の概要と性能面の相当な相違があるか分からない. 私の場合はこの 1 週間で, パフォーマンスは、この特定のワークフロー実行時間の長い出来事であるので、問題ではないです。 (16 またはスタートからフィニッシュまでのより多くの週) あることよりも、いくつかのダース アクティブいつでもと. 起動時と 1 時間ごとを実行するいくつかのダースがあった場合 … それは別の話だろう. パフォーマンスとワークフロー一般的には非常に漠然としたテーマと思う.
    私はあなたがあなた自身のブログを実行するかどうか分からない. 行う場合, あなたのアプローチの詳細について書くことを考えるべき. そうでない場合, 私はゲストブロガー"をコールするよりも幸せになります。" 私のブログにあなたのポストをアップロード.
    コメントのおかげで. 私は私のブログに引き出すことができるしてきた最高の一つです。!
    –ポール G
  4. マイク アトキンス
    状態遷移中の状態を保持するために別々 のリストを使用してステート マシンを実装. メインのワークフローがここのアイテムを作成し、初期状態を設定. 私は 1 つを使用, 独立しました。, すべての状態を処理するためのワークフロー, 使用して、"場合-その後-ELSEIF" 構造 (「ステップ 1」で) 可能な状態に.
    各状態について, 行うために必要なすべてのユーザーからの応答を取得しました。.
    私の例では、複数レベルの順次承認, それぞれのステップ (状態によって表される) 様々 な可能な後継者がいることが. これは各ユーザーが持っていたことを意味 (可能性があります。) 選択メニューで利用可能な別のオプション. 私「ステップ 2" "IF-その他" すべての可能な応答を考慮した構造 (すべてのステージから), 次の状態がどうあるべきかを決定し、. "ステップ 3" その後その状態を設定します。, 終了したワークフロー.
    このメソッドは、 (明白です) 単一の内の出来事の利点 (セカンダリ) ワークフロー. ただし, このワークフローでは達成することができるものの範囲がより限定されたワークフローの各状態にあること. 私は思っていた, ただし, どのようなパフォーマンスのヒットが行われる場合は、個々 の状態のワークフローのすべてが起動 (とはいえ、その後すぐに終了).
    また, 2 番目のリストを使用します。 (独自のワークフローを持つ) このプロセスと状態間の遷移を表すかもしれない大きいワークフローの一部のみ. メインのワークフローが状態マシンのプロセスを開始するとき, それは待機状態に入る, 進むとき、"ループ" termintaed は、します。. 私も私のメインのワークフローを元のリスト アイテム内のデータを変更する必要がありますも可能性を熟慮されました。, 不要な"発火しないようにしたいのですが。" ステート マシン ワークフローの.

返信にコメントを残す ポール Galvin 返信をキャンセル

あなたのメールアドレスが公開されることはありません. 必須フィールドは、マークされています *