1

I am using ExpressionEngine 2.8.1. I have a set of basic permissions for my EE posts.

  • Draft
  • Awaiting Approval
  • Rejected
  • Open

I have 2 key types of user: -

  • Contributor
  • Editor

I have limited the Contributor to only be able to set the status to :-

  • Draft
  • Awaiting Approval

The Editor can set the status to: -

  • Draft
  • Awaiting Approval
  • Rejected
  • Open

The problem is that I want to prevent the Contributor from being able to see / edit posts that are in the 'Awaiting approval' status. The should be able to set a post to this status but after doing so be unable to make further changes to the content unless the status is change by and editor to 'rejected' or 'draft'.

I would also like to prevent them from being able to editing posts in the 'open' status as this effectively sets the status to 'draft' as the don't have permission to submit to the 'open' status.

As a secondary consideration it would be ideal if a contributor could edit a post that was set to 'open' but that it would not be made live until approved by an editor.

How can I achieve this in expression engine? This is such a standard workflow for content that I'm sure I must be missing something. Any and all help appreciated.

1
  • I've found this to be a limiting factor with use of channel:form. I haven't found a way to lock down statuses, as when a member group has permissions to access a status they are always able to change the status via exp:channel:form. There does not seem to be a native way to validate the status choice either, and using the codeigniter validation parameter does not seem to actually work for statuses, though it does work for other fields. To limit status changes while using channel:form you probably need a custom validation plugin that uses the form extension hook.
    – positlux
    Commented Apr 27, 2014 at 1:46

2 Answers 2

1

For the control panel there are probably add-ons for this, like better workflow or maybe draftEE.

For the front-end you can do some conditional checking in the template before showing the channel-form (safecracker).

2
  • I went with better workflow, but I am very surprised that such a fundamental requirement of a publishing platform is missing from a commercial CMS. It's a shame there is such a reliance on additional paid plugins in the expression engine ecosystem. Thank you for you advice however. Commented Apr 27, 2014 at 7:19
  • I guess it depends on your point of view. It would be impossible for EllisLab to include all the rich functionality that EE addon developers have included in the hundreds of quality addons available so why try? Build a platform to be extended and then let developers take over to provide specifics. Not only that but trying to include the kitchen sink of features in a CMS would kill it for everyone and be completely unsustainable. Even with publish workflows, not everyone needs them so why force everyone to include it in their install?
    – Ian Young
    Commented Apr 27, 2014 at 10:37
0

Have you tried Better Workflow: http://devot-ee.com/add-ons/better-workflow

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.