cubicweb-collaboration #3765006 use workflows to handle collaborative states [validation pending]
Not sure why this hasn't been done in the first place as it seems a natural design choice IMO.
The basic idea is to pass a list of workflow states in which the collaborative entity need to be in order to be clonable. Once an entity has been cloned we have to ensure that it cannot be modified, and in particular, that its workflow state cannot be changed (something like ERQLExpression('NOT EXISTS(C clone_of X) and similar for relations in the container would be sufficient).
Management of collaborators should not change much in this respect.
On the other hand, I don't know what should be done about the security mechanisms based on the frozen attribute.
|closed by||#1a146149ed24 Replace the "frozen" attribute and freeze/unfreeze mechanism by a workflow|
|patch||Add migration for version 1.0.0 [applied]Make the collaborative entity type workflowable during schema setup [applied]Add migration for version 0.3.0 [rejected]Replace the "frozen" attribute and freeze/unfreeze mechanism by a workflow [applied]|