前 [第三章:Ploneを使う] | 目次 | 次 [第五章:Ploneを設定する]
ワークフローはWebサイトの中のオブジェクトを運用管理するのに使われるプロセスです。例えば会社のプレスリリースです。従業員はプレスリリースを書きWebに公開する前にそれをレビューのために編集者にサブミットします。このレビュープロセスはワークフローと呼ばれ、サイトのコンテンツが正確であることを確実なものとするためにサイトマネージャによって使われます。Ploneはオブジェクトの状態とユーザーロールを中心にして構築されたとても強力で柔軟なディフォルトのワークフローシステムです。
Ploneの中で定義される様々なタイプのユーザがオブジェクトを利用できるかどうか、また、オブジェクトが次に他のどんな状態に遷移できるのかはオブジェクトの状態によって決まります。Ploneのディフォルトワークフローにはvisible(可視)、pending(保留)、published(公開)、private(私的)の4つの状態があります。サイトマネージャと開発者は独自の状態を作ることができます。これらは第五章で詳しく説明されています。
visible状態として作られます。すべてのユーザはvisibleオブジェクトを検索機能で探すことができ、またオブジェクトのURLを直接指定することでアクセスすることができます。Visibleオブジェクトはナビゲーションツリーの中には表示されません。Privateフォルダーの中にあるVisibleオブジェクトは、依然すべてのユーザに対して見ることができる状態であり、検索機能を通じて探すことができます。その所有者とサイトマネージャがvisibleオブジェクトを編集することができます。pendingオブジェクトは公開されるためにサイトメンバーによってサブミットされます。エンドユーザから見るとそれらはvisible状態であるかのように振る舞います。二つのタイプの違いとしては、pendingオブジェクトはレビューのためにフラッグが立ちます。サイトレビューワはpendingオブジェクトを公開するか却下するのかを催促されます。マネージャしかpendingオブジェクトを編集できません。Publishedアイテムはすべてのサイト訪問者が見ることができます。これらは検索結果とナビゲーションツリーの中で表示されます。ニュース記事が公開されるとそれはNewsタブの下と、Newsボックス(第五章参照)の中の両方に表示されるようになります。マネージャだけが公開された記事を編集することができます。しかし所有者は編集のために記事を撤回する(retract)ことができます。(撤回されるとオブジェクトはvisible状態に戻ります)private状態のオブジェクトはその所有者か、あるいはそのオブジェクトを含むフォルダに関してマネージャ権限を持つ人によってしか見ることも編集することもできません。他のユーザの検索結果やナビゲーションツリーの中には現れません。マネージャはprivateアイテムを編集することができます。注記:ほとんどのオブジェクトはそれ自身で状態を持っていますが、いくつかのものは状態をその親オブジェクトから継承します。フォーラムはその振る舞いの例です。visibleか公開されたフォルダーの中にあるフォーラムは検索機能を通してすべてのユーザが利用できます。privateフォルダーの中のフォーラムはそのprivateフォルダーへのアクセス権を持ったユーザしか利用できません。
Ploneはどのユーザが見たり実行したりできるのかを定義するのにロール(役割)を用います。この方法でPloneはそのオペレーションのすべての面においてセキュリティを組み込みます。ディフォルトのPloneのインストールで定義されるロールにはanonymous(無名)、member(メンバー)、owner(所有者)、reviewer(レビューワ)、それにmanager(マネージャ)があります。
anonymousロールを得ることになります。パブリックサイトではanonymousユーザは検索するか、直接URLを入力することでpublished, pending, visibleコンテンツを見ることができます。またpublishedコンテンツはナビゲーションツリーの中にも表示されます。もし、サイトをprivateに設定すればanonymousユーザは何も見ることができなくなります。memberはサイトにログインしたユーザのことです。メンバーはanonymousの能力に加えてさらにコンテンツを自分のフォルダの中に作る能力を与えられます。コンテンツは後で公開のためにサイトレビューワにサブミットされます。パブリックサイトでは、メンバーはanonymousユーザと同じコンテンツを見ることができます。プライベートサイトではメンバーはpublished、pending、visibleコンテンツへアクセスすることができます。メンバーは自分のプレファランスを設定することができます。reviewerはメンバーがサブミットしたコンテンツを公開(publish)するか却下(reject)することができます。レビューワがログインすると、レビューされるべきコンテンツがあればパーソナルバーに「pending」メッセージが表示されます。また、レビューリストもページの右側に表示されます。レビューワはメンバーとして同じコンテンツへアクセスします。所有者ロールを持ちます。コンテンツを編集し、サブミットし、撤回したり、またはプライベートにすることができます。他のユーザに所有者ロールを付与することはお勧めできません。マネージャ はすべての状態(visible, pending, published, private)のコンテンツを見ることができます。サイトマネージャはメンバーとレビューワの権限に加えてさらにコンテンツを追加、編集、削除、移動することができます。マネージャはさらにユーザを追加、編集、削除したり、ロールを割り当てたりすることができます。PloneはZope自体からロールモデルを継承します。より詳しくは Zope Book を参照してください。
所有者とマネージャは彼らがコントロールできるオブジェクトについてその状態を変更することができます。ありえる状態は事前に定義された遷移によってコントロールされます。例えば、サイトメンバーはvisibleオブジェクトをレビューしてもらうためにサブミットするか、あるいはプライベートにすることができ、サイトレビューワはサブミットされたアイテムを公開するか却下することができます。サイトマネージャはワークフローシステムのこの部分をカスタマイズすることができます。(第五章参照)
コンテンツビューの中でオブジェクトの状態を変更するには、変更したいオブジェクトの名前の隣にあるチェックボックスをチェックして、ページの下のほうにあるchange statusボタンをクリックします。公開プロセスページの一番下までスクロールさせて、望む状態を選び、submitボタンをクリックします。
アイテムビューの中でも状態を変更することができます。stateタブを単純にクリックして、ページを一番下までスクロールして、望む状態を選んで、submitをクリックします。
サイトマネージャはWebサイトのある一定の部分について特定のユーザにさらに追加の権限を与えることができます。これはフォルダにローカルロールを割り当てることで成し遂げることができます。マネージャと所有者はローカルロールを割り当てる許可を持っています。
ローカルロールを割り当てるには、対象となるフォルダのコンテンツビューに切り替えて、コンテンツタブにあるローカルロールをクリックします。ロールを与えたいユーザの名前を探して名前の上のボックスをチェックします。そしてドロップダウンリストから割り当てたいロールを選び、「assign local roles to selected users」をクリックします。
同じインターフェースをローカルロールを削除するのにも使えます。
オブジェクトの所有者はvisible状態にあるオブジェクトを変更したり編集したりすることができます。所有者が編集を終えたらば、Stateタブをクリックして公開することができます。公開フォームが開きます。

このフォームにはいくつか記入するところがあります。
レビュー権限をもっていてPlone Webサイトにログインした時には、もしレビューされるべきオブジェクトがあればその表示が現れます。これは下図のようにパーソナルバーに現れます。

レビューを待つオブジェクトをリストするためにこのリンクを選択して、それからレビューのために各オブジェクトを選択します。publishingタブをクリックすると前記のようなフォームが表示されます。この時点であなたには基本的に二つの選択があります。承認してオブジェクトを公開するか(the publish option)、却下するか(the reject option)です。オブジェクトを却下する時には、なぜ却下したのかという理由をユーザに説明するためにコメントを書きたくなることでしょう。
マネージャはオブジェクトがどのような状態でも編集することでしょう。メンバーは公開後のオブジェクトは編集することができません。メンバーはまず最初にオブジェクトを撤回してvisible状態に戻さなければなりません。そのためには、オブジェクトの公開タブをクリックしてretractをクリックします。それからあなたはオブジェクトを好きなだけ編集して再びサブミットします。こうして編集し直されたオブジェクトにもレビュープロセスが適用されることを確実なものとします。
.
$Id: 4,v 1.1.1.1 2003/08/26 17:09:50 tyam Exp $