Theme Versioning- Week 11

Progress Made

UI Overhaul
This week I overhauled the UI to use a sliding pane that displaces the normal theme-editor interface.

In addition, I implemented the advanced mode UI and the various ajax functions to support it. Users can now select from either the basic mode which automatically commits upon saving a theme file, or the advanced mode which allows users to control when they commit.

I also created a separate settings page for the theme versioning plugin in which the user can select from the installed VCS Adapters as well as choose to use either the basic or advanced mode UI.

Mentor Recommendations
I fixed various usability, performance, and best-practice issues brought to my attention by one of my mentors, Dominik (ocean90)
the fixes included:

  • Enqueuing the UI javascript in the footer instead of the header for performance reasons
  • Displaying more information including author name and timestamp in the revision viewer
  • Renaming the javascript file to something more descriptive
  • Got rid of a few bits of code that were no longer used in this version
  • Use empty() instead of sizeof()==0

Clean Up and Refactoring
I spent a little time cleaning up some code and refactoring. There is still some more work to be done on this front. My philosophy is make it work, even if it’s ugly, then iterate to beautiful, elegant code.

Midterm Release

I tagged version 0.3, the midterm release which includes the new UI (with both basic and advanced modes), the default VCS and the VCS Adapter Interface.

It is available for download here

Below are a few screenshots from the midterm release:

Theme Editor Basic Mode UI

Revision Viewer: Full Screen Shot

Advanced Mode Theme Editor UI

Settings Page