Elmo/Planning: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 16: Line 16:
Notes on wireframes:
Notes on wireframes:
* [http://etherpad.mozilla.org:9000/elmo-wireframes http://etherpad.mozilla.org:9000/elmo-wireframes] (needs updating)
* [http://etherpad.mozilla.org:9000/elmo-wireframes http://etherpad.mozilla.org:9000/elmo-wireframes] (needs updating)
;Mailing list: https://lists.mozilla.org/listinfo/tools-elmo


;Code: http://hg.mozilla.org/l10n/django-site
;Code: http://hg.mozilla.org/l10n/django-site
;Open bugs: [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=%5Bdashboard%5D bugzilla], [http://l10n.mozilla.org/~stas/bugxhibit/?qs=%5Bdashboard%5D bugxhibit].
;Open bugs: [https://bugzilla.mozilla.org/buglist.cgi?quicksearch:%3Aelmo bugzilla], [https://l10n.mozilla.org/~stas/bugxhibit/?qs=%3Aelmo bugxhibit].


=Release plan=
=Release plan=


''Django app names are wrapped with square brackets: [app]''


===1. Fix current P1's===
===1. Fix current P1's===


* We still need to be able to use the dashboard while working on the new version.  
* We still need to be able to use the dashboard while working on the new version.
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=%5Bdashboard%5D+P1 There are two].
 
===2. Land todo===
* ''manage batches of tasks'': [[L10n:Dashboard/Apps/Todo]].
* If branching happens before this, land [todo] on both branches.
 
===3. Branch===
* Revisit source code management decisions.
* Set up a dev environment for testing
** https://l10n-stage-sj.mozilla.org/ remains the "production" server
** The testing server is available at a different URL (e.g. https://elmo-stage-sj.mozilla.org/), behind the user auth
*** Feedback from the localizer community is collected on every milestone for a few days, with an announcement in the newsgroup, so as to minimize the confusion about where to actually sign off.
** It uses weekly DB dumps from production
** It is static in the sense that it doesn't do compare-locales runs, doesn't poll hg for new pushes etc.
** It can be a clone of the l10n-stage-sj VM, but with all the daemons and cronjobs turned off.
* Announce the branching and the release plan in mozilla.dev.l10n
** Invite people to join #elmo on IRC


===4. Create an inventory of needs vs existing assets===
===2. Create an inventory of needs vs existing assets===
* Map wireframes to our current apps.
* Map wireframes to our current apps.
* Create the mapping of required snippets pulled from other apps for each app's views.
* Create the mapping of required snippets pulled from other apps for each app's views.
Line 51: Line 35:
* See what we already have, what will need to be changed (and how) and which pieces we're missing (read on).
* See what we already have, what will need to be changed (and how) and which pieces we're missing (read on).


===3. Formalize Elmo process: (laura)===
* Get on real infrastructure, with config management and monitoring
* Document and use new source control and deployment process
* Get WebQA involved
* Coding standard check (e.g. inline to external "bundleable" resources)
==Q2: Unordered items==
* hudson + integration test coverage (Peter)
** Move to using Hudson
** Provide test coverage
* jinja2 templates (Peter)
** Switch from django templates to jinja2


''The order of the steps that follow is subject to change.''
* workflow (stas)
==Create the message exchange backbone==
** Land the workflow app


===a) [drain]===
* homepage (Adrian)
* ''information backbone for feeds and notifications'': [[L10n:Dashboard/Apps/Drain]]
** Get new templates into production (from Lee Tom PSDs to html first)
* For each wireframe, see what sidebar data is required (feeds, watching and announcements).
* Create a consistent messages API for all apps that can be used to exchange data between them.
* …as well as to create in-page/feed/mail notifications for registered users.


==Review existing apps==
* Shipping / l10n stats
** Data 1.1 (Pike) - requires new pushes/signoff
*** Adjust the data model to the new rapid release process (axel + stas)
** (dependency on data 1.1) Merge l10nstats and shipping and get into production.  (/dashboard and /shipping/dashboard should merge into one dashboard.) (peterbe + stas)


===a) [homepage] Create the base template ===
* bugsy (stas)
* Create the HTML/CSS/JS code that is the base template
** Integrate Milos improvements Q2
* Use django 1.3 for template tags and filters.
* Unify CSS stylesheets, class names etc.
* Determine which browser the website needs to support (mobile?).


===b) [shipping]===
* metrics (laura)
* Create snippet views to be plugged in into [homepage].
** Deploy a metrics solution (web trends?)
* Review regular views to conform to the wireframes.
* Review admin views (about-milestone, milestones, locale-changes, l10n-changesets, shipped-locales, etc).


===c) [pushes]===
* drain (laura)
** Write a spec.


===d) [l10nstats]===
* webby (stas)
** revisit and remove in its current form


===e) [bugsy]===
* Infrasec review===


===f) [privacy]===
==Q3: Create new apps==


==Create new apps==
===[drain]===
* ''message exchange backbone for feeds and notifications'': [[L10n:Dashboard/Apps/Drain]]
* For each wireframe, see what sidebar data is required (feeds, watching and announcements).
* Create a consistent messages API for all apps that can be used to exchange data between them.
* …as well as to create in-page/feed/mail notifications for registered users.


===a) Create an app that talks to Verbatim===
===Create an app that talks to Verbatim===
* Might be a part of [webby] (see below).
* Might be a part of [webby] (see below).


===b) [webby] Create the webby app===
===[webby] Create the webby app===
* ''handle web projects'': [[L10n:Dashboard/Apps/Webby]]
* ''handle web projects'': [[L10n:Dashboard/Apps/Webby]]
* Create [webby] with its views (including snippet views) and models.  
* Create [webby] with its views (including snippet views) and models.  


===c) [profile] Create the profile app===
===[profile] Create the profile app===
* ''contact management and outreach'': [[L10n:Dashboard/Apps/Profile]]
* ''contact management and outreach'': [[L10n:Dashboard/Apps/Profile]]
* Create [profile] with its views (including snippet views) and models.  
* Create [profile] with its views (including snippet views) and models.  
Line 97: Line 96:
* Integrate with [drain] for notifications and the "watch" feature.
* Integrate with [drain] for notifications and the "watch" feature.


===d) [projects] Create the projects app===
===[upcoming] Create the projects app===
* ''which projects are up for l10n when'': [[L10n:Dashboard/Apps/Projects]]
* ''which projects are up for l10n when'': [[L10n:Dashboard/Apps/Projects]]
* Create [projects] with its views (including snippet views) and models.  
* Create [projects] with its views (including snippet views) and models.  


===e) [watching] Create the watching app===
===[watching] Create the watching app===
* ''create personalized dashboard pages'': [[L10n:Dashboard/Apps/Watching]]
* ''create personalized dashboard pages'': [[L10n:Dashboard/Apps/Watching]]
* Create [projects] with its views (including snippet views) and models.
* Create [projects] with its views (including snippet views) and models.
canmove, Confirmed users
1,448

edits

Navigation menu