Template Versioning Weekly Update #6
What I was doing
I started off this week exploring various ways of implementing Diffs and highlighting, and tinkering around with some code, but after a chat with my mentors the other night we decided to wait on implementing diffs until a future iteration. For the scope of this project it is to be considered a “bonus feature” if I get to implementing diffs. I still think it is realistic to get diffs and highlighting implemented before the midterm, but it is no longer firmly a part of the schedule, and we have prioritized other matters.
After the chat
I cleaned up my code and made changes so that it conforms to WordPress coding standards including naming all methods with snake_case and all class names in Word_Case and using WP_Error as opposed to triggering PHP errors/warnings. In addition I added some more documentation, fixed some errors and got rid of some old junk code in preparation for my mentors’ first code review.
Currently I am beginning work on the UI. The reasoning behind this is that even though the plugin does not yet support setting non-default VCS interfaces, at very least, with the UI in place I will have a functioning, useful deliverable.
Given my talk with my mentors I have decided that the following are my priorities:
- Implement the UI, get it reviewed by the UI team: goal- have this done by the end of next week
- Implement the ability for VCSAdapter plugins to register themselves with the main plugin and have the main plugin remember them (will likely use the settings API). Code a dummy plugin to test this.
- Add a settings page in which the user can select which VCS they want to use: either the default VCS or any VCS Adapter that has been installed as a plugin (assuming that it correctly registered itself with the main plugin). The dummy plugin will be used to test this functionality.
Any left-over time before midterms will be used to implement diffs, and if I somehow get things done way more quickly than I have planned, then I may begin work on an svn VCSAdapter plugin.