Development/Priorities: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(Created page with "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 ...")
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Status | 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 [[MetaBrainz_Meeting|dev meetings]] or browsing the [[discourse:tags/metabrainz-meeting-notes|meeting notes]].}}
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.


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.
== Summer 2015 ==


For summer 2015, following [[RobertKaye]] taking over the development leadership of the MusicBrainz team, the following priorities exist for the dev team, in order of most important to least important:
For Winter 2017, the following priorities exist for the dev team, in order of most important to least important:

== Ongoing tasks ==


# '''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.
# '''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.
# '''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.
# '''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.
# '''Community improvement features:''' The only new features that we're going to focus on in the short term are features that address problems within our community. (e.g. MBS-1801)
# '''Bug fixing/finishing existing features:''' Fixing bugs or finishing tasks left over from the recent schema change.
# '''Apply new branding to musicbrainz.org:''' In lieu of moving to a full bootstrapped site, we should do minor cosmetic changes to the existing header bar and update the site to use the new MusicBrainz colors.
# '''New features:''' Creating new features or starting new sub-projects should not be considered this summer, since we have a lot of things that are higher priorities.
# '''New schema change features:''' Aside from finishing the May 2015 schema change features, we're not going to have another schema change in 2015. We're skipping the fall schema change.


== Focus areas ==

=== MusicBrainz/CAA ===

# '''React''': Finish rewriting UI templates to React ([https://tickets.metabrainz.org/browse/MBS-8609 MBS-8609])
# '''SOLR''': Make SIR easier to use/deploy on slave server, so as to update the MusicBrainz Virtual Machine ([https://tickets.metabrainz.org/browse/MBVM-38 MBVM-38]).
# '''Schema change 2019 Q2''': Finish UI of new features of [https://blog.metabrainz.org/2019/03/07/schema-change-release-may-13-2019/ 2019 Q2 schema change].
# '''Fixes/Features''': Continue fixing issues and implement new features based on community feedback.

=== ListenBrainz/MessyBrainz ===

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

=== CritiqueBrainz ===

Gentlecat: please add items.

=== AcousticBrainz ===

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

==== Further afield (Summer) ====
# Bigquery data shipping and statistics
# Server-side versioning for new extractor and storage of detailed lowlevel files

=== BookBrainz ===

# '''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 (in progress)
#* Review contribution pages and FAQ on website
#* <s>Automatically create Edition Groups for Editions</s>
#* <s>Docker containerization and hosting/deployment with other MetaBrainz projects</s>
#** <s>Migrating to the shared Postgres and Redis instances</s>
#** <s>Dockerize and configure webserver</s>
#** <s>Migrate to the Hetzner servers</s>
#** <s>Add beta.bookbrainz.org to test beta code on main database</s>
# '''Documentation''':
#* Consolidate and improve user and developer documentations
#* Create style guidelines
# '''Develop and deploy an API ([https://api.test.bookbrainz.org/1/api-docs in progress])'''
# '''Incremental database dumps'''
# '''Create a unified form to ease the process of adding a book'''
# '''Replace Elasticsearch with Solr search engine'''<br /> On top of improving the search capabilities, this will align BookBrainz with MusicBrainz and reduce deployment and hosting work
# '''Review schema and add new Entities''' after a community review and decision period
# '''Data importing''':<br /> Large scale data imports from other open-source databases. This will require community decisions on automation, validation, merging and cleaning.
# '''Cosmetic improvements to the web UI/UX'''
# '''Collaboration with other book databases''':<br /> Link with other open-source libraries and create collaborative tools to improve and keep data up to date
# '''Accessibility and Internationalisation, improve experience on handheld devices'''
# '''Integration with CritiqueBrainz'''
# '''Integration with the Internet Archive to display book covers'''
# '''User collections'''


== Autumn 2015 ==
=== Sysadmin ===


# '''Analytics''': Setup piwik to gain insights into our traffic
The priorities for autumn have not been set yet -- please check back at the beginning of autumn.
# '''Site performance''': Use insights from analytics to prioritize tasks for site performance improvements
# '''Backups''': Set up comprehensive back-ups of our NewHost servers (and make sure that they [https://about.gitlab.com/2017/02/01/gitlab-dot-com-database-incident/ work]).
# '''API Keys''': Support API keys and different rate limits on our APIs.


'''Important note:''' We are not going to have a schema change release near October 15th. We're now well into summer and we still have not finished the schema change release UI from the last release. We really need a break from schema changes to focus on community related features.


[[Category:Development]]
[[Category:Development]]

Revision as of 12:34, 24 September 2019

Status: 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.

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. SOLR: Make SIR easier to use/deploy on slave server, so as to update the MusicBrainz Virtual Machine (MBVM-38).
  3. Schema change 2019 Q2: Finish UI of new features of 2019 Q2 schema change.
  4. Fixes/Features: Continue fixing issues and implement new features based on community feedback.

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.

CritiqueBrainz

Gentlecat: please add items.

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 (in progress)
    • 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.
  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.