There are several modules to allow for a revisions/publication workflow in Drupal, including:

We're not going to include any of those in Panopoly, however, we'd like to make sure that the modules included in Panopoly are compatible with them so that a user could install them OR a 3rd-party App (ex. panopoly_workbench) could be created that added support for them!

Recently, a bunch of work has been put into Panels, Panelizer and Fieldable Panels Panes by the Lightning team to make them compatible with Workbench Moderation.

So, on this issue I'd like to look at testing, reviewing and merging those changes into Panopoly as well:

(Pulled from http://cgit.drupalcode.org/lightning_features/tree/lightning_features.make)

Then we should have at least one working method for implementing a content publishing workflow with Panopoly!

Original summary

Hi!

I was wondering if there are any possible solutions to integrate revisions and an publication workflow into panopoly.

What I mean is the following:
* An Editor creates/edits a content page -> It is not displayed to site visitors yet
* An Administrator approves the creation/edited version
* Now the page (or the changes on the page) is displayed for site users.

In standard drupal such functionality can be included in numerous ways:
* References Module
* Workbench Moderation Module

When using panopoly i have the problem, that the content itself gets revisioned perfectly. But when making changes in the IPE (by clicking on "Customize this page” and inserting new elements or change the position of elements) those changes are not revisioned at all. If I make a change here it is active for all existing revisions of the node that are existing.

I already found the ERS module (https://drupal.org/project/ers)
But there has been no activity since 2.4.2012...

Is the functionality I would like to achieve already available (and I am just not able to find it) or is this topic still open (and will it be addressed in the near future)?

Thanks in advance!

Comments

liza’s picture

this issue caught my eye because am also developing an editorial workflow; so although i am not one of the Panopoly developers, am a little bit confused by what you're asking. so let me outline some thoughts for the sake of clarity.

content revisioning focuses on exactly that: a workflow for all the data published/output through a node bundle (aka content-type). the moment you move away from that; as in going into IPE and adding content through a panel, you've moved away from an editorial workflow to a "page" architecture/design workflow.

think if it this way: posting a node is like writing/fact-checking/editing an article for a magazine; but adding content via IPE to a node is like the old school "page setter" at a printing shop or "layout artist/editor" jobs in papers and mags. the fact that these kinds of workflows can be seamlessly done by the same person with a platform like Drupal Panopoly doesn't detract from the fact that they are two different workflows.

so, if am understanding your question, you would like for there to be a way to track "page setting" changes through panopoly so they could be added to the editorial workflow, correct?

i've been manually writing down these changes myself but it really is a drag but now that i think about this, there must be a way to use RULES to create a trigger that then records those changes. am not sure how those would be logged and, needless to say, have no idea how those would be incorporated into an editorial flow, but that would be the first module i'd test for something like that.

actually, i definitely will experiment with something like that after all :D

dsnopek’s picture

It's possible that this is the only issue standing in the way of implementing this type of workflow:

#1986334: Allow a particular revision of a fieldable panels pane to be placed in a panelized page

If someone can verify that, I'd be happy to include that patch in Panopoly!

dsnopek’s picture

We probably also need to merge this one:

#2398347: Panopoly Magic abuses FPP revisions

Also, it'd be great to make a "panopoly_workbench" at some point too, that allows users to quickly setup a publishing workflow!

dsnopek’s picture

Title: Panopoly + revisions/publication workflow » Merge patches to allow revisions/publication workflow via workbench_moderation
Category: Support request » Feature request
Issue summary: View changes
Issue tags: +sprint
Related issues: +#1402860: Panelizer is incompatible with moderation, +#2462331: IPE insufficient for Panelizer (data loss when using revisions), +#2465193: Allow modules to alter IPE buttons w/o hook_page_alter implementation, +#2457113: Better Revision Handling inside and outside of Workbench Moderation

Updated issue summary to focus this issue on making Panopoly compatible with Workbench Moderation for implementing a content publishing workflow.

dsnopek’s picture

Issue summary: View changes
reescott’s picture

@dsnopek Using the dev versions of Panels, Panelizer and Fieldable Panel Panes, as well as all the patches mentioned in the summary, I was able to get workbench moderation working with the Panels IPE and Panelizer. The #2457113-28 patch didn't apply cleanly, I had to apply one of the hunks in that patch manually. After I did that I found I couldn't check the "Create a Revision" or "Enable moderation of revisions" under Publishing Options on Content Types. I needed to do this to enable Workbench Moderation on my content types. By hacking the dom and removing the disabled classes, I was able to get it enabled. I attempted to fix this here:
https://www.drupal.org/node/2457113#comment-9974055

Once you get that sorted, in terms of functionality, I haven't seen any problems during my testing of Workbench with Panels IPE. The patches fix the issues with lost revisions and not being able to make changes to the draft through the IPE. I think adding these patches to Panopoly would be a great idea!

dsnopek’s picture

@reescott: Woohoo! Thanks for testing and moving that Panelizer patch forward! :-)

reescott’s picture

UPDATE:
@dsnopek: Upon further testing I've found that if you leave the "Create New Revision" checkbox checked after editing a FPP (Add Image, or any other), the moderation works correctly. I had stopped checking that box because it currently unpublishes the page if you edit a field that's part of the content type and save after checking that box. In Summary, the FPP moderation works correctly now, but if you want to moderate the fields included on your content type by default, be sure to only edit those when you initially create the draft.

OLD (NO LONGER APPLICABLE):
@dsnopek: After more testing with these patches I have found that it is mostly working, however, there is one outstanding issue with moderating Fieldable Panel Panes... For example Panopoly's "Add Spotlight" FPP widget allows for moderation, but the "Add Image" FPP does not. In other words, if I change existing Add Spotlight images out on the draft page, then the published page correctly shows the old content, while the draft page shows the new content. However, if I make a new draft of a page with an existing "Add Image" panel and try to change the image, it deletes the published image, but updates the draft page with the new image. I get the following warning:

Warning: array_key_exists() expects parameter 2 to be array, null given in theme_image_formatter() (line 605 of /Users/<username>/Sites/docs/SITENAME/modules/image/image.field.inc).

I am poring through the spotlight code to see what's different. If we could get the other Panopoly widgets to work like the spotlight widget, then these patches would be fully functional!

dsnopek’s picture

Version: 7.x-1.0-rc5 » 7.x-1.x-dev