Theme Versioning- Week 10

Hi guys!

Progress Made

This week things have really been coming together. I had my irc chat during which I received some valuable feedback which I have taken into account including ocean90’s suggestion to display only the basenames of the theme files as opposed to the full path. Additionally, I tagged version 0.1 of the plugin and have concentrated my efforts on refining the UI and implementing the ajax magic to make that possible.

Version 0.1

Earlier in the week, I tagged version 0.1, a stable version with the following features:

  • Automatically commits all files upon save
  • Revert theme files on a per-file basis, or revert all files to their state in a given revision
  • Ability to make use of external VCS adapter plugins that register themselves in an activation hook with the theme_versioning_register_adapter($vcs_adapter) function.
  • Settings section in which user can choose which of the registered VCS’s they would like to use
  • Popup window revision viewer with admittedly ugly styling 🙂

Here is a screenshot of what version 0.1 looks like:

version 0.1 screenshot

Screenshot of version 0.1 UI

Current Status

I updated the UI, so it is now a jQuery UI modal dialog.
In order to do this I had to implement more ajax functions to get the file contents and the
revision information.

Here is what it looks like right now:

Current UI

The jQuery UI modal dialog based UI

*Note: I know that there is no “close” button in the dialog. That is because I haven’t entirely settled on using a dialog just yet, but I needed something better than a popup, and Daryl Koopersmith recommended this as a possible intermediate iteration.

Going Forward

Once I get the UI squared away, I intend to optimize the lazy loading of revisions via ajax and caching. I might even add some nice little progress bars or spinners.

I expect to change the UI to something sleeker and more native-feeling. Instead of the “Open Revision Viewer” button, I’m considering adding a link under the Editor submenu of the Appearance section of the admin dashboard.
Instead of the modal dialog for the viewer, I am considering changing it to a sliding panel that comes out from the side of the admin dashboard and covers the theme editor area. I’d really love any suggestions on the UI, or any input at all for that matter!

When I implement the new UI, I also plan on adding the “advanced mode” interface which consists of additional buttons that allow users to choose when they commit as opposed to automatically committing upon save. This will be a setting they can choose to enable on the general settings page.