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 17 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

Your comment

Please keep your comments friendly and on topic.

Your info
Your comment