[wp-trac] [WordPress Trac] #31089: Customize: Add revisions and statuses for changesets (was: Add revisions of settings to the Customizer)

WordPress Trac noreply at wordpress.org
Sat Dec 10 23:57:45 UTC 2016


#31089: Customize: Add revisions and statuses for changesets
-------------------------+-----------------------------
 Reporter:  westonruter  |       Owner:
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Future Release
Component:  Customize    |     Version:
 Severity:  normal       |  Resolution:
 Keywords:               |     Focuses:  javascript
-------------------------+-----------------------------

Old description:

> In #30937 the concept of a “Customizer Transaction” is introduced,
> wherein each Customizer session gets a transaction containing the
> settings that are modified and eventually saved (or not). The
> `wp_transaction` is a custom post type with the settings JSON stored in
> the `post_content`. Every time the Customizer is accessed, a new
> `wp_transaction` post is created with `post_status=draft` and then when
> saving it becomes `post_status=publish`. As such, this automatically
> becomes a revision history for all saved changes to the Customizer.
>
> With the work on Transactions, however, there is no UI for accessing
> these revisions. There is no way to see previous revisions, to revert a
> revision, to recall a revision to continue changes.
>
> I did do some work on a [https://wordpress.org/plugins/settings-
> revisions/ Settings Revisions] plugin for a potential UI, where a new
> Customizer section is added to load a previous revision and to provide
> the “commit message” for the new one  (see [https://wordpress.org/plugins
> /settings-revisions/screenshots/ plugin screenshots]). However, this
> plugin was written before transactions.
>
> See also:
> #21666 (Customizer reset/undo/revert)
> #20692 (Handle unsaved changes in the customizer)
> #28721 (Scheduled changes for the customizer)
> #31088 (Post revisions in the customizer)
> #38624 (Allow starter content to apply after a site has already been set
> up and is no longer “fresh”)

New description:

 In #30937 the concept of a “Customizer Transaction” is introduced, wherein
 each Customizer session gets a changeset containing the settings that are
 modified and eventually saved (or not). The `customize_changeset` is a
 custom post type with the settings JSON stored in the `post_content`.
 Every time the Customizer is accessed, a new `customize_changeset` post is
 created with `post_status=draft` and then when saving it becomes
 `post_status=publish`. As such, this automatically becomes a revision
 history for all saved changes to the Customizer.

 With the work on changesets, however, there is no UI for accessing these
 revisions. There is no way to see previous revisions, to revert a
 revision, to recall a revision to continue changes. Nevertheless, UIs for
 revisions and changeset status changes are being prototyped in the
 [https://github.com/xwp/wp-customize-snapshots Customize Snapshots]
 plugin.

 I did do some work on a [https://wordpress.org/plugins/settings-revisions/
 Settings Revisions] plugin for a potential UI, where a new Customizer
 section is added to load a previous revision and to provide the “commit
 message” for the new one  (see [https://wordpress.org/plugins/settings-
 revisions/screenshots/ plugin screenshots]). However, this plugin was
 written before changesets.

 See also:
 #21666 (Customizer reset/undo/revert)
 #20692 (Handle unsaved changes in the customizer)
 #28721 (Scheduled changes for the customizer)
 #31088 (Post revisions in the customizer)
 #38624 (Allow starter content to apply after a site has already been set
 up and is no longer “fresh”)

--

Comment (by westonruter):

 Also, once a changeset has transitioned from `auto-draft` to another non-
 transient status, such as `draft`, `pending`, or `future`, the “are you
 sure” `beforeunload` dialog should not be shown. (See #39229.)

--
Ticket URL: <https://core.trac.wordpress.org/ticket/31089#comment:17>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list