Development/Priorities: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
No edit summary
(22 intermediate revisions by 7 users not shown)
Line 1: Line 1:
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.
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:
== Summer/Autumn 2016 ==


== Ongoing tasks ==
For Summer/Autumn 2016, 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.


=== Focus tasks ===
== Focus areas ==


=== MusicBrainz/CAA ===
# '''Move all services into Docker''': Work to dockerize all of our services. Follow our [https://docs.google.com/document/d/1PEc2Qst2plvuAuU9VvfQIBFAY9Q7FPDwzyaUg7me3uM/edit planning here].

# '''Test new services in Docker''': Test at Google Cloud, initially. Then order machines from New Hosting company and start moving in there.
# '''React''': Finish rewriting UI templates to React ([https://tickets.metabrainz.org/browse/MBS-8609 MBS-8609])
# '''Move to New Hosting company''': Fully move all services to new host.
# '''SpamBrainz integration''': Enable MusicBrainz to interact with SpamBrainz for [https://summerofcode.withgoogle.com/archive/2020/projects/6499215183708160/ GSoC project].
# '''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].
# '''Schema change 2017 Q2''': Finish UI of new features of [https://blog.metabrainz.org/2017/03/13/may-2017-schema-change-release-may-15-2017/ 2017 Q2 schema change].
# '''Continuation of past GSoC projects''': Design system by chhavi and edits preview for all entity types by Cyna.
# '''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 [[MetaBrainz_Meeting|dev meetings]] or browsing the [[discourse:tags/metabrainz-meeting-notes|meeting notes]].}}

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

=== 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)
#* <s>Create an entity merging tool</s>
#* 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'''
# <s>'''User collections'''</s>

=== Sysadmin ===

# '''Analytics''': Setup piwik to gain insights into our traffic
# '''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.
# '''API Keys''': Support API keys and different rate limits on our APIs.



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

Revision as of 19:51, 18 January 2021

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