[Zope-CMF] question: CMF and collaborative authoring
Joseph Wayne Norton
norton@arseed.co.jp
Mon, 25 Jun 2001 17:04:24 +0900
Scott -
Thanks for the tip. I followed Shane's tip and was able to get a
working implementation for Workgroups using the DCWorkflow very
easily.
Here are the highlevel steps that I followed:
- add role "Workgroup Member" and "Workgroup Reviewer" to
toplevel CMF instance folder
- grant "Add portal content", "Modify portal content", and
"List folder contents" to "Workgroup Member" role
- grant "Review portal content" and "List folder contents" to
"Workgroup Reviewer" role
- grant local roles (Workgroup Member, Workgroup Reviewer) to
appropriate users in workgroup folders
- install dc workflow rev 2 in the file-system.
I'm currently testing with a cvs-based checkout for Zope2 and
CMF.
- modify Default.py in dcworkflow (see diff below)
- the following skins are missing
? CMFDefault/skins/content/content_hide_form.dtml
? CMFDefault/skins/content/content_show_form.dtml
so I simply created my own version based on retract and
publish.
- restart zope and then install (or re-create) the dc workflow
rev 2 using the workflow tool
One other point that I am currently investigating, is how to modify
the behavior of the "Pending" action for users with the "Workgroup
Reviewer" role. If a user doesn't have a global "Reviewer" role, the
list of pending items will not show up in the action toolbox.
For this situation, I think it might be better to add additional entry
to the action box (pseudo-code) as follows:
ldef = wf.worklists['reviewer_queue_folder']
ldef.setProperties(description='Reviewer tasks (folder)',
actbox_name='Pending (%(count)d)',
actbox_url='%(folder_url)s/search?review_state=pending&path=%(folder_physical_path)s',
props={'var_match_review_state':'pending',
'guard_permissions':p_review})
This would only show those pending items underneath the current folder
tree. However, the "count" variable is currently global to the entire
catalog and the variable folder_physical_path doesn't exist currently.
Has anyone tried to solve the above issue differently? in an better
manner?
thanks,
- joe n.
At Fri, 22 Jun 2001 10:52:49 -0700, Scott Meilicke wrote: > > [1
<text/plain (7bit)>] > > [2 <text/html (quoted-printable)>] > > >
Here's the URL to the zope weekly news, June 17th that has links to
the discuss of this. > >
http://www.zope.org/Documentation/ZWN/ZWN-2001-06-17 >
===================================================================
RCS file: /cvs-repository/CMF/DCWorkflow/Default.py,v
retrieving revision 1.2
diff -r1.2 Default.py
106a107,108
> r_wg_member = "Workgroup Member"
> r_wg_reviewer = "Workgroup Reviewer"
139,141c141,143
< sdef.setPermission(p_access, 1, (r_anon, r_manager, r_reviewer))
< sdef.setPermission(p_view, 1, (r_anon, r_manager, r_reviewer))
< sdef.setPermission(p_modify, 0, (r_manager, r_reviewer))
---
> sdef.setPermission(p_access, 1, (r_anon, r_manager, r_reviewer, r_wg_reviewer))
> sdef.setPermission(p_view, 1, (r_anon, r_manager, r_reviewer, r_wg_reviewer))
> sdef.setPermission(p_modify, 0, (r_manager, r_reviewer, r_wg_reviewer))
155,156c157,158
< sdef.setPermission(p_access, 1, (r_anon, r_manager, r_reviewer))
< sdef.setPermission(p_view, 1, (r_anon, r_manager, r_reviewer))
---
> sdef.setPermission(p_access, 1, (r_anon, r_manager, r_reviewer, r_wg_member))
> sdef.setPermission(p_view, 1, (r_anon, r_manager, r_reviewer,
> r_wg_member))