From Creative Commons
Revision as of 06:55, 7 February 2014 by Dan Mills (talk | contribs)
Jump to: navigation, search

The site is our main website, which has significant traffic (.5m/month).

Because the site has many internal components that must inter-operate correctly for the site to function, and also due to the traffic load, the site must be carefully updated in a coordinated way. We have developed a weekly release schedule with different stages for development, localization, and QA, which you can read about below.

Release Schedule

All times in Pacific Time (GMT-8 or GMT-7, depending on daylight savings).

The release schedule repeats these stages weekly:

Beginning with the Tuesday morning push, the source tree is re-opened for changes. Approved patches (changes) may be committed until the tree closes on Thursday night.
String Freeze
At the end of Thursday (midnight Friday) the source tree enters a string freeze. This means that no changes are allowed which would modify or add strings marked for localization. This allows our translators 3 full days (including the weekend) to work on translations.
Changes which modify/add strings may land on a branch which can be merged at a later date (for a future release).
Full Freeze
On Sunday night (midnight Monday) the source tree is locked down, and no changes are allowed. This gives us one day where we can QA the site by using the staging site, before releasing it to production on Tuesday morning
Changes may land on a branch which can be merged at a later date (for a future release).

Note that changes to the production site happen only on Tuesday mornings. No changes are pushed to the live site at any other time, with the exception of emergency situations or any pre-approved releases (at the discretion of the module owner).

However, changes can always (and often should) land on branches with which we can launch temporary servers for public testing.


Sources for the site are available on GitHub. Proposed changes can be submitted as pull requests to the appropriate module(s).

Editing Guide

We've developed a guide explaining how to edit the website, step by step (assumes you have the necessary permissions to do so).


All issues, including both bugs (problems) as well as desired changes must be reported on the GitHub issue tracker. In case of emergency, please also email

Issues are evaluated at the weekly triage meeting, where we decide what we will work on, and in what order.


String localization is done on Transifex. Please contact a team member if you need to get set-up.

Strings are automatically updated every 15 minutes during the time the tree is open, from Tuesday morning (after the push to production) until the end of the string freeze on Sunday night. These changes are visible for testing on the staging site.