History:Music Collection Notes

From MusicBrainz Wiki

NOTE: This is work in process. The description is rough. I'll be linking from here to descriptions of stuff later.


Here I (Niklas Berglund) am gathering documentation for the "Music collection" project. For more info refer to my blog at http://niklasbe.wordpress.com and the MusicCollectionIntroduction page.

Data model

The data model is described at MusicCollectionDataModel.


A list of the functionality(both "must have" and "nice to have" was listed in a file(http://lighthead.info/niklas/GSoC/functionality.rtf) along with my project proposal I sent before being accepted. It has since been a bit updated. Here it will be further described.

This project aims to help users keep their music collection up to date. You can compare your digital music collection with existing releases of selected artists to see which releases are missing in your collection. You can also be notified about new releases from specified artists.

This functionality will be implemented in the MusicBrainz website so that users of the website can use it. A precondition for comparing ones collection with available releases is that the collection has been tagged with a MusicBrainz tagger(e.g. Picard). One can then use a command line tool to submit collection info to the server.

Initially users will be able to specify which artists to be notified about upcoming releases of and which artists to view missing releases of. More preferences will hopefully follow later on.

Must have functionality

Here the "must have" functionality is listed. By "must have" functionality I mean the minimum of functionality that has to be implemented for me to pass my Google Summer of Code project.

Cross-platform tool for sending collection info

  • Extract MBID from songs in selected directory/directories
  • Store MBIDs in a data file
  • Upload the data file to server
    • Identify user with username and password
  • Command line interface

Server-side script for receiving data file of MBIDs

  • Insert MBIDs to database

Web interface

  • Display user's collection
  • Tracking of new releases
    • User can select artists to track
    • Notify on new releases
      • Display new releases to the user on the website when logged on
  • Settings
    • Send notifications about new releases by email or not
    • Set email address
  • Display missing releases
    • User can select artists to display missing releases of
    • Display missing releases

Nice to have functionality

Will be further described later. Can be seen listed at http://lighthead.info/niklas/GSoC/functionality.rtf