Visual Workflow Editor

Joomla! 6.1で実装されたVisual Workflow Editorによる記事の起案から発行までのプロセス管理に移行しました。

概要

  •  Joomla! 5.xに搭載されていたWorkflow機能はテキストベースで、判りにくいものでした
    • かく言うわたくしも、使用したことがなく、デフォルト設定のまま直接Statesを変更していました
  • Joomla! 6.1で実装されたVisual Workflow Editorは、GUIとなりArticle編集におけるフロー管理をより判りやすくすることが出来るようになりました

参照

Visual Workflow Editorの準備

  • Joomla! 6.1.0アップデート後の状態では利用可能となっていないため、意図して設定を変更する必要があります
  1. System > Component > Articles > Integration tabを表示します
  2. Workflow blkまで移動します
  3. Enable Workflow > No -> Yesに変更します
  4. Save & Closeをクリックします
  5. Article Listを開くとWorkflowの進捗を示すStageの列が表示されていることが確認できます

Workflowの作成

  • デフォルトでBasic Workflowとい名称のワークフローが用意されており、こちらを使用すれば最も簡便なWorkflowを使用することが出来ます
  • ただし、Basic Workflowはステージ(進捗状況)が1つしかないため、本来のワークフロー管理ではありません
    • 単に、Workflowを使用しない環境のStates選択ボタンとFeaturedボタンをWorkflow化しただけと言えます
  • そこで、参照ページを元に実際の記事編集ワークフローを模したVisual Workflowを作成してみました
    f-labs.jp basic workflow
    • 参照ページではPublishとFeaturが同時指定だったため、Featureを独立させています

Workflow作成手順

  • Visual Workflowは進捗状況を示すStageとStage同士を連結する業務内容を示すTransitionで構成されます
  1. Content > Workflows > +Newをクリックします
    Content > Workflows > +Newをクリック
  2. Name: 任意の名称を指定します
    Nameに任意の名称を指定し、Default: Yesに変更
  3. Default: Yesに変更します
  4. Save & Closeをクリックします
  5. Workflowsリストに戻ります
  6. 新規作成したWorkflowのGraphボタンをクリックします
    Graphボタンをクリック
  7. デフォルトで始点のFrom Anyと終点のBasic Stageの2つのStageが用意されています
    From AnyとBasic Stageの2つのStageが用意
  8. +Add Stageボタンをクリックすると新規Stage(進捗状況)を設定することができます
    • わたくしは次のFlowをイメージしました
      • Main Flow: From Any -> On Hold -> Idea -> Copywriting -> Graphic Design -> Fact Check -> Content Review -> Published
      • Side Flow: Unpublished / Trashed / Featured
    1. +Add Stageボタンをクリックします
      +Add Stageボタンをクリック
    2. Add Stage dlgが開きます
      Add Stage dlgが開く
    3. Nameに任意のStage名を指定します
    4. Save & Closeをクリックして保存します
    5. 作成されたStageはマウスホバーで表示される三点リーダーボタンをクリックし、Edit Stageボタンをクリックすると再編集できます
      Edit Stageをクリック
    6.  下図ではDescription tab > Noteに追記し、Save & Closeをクリックして保存しています
      Noteを追記
  9. Stageにマウスホバーして表示される緑のマーカーと別のStageのマーカーを結ぶと新規Transition(業務内容)を設定することができます
    1. 始点のStageにマウスホバーして表示される緑のマーカーで+ポインタに変化したらクリックします
      始点のマーカーをクリック
    2. ドラッグして終点のStageをマウスホバーして表示される緑のマーカーで+ポインタに変化したらクリックします
      ドラッグし、終点をクリック
    3. 自動的にEdit Transition dlgが開きます
      Edit Transition dlgが開く
    4. Name: 任意の名称を指定します
    5. Transition tab: マウス操作で指定したCurrent StageとTarget Stageが自動指定されています
    6. Transition Action tab: PublishとFeatureの値を指定することができます
      Transition Actionを指定
      • None Selected: 一般的に最終的なStageで指定する項のため、途中のStageではNone Selected(何も変更しない)のままです
      • Yes: Featuring State / Publishing Stateに変更します
      • No: Unfeaturing State / Unpublishing Stateに変更します
    7. Notification tab: User Group又はUserを指定して、Stageが変更されたことを通知することができます
      • 別の項で説明します
      • わたくしの場合、一人で編集していますので、すべてのTransitionでNotification: Offとしています
    8. Save & Closeをクリックすると、作成されたTransitionを確認できます
      作成されたTransition
  10. StatgeとTransitionの作成を繰り返し、目的のWorkflowを完成させます
    f-labs.jp basic workflow
    • TransitionのラインはStageをドラッグすることで調整することができます

AutherやEditorへのTransition操作権限の付与

  • DefaultではAutherやEditorにはTransitionを操作する権限がありません
  • 権限を付与して、Transition操作を可能とします
  • なお、Execute TransitionのPermissionsはArticle:Optionsが上位となりますが、次の手順ではその下位の当該WorkflowのPermissionsで規定しています
  1. Content > Workflowをクリックします
  2. 当該のWorkflowをクリックします
  3. Permissions tab > Permissions blkを表示します
    Execute Transition:Allowedに変更
  4. 変更対象のUser(ex. Editor)をクリックします
  5. Execute Transition:Allowedに変更します
  6. Save & Closeをクリックします

Visual WorkflowによるStage管理

  1. Article: Editにて当該Stageでの編集作業を終え、次のTransitionへ移行します
  2. Workflow Stageのブルダウンボタンをクリックします
    次のTransitionをクリック
  3. 次のTransitionをクリックします
    • プルダウンボタンの右にあるGraph Viewをクリックして視覚的に次のTransitionを確認することもできます
  4. Save又はSave & Closeをクリックします
    • 当該のTransitionがPublish等のStatus変更が指定されている場合、またはFeaturedの変更が指定されている場合、SaveまたはSave & Closeをクリックした後、その変更が反映されます
      Status: Published

Notificationの指定と動作

  • Visual WorkflowではTransitionが実行されStageが変更されたことを指定されたUserGroup又はUserに通知することができます
  • 通知はSystem Mailにて実施されるため、事前準備と確認が必要です

System Mailの設定・確認

  1. System > Global Configuration > Server tab > Mail blkを表示します
  2. Send Mail: Yesに変更します
  3. From Email: 送信元のメールアドレスを指定します
  4. From Name: 送信元の名称を指定します
  5. Mailer: PHP Mail(Default)を確認します
  6. Send Test Mailをクリックします
  7. Users > Messaging > Private Messagesをクリックします
  8. 問題なくTest Mailが届いていることを確認します
    • Thunderbird等のMail Clientに管理者メールを設定している場合、Test Mailが届いていることを確認します

Super User以外にSystem MailをBackendで確認する権限を付与

  • 当サイトでは、FrontendにLoginは設けず、AuthorやEditorもBackendでArticleを編集しています
  • NortificationはMail Clientでも確認できますが、Backendで確認できると利便性が上がります
  1. Options > Messaging > 当該のUserをクリックします
  2. Access Administration Interface: Allowedに変更します
    Access Administration Interface: Allowedに変更
  3. Save & Closeをクリックします
  4. 当該のUserでログインし、左ペインにUser > Messagingのメニューが表示され、System Messagesを確認できるようになります
    左ペインにUser > Messagingのメニューが表示

Notificationの指定

  1. 任意のTransition > Edit Transition > Notification tab > Notification blkを表示します
    任意のTransition > Edit Transition > Notification tab > Notification blk
  2. Send Notification: Yesを確認します(又はYesに変更します)
  3. Addtional Message Text: 任意のメッセージを入力します
  4. Usergroups: 通知先のUsergroupを指定します
  5. Users: 個別に通知先Userを指定したい場合指定します
  6. Save & Closeをクリックします

Nortificationの動作

  • Visual WorkflowによるStage管理の項の手順5でSaveを実施したタイミングで、Notification Sentのメッセージが表示されます
    Notification Sentのメッセージ
  • 当該の新しいStageでのTransitionを担当しているUserにNortificationが届き、当該UserがTransitionを引き継ぎます