Jump to content
jaro

Maturity of ProcessPagesExportImport / other ways to stage or transfer selected content changes

Recommended Posts

Greetings,

a current client would like to stage some larger content changes, meaning they want to edit some pages and save them, review those changes, then go live with the changes only when reviews are complete. They want to stage preferably (but not necessarily) in a separate test environment. Some of their templates have repeaters and page tables.

I have looked into the following approaches:

  • 2 environments, database dumps: While some large modifications can be staged, most other modifications have to be made in the production system directly, so not an option.
  • 2 environments, site profiles: same as above.
  • 1 environment, ProDrafts: Repeaters seem not to be supported by the module.
  • 1 environment, VersionControl: Doesn't look like it works for repeaters.
  • 1 environment, ProcessPageDraft: Probably works for repeaters (because it copies pages), but is still in beta and would require a large amount of testing.
  • 1 environment, ProcessPagesExportImport (added to the core in 2017): Seems to work fine when used via the GUI. But module info states "Development version, not yet recommended for production use".

Is there more information on ProcessPagesExportImport, e.g. is this feature likely to be finalized within a year from now?

Does anyone have other ideas?

I have not looked into CSV import/export yet.

Regards,
Michael

Share this post


Link to post
Share on other sites

Actually it seems that ProDrafts already supports Repeaters – this was announced in a blog post along with ProcessWire 3.0.75, and that detail just never made it into the description at the store. In case you have any questions regarding ProDrafts, I'd recommend sending a direct PM to @ryan 🙂

VersionControl isn't really suitable for this purpose. Repeater support is one thing (though I seem to recall that the module might kinda-sorta work with Repeaters), but a bigger issue is that there's no draft feature. I could definitely hack it to do something like export a version and import it on another site (definitely something I'll keep in mind, sounds interesting!) but currently that's not doable.

I haven't really used ProcessPagesExportImport, but I know that in case of Ryan the "beta" or "development" label doesn't necessarily mean that it isn't usable. I seem to recall that much of the data for the new processwire.com site was migrated using this feature (someone correct me if I'm wrong), and although I've heard some reports of missing features and such, as far as I know it should be pretty solid already.

My first choice would definitely be one environment with the ProDrafts module. I'd only consider other options if that one doesn't pan out.

  • Like 2

Share this post


Link to post
Share on other sites
5 hours ago, teppo said:

and although I've heard some reports of missing features and such, as far as I know it should be pretty solid already.

I think the confusion is mostly in terms of managing expectations. It works if you just want to move plain data without caring much how it's actually moved. If you on the other hand have a tightly integrated system, where ids of things should not easily be changed then you might not want to use it. The big issue is that there's not much documentation on how exactly things work (especially in terms of conflict resolution) and about the obstacles you might encounter in the process.

  • Like 3

Share this post


Link to post
Share on other sites

If we are talking about content changes only (no template/field changes), then I'd also recommend ProDrafts. But it may depend on your use of repeaters, an images field within a RepeaterMatrix may be critical, for example, but in general repeaters are not a problem with ProDrafts.

If "larger content changes" may require changes in fields and/or templates, than ProDrafts probably does not work. If it would be ok that any change goes through the staging process and all changes go live concurrently, then using two sites running on the same server may be the way to go. One directory serves the live site, another directory holds the draft site. Changes are only done on the draft site. Once finished, you simply switch document root to the draft path. Afterwards you'll clone the new live site (i.e. using Duplicator) and setup a fresh draft instance for next iteration.

For intermediate content changes on the live site some hook on pagesave may be used to either log these into a file (for later import) or update the draft site automatically (sending some POST request).

  • Like 2

Share this post


Link to post
Share on other sites

Thanks for all of your input on this topic.

If we get a 'go' from the customer and our tests succeed, we will likely be using ProDrafts.

If that fails and no feasible workaround can be found, we will look into ProcessPagesExportImport again.

Share this post


Link to post
Share on other sites

Just wanted to mention Migrator too as a possible alternative/tool. Make sure to read @adrian's first post carefully and the updated readme.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...