Difference between revisions of "History:Server Release Notes/NGS Beta 1"

From MusicBrainz Wiki
m (Search changes)
 
(No difference)

Latest revision as of 07:55, 23 May 2015

The MetaBrainz Foundation is proud to present the first beta of the long anticipated next generation schema (aka NGS) server release. This beta, and subsequent betas, is accessible at http://test.musicbrainz.org.

"Next generation schema" is a broad term for the major schema changes required to expand the depth of music information MusicBrainz collects, and it has taken the MusicBrainz development team many many years of planning, designing, and programming to get here. We are looking forward to receiving a lot of community feedback to ensure we squash as many bugs as possible as we move forward and start working on the second beta.

NGS has been well worth the wait, go explore!

How to test

Want to report a bug? Visit JIRA and click "Create Issue".

Not only is this a beta release but this is the first beta release, so please keep in mind that there will certainly be some rough edges and things may occasionally break. That's the bad news. But the good news is, unlike finding bugs on the main server, this time we want you to find bugs, and as many bugs as you can!

Consider this your official invite to poke and prod the server and create the most absurd use case scenarios. Some things you may want to try are:

  • Editing the database
    • Does the release editor preform unexpectedly?
    • Are there any editable fields that should be editable, but aren't?
    • Do edits pass/fail according to its votes?
    • Do edits fail mysteriously?
  • Checking that data was converted properly
    • When multi-disc releases were merged into one release, were they merged correctly?*
    • When recordings were merged, were they merged correctly?*
    • Were the appropriate artist credits created for collaborations?*
  • Testing the search engine
  • Testing the web service

*Note: Not all discs/recordings/artist credits will have been merged/created, this is usually due to there being insufficient data for the conversion script to use.

Besides bug reporting, the intention of this beta release is also to receive general community feedback: what you like, what you don't like, and even suggestions. However, when requesting new features, remember that the focus of the development team is on the second beta release and so suggestions for new features will most likely be put on the back burner for the time being.

Before reporting a new issue please do a quick search on JIRA to see if what you want to report has already been reported. If not, please report it by clicking "Create Issue" at the top right and telling us the relevant details like what you were doing, what you expected to happen, and what actually happened.

The development team appreciates your contribution!

New features

Artist credits

For a full briefing, see the artist credit documentation.

New website design

One of the major improvements this server release will have is a brand new website design and user interface. The amount of visual noise has been reduced and the overall experience had been streamlined, however, familiar key concepts (e.g. colored highlights on pending edits) have been kept.

Releases model changes

NGS brings numerous changes to the MusicBrainz "release model".

Previously, a release represented a single disc, it contained a list of tracks, and it could have multiple release events in the case where that disc has been released multiple times, e.g. an album might have been released in the UK, Germany, and the US, all with different release information (country/barcode/label/etc.). Additionally, the previous release model doesn't recognize that the same track may have been issued on different albums. The challenge here is that MusicBrainz' concept of a release ends up trying to represent several different "real world" concepts; it represents: the album the consumer purchased, the physical disc(s) (aka medium) that the audio was contained on, and the specific tracklist the medium contains.

Release

With NGS the release model has been vastly improved upon. A release now represents the specific product a consumer might purchase, e.g. you walk into a store and purchase an album, that album - and all its information and contents - is represented on MusicBrainz as one release. Information that was previously stored in a release event will now be stored at the release-level, effectively making each pre-NGS release event a separate NGS release, complete with its own MBID.

Medium

To remedy the previous problem of having a separate release for each disc, the concept of a medium has been introduced into the NGS release model. A release now contains one or more mediums.

The easiest way to think about a medium is that it represents the actual physical medium the audio content is stored upon. Mediums are what was previously known in the release event as a release format, i.e. CD, DVD, vinyl, cassette, etc.

Tracklist

With the introduction of mediums, we have also introduced tracklists. Sometimes in the real world the exact same tracklist is featured on many different releases, e.g. an album might be released in different countries with the same tracklist, a single may be released on CD and vinyl, or a boxset compilation might consist of previously released material. A tracklist is a bridge between a medium and the tracks it contains, this allows the same tracklist to appear on many different mediums.

Recording

Additionally, the tracks themselves are often released on multiple albums, e.g. it is fairly common to have different tracklists depending on the region an album is released in, but there are usually common tracks between the various tracklists. To recognize that these common tracks are indeed the same, each track on a tracklist is linked to one, recording, however, each recording may be linked to multiple tracks.

A MusicBrainz recording is what the real world might call a track. It is a separate entity from a release and has its own MBID.

Unfinished tasks

  • The ability to add new releases (though we do have a release editor to edit existing releases)
  • Relating to URLs
  • CD Stubs (all functionality)
  • Submitting CDs
  • Timeline
  • Dashboard
  • Backward compatible v1 Web Service
  • Full collection support

Fixed bugs

For a detailed list of fixed bugs, see Trac and JIRA.

Schema changes

For a complete overview of the new schema, see the schema documentation.

Search changes

For information on the changes to the search server, see the search server documentation.

Web service changes

In the Beta 1 version of the Web Service (the NGS web service), the following resources are available:

  1. artist
  2. release-group
  3. release
  4. recording
  5. label
  6. work

For each of these types, you can request data entities via MBID and collection searches using a search query. For instance, to request a release you can request:

http://test.musicbrainz.org/ws/2/release/cae2ac10-057f-3d29-9e9d-1ba58e67ab9f/?inc=artists+release-groups+recordings

Or to search the release collections, you can:

http://test.musicbrainz.org/ws/2/release/?query=<text search query>

The structure of the V2 web service is very similar to the V1 service. Please take a look at the V1 web service documentation for complete information.

Inc options for available resources

Resource Option(s)
artist aliases labels sa-album sa-single sa-ep sa-compilation sa-spokenword sa-interview sa-audiobook sa-live sa-remix sa-other sa-nat sa-official sa-promotion sa-bootleg sa-pseudo-release
release-group artists releases
release artists recordings releasegroups labels
recording artists releases
label aliases
work artists

Various artist types/statuses are not supported yet.

Differences to the V1 Web Service

  1. Please note that the argument type=xml is no longer required. XML is now the default encoding.
  2. track(s) have been renamed to recording(s). Use recording wherever you would use track previously.

Not Supported

In beta 1 the following items are not supported yet:

  1. Any POST (write) operations
  2. ISRC lookup/submission
  3. PUID lookup/submission
  4. Discid lookup/submission
  5. Advanced relationships
  6. Collections
  7. Tags
  8. Ratings