BMO/Roadmap 2014

From MozillaWiki
< BMO
Revision as of 04:41, 3 January 2014 by Glob (talk | contribs) (Created page with "= BMO 2014 roadmap = == legend == * [bz] Upstream Bugzilla * [bmo] BMO Specific * [p1] Most Important * [p4] Least Important == API == * [bmo] [p1] bzapi compatibility ext...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

BMO 2014 roadmap

legend

  • [bz] Upstream Bugzilla
  • [bmo] BMO Specific
  • [p1] Most Important
  • [p4] Least Important

API

  • [bmo] [p1] bzapi compatibility extension
    • deprecating and decommissioning api-dev endpoint
  • [bz] [p2] rest redesign
    • redesign endpoints, drawing heavily from bzapi's design
    • investigate using oauth with api-keys instead of user/pass

UI/UX

  • [bz] [p3] responsive design
    • tables for layout --> divs
    • show_bug only
  • [bz (framework) bmo (ext)] [p3] user roles / show_bug alternatives
    • required: responsive design
    • initially javascript to hide/show selected fields
  • [bmo] [p3] complete sandstone (footer, etc)
  • [bz] [p3] migrate from yui2 to yui3 or jquery
    • propose splitting the bug and work:
      • a line-for-line yui2 --> yui3 migration
      • then change to more modern js (csp, etc)
  • [bz] [p4] show/edit mode
    • requires: responsive design
    • default to show
    • hide fields without values set
    • edit to show all fields
  • [bz] [p4] markdown support
    • requires custom markdown library
    • limited markdown code only (no html, no image embedding)
    • glob has a functional POC
  • migrate sandstone skin upstream, make default
    • split to match upstream css assets
    • replace mozilla branding
    • license?
    • retain skin specific header and footer, or rework all skins to use sandstone's html?

Performance

  • [bz] [p1] memcached
  • [bz] [p1] api throttling
    • required: memcache
    • cache REST requests with memcache
    • prevent too-frequent polling with identical requests, and accidental DDOS
    • a 5 minute cache of duplicate bzapi requests would have a 25% hit rate
  • [bmo] [p2] standardise instrumentation
    • [p2] new relic integration
  • [?] build standard system for logging
    • currently just write to apache's error log, access via syslog
    • need to log all api calls, which aren't currently visible (POSTs)
    • log to database table, in background process?
  • [bmo] [p3] push notifications
    • pub/sub system (pulse and websockets)
    • just push the bug-id and delta-ts
  • [bz] [p4] explore consolidation of stylesheets at checksetup time, minimising javascript
    • requires an "is development" setting in localconfig

Push BMO Customisations into Upstream Bugzilla

  • [p1] inline history
  • [p1] component watching
  • [p2] securemail
  • [p2] user activity report
    • needs a webservice endpoint
  • [p2] patchreader
    • uninit warnings need to be resolved first
  • [p3] profile.creation_ts
  • [p3] administration reports and tools

Migrate Tools From Command Line Scripts To CGI

  • create an "admin's toolbox"?
  • [p4] project honeypot integration
  • [p4] anti-spam

Community Engagement / Ecosystem

  • migrate from bzr to git
  • focus on documentation
  • identify a point of contact for new contributors (mentors)
  • reach out to known contributors
  • clearly set expectations (code review times, etc)
  • regular meetings with agendas and summaries
  • code review guidelines, especially with regards to new contributors
  • extensions and dashboards database
    • proper database app, with filters etc
  • investigate migrating off mod_perl to fastcgi
    • revisit plack
  • documentation
    • separation of documentation into target audiences (user guide, admin/install guide, hacking guide, api consumer guide)
    • hosting of both upstream and site specific docs