ワークフロー設定 [Plone4.0]
デフォルト用ワークフロー
工学のデフォルト用として次のようなポリシーでワークフローを設定する。ここで「学内利用者」ロールはAutoRoleを用いてアクセス元に応じて付与するロールとする。
- 利用するロールは次の4種類とする
- 寄稿者(追加可能)
- 編集者(編集可能)
- 読者(閲覧可能)
- 学内利用者
- 利用するオブジェクトの状態は次の3状態とする
- 非公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 公開・学内公開・非公開に遷移可能
- 学内公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 学内利用者ロールの人は閲覧可能
- 読者ロールの人は閲覧可能
- 公開・学内公開・非公開に遷移可能
- 公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- ログインしなくても閲覧可能
- 公開・学内公開・非公開に遷移可能
- デフォルトのオブジェクト状態を非公開とする
ワークフローの設定
全てのワークフローを 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; } #plone-contentmenu-workflow .state-kyotounivvisible { padding: 0 0.5em; background-color: #578308; border: 0.1em solid #578308; color: White !important; border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; }
学内公開状態への遷移の追加
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
非公開状態の変更
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(非公開) に変更する。
学内用ワークフロー
デフォルト用のワークフローから変更し、学内に公開のみができるワークフローとして、学内用ワークフローを定義する。
- 利用するロールは次の4種類とする
- 寄稿者(追加可能)
- 編集者(編集可能)
- 読者(閲覧可能)
- 学内利用者
- 利用するオブジェクトの状態は次の2状態とする
- 非公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 学内公開・非公開に遷移可能
- 学内公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 学内利用者ロールの人は閲覧可能
- 読者ロールの人は閲覧可能
- 学内公開・非公開に遷移可能
- デフォルトのオブジェクト状態を非公開とする
ワークフローの追加
ワークフローの追加
portal_workflow の Contents タブを開き Workflow を追加する。ここでは plone_workflow(工学デフォルト用の設定済みのもの)をコピーして、名前を変更する形で作成する。
Id : eng_plone_workflow Title : Eng Plone Workflow
非公開状態の変更
portal_workflow/eng_plone_workflow/states/private を変更する。
Possible Transitions : hide, kyotounivshow
学内公開状態の変更
portal_workflow/eng_plone_workflow/states/kyotounivvisible を変更する。
Possible Transitions : hide, kyotounivshow
学内審査コンテンツ用ワークフロー
審査コンテンツ用のワークフローから変更し、学内に公開のみができるワークフローとして、学内審査コンテンツ用ワークフローを定義する。
- 利用するロールは次の5種類とする
- 寄稿者
- 編集者
- 審査員
- 学内利用者
- 読者
- 利用するオブジェクトの状態は次の3状態とする
- 非公開
- 寄稿者ロールの人は閲覧・追加可能
- 編集者ロールの人は閲覧・編集可能
- 審査員ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 保留・非公開に遷移可能
- 保留
- 寄稿者ロールの人は閲覧可能・追加不可
- 編集者ロールの人は閲覧可能・編集不可
- 審査員ロールの人は閲覧・編集可能
- 読者ロールの人は閲覧可能
- 学内公開・非公開に遷移可能
- 学内公開
- 寄稿者ロールの人は閲覧可能・追加不可
- 編集者ロールの人は閲覧可能・編集不可
- 審査員ロールの人は閲覧可能・編集不可
- 学内利用者ロールの人は閲覧可能
- 読者ロールの人は閲覧可能
- 学内公開・非公開に遷移可能
- 利用する状態遷移は次の遷移とする
- 非公開への遷移
- 管理者ロールと審査員ロール、編集者ロールの人が可能
- 保留への遷移
- 管理者ロールと審査員ロール、編集者ロールの人が可能
- 学内公開への遷移
- 管理者ロールと審査員ロールの人が可能
- デフォルトのオブジェクト状態を保留とする
ワークフローの追加
ワークフローの追加
portal_workflow の Contents タブを開き Workflow を追加する。ここでは review_workflow(上で設定済みのもの)をコピーして、名前を変更する形で作成する。
Id : eng_review_workflow Title : Eng Review Workflow
保留状態の変更
portal_workflow/eng_review_workflow/states/pending を変更する。
Possible Transitions : hide, kyotounivshow
学内公開状態の変更
portal_workflow/eng_review_workflow/states/kyotounivvisible を変更する。
Possible Transitions : hide, kyotounivshow
デフォルトのオブジェクト状態の変更
デフォルトを保留にする。「Set Initial State」により これを pending(保留) に変更する。
Placeful Workflowの利用
ポリシーの追加
Plone に管理者でログインし、サイト設定→ワークフローポリシーでポリシーの追加を行う。
新しいポリシー ID : xxx_workflow ポリシーのコピー : Ploneのデフォルトワークフロー
次にワークフローポリシーの詳細設定ページで詳細を設定する。
タイトル : ○○用ワークフロー デフォルトワークフロー : yyy_workflow タイプ別ワークフロー : yyy_workflow
デフォルトワークフローとタイプ別ワークフローでそれぞれのコンテンツタイプごとに適用されるワークフローを設定する。工学では次の4つのワークフローを追加しておく。
- 非公開 コンテンツ用
新しいポリシー ID : private_workflow ポリシーのコピー : 他のポリシーをコピーしない タイトル : 非公開コンテンツ用ワークフロー デフォルトワークフロー : Private Workflow タイプ別ワークフロー : 全て Private Workflow に変更
- 審査コンテンツ用
新しいポリシー ID : review_workflow ポリシーのコピー : 他のポリシーをコピーしない タイトル : 審査コンテンツ用ワークフロー デフォルトワークフロー : Review Workflow タイプ別ワークフロー : ページ、イベント、ニュースのみ Review Workflow に変更、他はコミュニティワークフロー
- 学内用
新しいポリシー ID : eng_plone_workflow ポリシーのコピー : 他のポリシーをコピーしない タイトル : 学内用ワークフロー デフォルトワークフロー : Eng Plone Workflow タイプ別ワークフロー : 全て Eng Plone Workflow に変更
- 学内審査コンテンツ用
新しいポリシー ID : eng_review_workflow ポリシーのコピー : 他のポリシーをコピーしない タイトル : 学内審査コンテンツ用ワークフロー デフォルトワークフロー : Eng Review Workflow タイプ別ワークフロー : ページ、イベント、ニュースのみ Eng Review Workflow に変更、他は Eng Plone Workflow
フォルダごとのワークフロー設定
各フォルダの「状態→ポリシー」より、フォルダごとにワークフローが設定でききる。