Updates from Andrew Nacin Toggle Comment Threads | Keyboard Shortcuts

  • Andrew Nacin 9:06 pm on July 16, 2010 Permalink | Reply  

    I was traveling for the last few days, so I’m posting my update today. Behind-the-scenes revisions are complete. CodeMirror is integrated. Sandboxing is nearly complete, as is restoring to a revision. Snapshots are currently unimplemented but there is an API for it. I’m also playing with creating and displaying diffs this weekend.

    I also gave John O’Nolan a heads up that I will need his assistance come the next week. Looking forward to some awesome refinements.

  • Andrew Nacin 12:34 pm on July 10, 2010 Permalink | Reply  

    First, congratulations to my mentor for his beautiful baby girl born this week.

    My project is going really well. I was a bit sluggish for a week there, but over the last few days I’ve been tearing through the todo list taped to my desk and my plan is to continue that this weekend. Hope to commit my giant overhaul of basically everything in the next day or so.

    I plan to start consulting with the UI team next week, once my to-do list is finished. O’Nolan is in for a treat.

  • Andrew Nacin 5:19 am on June 25, 2010 Permalink | Reply  

    This week I integrated EditArea to play with it, but not a day later, Matt showed me CodeMirror, which looks both lighter and better. EA had a release early this year, but otherwise little activity from there, which was concerning. History is not on our side here. We don’t want to integrate a dead project, which is what happened with CodePress. (It hadn’t been developed for more than a year in a half when it was first introduced in WordPress. Introduced in 2.8; pulled in 2.8.1 due to bugs and browser support.) On the other hand, CM looks to be actively developed (last release earlier this month).

    I have an email out to the EA developer, sent a good three months ago, with no reply, so this is a no-brainer at this point. (I plan to reach out to the CM dev this week.) I also plan to ask Andrew Ozz and Daryl Koopersmith give me feedback on the JS quality, but I’m confident CM is a good choice from what I’ve seen.

    Enough about third-party code:

    I spent a good deal this week working on the revisions API. While you don’t want to see my whiteboard, the code might just be worse (own worst critic?), so I’m going to spend some time this weekend cleaning it up before checking it in. That should complete the revisions API, and allow me to integrate it with the theme editor.

  • Andrew Nacin 4:42 pm on June 19, 2010 Permalink | Reply  

    I’m a bit behind on posting this week, thanks to 3.0’s final release and a trip out of town. I’ll be checking in code later this weekend (currently laying low and out of town) that forms the basic structure of the revisions API, which is the core of the project. This week I hope to evolve the API some more and run some tests on its robustness, based on how it might be used, which would then be followed by integrating revision generation with the theme editor itself.

  • Andrew Nacin 10:09 pm on June 10, 2010 Permalink | Reply  

    Lots of good code and discussions this week.

    I have structured out how the revisions API will look, and now my goal is to finish those up and check them in over the next few days. I have decided on a preliminary storage schema as well (two post types and a taxonomy), and based on the API and how I need to query different objects, I will decide whether I will want to add a third post type.

    I also plan to commit some nifty third-party stuff this weekend, namely diff creation and viewing, and real-time syntax highlighting. Then it comes down to integrating the revisions API with the editor itself, then sandboxing and figuring out the UI.

  • Andrew Nacin 3:43 am on June 4, 2010 Permalink | Reply  

    Theme revisions week 2 — I’m nearly done finalizing my project scope, which is half the battle it seems. Now that work on 3.0 is pretty much over with, I just re-discovered the concepts of both time and sanity, both assisted by using this as a light transition week. I should be able to leverage my final scope into tangible code (yay!) beyond the early prototypes starting this weekend.

    • Jane Wells 2:06 pm on June 4, 2010 Permalink | Reply

      A reminder: scope and planning was meant to be done during the warming up period, and you should have been coding on your GSoC project since May 24. You should take a step back from core committing and use all your time to catch up on this, or you will be in danger of not meeting the requirements for GSoC participation.

    • Andrew Nacin 7:52 pm on June 5, 2010 Permalink | Reply

      The scope itself has been finalized since SF — I basically just needed to strike ideas declared for dead from my original proposal and paste it here. I’ve done so in the form of a feature checklist: project page. Now I’m warming up to check in a large batch of code.

    • Andrew Nacin 12:17 am on June 6, 2010 Permalink | Reply

      Just to update my week’s progress, I’ve checked in my initial plugin structure, http://gsoc.trac.wordpress.org/changeset/133. This replaces the existing theme editor in core (though there may be some potential bugs) and I’ll be able to build off of this further. My next step is to start pulling some code in from various scripts I have prototyped, i.e. my initial work on sandboxing, revision generation, etc.

  • Andrew Nacin 7:35 am on May 27, 2010 Permalink | Reply  

    I’ve been swamped with getting WordPress 3.0 ready for RC1. Hoping to finalize the project scope later this week then dive right in.

  • Andrew Nacin 7:35 am on May 20, 2010 Permalink | Reply
    Tags: nacin   

    Theme revisions, an introduction 

    I’m Andrew Nacin, from the George Washington University in Washington, D.C. (UTC -4), and I am one of the core WordPress committers. I will be working on a theme revisions project, the scope of which will be finalized this week (and posted here). I met my mentors, Andy Skelton and Beau Lebens, at WordCamp San Francisco, and I am quite excited to be working on this project with their guidance.

    I outlined the general idea of my project on my blog a few months ago, which is to develop an advanced theme revisioning system, improving the theme editor in the process. The abstract of my proposal:

    I intend to build an advanced theme editing and revisioning system. The main focus would be to develop revisioning and snapshots for theme files (and themes themselves). In some respects, the project is a bundled series of improvements of the existing theme editor, which the project aims to replace in core. Revisions would be stored as a custom post type and would be backed by a diff engine. Additional goals are to identify and implement a replacement for CodePress and sandbox functions.php.

    I would go further, but an idea to seamlessly utilize child themes hit some technical roadblocks during conversations in San Francisco, so that part of the project is going to be reworked into better child theme support in core.

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc