Building a better workflow
Before we started using Expressionengine here at Electric Putty we build most of our websites using a proprietary CMS, in fact our CMS pre-dates our company.
The imaginatively named epCMS began life way back in 2002, a time when the content management landscape was very different to today; third party CMS solutions were thin on the ground and every web agency worth its salt was developing their own. It evolved slowly over the following six years into a successful, feature rich and flexible system. But, as our client roster grew it became increasingly difficult to maintain a proprietary system and so in 2008, with some reluctance, we made the switch over the EE.
I say 'with some reluctance' because, without wishing to blow our own trumpet too much, there were a lot of things our CMS did really well - some, in fact, better that Expressionengine. It was designed with ease of use in mind and we spent a lot of time on the interface ensuring our users, many of whom had only rudimentary computer skills, could manage their websites with ease. Another thing it did really well was handle Workflow, something which we have really struggled with since make the switch.
The way we see it, to enable a successful Workflow you need a few basic concepts:
- Editors: People who can add and edit content
- Publishers: People who can add, edit and publish content
- Preview: The ability to see an 'non live' entry exactly as it will appear on the website
- Drafts: The ability to create a second version of an entry which can be edited without affecting the live site
You also need an interface which is transparent and easy to use. The current status of an entry needs to be immediately obvious and updating the status of a entry needs to be as easy as clicking a button. Previewing should be instant and in-line, you shouldn't need to go anywhere to see what your entry will look like.
On most of the above, out of the box at least, EE fails. Sure, it has the tools to grant and deny access to different statuses on a group by group basis, but the status drop down is a very unsatisfying method of moving an entry through a workflow and something our clients struggle with. It has no previewing facilities at all, indeed enabling the 'real' previewing of 'non-live' entries has been a real challenge. But the biggest obstacle of all to a successful workflow is the inability to create a draft - there is simply no way to update an existing entry without updating the live site or taking it off-line.
Faced with these short comings we began work on Better Workflow - our Add-on which aims to bring a real workflow process to Expressionengine. For the initial release we have opted for simplicity over flexibility.
Configuration
As far as settings go you specify which channels will use BWF and you can assign a 'role' to each user group - either Editor or Publisher.

The statuses are not editable in our initial release; when you enable the Add-on it creates a status group with the following statuses:
- Closed
- Draft
- Submitted
- Open
The life cycle of an entry
When you assign a channel to use BTW, it's settings are updated to use this status group. BWF also changes the default status for that channel so an entry starts its life in Draft. From here it moves to Submitted when the Editor is ready for review and then on to Open when the Publisher wants to put it live. An Editor can then put an Open entry into Draft and this creates a second version so that it can be updated without affecting the live site. From here the life cycle continues as before until the Publisher updates its status to Open at which point it replaces the current live version. In our model the Closed status is used exclusively for archived entries.

Moving between statuses is done via buttons on the publish screen. The statuses that are available to each role at a given point are also pre-defined in our initial release based on the rules above.
With BWF it is also possible to Preview an entry in any status - even 'Closed'.

Looking forward
Currently we have what we consider our Alpha release with all the key features working. We still have a few bugs to fix and some decisions to make about integration with other Third Party Add-ons - the likes of Structure, Playa and Martix all add to the complexity of BWF. We are demo'ing BWF next week at the London EE meetup and after that will be recruiting some testers for a private beta. If you're interested in becoming a tester or have any thoughts or comments we'd love to hear from you.
Many thanks, Malcolm
17 comments
Steven Grant
Looks promising Malcolm. If you guys get this out soonish then I think you’ll steal a march on the others.
I’d most definitely be interested in Beta testing for you.
Matthew Lanham
I’d also be interested in BETA testing, i’ve got a few clients that use NSM Publish Plus on EE 1, so would be interesting to try your solution out :)
Erik Reagan
Sounds intriguing. I’ve used Publish Plus on a few 1.x builds. I’m looking forward to checking this out. I’d be happy to beta test if you’re interested. :)
Sam Lomax
Hi Malcolm, we’ve had a huge number of requests for this one, really pleased to see you’re taking it on. Happy to help test the beta when it’s ready.
Simon Cox
This I am looking forward too and can’t wait to see the demo at the LondonEErs meeting tomorrow night.
Malcolm Elsworth
Thanks for your comments and interest in Better Workflow. We’re demo’ing tonight at the London EE meetup and will put our slides from the demo online tomorrow.
Ian Pitts
This is huge. Ensure support for Structure, Playa and Matrix and you have another module that’s a must have for most EE sites. How can we grease your palms to accelerate dev?
Mark Bowen
All looks very nice. Will be really great when you can edit the statuses although I totally understand why you’ve done that for now.
Perhaps take out the pipe character between the Preview and Save as draft buttons though.
Would also be interested in beta testing if possible.
Best wishes,
Mark
Oskar Smith
This looks very bloomin’ handy. Good luck, will keep my eyes peeled for this one.
Matteo
Seen the preview of BWF at the London EE meetup last week and was very impressed by the simplicity and effectiveness of this add-on.
Can I join the private beta?
Malcolm Elsworth
Thanks again for all the interest. We still working hard on Better Workflow but third party integration is taking a little longer than we anticipated.
This is such an important feature that we need to get it right.
We’ll write a post next week with more details on where we are and how we plan to move forward.
Ibn Saeed
Hello
Is there a way to join the beta team ?
Paulo Elias
Would love to help beta test. I’m starting a large EE project shortly that could benefit from this immensely!
Kara Todd
Is this anywhere near to launch? We have a client that requires workflow capability for their site. We would love to use your addon so that we can use Expressionengine instead of the other CMS we are currently considering.
Mark Hair
Very interested as workflow is one area of EE that I feel is very lacking. Be happy to beta test if you please! I second the query on whether a launch is near.
Malcolm Elsworth
Hi Kara and Mark,
Launch is very near. We posted about this last week: http://labs.electricputty.co.uk/post/better_workflow_release_date_and_pricing/
Harri Jussila
ExpressionEngine works well in most of the cases. It is a basic and good content management system, however it too has its limits. The CMS you guys are building looks promising. If it is able to solve some of the problems and offer utilities that EE is not able to, you might have a hit on hand.