We've relaunched our site. You're looking at an archived version. Checkout the new site.

Services Newcastle’s most advanced web company. Learn more ›

Photo of Leevi Graham

Leevi GrahamCode Monkey

Newism Pty Ltd
Newcastle, NSW Australia

Introducing Publish Plus - Collaborative workflow for ExpressionEngine

Entry drafts, live in-template previews, workflow state, revision notes, advanced email notifications and then some.

For the last 6 months we’ve been developing a new ExpressionEngine extension called Publish Plus which greatly improves ExpressionEngine’s standard publishing workflow. For the record, the initial development of Publish Plus was funded by the good guys over at http://paramoreredd.com – a big thanks to Sean and the team.

The problem

There’s no doubt that ExpressionEngine is an excellent publishing system, but it does lack workflow concepts such as drafts, live previews and fine grain member publishing permissions. These omissions make it difficult to implement a smooth collaborative publishing workflow.

The major issue most users have with the current ExpressionEngine workflow is that there is only a simple approval process for entries. The recommended approach requires the publisher to switch the status of an entry between open and pending while editing. This technique is fine for unpublished entries, but can break the site if a previously published entry is being edited. This happens because the entry is is not rendered in the default {weblog:entries} tag unless the status parameter is set accordingly.

What’s needed is a way to have the most recent, open version of an entry visible on the site, but have the most updated version (draft) awaiting approval and hidden from general viewing until approved. The draft should also be available to preview in it’s final template context. Publish Plus adds this functionality plus much more.

Common publishing scenarios Publish Plus solves

Time for a couple of common publishing scenarios which are not possible with a standard ExpressionEngine install. These are all possible with the latest version of Publish Plus:

  1. Marketing (publishers) manages the content on the website. They want to allow someone from another department, say human resources (editors), to edit their own entries. Marketing wants to be able to approve human resources content changes before they show up on the site.
  2. A website has many members who contribute articles (editors). The website owner (publisher) needs to preview and approve articles before they go live. If an article does not meet the website’s submission requirements and is denied, the website owner needs to leave a note for the contributor and notify them via email regarding the entry’s state.
  3. A website has many members assigned to a different member groups. The website owner only wants a small number of those members to have publishing rights, regardless of their group permissions.
  4. The ‘publisher’ needs to be notified when an ‘editor’ makes a change so they can decide wether to approve or deny the article.

Features

Publish Plus has many features to enhance ExpressionEngine’s native workflow. They include:

  • Fine grained weblog assignment – Assign weblog posting privileges to members, not only member groups.
  • Publishing Roles – Assign roles (publisher, editor) to members further limiting a members weblog posting privileges.
  • Entry drafts – Create and edit drafts for published entries without updating the live site.
  • In-Template Previews – View standard previews, drafts and old revisions in template context (requires LG Live Look).
  • Entry specific notes – Easily communicate updates with other team members through entry specific notes.
  • Draft specific notes – Track individual draft edits with draft specific notes.
  • Workflow states – Assign states to entries to track their position in the workflow.
  • Filter entries by workflow state – Easily see which entries are approved, pending approval, denied.
  • Advanced notification system – Send email notifications when various actions are taken by members.

Publish Plus is also:

Demo Screencast

So now you know the problem and the solution. I could continue to sell the benefits of Publish Plus with long winded paragraphs of content, but I think this thrilling video covers it ;)

Download

Read more and download Publish Plus over at leevigraham.com.

Keeping up-to-date with Newism development

Twitter users can follow newism (general Newism news), newismdev (Git commits and other dev related information) or leevigraham (general tweeting about EE and sneek peeks of new ExpressionEngine addons).

Github users can follow our Newism account or my personal Leevi Graham account.

If RSS is your thing, subscribe to our feed and our blog posts will be delivered straight to your reader.

For super secret sneak peeks and updates you can also subscribe to our newsletter in the footer of this page.

Comments

The following 30 people were compelled to have their say. We encourage you to do the same.

  1. AJP's Gravatar

    AJP said on Wednesday 25th March, 2:43am:

    Great stuff Leevi. I’ve already got to existing sites that were working around the status update changes, but this is how I’m going to re-do those sections. Fantastic!

  2. Todd's Gravatar

    Todd said on Thursday 26th March, 8:21am:

    We purchased this extension and really need the ability to delete past drafts and revisions. Imagine never being able to take out the trash… it would eventually make life very difficult having to look at long lists of drafts and revisions over years of updates.  Is this ability going to be available anytime soon?

  3. Leevi Graham's Avatar

    Leevi Graham said on Sunday 29th March, 9:37pm:

    @Todd: I’ll be adding the ability to delete drafts / revision in the next version. My focus was to add live previews and ship that to the users first.

  4. Geof Harries's Gravatar

    Geof Harries said on Monday 30th March, 1:54am:

    I purchased and used Publish Plus on a recent client project. Seriously impressive stuff. The only improvement I can suggest is to change how revisions are managed - it’s fantastic to be able to load previous revisions, but they replace the current form contents so you can’t visually compare the two. If revision notes aren’t well done, then you’re lost as to what are the differences. Other than that, amazing product, Leevi!

  5. Leevi Graham's Avatar

    Leevi Graham said on Monday 30th March, 8:08am:

    @Geof Harries: Revisions are a native feature of ExpressionEngine so they are a bit tricky to modify. That said I do have a couple of ideas how to show the previous. I just have to see if they code up well.

  6. Todd's Gravatar

    Todd said on Monday 30th March, 12:34pm:

    @Leevi

    Deleting revisions and drafts would truly put this extension over the top awesome! Thank you for all your hard work!

  7. Joel Steidl's Gravatar

    Joel Steidl said on Monday 30th March, 3:54pm:

    This is a truly awesome add-on! When the need arose for this particular addition to EE, we came straight to Newism. I really don’t think anyone else out there could have interpreted our needs and executed so well.

  8. Todd's Gravatar

    Todd said on Friday 3rd April, 12:48pm:

    @Geof Harries

    I was thinking about how one might approach this need to see changes between two revisions. I use a file comparison utility called Beyond Compare that highlights in color the changes from one file to the next. It probably would be a ton of work to bring that functionality into an EE extension… but it might be one approach to the problem. That functionality and the ability to delete drafts/notes/revisions would be simply awesome.

    @Leevi

    Again, thanks for all your hard work on this excellent extension!

  9. Scruffy's Gravatar

    Scruffy said on Wednesday 15th April, 6:34am:

    Will the next version of this plug-in be compatible with ExpressionEngine 2? Does anybody know?

  10. Leevi Graham's Avatar

    Leevi Graham said on Wednesday 15th April, 3:28pm:

    @Scruffy: EE 2.0 is still being developed so its impossible to give a concrete yes. However I have every intention of making it available if the EE 2.0 codebase allows.

  11. Brendon Carr's Gravatar

    Brendon Carr said on Wednesday 3rd June, 2:05pm:

    I posted this over at the ExpressionEngine forums as well…

    I’ve got a bona-fide content management need and request for some wizard to develop an extension.

    As a lawyer, I deal in detailed laws and regulations, and revisions to same, on a regular basis. To save time, when material is updated we generally like to focus only on what’s changed—using an automated comparison tool like Microsoft Word’s document-compare or “track changes” tool, or a software package like DeltaView. Additions are indicated by one style of text (usually underlining), while deletions are indicated by another (usually strikethrough).

    It would be great if there were an extension to ExpressionEngine that would retain entry versions, and enable the generation of such “redline” comparisons between versions so that workflow reviewers could zero in on changes quickly. A killer feature would be the ability to make that comparison view available not just to admins, but to site visitors generally. Designate one version as “public” and compare to the last “public” version. If that power were available, when an entry on the site were updated, one could mail existing users (especially those who’ve asked to be notified when the entry is changed) a link to the comparison. That would be extremely useful to law firms, consulting firms, and other knowledge enterprises.

    As a commercial product, I’d be willing to pay up to $299 for that in the blink of an eyelash and would guess that many corporate customers would be delighted to have this functionality. Maybe Leevi Graham should consider adding this to NSM Publish Plus as “NSM Publish Plus Compare”.

  12. Jason's Gravatar

    Jason said on Monday 14th September, 1:20pm:

    Deleting drafts is a huge need.  Any chance that’s doable in the foreseeable future?

  13. Leevi Graham's Avatar

    Leevi Graham said on Monday 14th September, 1:40pm:

    @Jason: Deleting drafts has been implemented and tested in the development version. A release is coming soon.

  14. Jack's Gravatar

    Jack said on Friday 9th October, 2:49am:

    I need to have my client review a draft/change prior to it going live but they don’t have admin access to EE - they just need a temp draft link to review in a browser. Is that included or coming soon?

  15. Jason's Gravatar

    Jason said on Thursday 29th October, 3:15am:

    Any chance the update that allows deleting drafts is closer to being available?

  16. Todd's Gravatar

    Todd said on Wednesday 4th November, 4:07am:

    Does entry versioning need to be on system wide in an MSM install? The docs say it is necessary to do so site wide but does not elaborate on MSM installs.

  17. Tomaz Zaman's Gravatar

    Tomaz Zaman said on Tuesday 5th January, 4:28am:

    +1 to draft deletion

  18. Michael Rubens's Gravatar

    Michael Rubens said on Tuesday 2nd March, 1:33am:

    Wondering if it’s possible, with NSM Publish Plus to create new/custom “roles”? I.E. say there is a need to introduce a workflow like:
    1) Entry/draft created by “Editor” role > SEO notified
    2) SEO completes work on draft submits > Compliance notified
    3) Compliance approves draft > “Publisher” notified
    4) Publisher pushes content live to site.
    Wonding if this is possible to accomplish while only notifying those parties responsible for each particular role?

    Make sense?

  19. Michael Rubens's Gravatar

    Michael Rubens said on Thursday 1st April, 1:30pm:

    I suppose I’ll ask again.

    Still quite curious about whether or not defining “custom roles” is possible.

    Also curious when draft deletion is going to make it to a released version?

    Thank you.

  20. Todd's Gravatar

    Todd said on Thursday 1st April, 3:53pm:

    Hello Michael.  I wouldn’t hold my breath. I personally believe that NSM Publish Plus is dead in the water. Leevi hasn’t chimed in on any support related questions for this extension for more than six months. It was in September that he said ‘draft deletion’ had been coded and was being tested. All I can say is… the testing must have been an utter disaster and all is silent on any new release with that functionality. It’s a bummer because we were hoping to use this as a real solution to our editorial needs.

  21. Michael Rubens's Gravatar

    Michael Rubens said on Thursday 1st April, 4:11pm:

    Hello, please don’t take offense at this, but…I really hope you’re wrong. I just purchased and installed on a clients site. More than a bit bummed though by your assessment.

    Certainly hope this isn’t true.

  22. Leevi Graham's Avatar

    Leevi Graham said on Thursday 1st April, 4:49pm:

    @Everyone: I have a new version of Publish Plus available for testing. Send me an email leevi@newism.com.au with your PayPal receipt number and I’ll send you the latest.

    The new update has a bunch of new styles and delete draft / revision functionality. Apologies for the delay but testing an addon this large and confirming that it works with other third party addons isn’t a small task.

    @Jack: The new version of Live Look when used with the next version of Publish Plus provides you with the external draft link.

    @Michael: Creating custom roles isn’t possible but the email notifications are very flexible. You could create a SEO member group (assign them a publisher role) and inform them when an entry changes status.

  23. Todd's Gravatar

    Todd said on Thursday 1st April, 7:26pm:

    First of all, thank you Leevi for responding to our concerns. In addition, thanks for sending me the update.

    Just a thought… people will be much more patient if from time to time you drop in and leave a small comment about an update still coming, still being tested, still getting bugs worked out, etc… it’s when there is nothing but silence for months on end that people get nervous.

    Again, thanks for the update!

  24. Michael Rubens's Gravatar

    Michael Rubens said on Saturday 3rd April, 1:15am:

    I have a few questions, if I may, with respect to possible functionality.

    Currently (maybe I missed this in the extension settings but I don’t believe so), when NSM Publish Plus is activated, the publishing workflow is applied to “all” weblogs. Is there any plan to employ the ability for its functionality to be assigned to specific weblogs?

    Also, and I will add this is simply an aesthetic issue but I may be important to anyone installing to an already live site; wondering if you might have considered providing the option at the point of install to set the “Status” indicator to “Approved” from all “Open” entries. Our client was quite concerned initially because, after install, the “Status” indicator was grayed out.

    Lastly, and you may already be aware of this but I thought I’d point out that NSM Publish Plus and N-Gens Publish Tweeks (v.0.8) do not play nice with one another. Seems when N-Gens extension is activated that it hides the Publish Plus Publishing buttons.

    Thanks for the update.

  25. Todd's Gravatar

    Todd said on Saturday 3rd April, 2:40am:

    I’ll second Michael Ruben request for assigning NSM Publish Plus on a per weblog basis. That would be a killer feature!

    In addition, we have also had requests from our editors for a way to reset all the entries in the system to an ‘unassigned’ state.  Since they go through all entries in the system once every year… they want the ability to essentially ‘start over’ at the beginning of a new editorial year.

    If those two features were added along with deletion of drafts, notes, etc… NSM Publish Plus would be the bomb!

  26. Michael Rubens's Gravatar

    Michael Rubens said on Wednesday 7th April, 9:24am:

    I have two more observations I think would help with functionality; both from the standpoint of UI implementation within the extension CP.

    These may be items you’ve looked at already - just thought I’d throw them out…

    1) would luv to see the “Group Settings” for each member group collapsible/expandable (collapsed by default) - for those installs with a lot of weblogs the extension CP gets pretty tall.

    Along the same lines
    2) would like to see each of the e-mail templates collapsible/expandable (collapsed by default)

    This would serve to condense the CP and make it a bit more manageable to use.

    Just my 2 cents for what it’s worth.

    Thanks for this absolutely wonderful extension!

  27. Ibn Saeed's Gravatar

    Ibn Saeed said on Sunday 20th March, 4:45am:

    Hello

    I really need this addon, has it been developed for EE 2 ?

  28. Ibn Saeed's Gravatar

    Ibn Saeed said on Wednesday 23rd March, 10:17pm:

    Has the development on this addon hit a dead end ?

  29. Ani's Gravatar

    Ani said on Wednesday 3rd August, 3:44pm:

    I just want to sanity check something here - is this new module for EE2 NOT the EE2 update of the module this page is about?  They appear to have the same name but if you read the overviews they appear to do different things? http://ee-garage.com/nsm-publish-plus-workflow

  30. Clay's Gravatar

    Clay said on Thursday 25th August, 5:37am:

    @Leevi, when you do make a EE2 compatible version, will you shoot me an email (or add me to newsletter if you have one) clay [at] bychosen com … I’ve been looking for something like this forever, and created my own jank plugin, but nowhere near as powerful as yours!

Your comment

Please keep your comments friendly and on topic.