ワークフロー設定 [Plone3.3]
デフォルト用ワークフロー
工学のデフォルト用として次のようなポリシーでワークフローを設定する。ここで「学内利用者」ロールはAutoRoleを用いてアクセス元に応じて付与するロールとする。
- 利用するロールは次の4種類とする
- 寄稿者(追加可能)
- 編集者(編集可能)
- 読者(閲覧可能)
- 学内利用者
- 利用するオブジェクトの状態は次の3状態とする
- 非公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 公開・学内公開・非公開に遷移可能
- 学内公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 学内利用者ロールの人は閲覧可能
- 読者ロールの人は閲覧可能
- 公開・学内公開・非公開に遷移可能
- 公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- ログインしなくても閲覧可能
- 公開・学内公開・非公開に遷移可能
- デフォルトのオブジェクト状態を非公開とする
ワークフローの設定
学内利用者(KyotoUniv)ロールの追加
ZMI で Plone(≠Zope) のルートの Security タブを開き User defined roles から KyotoUniv を追加する。Plone のルートで行うことで、閲覧専用ロールを Plone 全体に追加することができる。
学内利用者ロールの日本語化
KyotoUniv を日本語表示するには、システム上の plone.app.locales/plone/app/locales/i18n/plone-ja.po ファイルに次のように追記する。
msgid "KyotoUniv" msgstr "学内利用者"
全てのワークフローを plone_workflow に変更
portal_workflow を開き、一番下の(Default)のワークフローを simple_publication_workflow から plone_workflow に変更する。FileタイプとImageタイプはワークフローが設定されていないので、これも plone_workflow に変更する。
設定するパーミッションにList folder contentsを追加
plone_workflow の Permisshons タブより List folder contents を追加する。
学内公開状態の追加
portal_workflow/plone_workflow/states で状態を追加する。
Id : kyotounivvisible
追加した kyotounivvisible を開き次のように設定する。学内公開状態からの遷移は、公開、学内公開、非公開のみとする。
Title : Published in Kyoto Univ Description : Possible Transitions : hide, kyotounivshow, publish
次に Permissions タブを開き、この状態へのアクセス権限の変更を行う。設定は次の通り。KyotoUniv と Reader に Access contents information と View の権限を与えることで、学内公開状態では学内利用者ロールと読者ロールの人は閲覧のみ可能となる。
Access contents information : Contributor, Editor, KyotoUniv, Manager, Owner, Reader Change portal events : Editor, Manager, Owner List folder contents : Contributor, Editor, KyotoUniv, Manager, Owner, Reader Modify portal content : Editor, Manager, Owner View : Contributor, Editor, KyotoUniv, Manager, Owner, Reader
このとき Acquire のチェックも外して継承されないようにする。
学内公開状態の色の変更
学内公開状態の表示色を変更するには、portal_skins/plone_styles/ploneCustom.css をスキンフォルダにコピーして次の行を追加する。
.state-kyotounivvisible { color: #578308 !important; }
学内公開状態名の日本語化
Published in Kyoto Univ を日本語表示するには、システム上の plone.app.locales/plone/app/locales/i18n/plone-ja.po ファイルに次のように追記する。
msgid "Published in Kyoto Univ" msgstr "学内公開"
学内公開状態への遷移の追加
portal_workflow/plone_workflow/transitions で遷移を追加する。
Id : kyotounivshow
追加した kyotounivshow を「学内公開状態」への遷移とするには、kyotounivshow を開き次のように設定する。
Title : Makes content kyotounivvisible Description : Destination state : kyotounivvisible (遷移の移り先状態) Trigger type : Initiated by user action Script (before) : (None) Script (after) : (None) Guard Permission(s) : Modify portal content Role(s) : Group(s) : Expression : Display in actions box Name (formatted) : Publish in Kyoto Univ (状態の変更に表示される名前) URL (formatted) : %(content_url)s/content_status_modify?workflow_action=kyotounivshow Category : workflow
学内公開状態への遷移の日本語化
Publish in Kyoto Univ を日本語表示するには、システム上の plone.app.locales/plone/app/locales/i18n/plone-ja.po ファイルに次のように追記する。
msgid "Publish in Kyoto Univ" msgstr "学内公開にする"
非公開状態の変更
portal_workflow/plone_workflow/states/private を変更する。非公開状態からの遷移は、公開、学内公開、非公開への遷移のみとする。
Possible Transitions : publish, kyotounivshow, hide
次に Permissions タブを開き、この状態へのアクセス権限の変更を行う。設定は次の通り。Reader に Access contents information と View の権限を与えることで、非公開状態では読者ロールの人は閲覧のみ可能となる。
Access contents information : Contributor, Editor, Manager, Owner, Reader Change portal events : Editor, Manager, Owner List folder contents : Contributor, Editor, Manager, Owner, Reader Modify portal content : Editor, Manager, Owner View : Contributor, Editor, Manager, Owner, Reader
このとき Acquire のチェックも外して継承されないようにする。
公開状態の変更
portal_workflow/plone_workflow/states/published を変更する。公開状態からの遷移は、公開、学内公開、非公開への遷移のみとする。
Possible Transitions : publish, kyotounivshow, hide
Permissions の設定は Anonymous に Access contents information と View の権限を与えることで、公開状態ではログインしなくても閲覧のみ可能とする。
Access contents information : Anonymous, Contributor, Editor, Manager, Owner Change portal events : Editor, Manager, Owner List folder contents : Anonymous, Contributor, Editor, Manager, Owner Modify portal content : Editor, Manager, Owner View : Anonymous, Contributor, Editor, Manager, Owner
このとき Acquire のチェックも外して継承されないようにする。
公開状態への遷移の変更
portal_workflow/plone_workflow/transitions/publish を変更する。権限を Modify portal content とする。
Guard Permission(s) : Modify portal content
デフォルトのオブジェクト状態を非公開とする
portal_workflow/plone_workflow/states で * が付いている状態がオブジェクトのデフォルト状態である。「Set Initial State」により これを private(非公開) に変更する。
変更の反映
全て変更が終われば portal_workflow に戻り「Update security settings」を実行し、すでに作成されたオブジェクトに変更を反映させれば完了である。
非公開コンテンツ用ワークフロー
デフォルト用のワークフローから変更し、非公開のみの状態をとるワークフローとして、非公開コンテンツ用ワークフローを定義する。
- 利用するロールは次の3種類とする
- 寄稿者
- 編集者
- 読者
- 利用するオブジェクトの状態は次の1状態とする
- 非公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 非公開のみに遷移可能
- デフォルトのオブジェクト状態を非公開とする
ワークフローの追加
ワークフローの追加
portal_workflow の Contents タブを開き Workflow を追加する。ここでは plone_workflow(工学デフォルト用の設定済みのもの)をコピーして、名前を変更する形で作成する。
Id : private_workflow Title : Private Workflow
非公開状態の変更
portal_workflow/private_workflow/states/private を変更する。
Possible Transitions : hide
審査コンテンツ用ワークフロー
デフォルト用ワークフローの設定に加え、審査が必要なコンテンツ用に承認プロセスを含むワークフローを定義する。
- 利用するロールは次の5種類とする
- 寄稿者
- 編集者
- 審査員
- 学内利用者
- 読者
- 利用するオブジェクトの状態は次の4状態とする
- 非公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 審査員ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 保留・非公開に遷移可能
- 保留
- 寄稿者ロールの人は閲覧可能・追加不可
- 編集者ロールの人は閲覧可能・編集不可
- 審査員ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 公開・学内公開・非公開に遷移可能
- 学内公開
- 寄稿者ロールの人は閲覧可能・追加不可
- 編集者ロールの人は閲覧可能・編集不可
- 審査員ロールの人は閲覧可能・編集不可
- 学内利用者ロールの人は閲覧可能
- 読者ロールの人は閲覧可能
- 公開・学内公開・非公開に遷移可能
- 公開
- 寄稿者ロールの人は閲覧可能・追加不可
- 編集者ロールの人は閲覧可能・編集不可
- 審査員ロールの人は閲覧可能・編集不可
- ログインしなくても閲覧可能
- 公開・学内公開・非公開に遷移可能
- 利用する状態遷移は次の遷移とする
- 非公開への遷移
- 管理者ロールと審査員ロール、編集者ロールの人が可能
- 保留への遷移
- 管理者ロールと審査員ロール、編集者ロールの人が可能
- 学内公開への遷移
- 管理者ロールと審査員ロールの人が可能
- 公開への遷移
- 管理者ロールと審査員ロールの人が可能
- デフォルトのオブジェクト状態を非公開とする
ワークフローの追加
ワークフローの追加
portal_workflow の Contents タブを開き Workflow を追加する。ここでは plone_workflow(工学デフォルト用の設定済みのもの)をコピーして、名前を変更する形で作成する。
Id : review_workflow Title : Review Workflow
非公開状態の変更
portal_workflow/review_workflow/states/private を変更する。
Possible Transitions : hide, submit
次に Permissions タブを開き、この状態へのアクセス権限の変更を行う。設定は次の通り。
Access contents information : Contributor, Editor, Manager, Owner, Reader, Reviewer Change portal events : Editor, Manager, Owner, Reviewer List folder contents : Contributor, Editor, Manager, Owner, Reader, Reviewer Modify portal content : Editor, Manager, Owner, Reviewer View : Contributor, Editor, Manager, Owner, Reader, Reviewer
このとき Acquire のチェックも外して継承されないようにする。
保留状態の変更
portal_workflow/review_workflow/states/pending を変更する。
Possible Transitions : hide, kyotounivshow, publish
次に Permissions タブを開き、この状態へのアクセス権限の変更を行う。設定は次の通り。
Access contents information : Contributor, Editor, Manager, Owner, Reader, Reviewer Change portal events : Manager, Reviewer List folder contents : Contributor, Editor, Manager, Owner, Reader, Reviewer Modify portal content : Manager, Reviewer View : Contributor, Editor, Manager, Owner, Reader, Reviewer
このとき Acquire のチェックも外して継承されないようにする。
学内公開状態の変更
portal_workflow/review_workflow/states/kyotounivvisible を変更する。
Possible Transitions : hide, kyotounivshow, publish
次に Permissions タブを開き、この状態へのアクセス権限の変更を行う。設定は次の通り。
Access contents information : Contributor, Editor, KyotoUniv, Manager, Owner, Reader, Reviewer Change portal events : Manager List folder contents : Contributor, Editor, KyotoUniv, Manager, Owner, Reader, Reviewer Modify portal content : Manager View : Contributor, Editor, KyotoUniv, Manager, Owner, Reader, Reviewer
このとき Acquire のチェックも外して継承されないようにする。
公開状態の変更
Permissions タブを開き、この状態へのアクセス権限の変更を行う。
Access contents information : Manager, Anonymous Change portal events : Manager List folder contents : Manager, Anonymous Modify portal content : Manager View : Manager, Anonymous
このとき Acquire のチェックも外して継承されないようにする。
非公開状態への遷移の変更
portal_workflow/review_workflow/transitions/hide を変更する。
Permission(s) : Role(s) : Manager; Reviewer; Editor Group(s) : Expression :
保留状態への遷移の変更
portal_workflow/review_workflow/transitions/submit を変更する。
Permission(s) : Role(s) : Manager; Reviewer; Editor Group(s) : Expression :
学内公開状態への遷移の変更
portal_workflow/review_workflow/transitions/kyotounivshow を変更する。
Permission(s) : Role(s) : Manager; Reviewer Group(s) : Expression :
公開状態への遷移の変更
portal_workflow/review_workflow/transitions/publish を変更する。
Permission(s) : Role(s) : Manager; Reviewer Group(s) : Expression :
デフォルトのオブジェクト状態の変更
portal_workflow/plone_workflow/states で * が付いている状態がオブジェクトのデフォルト状態である。デフォルトを非公開にするには「Set Initial State」により これを private(非公開) に変更する。