BMO/Roadmap 2014
< BMO
legend
- [bz] Upstream Bugzilla
- [bmo] BMO Specific
- [p1] Most Important
- [p4] Least Important
API
- [DONE] [bmo] [p1] bzapi compatibility extension
- deprecating and decommissioning api-dev endpoint
- [bz] [p2] rest redesign
- redesign endpoints, drawing heavily from bzapi's design
- [DONE] investigate using oauth with api-keys instead of user/pass
- [DONE] [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)
- [ON TRACK] [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)
- propose splitting the bug and work:
- [bz] [p4] show/edit mode
- requires: responsive design
- default to show
- hide fields without values set
- edit to show all fields
- [ON TRACK] [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?
- [bmo] [p1] inbound email
- [bz] [p2] 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
- [bz] [p2] ninja edits
- allows updating of comment within a short period; no bugmail sent for email
- edit period ends if bug changes
- [bmo] [p3] bitly URLs for searches
- [bmo] [p3] OS/platform fields
- trim list
- improve behaviour (bug 579089 comment #17)
- [bmo] [p2] clean up attachment page
- [bmo] [p4] instant search expansion
- [bmo] [p4] search UX
- common searches
Performance
- [DONE] [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
- [DONE] [bmo] [p2] standardise instrumentation
- [?] 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] [bmo] [p3] push notifications
- pub/sub system (pulse and websockets)
- just push the bug-id and delta-ts
- [DONE] [bz] [p4] explore consolidation of stylesheets at checksetup time
- requires an "is development" setting in localconfig
- [bmo] [p1] enter_bug perf
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
- [DONE] 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)
- [DONE] 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