RSS
 

Archive for April, 2010

Weekly Update for 27/04/2010

28 Apr

I know it’s a bit late and I missed last week. I’m getting better, though!

Last (2) week(s)

This week (personal)

  • WebDev OnSite. Meetings, learning, getting things done in the afternoons.
  • Get production plan in place.
    • And a contingency plan.
  • Work out a plan for live chat with Sam and Matthew.
  • Communicate with localizers our plan for the quarter.
  • Working remotely on Friday.

This week (team)

  • Start to file and fix 2.1/1.5.5 bugs.
  • Iterate on forum stub.
  • Find a wiki markup parser.
  • Cross Ts and dot is for production push.
  • Load test Kitsune.
  • Action items from the SUMOdev meeting.
 
Comments Off

Posted in Articles

 

Weekly Update for 12/04/2010

13 Apr

Last week:

  • Finished bugs 556810 (string extraction) and 554740 (Sphinx tests) and landed both.
  • Finished up work on bug 550515 (concat and minify CSS/JS) and pulled jingo-minify out of Zamboni.
  • Got Hudson up and running!
  • Wrote lots of documentation. Need to ask people if it’s enough.
  • Updated all templates with two-space indenting (bug 558228).
  • Mostly cleaned up strings for L10n (bug 557574).
  • Patched Sphinx API to stop quietly swallowing failed connections (bug 554778).

This week, team goals:

  • Get Kitsune on Verbatim.
  • Solve bug 554206/554210 (UnicodeDecodeErrors)!
  • Polish.
  • Freeze 2.0 on Friday.
  • Get unit test coverage to 90%. (It’s a bit of a stretch but let’s aim for it.)
  • Start on 1.5.4.

This week, personal goals:

  • Lightning talk for next Monday.
  • Reviews!
  • Finish 1.5.4 work (except reviews).
  • Come up with a deployment plan.
 
2 Comments

Posted in Articles

 

Testing with Legacy Data in Django

07 Apr

As we incrementally move SUMO over to Django, we often run into problems with legacy data—I’d say all of our problems so far, in fact. This one took several hours to figure out, so I thought I’d share.

Our basic problem is that we want to test our search facility, which is built on Sphinx, including indexing, searching directly, and searching through the web interface. Fortunately, Dave Dash on the AMO team tackled this in general, and I was largely able to follow his lead. But then I ran into our legacy data issues. Read the rest of this entry »

 
Comments Off

Posted in Articles

 

Weekly(?) Update for 5/4/2010

05 Apr

Attempt #2 at a weekly update.

Last week:

This week:

  • Finish out 556810 (string extraction) and 554740 (Sphinx tests and category exclusion).
  • Finish up library extraction for 550515 (concat and minify JS and CSS).
  • Get Hudson running our test suite. (bug 556449)
  • Fix up FlatQS. (bug 554206)
  • Start 1.5.4 work and come up with release documentation. (!!!)
  • Work with L10n community to figure out what we need to get over that way.
  • Reviews, reviews, reviews. (I hope.)

Stretch goals:

  • Get some better error handling when the Sphinx server is down. (bug 554778)
  • See if we can’t get the outermost templates working with RTL (bug 437891).
 
2 Comments

Posted in Articles

 

SUMO’s Black Triangle

01 Apr

A “black triangle” is an accomplishment or milestone that doesn’t look like much—it may be literally a black triangle on a screen—but is the result of a lot of preliminary or foundational work.

A black triangle often means that the pace of work is about to increase dramatically.

The phrase, for example, comes from drawing a black triangle on a monitor. It wasn’t just a triangle:

It was the journey the triangle had taken to get up on the screen. It had passed through our new modeling tools, through two different intermediate converter programs, had been loaded up as a complete database, and been rendered through a fairly complex scene hierarchy, fully textured and lit (though there were no lights, so the triangle came out looking black). The black triangle demonstrated that the foundation was finally complete – the core of a fairly complex system was completed, and we were now ready to put it to work doing cool stuff. By the end of the day, we had complete models on the screen, manipulating them with the controllers. Within a week, we had an environment to move the model through.

So what does a black triangle in a video game have to do with SUMO?

Like the game developers, we’re starting on a new system, and the new system needs a foundation. My first black triangle moment with Kitsune was a plain white screen with some page names on it. Those names were search results, and they meant that I had Django running, finding and running my code, connecting to Sphinx, collating results,  connecting to the database, getting the data, and displaying them.

It didn’t look impressive, but it was the culmination of a lot more work than you might think.

Today I merged in code that redirects from /search to /en-US/search. In a way, it’s also a black triangle. That redirect requires us to have everything from a list of languages we support to our own middleware that is capable of understanding locales at the beginnings of URLs, or in the query string, or from the HTTP Accept-Language header, and where to send you in each case. It also needs to know how to generate URLs with the correct locale, and then there were all the tests that had to be written and to pass. For just 6 characters.

But those six characters are part of the foundation the new platform. All of our interface is localizable, and when we get to rewriting the knowledge base, those six characters will be crucial.

Paul has been working on code–quite a lot of code–that can tell if you’re logged in to SUMO. This is no small feat: we’re maintaining consistent data between sessions in applications written in two completely different languages. But the result is so small you might not even notice. All you’ll see is a “log out” link instead of a “log in” link when using the search, if you’re logged in.

But in the next milestone, that session information will be an integral part of building our discussion forum.

Black triangles are incredibly exciting for the developers, because we know exactly what they are. We know what’s going on under the hood, what work went in to making them happen, and what it means we’re ready to start.

The first commit to Kitsune was nearly two months ago, and right now, we’re polishing up something that looks nearly identical to the thing it will replace. But along the way we’ve built a ton of functionality that is going to let us start building the next part, and the next part will be much more visible.

 
3 Comments

Posted in Articles