[Zope-PTK] Member Publishing

Kent Polk kent@goathill.org
12 Dec 2000 06:05:07 GMT


On 11 Dec 2000 16:20:01 -0600, Shane Hathaway wrote:
>Kent Polk wrote:
>> 
>> Agreed, but could you please explain a bit more about 'transitions'
>> in this context.
>
>Currently the PTK restricts what you can do according to (1) user
>permissions and (2) the list of available transitions filtered through
>user permissions.  All of the actions in the first category are
>operations within the current state.
>
>However, what if you want to allow users in a given role to edit a
>document when it's in the "new" state but not when it's in the
>"submitted" state?  Either you need two permissions instead of one or
>you need to be able to remap permissions according to the current
>state.  This gets real hairy, real fast.

Yep. Especially if your workflow isn't a strict modify/approve
object cycle (we have factory/publishing house/warehouse-type
workflows).

What type of object/transition tracking mechanism are you planning
for this?

>But there's another option: move all actions in the first category into
>the second category.  In other words, make it so the "edit" action
>corresponds to a transition that doesn't change the state.  This moves
>the problem to the state machine setup and shields the designer from
>having to create new Zope permissions.
>
>> These items indicate precisely the sort of workflow that we are
>> trying to design now, even down to the subworkflows. How do we sign
>> up to help work on this?
>
>It would be very helpful if someone could create UI mockups of a state
>machine creation and editing interface.  We need to know whether state
>machines of this kind are simple enough to express on web pages.  If
>they are too complex, we can simply create an API and the state machine
>would be generated by Python calls to the API.

Ok.

Do you mean a state machine creation interface for a programmer or
a user? (or both?) I think we need both, for different types of
workflows.

What type of mechanism would you use to trigger the state transition?
Rule-based or requirements-based or what? Would the current state
determine the transition or would a transition-manager?

Thanks!