Hi,

Joachim Schmitz a écrit :
Hi,

I am trying to adopt CPS and CPSWorkflow for a studentadministration
process.

The most problems I have in doing this is mapping the documentpublishing
centric view of CPS to this process.

CPS and CPSWorkflow is about publishing documents in a collaborative
way. The creation and reviewing process happens in a workspaces and the
resulting document is published in a section.
The creator is the owner.

I'm not sure I agree : *CPSDefault* is about publishing documents, but CPSWorkflow (and CPS) are not so specific ; you can adapt you workflow for such a purpose. However CPSWorkflow is document centric, this is a constraint inherited from DCWorkflow. But this is not a problem for your use case.

In a studentregistration it is very different:
- The creator of a student-record (document) is the studentadministrator
- A student may only view and modify certain data of HER/HIS record

Ok so other data need to be editable by other users (student administrator perhaps?)

- A student must fill in other data of HER/HIS record
- A student may view only certain data, which others fill in i.e.
examination results.
- the record gets never really published, it goes through a lifecyle,
so the notion of workspaces and sections makes no real sense here.

Then chose where you'd like these documents to live (sections or workspaces) and leave them there : your document does not *have* to go through a publication related transition.

So my question is, did anybody already use CPS for such a purpose, or
can give advise how to do so ?

Yes, we use CPS and its workflows for purposes like this one very often.

I would advise (if you chose workspaces as the main container) to make a mapping between different users and roles available in workspaces. Let's say student administrators will be defined by the fact that they have the WorkspaceManager role, and students will be defined by the WorkspaceMember role.

Then you'll define your workflow using these roles taking care of your conditions.

I'm not sure I understand what is the life cycle through which your document goes: what are your states/transitions? This is the first designing step.

About protection of some of the document data, you can play with the widgets condition expressions to control the presentation (and have conditions like: "if user is a WorkspaceManager and layout mode is 'edit' or 'create', widget mode is 'edit' too, else it is 'view'")

I'm not going through details now, because it looks like you're not there yet, but do not hesitate to ask other questions.

Regards,
anahide.
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel

Reply via email to