Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set default roles to match Plone's simpleworkflow to enforce review before publish #59

Open
djay opened this issue Feb 2, 2018 · 6 comments

Comments

@djay
Copy link
Member

djay commented Feb 2, 2018

Based discussion https://community.plone.org/t/changing-the-workflow-for-iterate/5619/11 a few things about working copy doesn't work as expected.

If you want to enforce review before publish in Plone you use the roles Contributor and Reviewer. Owner by default can't edit existing content without revoking it. Only Editor and Admin can edit it live.

However currently if you install Working Copy then Owners can checkout and then check back in. Also Contributors can't checkout or checkin. I propose the following.

  • Contributors: Give checkout access only
  • Reviewers: Give checkin access only
  • Editors: Keep the same since they can edit live anyway. But you could argue if you are installing iterate then you should be removing the ability of editors to edit live?
  • Owners: Give checkin access only.

This means workflow for a copy would work as you would expect. Owners and contributors have to checkout to suggest a change and only reviewers or site admins can checkin after a review.

A related change to further make it less confusing would be integrate workflow and working copy. People expect working copy to be a part of the workflow. They don't expect to look at the actions menu.

  • Make publish on a copy automatically checkin and redirect to the baseline
  • Make a new "checkout" transition that goes from publish to publish that results in a checkout.

Since someone might have custom workflow this would need to be done in a generic way so that it could work with anyones custom workflow. I'd suggest on installing Working copy creating two content rules that are designed to work with SimpleWorkflow but could be adapted to work with other workflows. It might be wise to also hide the checkin and checkout options or have a setting to do this.

@mauritsvanrees
Copy link
Member

What would make sense to me, is:

  • Contributors: no checkout/checkin. With Iterate you change the edit process, not the add process.
  • Reviewers: only checkin.
  • Editors: only checkout. With Iterate, Editors should not be able to edit live.
  • Owners: only checkout.

It may make sense to have a separate workflow in Iterate that is more strict like this, especially for editors. Your suggestions may work there too. Installing Iterate could set this as the default workflow.

I may be stupid for never using contentrules, but I wouldn't expect this to be arranged using them.

Maybe add a control panel where admins can tweak this a bit. This would be analogous to the discussions control panel, where some of the settings result in a change of the workflow, or a change in the general permission settings.

@djay
Copy link
Member Author

djay commented Feb 2, 2018 via email

@djay
Copy link
Member Author

djay commented Feb 2, 2018 via email

@mauritsvanrees
Copy link
Member

Okay, I am fine with Contributors suggesting changes. With this, they create a new document, which just happens to be linked to another document. So checkout for them would be good.

But for editors: to me, Iterate is about giving Reviewers a bigger role. If Editors can then bypass the Reviewers by continuing to edit published documents by checking it out and in, then Iterate loses much of its value. Well, it is then still useful as a way of trying out changes to a document before putting it live.

@djay
Copy link
Member Author

djay commented Feb 5, 2018

@mauritsvanrees So options for editors and enforcing review are either

  1. On install of iterate, remove Editors ability to edit live. They only have checkout option. And become the same as Contributors. Ensure editors know they now have to use checkout instead of "edit".
  2. Just don't give anyone Editors role. Somehow make sure the admin who installs Iterate is aware that Editors can edit live still and that if they want to prevent that they have to move everyone out of Editors into Contributors.

Neither option is great :( I can see pros and cons on each side.

@rpatterson
Copy link
Member

Will someone review #68?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants