Here’s what happened in July in
the engine of
MDN Web Docs:
- Shipped the new design to all users
- Shipped the sample database
- Shipped tweaks and fixes
Here’s the plan for August:
- Continue the redesign and interactive examples
- Update localization of macros
- Establish maintenance mode in AWS
Done in July
Shipped the New Design to All Users
In June, we revealed the new MDN web docs design to beta testers. In July,
Stephanie Hobson and Schalk
Neethling fixed many bugs, adjusted
styles, shipped the homepage redesign, and answered a lot of feedback.
The new design was shipped to all MDN Web Docs users on July 25, and the old
design files were retired.
The redesign was a big change, with some interesting problems that called for
creative solutions. For details, see Stephanie’s blog post,
The MDN Redesign “Behind the Scenes”.
Shipped the Sample Database
The sample database project, started in May 2016, finally shipped in July.
Data is an important part of Kuma development. With the code and backing
services you get the home page, and not much else. To develop features or test
changes, you often need wiki pages, historical revisions, waffle flags,
constance settings, tags, search topics, users and groups. Staff developers
could download a 2 GB anonymized production database, wait 30 minutes for it to
load, and then they would have a useful dev environment. Contributors had to
manually copy data from production, and usually didn’t bother. The sample
database has a small but representative data set, suitable for 90% of
development tasks, and takes less than a minute to download and install.
The sample database doesn’t have all the data on MDN, to keep it small.
There are now
for adding more production data to your development database.
This is especially useful for development and testing of
which often require specific pages.
Finally, integration testing is challenging because non-trivial testing
requires some known data to be present, such as specific pages and editor
accounts. Now, a testing deployment can combine new code with the sample
database, and automated browser-based tests can verify new and old
functionality. Some tests can change the data, and the sample data can
be reloaded to a known state for the next test.
Shipped Tweaks and Fixes
There were many PRs merged in July:
- Kuma PR 4338:
Move the locale files from kuma to their own repository,
from John Whitlock.
This will allow for the higher volume of locale changes when KumaScript
string are added, without requiring unnecessary source builds.
- Interactive Examples PR 156:
Update to publishing to S3, fixing
issue #54, from
The S3 bucket, resources, and process were set up by
Dave Parfitt, with details in
mozmeao/infra issue #362.
- Kumascript PR 220:
Update specification names and URLs. This is the first contribution from
- Kumascript PR 231:
Add Ukrainian (uk) translations for the Glossary macro. Another first
- Kumascript PR 241:
Fix API calls such as
page.subpagesExpand, making more macros
work in the Docker development and production environments, from
- Kumascript PR 248:
The first of many PRs adding Brazilian Portuguese (pt-BR) from
first time contributor
- Browser Compat Data PR 278:
Edge does support iterator, according to the first-time contributor
- Browser Compat Data PR 286:
There’s no such thing as IE 15, according to first-time contributor
- Browser Compat Data PR 301:
Add MS Edge support for localization, from first-time contributor
- Data PR 99:
Add schema validation for groups parameter, from
Planned for August
Continue the redesign and the interactive examples
We’ve established the new look-and-feel of MDN on the homepage and article
pages, and will continue to tweak the design for corner cases and bugs. For the
next phase, we’ll look at the content of article pages, and consider better
ways to display information and to navigate within and between pages. It is
harder to change these aspects than global headers and footers, so it may be
a while before you see the fruits of this design process.
Work continues on the interactive examples. They have gone through several
review and bug fix cycles, and have a working production deployment system.
There’s been interest and work to enable contributions
In August, we’ll launch user testing, and enable the new examples for beta
testers. See the
for the remaining work.
Update Localization of Macros
Currently, KumaScript macros use in-macro localization strings and
utility functions like
to localize output for three to five languages. Meanwhile, user interface strings in
Kuma are translated in
Pontoon into 57 languages. We’d
like to use a similar workflow for strings in macros.
In August, we’ll assemble the toolchain for localizing strings at render time,
and for extracting the localizable strings for translation in Pontoon.
Converting the macros to use localizable strings will be a long process, but
there’s a lot of community interest in translations, so we should get some
Establish Maintenance Mode in AWS
Over the past 12 months, we’ve made some changes to MDN development, such as
switching to a Docker development environment, moving Kumascript macros to
Github, and getting our browser-based integration tests working. There are
benefits to each of these, but they were chosen because they move us closer to
our long term goal of serving MDN from AWS. We’ve slowly filled out our
tech tree from our
In August, we plan to prepare a maintenance mode deployment in AWS, and send
some production traffic to it. This will allow us to model the resources
needed when the production environment is hosted in AWS. It will also keep MDN
data available while the production database is transferred, when we finalize
Here’s what happened on the MozMEAO SRE team from July 18th - July 25th.
We started discussing hosting for the MDN Live Sample Code Editor using a strategy similar to what was used for IRLPodcast.
- MDN discussion here.
- Infrastructure discussion here.
Ireland Deis 1/Fleet cluster decommissioning
Now that our Frankfurt Kubernetes cluster is up and running, we’re getting ready to decommission our Ireland Deis 1/Fleet cluster.
Once the Ireland cluster has been shut down, we’ll continue on to our Portland cluster.
Virginia cluster decom
In order to decommission our Virginia Kubernetes cluster, we need to finish moving a few smaller apps to a different region or hosting:
snippets-stats are now running in our Frankfurt cluster and have been added to each respective Route 53 traffic policy.
Here’s what happened on the MozMEAO SRE team from July 11th - July 18th.
Decommissioning old infrastructure
We’re planning on decommissioning our Deis 1 infrastructure starting with Ireland, as our apps are all running on Kubernetes in multiple regions. Once the Ireland cluster has been shut down, we’ll continue on to our Portland cluster.
Additionally, we’ll be scaling down our Virginia cluster, as our apps are being moved to regions with lower latencies for the majority of our users.