Customize Changesets, the technical term for the infrastructure in the Customize Snapshots feature plugin, was added to WordPress 4.7 yesterday. Formerly known as Customizer Transactions, the project brings the fundamental architecture required for the ability to save a session as a draft. This allows WordPress to save a set of changes made in the Customizer so that it can be shared, previewed outside of the iframe, and even published at a future date.
In the merge proposal, project lead Weston Ruter stated, “The new APIs make possible many new user-facing features in future releases and feature plugins, including saving long-lived drafts, submitting changesets as pending for review, scheduling changes, seeing the previewed state on the front end without being in an iframe, sharing previews URLs with others who do not have customizer access, and others.”
Users can detect Customize Changesets architecture in WordPress 4.7 by two ways – a new customize_uuid query parameter is added onto the URL and also, users can now reload pages in the Customizer and the changes that have already been made will persist.
Ruter added that the future releases will allow the exploration of new UIs to take advantage of the new capabilities that changesets provide. “New UIs can provide a way to schedule changes, the ability to undo the last change, show an audit log (revision history) for changes, collaborative editing of a customizer changeset, and so on. Future projects will explore many of these and feature plugins will start to prototype type.”
When questioned about whether the UI for core will come from the Customize Snapshots feature plugin by Sarah Gooding, author at WordPress Tavern, Ruter said he’s not certain whether the team will migrate the features into a separate “Customize Changesets UI” plugin or adapt it to make use of changesets instead. “Either way, the UI features will live on and will be prototyped in feature plugin form before the proposal for core merge,” Ruter said. “The underlying plumbing from Snapshots was adapted for changesets now in core. So the snapshots itself needs its internals to be gutted to re-use changesets.”
From there, contributors will begin building a UI for managing changesets, which includes listing existing changesets and their revisions, as well as moving a changeset post from auto-draft to draft, pending, or future. Those who want to contribute to changesets UI for core are encouraged to get involved in the Customize Snapshots plugin on GitHub.
Source: WordPress Tavern