Kuma Report, March 2017
Here’s what happened in March in Kuma, the engine of MDN:
- Shipped content experiments framework
- Merged read-only maintenance mode
- Shipped tweaks and fixes
Here’s the plan for April:
- Clean up KumaScript macro development
- Improve and maintain CSS quality
- Ship the sample database
Done in March
Content Experiments Framework
We’re planning to experiment with small, interactive examples at the top of high-traffic reference pages. We want to see the effects of this change, by showing the new content to some of the users, and tracking their behavior. We shipped a new A/B testing framework, using the Traffic Cop library in the browser. We’ll use the framework for the examples experiment, starting in April.
Read-Only Maintenance Mode
We’ve merged a new maintenance mode configuration, which keeps Kuma running when the database connection is read-only. Eventually, this will allow MDN content to remain available when the database is being updated, and lead to new distributed architectures. In the near term, we’ll use it to test our new AWS infrastructure running production backups, and eventually against off-peak MDN traffic.
Shipped Tweaks and Fixes
Here’s some other highlights from the 15 merged Kuma PRs in March:
- PR 4134: Change logout from a GET to a POST, possibly ending a long-standing random logout annoyance (safwanrahman).
- PR 4152: Use gulp to process .scss files, speeding up local development (jpetto).
- PR 4153: Import sample MDN DB when creating demo instance (metadave)
- PR 4154: Add API service to demo deploys (jgmize). These two PRs make demo instances useful for testing rendering.
KumaScript continues to be busy, with 19 merged PRs. There were some PRs from new contributors:
- PR 134: l10n LegacyAddonNotice.ejs to zh-CN (yfdyh000).
- PR 139: Fix es7 and latest draft macros (leobalter).
- PR 140: Add some pt-br translations (leobalter again!).
Planned for April
We had a productive work week in Toronto. We decided that we need to make sure we’re paying down our technical debt regularly, while we continue supporting improved features for MDN visitors. Here’s what we’re planning to ship in April:
Clean Up KumaScript Macro Development
KumaScript macros have moved to GitHub, but ghosts of the old way of doing things remain in Kuma, and the development process is still tricky. This month, we’ll tackle some of the known issues:
- Remove the legacy macros from MDN (stuck in time at November 2016)
- Remove macro editing from MDN
- Update macro searching
- Start on an automated testing framework for KumaScript macros
Improve and Maintain CSS Quality
We’re preparing for some future changes by getting our CSS in order. One of the strategies will be to define style rules for our CSS, and check that existing code is compliant with stylelint. We can then enforce the style rules by detecting violations in pull requests.
Ship the Sample Database
The Sample Database has been promised every month since October 2016, and has slipped every month. We don’t want to break the tradition: the sample database will ship in April. See PR 4076 for the remaining tasks.