BMO/Roadmap 2014

From MozillaWiki
< BMO
Jump to: navigation, search

Context

This was drawn up in July 2014 and last updated November 2015. This document is for historical purposes; see BMO/Road Map for our current road map. As noted below, many items were completed, and the rest are being carried over, possibly with different priorities.

legend

  • [p1] Most Important
  • [p4] Least Important

API

  • [DONE] [p1] bzapi compatibility extension
    • deprecating and decommissioning api-dev endpoint
  • [p2] rest redesign
    • redesign endpoints, drawing heavily from bzapi's design
    • [DONE] investigate using oauth with api-keys instead of user/pass
  • [DONE] [p2] system for tracking a review's lifetime

UI/UX

  • [p3] responsive design
    • [DONE] tables for layout --> divs
    • show_bug only
  • [p3] user roles / show_bug alternatives
    • required: responsive design
    • initially javascript to hide/show selected fields
  • [p3] complete sandstone (footer, etc)
  • [ON TRACK] [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)
  • [DONE] (but needs to be made default) [p4] show/edit mode
    • requires: responsive design
    • default to show
    • hide fields without values set
    • edit to show all fields
  • [ON TRACK] (we'll get this when we merge in upstream trunk) [p4] markdown support
    • requires custom markdown library
    • limited markdown code only (no html, no image embedding)
    • glob has a functional POC
  • [p1] inbound email
  • [p2] (in upstream trunk) bug updates without bugmail
    • "minor edit" mode
    • allows bulk updates through API without generating tonnes of bugmail; means we don't have to script things
    • restricted to a group
  • [p2] quick edits
    • allows updating of comment within a short period; no bugmail sent for email
    • edit period ends if bug changes
  • [DONE] [p3] bitly URLs for searches
  • [DONE] [p3] OS/platform fields
  • [p2] clean up attachment page
  • [p4] instant search expansion
  • [p4] search UX
    • common searches

Performance

  • [DONE] [p1] memcached
  • [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
  • [DONE] [p2] standardise instrumentation
  • [DONE] [p2] 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?
  • [DONE] [p3] push notifications
    • pub/sub system (pulse and websockets)
    • just push the bug-id and delta-ts
  • [DONE] [p4] explore consolidation of stylesheets at checksetup time
    • requires an "is development" setting in localconfig
  • [p1] enter_bug perf