Open newleeland opened 7 years ago
Given there's a workaround for this already for most use cases (revert included pages individually through standard CMS means), I'm going to downprioritise this. Given the complexities you mention on a complete revert of a campaign, I think most people would feel more comfortable "rolling forward" and just fix what needs fixing through individual publish actions. Let's see how/if campaigns are used before adding these kinds of features. Removing milestone.
We've discussed the ability to publish the same campaign multiple times over at https://github.com/silverstripe/silverstripe-campaign-admin/issues/38, which turns out to complicate the "revert" feature. Since items in a changeset only track one set of "before/after" version, they'd either have to keep inaccurate info about the last publish action, or revert only the last publish - neither of which seems entirely practical.
I'm suggesting that we allow authors to duplicate an (already published) campaign if their use case demands repeat publish of the same set of items. That duplicate would need to be smart enough to set new before/after versions
One way to simplify this might be to disable the "undo publish" feature if any of the the pages in the campaign has subsequently been published.
This would let us provide a "oops I didn't mean to click the button" feature without needing to implement git under the hood. ;-)
A companion feature for single-page-publishes would make sense too.
Currently, when a user publishes a campaign by accident, they don't have the ability revert the pages and files that were just published to their previous states.
Even without the ability to revert back, users also can't easily undo the changes manually as they don't have the ability to see what was released.
It does appear we do have a revert button (disable) positioned in Campaigns already, however, the listing disappears once the campaigns section is refreshed. This doesn't seem to be in the backlog. Resolves: #38
There are several directions we can take this. As there is an issue where if a campaign needed to be reverted back, however, if another newer campaign has made changes to pages within this campaign, there will be some conflict on what is reverted back.