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アップデート後の状態では利用可能となっていないため、意図して設定を変更する必要があります
- System > Component > Articles > Integration tabを表示します

- Workflow blkまで移動します
- Enable Workflow > No -> Yesに変更します

- Save & Closeをクリックします
- Article Listを開くとWorkflowの進捗を示すStageの列が表示されていることが確認できます

Workflowの作成
- デフォルトでBasic Workflowとい名称のワークフローが用意されており、こちらを使用すれば最も簡便なWorkflowを使用することが出来ます

- ただし、Basic Workflowはステージ(進捗状況)が1つしかないため、本来のワークフロー管理ではありません
- 単に、Workflowを使用しない環境のStates選択ボタンとFeaturedボタンをWorkflow化しただけと言えます
- そこで、参照ページを元に実際の記事編集ワークフローを模したVisual Workflowを作成してみました

- 参照ページではPublishとFeaturが同時指定だったため、Featureを独立させています
Workflow作成手順
- Visual Workflowは進捗状況を示すStageとStage同士を連結する業務内容を示すTransitionで構成されます
- Content > Workflows > +Newをクリックします

- Name: 任意の名称を指定します

- Default: Yesに変更します
- Save & Closeをクリックします
- Workflowsリストに戻ります
- 新規作成したWorkflowのGraphボタンをクリックします

- デフォルトで始点のFrom Anyと終点のBasic Stageの2つのStageが用意されています

- +Add Stageボタンをクリックすると新規Stage(進捗状況)を設定することができます
- わたくしは次のFlowをイメージしました
- Main Flow: From Any -> On Hold -> Idea -> Copywriting -> Graphic Design -> Fact Check -> Content Review -> Published
- Side Flow: Unpublished / Trashed / Featured
- わたくしは次のFlowをイメージしました
- Stageにマウスホバーして表示される緑のマーカーと別のStageのマーカーを結ぶと新規Transition(業務内容)を設定することができます
- 始点のStageにマウスホバーして表示される緑のマーカーで+ポインタに変化したらクリックします

- ドラッグして終点のStageをマウスホバーして表示される緑のマーカーで+ポインタに変化したらクリックします

- 自動的にEdit Transition dlgが開きます

- Name: 任意の名称を指定します
- Transition tab: マウス操作で指定したCurrent StageとTarget Stageが自動指定されています
- Transition Action tab: PublishとFeatureの値を指定することができます

- None Selected: 一般的に最終的なStageで指定する項のため、途中のStageではNone Selected(何も変更しない)のままです
- Yes: Featuring State / Publishing Stateに変更します
- No: Unfeaturing State / Unpublishing Stateに変更します
- Notification tab: User Group又はUserを指定して、Stageが変更されたことを通知することができます
- 別の項で説明します
- わたくしの場合、一人で編集していますので、すべてのTransitionでNotification: Offとしています
- Save & Closeをクリックすると、作成されたTransitionを確認できます

- 始点のStageにマウスホバーして表示される緑のマーカーで+ポインタに変化したらクリックします
- StatgeとTransitionの作成を繰り返し、目的のWorkflowを完成させます

- TransitionのラインはStageをドラッグすることで調整することができます
AutherやEditorへのTransition操作権限の付与
- DefaultではAutherやEditorにはTransitionを操作する権限がありません
- 権限を付与して、Transition操作を可能とします
- なお、Execute TransitionのPermissionsはArticle:Optionsが上位となりますが、次の手順ではその下位の当該WorkflowのPermissionsで規定しています
- Content > Workflowをクリックします
- 当該のWorkflowをクリックします
- Permissions tab > Permissions blkを表示します

- 変更対象のUser(ex. Editor)をクリックします
- Execute Transition:Allowedに変更します
- Save & Closeをクリックします
Visual WorkflowによるStage管理
- Article: Editにて当該Stageでの編集作業を終え、次のTransitionへ移行します
- Workflow Stageのブルダウンボタンをクリックします

- 次のTransitionをクリックします
- プルダウンボタンの右にあるGraph Viewをクリックして視覚的に次のTransitionを確認することもできます
- Save又はSave & Closeをクリックします
Notificationの指定と動作
- Visual WorkflowではTransitionが実行されStageが変更されたことを指定されたUserGroup又はUserに通知することができます
- 通知はSystem Mailにて実施されるため、事前準備と確認が必要です
System Mailの設定・確認
- System > Global Configuration > Server tab > Mail blkを表示します
- Send Mail: Yesに変更します
- From Email: 送信元のメールアドレスを指定します
- From Name: 送信元の名称を指定します
- Mailer: PHP Mail(Default)を確認します
- Send Test Mailをクリックします
- Users > Messaging > Private Messagesをクリックします
- 問題なくTest Mailが届いていることを確認します
- Thunderbird等のMail Clientに管理者メールを設定している場合、Test Mailが届いていることを確認します
Super User以外にSystem MailをBackendで確認する権限を付与
- 当サイトでは、FrontendにLoginは設けず、AuthorやEditorもBackendでArticleを編集しています
- NortificationはMail Clientでも確認できますが、Backendで確認できると利便性が上がります
- Options > Messaging > 当該のUserをクリックします
- Access Administration Interface: Allowedに変更します

- Save & Closeをクリックします
- 当該のUserでログインし、左ペインにUser > Messagingのメニューが表示され、System Messagesを確認できるようになります

Notificationの指定
- 任意のTransition > Edit Transition > Notification tab > Notification blkを表示します

- Send Notification: Yesを確認します(又はYesに変更します)
- Addtional Message Text: 任意のメッセージを入力します
- Usergroups: 通知先のUsergroupを指定します
- Users: 個別に通知先Userを指定したい場合指定します
- Save & Closeをクリックします





