Workflow+

目次

はじめに

「Workflowプラグイン」は記事承認ワークフローを実現するためのプラグインです。多段階承認・複数承認・グループ管理・日時指定やMovable Typeクラウド版にも対応。

承認ワークフローのイメージ(通常版)

承認ワークフローのイメージ(多段階承認版)

承認ワークフローのイメージ(多段階承認+グループ・複数承認版)

主な機能

  • 記事承認ワークフローを実現します。
  • 記事公開後の編集が可能です。公開後の修正についても記事承認ワークフローで承認します。
  • 承認待ち状態では、ライターは記事の編集を行えません。
  • 承認者は編集画面またはプレビュー画面から「承認」または「差し戻し」を行えます。
  • MTユーザー以外のユーザーによるプレビューが可能です。
  • 記事編集画面や記事一覧画面、ダッシュボードのブログ記事一覧に公開後の下書きや承認待ち状態を表示します。
  • 更新履歴一覧にも公開後のリビジョンを保存することができます。
  • ライターが承認者に承認依頼を行うとき、承認者へ承認依頼メールを送信します。
  • 承認待ち状態で、ライターは承認者へ承認依頼メールを再送することができます。
  • 承認者が「承認」または「差し戻し」にするとき、ライターへメールを送信します。
  • 「承認待ち」または「公開(承認待ち)」で、承認者がプレビュー者へメールを送信することができます。
  • 公開後、ライターがリビジョンを戻しても最新の公開状態を保持します。これは「承認待ち」などの状態に戻しても編集できるようにするためです。

各グレードの機能は下表のとおりです。

グレード(ライセンス)日時指定承認 ※1多段階承認 ※2複数承認 ※3ワークフローグループ ※4
通常版××××
日時指定版×××
多段階承認版×××
多段階承認+日時指定版××
多段階承認+グループ・複数承認版

※1:日時指定承認は未公開および公開状態での、最終承認者の日時指定承認が可能です。
※2:多段階承認機能は、2~999までの設定が可能。各承認者が行える操作は次のとおりです。
  ・途中の承認者:記事の承認(=次承認者への承認依頼)/差し戻し
  ・最終承認者:記事の承認(=公開)/差し戻し
※3:同順位承認者の複数承認が可能です。
※4:ワークフローグループは、ライターが承認依頼時にワークフローグループを選択し、以降はそのグループに属する承認者のみが記事を承認・差し戻しできます。オプションで公開後の記事についてライターは別のワークフローグループを選択することが可能です。

※価格・機能は予告なしに変更になる場合があります。

動作確認環境

  • Movable Type 6.x
  • OS:FreeBSD/CentOS/Windows

インストール

ダウンロードアーカイブを展開したpluginsフォルダにある「Workflow」フォルダをMovable Typeのpluginsディレクトリに、mt-static/pluginsフォルダにある「Workflow」フォルダをMovable Typeのmt-static/pluginsディレクトリにアップロードします。アップロード後、システム管理画面の「ツール」→「プラグイン」で「Workflow~」が表示されていればインストール完了です。

※以降の説明はMT5.1x版を用いています。MT5.0x/MT6.x版は画面が若干異なります。

ロールの作成

次の2つのロールを用意します。

・ライター(承認つき)
・承認者

ライターとなるユーザーには「ライター(承認つき)」のロールを与え、承認者となるユーザーには「承認者」のロールを与えます。

システム管理画面の「設定」→「ロール」をクリックし、「新しいロールを作成」をクリック。

ロール作成画面が表示されるので、「ロール名」に「ライター(承認つき)」と入力し、権限の一覧から「記事の作成(承認つき)」をチェックして「変更を保存」をクリック。※ロール名は必ず「ライター(承認つき)」としてください(カッコは全角)。

もう一度ロール作成画面が表示して、「ロール名」に「承認者」を入力し、権限の一覧から「記事の承認」チェックして「変更を保存」をクリック。

注:※ロール名は必ず「承認者」としてください。承認者については上記の権限およびプラグインで自動付与される権限以外の権限(システム権限は除く)を追加することも可能です(MT5.1x/MT5.2.x用のv1.10~)。ただしすべての動作を保証するものではありません。

ユーザーに権限の設定

ライターとなるユーザーおよび承認者となるユーザーに、前項で作成したロールを付与します。ユーザーは事前に作成し、メールアドレスも設定してください。

注:ライター・承認者となるユーザーにはシステム権限を与えないでください。

システム管理画面の「設定」→「権限」をクリックし、画面上にある「権限を付与」をクリック。

ブログに権限を与える場合は「ユーザーにブログの権限を割り当てる」をクリック。ウェブサイトに権限を与える場合は「ユーザーにウェブサイトの権限を割り当てる」をクリック。ここではブログに割り当てる前提で説明を進めます。

表示されたユーザー一覧からライターにしたいユーザー名をチェックし「次へ」をクリック。

表示されたロールの一覧から「ライター(承認つき)」をチェックして「次へ」をクリック。

権限を与えたいブログを選択して「OK」をクリック。

同様の手順で、承認したいユーザーについて、表示されたロールの一覧から「承認者」をチェックし、権限を与えたいブログを選択して「OK」をクリック。

多段階承認設定(多段階承認版)

ワークフローを行いたいウェブサイトまたはブログ管理画面の「ワークフロー」→「承認者新規作成」をクリック。

下記の項目を設定します。

  • 承認者名:承認者名を入力。ここで入力した名称がステータス等に反映されます
  • 説明:承認者名の説明を入力
  • ユーザー:この承認者に属するユーザー名を入力。複数のユーザーを設定する場合、改行で区切って入力
  • 承認順位:この承認者の承認順位を半角数字(1~)を入力。"1"が最初の承認者になります。1,2,3...と番号が抜けないようにしてください。また同順位の承認者を複数作成しないでください
  • この承認者への承認依頼メール送信方法:「送信しない/承認時に選択/全員に送信」のいずれかを選択します

設定例:「社員(ライター)→係長(承認者)→課長(承認者)→部長(最終承認者)」というワークフローを作成したい場合、下記の3つの承認者を作成します。

係長の承認者新規作成画面

  • 承認者名:係長
  • ユーザー:係長のユーザー名を改行で区切って入力
  • 承認順位:1

課長の承認者新規作成画面

  • 承認者名:課長
  • ユーザー:課長のユーザー名を改行で区切って入力
  • 承認順位:2

部長の承認者新規作成画面

  • 承認者名:部長
  • ユーザー:部長ユーザー名を改行で区切って入力
  • 承認順位:3

設定した承認者名は状態として反映されます。たとえば「部長」という承認者名を設定すれば、次の「部長承認待ち」という状態が追加されます。

設定状況の確認や内容の修正は、「ワークフロー」→「承認者一覧」から行えます。

注意事項

その承認者の承認段階でない場合、承認/差し戻しのフォームは表示されません。たとえば係長承認待ち状態の場合、課長や部長のプレビュー画面には承認/差し戻しのフォームは表示されません。

また承認後にメールの承認依頼再送は従来どおり可能ですが、次承認者の承認待ち状態でない場合、該当承認者に再送用フォームは表示されません。 たとえば課長承認待ち状態であれば係長の記事編集画面には(課長への)承認依頼再送フォームが表示されますが、部長承認待ちであれば係長の記事編集画面には再送フォームは表示されません。

承認者設定(多段階承認+グループ・複数承認版)

ワークフローを行いたいウェブサイトまたはブログ管理画面の「ワークフロー」→「承認者新規作成」をクリック。

下記の項目を設定して「保存」をクリック。

  • 承認者名:承認者名を入力。ここで入力した名称がステータス等に反映されます
  • 承認者ID:承認者名に対応する任意のIDを半角英数・アンダーバーで入力。グループ機能を利用しない場合、この項目の設定は不要です
  • 説明:承認者名の説明を入力
  • ユーザー:この承認者に属するユーザー名を入力。複数のユーザーを設定する場合、改行で区切って入力。入力するユーザーに承認者の権限が与えられていない場合、エラーになります
  • 承認順位:多段階承認にする場合、この承認者の承認順位を半角数字(1~)を入力。"1"が最初の承認者になります。1,2,3...と番号が抜けないようにしてください。また同順位の承認者を複数作成しないでください
  • 複数承認:「使用しない/使用する」のいずれかを選択します。「使用する」を選択した場合、この順位の承認者は複数承認対象となり、承認者全員が承認するまで次の承認者へ承認・差し戻し権限を委譲しません
  • この承認者への承認依頼メール送信方法:「送信しない/承認時に選択/全員に送信」のいずれかを選択します
  • 日時指定公開待ち状態での公開・差し戻し:「使用しない/使用する」のいずれかを選択します。「使用する」を選択した場合、この順位の承認者は日時指定公開待ち状態の記事に対して公開・差し戻しが可能になります

設定状況の確認や内容の修正は、「ワークフロー」→「承認者一覧」から行えます。

作成した承認者は次項のグループ作成時、異なるグループで同一の承認者を指定することができます。

グループ設定(多段階承認+グループ・複数承認版のみ)

注:グループ設定で利用する承認者を、前項の承認者設定画面で先に作成してください。

グループ設定を行いたいウェブサイトまたはブログ管理画面の「ツール」→「プラグイン」→「Workflow」→「設定」をクリック。

「グループ機能」のプルダウンから「使用する」を選択して「変更を保存」をクリック。

グループ設定を行いたいウェブサイトまたはブログ管理画面の「ワークフロー」→「グループ新規作成」をクリック。

下記の項目を設定して「保存」をクリック。

  • グループ名:グループ名を入力。ここで入力した名称がライターのグループ選択プルダウン等に反映されます
  • グループID:グループ名に対応する任意のIDを半角英数・アンダーバーで入力
  • 説明:グループの説明を入力
  • 承認:この承認者に属するユーザー名を入力。複数のユーザーを設定する場合、改行で区切って入力
  • 承認者:このグループに属する承認者ID(注:承認者のユーザー名ではありません)を改行で区切って入力。入力順番に制限はありません

設定状況の確認や内容の修正は、「ワークフロー」→「グループ一覧」から行えます。

承認ワークフロー

前述までの作業で承認ワークフローの主な設定が完了しました。続いて具体的な承認ワークフローの流れについて説明します。

記事の新規作成・編集

ライターが新規作成あるいは下書きの状態で編集したい場合、ブログ記事作成画面右にある「公開」エリアの「ステータス」から「未公開(原稿)」を選択して「保存」をクリック。

公開承認依頼

ライターが承認者に記事の公開承認依頼を行う場合、ブログ記事作成画面右にある「公開」エリアの「ステータス」から「未公開(承認待ち)」を選択して「保存」をクリック。保存と同時に承認者に承認依頼メールを送付したい場合、「保存」をクリックする前に、ブログ管理画面右にある「承認」エリアの「メールを送信する承認者」に表示されている承認者からメールを送付したい承認者をチェック。メールにメッセージを追加したい場合は、「メールに追加するメッセージ」に任意のメッセージを書き込みます。

「保存」をクリックすると画面が切り替わり、ステータスが「未公開(承認待ち)」に遷移します。承認または差し戻しが行われるまで「保存」ボタンは表示されません。承認者に承認依頼メールを再送したい場合は「承認メールの再送」エリアを利用します。

グループ選択(多段階承認+グループ・複数承認版のみ)

ライターが記事の承認依頼を行うとき、作成したグループを選択します。

具体的には、ライターがステータスを「未公開(承認待ち)」にすると「承認依頼」エリアに「承認グループ」というグループ選択用プルダウンが表示されるので、ここから選択します(このプルダウンを選択しない状態で承認依頼すると警告が表示されます)。

グループを選択すると、プルダウンメニューの下に承認依頼メールの送信ユーザーが表示されます(メールを送信しない設定になっている場合は表示されません)。

承認者が承認依頼または承認・差し戻しするときの記事編集画面およびプレビュー画面では、ライターの選択したグループが固定された状態で表示されます。選択されたグループに所属していない承認者は、記事の承認はできません。

「ツール」→「プラグイン」→「Workflow」→「設定」で「ライターによる承認グループ変更」を「使用する」にすれば、ライターが公開された記事の承認依頼時にグループを変更できるようになります。

注:承認者はグループ変更できません。

承認者の記事承認→上位承認者への承認依頼(多段階承認版)

承認者が記事を承認し、次の承認者に記事の公開承認依頼を行う場合、ブログ記事作成画面右にある「公開」エリアの「ステータス」から「承認」を選択して「保存」をクリック。保存と同時に次の承認者に承認依頼メールを送付したい場合、「保存」をクリックする前に、ブログ管理画面右にある「承認依頼」エリアの「メールを送信する次承認者」に表示されている承認者からメールを送付したい承認者をチェック。メールにメッセージを追加したい場合は、「次承認者へのメッセージ」に任意のメッセージを書き込みます。

複数承認(多段階承認+グループ・複数承認版のみ)

基本的には通常の承認と同様ですが、他の同順位承認者の承認状況を表示します。

注:メッセージは他の承認者の承認タイミングによるため、目安としてください。

日時指定承認(多段階承認+グループ・複数承認版のみ)

日時指定承認を行う場合、Movable Typeのスケジュールタスク設定を事前に行ってください。記事の公開タイミングはスケジュールタスクの実施周期に依存します。

日時指定承認を行いたい場合、最終承認者のステータスから「承認(日時指定)」を選択します。

日時指定承認を行うと、ステータスが「日時指定」または「公開(日時指定)」に遷移します。

未公開状態での日時指定

公開状態での日時指定

ステータスが「日時指定」「公開(日時指定)」状態の場合、ライター・承認者とも記事が公開されるまで記事のステータス変更は行えません。

なお、承認者設定画面で該当承認者が「日時指定公開待ち状態での公開・差し戻し」から「使用する」を選択していれば、この順位の承認者は日時指定公開待ち状態の記事に対して公開・差し戻しが可能になります(下)。

日時指定状態での公開・差し戻し

公開(日時指定)状態での公開・差し戻し

承認者の記事承認/差し戻し

承認者には、次のような承認依頼メールが送信されます。

「プレビュー画面」のリンクをクリックすれば、記事のプレビューが表示されます。記事を承認する場合は「承認」をクリックします。承認と同時にライターに承認メールが送信されます。メールにメッセージを追加したい場合は、「ライターに送信する承認/差し戻しメッセージ」に任意のメッセージを書き込んでください。

多段階承認版ではプレビュー画面からの承認者選択や承認依頼メッセージ書き込みも可能です。

「編集画面」のリンクをクリックすれば、記事編集画面から記事の確認および、「承認/差し戻し」が行えます。承認する場合は「承認」を選択して「公開」をクリックします。差し戻す場合は、「差し戻し」を選択して「保存」をクリックします。承認または差し戻しと同時にライターにメールが送信されます。メールにメッセージを追加したい場合は、「ライターに送信する承認/差し戻しメッセージ」に任意のメッセージを書き込んでください。

承認すると記事が公開され、記事編集画面のステータスが「公開」に遷移し、承認者の「保存」または「公開」ボタンが非表示になります。差し戻しを行うと、ステータスが「未公開(原稿)」に戻ります。

公開後の記事修正

ライターが公開後に記事修正を行う場合、ブログ記事作成画面右にある「公開」エリアの「ステータス」から「公開(下書き)」を選択して「保存」をクリック。保存後、記事編集画面のステータスが「公開(下書き)」に遷移します。修正した内容は承認者に承認されるまで公開されません。

公開後の記事修正承認依頼

承認者に記事の修正承認依頼を行う場合、ブログ記事作成画面右にある「公開」エリアの「ステータス」から「公開(承認待ち)」を選択して「保存」をクリック。保存後、記事編集画面のステータスが「公開(承認待ち)」に遷移します。承認者への修正承認依頼メール送付やメール再送は、前述の「公開承認依頼」と同様です。

公開後の承認者の記事承認→上位承認者への承認依頼(多段階承認版)

記事承認と次の承認者への記事の修正承認依頼を行う場合、ブログ記事作成画面右にある「公開」エリアの「ステータス」から「承認」を選択して「保存」をクリック。保存後、記事編集画面のステータスが「公開(××承認待ち)」に遷移します。次の承認者への修正承認依頼メール送付やメール再送は、前述の「承認者の記事承認→上位承認者への承認依頼」と同様です。

公開後の承認者の記事承認/差し戻し

承認者には、次のような修正承認依頼メールが送信されます。

公開後の承認/差し戻し手順は、公開前の承認/差し戻しと同様です。

プレビュー依頼

本プラグインでは、上長などのMTにログインする権限のないユーザーがプレビューを行う機能があります。本機能を利用する場合、以下の操作を行ってください。

プレビュー用CGIファイルのパーミッション変更

FTPツールを利用し、Workflowプラグインに含まれる「mt-preview.cgi」の属性を、「775」や「705」など、実行権のあるパーミッションに変更してください。

プレビューモードの設定

ブログ管理画面の「ツール」→「プラグイン」をクリックして、次の画面で「Workflow~」→「設定」をクリックし、「ログインなしでプレビューする場合のモード名」に任意の半角英数文字を設定します。プレビュー者以外の悪意のある第3者がプレビューできないような文字列を設定してください。

プレビュー者の登録

ブログ管理画面またはシステム管理画面の「ワークフロー」→「新規作成」をクリックして、プレビュー者を登録します。システム管理画面で登録したユーザーは、すべてのブログまたはウェブサイトでのプレビュー者となります。

プレビュー者を登録していない状態でも、次に説明する画面から1名に限ってプレビュー依頼メールを送信することができます。

プレビュー依頼メールの送信

プレビュー依頼メールは、承認者が承認待ちの状態でのみ送信できます。送信する場合、ブログ管理画面右にある「プレビュー依頼」エリアを利用します。

「メール送信先」に表示されている、予め登録されているプレビュー者の一覧から、メールを送付したいプレビュー者をチェックして「メールの送信」をクリック。登録していないユーザーにメールを送信したい場合は「その他の送信先メールアドレス」に送付先のメールアドレスを入力します。メールにメッセージを追加したい場合は、「メールに追加するメッセージ」に任意のメッセージを書き込みます。

プレビュー依頼メールの受信とプレビュー

プレビュー者には、次のようなプレビュー依頼メールが送信されます。

メールに掲載されているリンクをクリックすれば、プレビューを行うことができます。プレビュー画面には「承認」や「差し戻し」のボタンは表示されません。

リビジョン管理

記事編集画面の「リビジョン表示」をクリックすれば、承認ワークフローのリビジョンを表示し、任意のリビジョンをクリックすれば記事の内容を元に戻すことができます。

メールテンプレート

メール送信時の本文の内容はグローバルテンプレートに登録されたワークフロー用のテンプレートで変更可能です。システム管理画面の「デザイン」→「テンプレート」をクリックすれば次の4種類のテンプレートが登録されています。

用途テンプレート名
承認依頼メール用テンプレート記事の承認依頼
承認メール用テンプレート記事の承認
差し戻し用テンプレート記事の差し戻し
プレビュー依頼用テンプレートプレビュー依頼
利用可能な主なテンプレートタグを掲載します。

承認依頼メール用テンプレート

  • MTAuthorXX:ライターの情報を出力
  • MTEntryXX:記事の情報を出力(利用できないタグもあります)
  • 変数entry_editurl:編集画面のURL
  • 変数entry_previewurl:プレビュー画面のURL
  • 変数published:公開されている場合、変数に「1」が設定されています
  • 変数message:メール送信時のメッセージ

承認メール/差し戻しメール用テンプレート

  • MTAuthorXX:承認者の情報を出力
  • 変数entry_editurl:編集画面のURL
  • 変数published:公開されている場合、変数に「1」が設定されています
  • 変数message:メール送信時のメッセージ

プレビュー依頼メール用テンプレート

  • MTAuthorXX:承認者の情報を出力
  • 変数entry_previewurl:プレビュー画面のURL
  • 変数message:メール送信時のメッセージ

注:MTEntryTitleは公開または公開中のタイトルになります。

記事一覧画面

記事一覧画面に、承認ワークフローの状態がアイコンで表示されます。ライター/承認者が一覧画面で誤って公開や削除を行わないよう、「公開」「削除」のボタンやドロップダウンメニューを表示しません。

注:公開後の変更内容は一覧画面に反映されません。また、記事IDを表示している場合はアイコンが反映されません。

グループ表示(多段階承認+グループ・複数承認版のみ)

記事一覧画面に選択されたグループをオプションで表示することができます。

注意事項1(旧バージョンのみ)

Workflowプラグインでは、カスタムフィールドの表示を適正に行わせるため、Movable Typeのaddons/Commercial.pack/config.yamlの以下の1行を必ずコメントアウト(行頭に半角「#」を付与)してください。この変更はプラグインインストール後から利用開始までの間に行ってください。

変更前

template_param.edit_entry: $Commercial::CustomFields::App::CMS::edit_entry_param

変更後

#template_param.edit_entry: $Commercial::CustomFields::App::CMS::edit_entry_param

注意事項2

  • 本プラグインは更新履歴機能を利用して制御しています。プラグインご利用時は更新履歴を有効にしてください
  • 公開後の更新は際限なく行えるため、更新履歴から公開状態のリビジョンが消える可能性があります。その場合の動作は保証していないため、更新履歴数は十分な数を設定してください(デフォルトは20)。更新履歴数は管理画面の「設定」→「全般」で行えます。
  • タグの区切り文字は「カンマ」に設定してください(ログインしないプレビュー者がプレビューするときの区切り文字をカンマにしているため)。
  • プレビューのモード名に「workflow_preview」は使用できません。
  • 関連アイテムのリビジョン管理は行えません(MTのデフォルト機能で対象外)。
  • ライターおよび承認者以外のユーザーには、公開後の下書き・承認待ちの状態が表示されないか、表示が期待通りにならない場合があります。
  • プレビュー前にスタイルシートの再構築を行ってください。再構築を行っていない場合、期待する表示にならない可能性があります。
  • 承認者に本プラグインで指定する権限以外の権限を与え、承認者が記事を新規作成した場合、その記事はワークフロー対象外となります。
  • ワークフロー対象記事を一括編集で変更した場合、動作の保証は行えません。
  • 日時指定がないグレードから日時指定のあるグレードにアップグレード↓場合、グローバルテンプレート「記事の承認」の「テンプレートの初期化」を実施してください。

注意事項3(多段階承認+グループ・複数承認版)

  • 複数承認の場合、上位承認者やライターへのメールは、同順位で最後に承認したユーザからのみ送信されます。
  • ユーザの権限設定が適切に行われていない場合、正常に動作しない場合があります(承認者作成時に該当ユーザの存在チェックと権限チェックは実施しますが、その後でユーザの権限削除やユーザ削除を行った場合等)。
  • 下位グレードからのアップグレードは承認待ちなど、過渡期の状態のワークフロー記事が存在しない状態で行ってください。
  • 多段階承認版からのアップグレードでは承認者情報を引き継ぎますが、ワークフロー操作の前に「承認者ID」を任意の半角英数文字に必ず書き換えてください。

注意事項4(コンテンツデータ関連)

  • プレビューで該当コンテンツタイプのテンプレートが作成されていない場合、ダッシュボードに遷移します。