Personal tools

BMO/Roadmap 2014

From MozillaWiki

< BMO
Jump to: navigation, search

Contents

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
  • [bmo] [p2] system for tracking a review's lifetime

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
  • [p4] 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