<p>Have you already seen the workflow plugin? Maybe it could give you some inputs for your further development: <a href="https://github.com/engram-design/Workflow" rel="nofollow">https://github.com/engram-design/Workflow</a>.</p>

CC BY-SA 3.0
2016-09-28T09:57:53.210Z
2016-09-28T09:57:53.210Z
Tom Bauer
<p>I'm building an editorial system on Craft which has 6-8 editorial stages, such as Assignment, Initial Proofing, Secondary Proofing, etc.  It seems that the simplest solution would be to have the current stage be a custom field.  <strong>I'd like to build this system entirely using Craft's <em>backend</em> so I don't have to reinvent all of the niceties Craft provides.</strong></p>

<p>The fuzzy part, however, comes when I'd like to be able to have a "Send to Next Stage" button.  For instance, if the article is done with its initial proofing, the proofreader should be able to mark it as done and automatically send it to the Secondary Proofing step.  I realize that I could just have a dropdown where the user changes the status and saves it, but that feels cumbersome.  Stage 1 should only be able to send entries to Stage 2.  Stage 2 should only be able to send entries to Stage 3.  Things should never skip steps or move backwards.</p>

<p>My current thought is to hook into the <code>entries.onSave</code> event and have a <code>switch</code> or something to automatically change the status.  Then, I suppose that <em>within</em> a stage, all versions would have to be saved as drafts rather than entries, as saving would have that side-effect of essentially marking the entry as complete.</p>

<p>Is there a simpler, more foolproof, or more intuitive way to walk an article through an editorial process like this?  I suppose I could use categories rather than a custom field type, but the <code>entries.onSave</code> hook would still have to be the mechanism I'd use to automatically send the article to the next stage of the editorial process.</p>

<events><custom-fieldtype><hook><workflow>
How should a multi-stage editorial process be implemented in Craft?
# How should a multi-stage editorial process be implemented in Craft?

(Asked by: username_0 on 2016-09-27)

I'm building an editorial system on Craft which has 6-8 editorial stages, such as Assignment, Initial Proofing, Secondary Proofing, etc. It seems that the simplest solution would be to have the current stage be a custom field. **I'd like to build this system entirely using Craft's *backend* so I don't have to reinvent all of the niceties Craft provides.**

The fuzzy part, however, comes when I'd like to be able to have a "Send to Next Stage" button. For instance, if the article is done with its initial proofing, the proofreader should be able to mark it as done and automatically send it to the Secondary Proofing step. I realize that I could just have a dropdown where the user changes the status and saves it, but that feels cumbersome. Stage 1 should only be able to send entries to Stage 2. Stage 2 should only be able to send entries to Stage 3. Things should never skip steps or move backwards.

My current thought is to hook into the `entries.onSave` event and have a `switch` or something to automatically change the status. Then, I suppose that *within* a stage, all versions would have to be saved as drafts rather than entries, as saving would have that side-effect of essentially marking the entry as complete.

Is there a simpler, more foolproof, or more intuitive way to walk an article through an editorial process like this? I suppose I could use categories rather than a custom field type, but the `entries.onSave` hook would still have to be the mechanism I'd use to automatically send the article to the next stage of the editorial process.

**Tags:** events, custom-fieldtype, hook, workflow


---

## 1 answers

### Answer by username_1 on 2016-09-28. Score: 1

Have you already seen the workflow plugin? Maybe it could give you some inputs for your further development: <https://github.com/engram-design/Workflow>.


---

