[wp-hackers] GSoC 2013 (Attempt Two!): Theme Revisions

Andrew Nacin wp at andrewnacin.com
Fri May 3 06:29:13 UTC 2013

Hi Corey,

First: PLEASE SUBMIT YOUR APPLICATION. It is due today (and not at the end
of the day, either - UTC 1900). Thanks. :-)


This application really makes me think.

First, let's discuss use case. Consider someone who is storing their work
in git, and cloning (or directly working on top of) that repo in
wp-content/themes. Is this the kind of person that will use the theme
editor? Is there actually a benefit to constructing a UI for this user? Is
this a developer-oriented tool?

I see the editors mainly as a tool to help people who are messing around
with their sites. They aren't coders. (If they are, they probably should be
using version control, and I don't think we should reinvent the wheel by
trying to build a GitHub for Mac/Windows/WordPress equivalent -- they'll
probably do just fine with existing tools.) But they can play with the
syntax and modify their site, and maybe look up Template Tags on the Codex.
We can make it easier for them to tweak (and not break) the code for their

I guess what am saying is I would consider is focusing squarely on
a beginner mode. (I attempted theme revisions a long while ago, and it was
a lot to bite off and chew at once.) It *is* possible that git could be
used under the hood for storage, but a custom post type is probably
sufficient -- and also, an awful lot of shared hosting servers simply
won't/don't have version control clients installed. I will say: If you
submit this application as-is, that's quite okay — if it is accepted, we
*can* work out scope and details later.


On Wed, May 1, 2013 at 4:10 PM, Corey Alexander <coreyja at gmail.com> wrote:

> Hey guys,
> Sorry to spam the thread again, but I didn't hear any feedback on my idea
> last time and I am very interested in doing GSoC this year. If anyone has
> any ideas for me, or would like to talk to me about being a mentor I would
> love to hear from you. Thanks!
> Here is my second idea for a GSoC project. Again, this is basically a copy
> of my blog post. If you would rather read it there, or read my other post
> about my first idea you can check both of the posts out on coreyja.com. I
> am thinking about taking the theme versions idea and doing that, but with
> the twist of using git to do the actual versioning and let developers have
> access to the power of git baked into WordPress.
> Here are some of the things I am thinking about for this project.
>    - Adding git functionality to each theme, so that a full history of the
>    theme and changes can be viewed.
>    - Ability to either push commits to your WordPress install and/or the
>    ability to pull commits from GitHub (or any git repo) from the WordPress
>    admin dashboard
>    - Built in history page, with a difference viewer and the ability to
>    revert back to any revision from this page.
>    - Either creating a commit for every save made in the built in editor,
>    or having the option to explicitly commit changes after changes have
> been
>    made through the editor.
> To expand on some of the details I had in mind for creating commits through
> WordPress, I was thinking about have two or three different modes
> selectable through the settings page. The first setting for be for the
> “beginner” WordPress users, and would most likely be the default setting.
> This would be for people who don’t know anything about git and just want to
> have access to their revisions in the WordPress dashboard. For this setting
> every save in the built in editor would be equal one commit. A second
> option, for those familiar with git and wanting to use it would be able to
> bundle multiple changes from the built in editor to a single commit. This
> would require the user explicitly saying when they would like to make a
> commit, and would allow for the ability to add a commit message. This mode
> would also enable the push/pull functionalities. So a developer could push
> any changes that were committed through WordPress to their central repo.
> And also in reverse pull any changes made elsewhere from the central repo.
> This would allow developers to integrate git into their workflow very
> easily and while using current git best practices.
> Also in any setting option it would be necessary to have some sort of cron
> job, or something similar, to watch for file changes made directly to the
> FTP and add commits for those as well. This could also be done with an
> explicit option as well, but I think there should be some sort of system
> for doing it automatically, for those users who just want versioning to
> work without any added effort.
> As before, shoot me an email, reply to this chain or leave a comment on my
> blog if you have any comments or suggestions!  Thanks everyone for reading
> and helping me out!
> --Corey A.
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers

More information about the wp-hackers mailing list