Websites/Mozilla.org/One Mozilla: Difference between revisions

no edit summary
(Created page with "Overview: made these into slides: http://jlongster.com/s/moz-com-dev/ Now that we're running the Firefox product site (formerly mozilla.com) under mozilla.org/firefox, we're re...")
 
No edit summary
Line 1: Line 1:
Overview:
'''Overview:'''<br>


made these into slides: http://jlongster.com/s/moz-com-dev/
Now that we're running the Firefox product site (formerly mozilla.com) under mozilla.org/firefox, we're ready to move to the next step (one of many) to build a real One Mozilla, a single platform where Mozilla.org and Mozilla product sites (Firefox, Thunderbirds, Apps, etc.)&nbsp;can co-exist and share code.


Now that we're running the Firefox product site (formerly mozilla.com) under mozilla.org/firefox, we're ready to move to the next step (one of many) to build a real One Mozilla, a single platform where Mozilla.org and it's product sites can co-exist and share code.
<br> '''Why Build a New Platform?'''  


Why Build a New Platform?
Mozilla.org is a pretty simple static content site (though, we have a lot of it!), but working on the site has become increasingly hard over the past few years. Here are some of our pain points (some might sound all too familiar to you in your job):


Mozilla.org is a pretty simple site of static content (a lot of it!), but working on the site has become increasingly hard over the past few years. Here are some of our pain points:
<br>


Current pain points with mozilla.com's architecture/platform:
*'''Mobile,''' we currently don't have framework for handling mobile pages
http://jlongster.com/s/moz-com-dev/
*'''Templates,''' we currently don't have clear separation of templates and code, which is messy, hard to understand
*'''SVN, '''we currently use SVN instead of GIT and SVN doesn't excel when it comes to tracking features and managing rollouts quickly
**(Here's more on our SVN pains: [http://jlongster.com/s/git-transition/ http://jlongster.com/s/git-transition/])
*'''Libraries, '''we currently can't leverage popular libraries of optimizations that other mozilla sites use
 
<br> '''Why Bedrock'''
 
*Mobile, we will have libraries to handle mobile views of pages with a lot of nice features (keeps track of user's preference, uses templates to reuse code, etc)
*Templates, we will have a powerful templating system: jinja2 ([http://jinja.pocoo.org/docs/ http://jinja.pocoo.org/docs/])
*GIT, we will build on top of git instead of SVN, which allows for easy branching and merging for rolling out (until we create a new workflow that the community weighs in on, localizations will still be kept in SVN)
*Libraries, we'll be able to benefit from a number of awesome Python libraries:
**django-mobility, mobile detection/redirection, [https://github.com/jbalogh/django-mobilit https://github.com/jbalogh/django-mobility]
**jingo, jinja2 template integration with django,[https://github.com/jbalogh/jingo jingo-minify https://github.com/jbalogh/jingo jingo-minify]
**JS/CSS minifier, [https://github.com/jsocol/jingo-minify/ https://github.com/jsocol/jingo-minify/ ]
**django-waffle, feature flipper for continuous deployment, [https://github.com/jsocol/django-waffle https://github.com/jsocol/django-waffle]
**django-celery, celery (async task manager) integration with django, [https://github.com/ask/django-celery https://github.com/ask/django-celery]
**django-qunit, quint testing integration, [https://github.com/kumar303/django-qunit https://github.com/kumar303/django-qunit]
**django-nose, nose test runner, [https://github.com/jbalogh/django-nose https://github.com/jbalogh/django-nose]
 
These libraries are currently being used and actively developed on other Mozilla sites.
 
<br> Most of this and more can be found at "Current Pain Points with Mozilla.com's Architecture/Platform": [http://jlongster.com/s/moz-com-dev/  http://jlongster.com/s/moz-com-dev/]
718

edits