Development/Priorities

From MusicBrainz Wiki
Jump to navigationJump to search

This page attempts to outline the development team's priorities in broad strokes -- this priority list should serve as a general guideline for our team to decide what to work on when the weekly dev meetings don't provide enough guidance.

For Winter 2017, the following priorities exist for the dev team, in order of most important to least important:

Ongoing tasks

  1. Site stability and performance issues: If the site is misbehaving or not performing as it should, the dev team should focus on resolving those issues as the first priority.
  2. ModBot/Nagios: If ModBot or Nagios sends periodic emails about an issue, the dev team should address these issues quickly. ModBot fixes may not require hot-fixes, but they should be addressed as soon as possible.

Focus areas

MusicBrainz/CAA

  1. React: Finish rewriting UI templates to React (MBS-8609)
  2. SpamBrainz integration: Enable MusicBrainz to interact with SpamBrainz for GSoC project.
  3. Schema change 2019 Q2: Finish UI of new features of 2019 Q2 schema change.
  4. Schema change 2017 Q2: Finish UI of new features of 2017 Q2 schema change.
  5. Continuation of past GSoC projects: Design system by chhavi and edits preview for all entity types by Cyna.
  6. Fixes/Features: Continue fixing issues and implement new features based on community feedback.
Status: The rest of this page is more than a year out of date. Until it's updated, you can see what is actually being prioritized by the devs currently by attending the dev meetings or browsing the meeting notes.

ListenBrainz/MessyBrainz

  1. Beta site: Finish the beta re-write of ListenBrainz.
  2. Test Beta site: Create a public review site for the new version of ListenBrainz
  3. Release Beta site: Push the new beta site live, with support for importing from alpha site.
  4. Big Query: Start feeding data to BigQuery and start making data available to the public.
  5. Big Query based features: Once data is available in BigQuery, start making end user features that give insights to user about their listening habits.

AcousticBrainz

  1. Dataset infrastructure
    1. Merge dataset challenges code
    2. Integrate cross-dataset evaluation code into dataset evaluation (http://mtg.upf.edu/node/3498)
    3. Automatically artist/album filtering
    4. Integrate new datasets into live AB data
    5. Switch to scikitlearn for model generation
  2. Docker infrastructure and deployment closer to other servers

Further afield (Summer)

  1. Bigquery data shipping and statistics
  2. Server-side versioning for new extractor and storage of detailed lowlevel files

BookBrainz

  1. MVP Roadmap: bring BB to minimally viable product to grow community
    • Implement Author credits (similar to Artist Credits in MusicBrainz) (in progress)
    • Create an entity merging tool
    • Review contribution pages and FAQ on website
    • Automatically create Edition Groups for Editions
    • Docker containerization and hosting/deployment with other MetaBrainz projects
      • Migrating to the shared Postgres and Redis instances
      • Dockerize and configure webserver
      • Migrate to the Hetzner servers
      • Add beta.bookbrainz.org to test beta code on main database
  2. Documentation:
    • Consolidate and improve user and developer documentations
    • Create style guidelines
  3. Develop and deploy an API (in progress)
  4. Incremental database dumps
  5. Create a unified form to ease the process of adding a book
  6. Replace Elasticsearch with Solr search engine
    On top of improving the search capabilities, this will align BookBrainz with MusicBrainz and reduce deployment and hosting work
  7. Review schema and add new Entities after a community review and decision period
  8. Data importing:
    Large scale data imports from other open-source databases. This will require community decisions on automation, validation, merging and cleaning.(in progress)
  9. Cosmetic improvements to the web UI/UX
  10. Collaboration with other book databases:
    Link with other open-source libraries and create collaborative tools to improve and keep data up to date
  11. Accessibility and Internationalisation, improve experience on handheld devices
  12. Integration with CritiqueBrainz
  13. Integration with the Internet Archive to display book covers
  14. User collections

Sysadmin

  1. Analytics: Setup piwik to gain insights into our traffic
  2. Site performance: Use insights from analytics to prioritize tasks for site performance improvements
  3. Backups: Set up comprehensive back-ups of our NewHost servers (and make sure that they work).
  4. API Keys: Support API keys and different rate limits on our APIs.