ワークフロー設定 [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

フォルダごとのワークフロー設定

各フォルダの「状態→ポリシー」より、フォルダごとにワークフローが設定でききる。