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

From MusicBrainz Wiki
Jump to navigationJump to search
No edit summary
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The MetaBrainz Foundation is proud to present the first beta of the long anticipated [[Next Generation Schema|next generation schema]] (NGS). This beta release is the effort of numerous developers and years of planning, designing, and programming.
The MetaBrainz Foundation is proud to present the first beta of the long anticipated [[Next Generation Schema|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.
Nontheless, here we finally are!


NGS has been well worth the wait, go explore!
== 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.


== Schema change ==
== How to test ==
:''Want to report a bug? Visit [http://jira.musicbrainz.org JIRA] and click "Create Issue".
The "next generation schema" is a broad term for the schema changes required to expand the depth of information MusicBrainz collects. The schema changes are vast, and at the moment we are focusing on realizing some of the most important of these changes.

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?<sup>*</sup>
** When recordings were merged, were they merged correctly?<sup>*</sup>
** Were the appropriate artist credits created for collaborations?<sup>*</sup>
* Testing the search engine
* Testing the web service

<small><sup>*</sup>'''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.</small>

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 [http://jira.musicbrainz.org 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 ===
=== Artist credits ===
For a full briefing, see the [[Artist Credit|artist credit documentation]].
Often, artists work together on tracks and albums in various ways, but it is difficult to credit them. Not only this, but some artists have minor differences in the spelling of their name over different releases, and this information has been hard to capture in the past.


=== New website design ===
In this server release we have implemented artist credits in places where the artist would have been credited previously. For example, the release artist and track artist fields now display artist credits. To help enter these artist credits an inline JavaScript editor has been added to the release editor. Sadly, this means that this server release is not yet compatible with browsers that have JavaScript disabled, though we hope to address this in a future beta release.
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.


Artist credits bring two main changes:
== Releases model changes ==
<!-- I would like to see a post-NGS [[Release Model]] documentation page that uses a similar structure and possibly information to the following. The release model page would replace the contents of the current release/release event pages. navap -->


NGS brings numerous changes to the MusicBrainz "release model".
==== Collaborations ====
The first is the ability to link multiple artists to one release or recording, instead of having to create fake "collaboration artists". For example, the single "Under Pressure" being credited to the fake artist of "[[Artist:25f54bb7-c393-44e4-8e26-e4f4cd7aa61c|Queen & David Bowie]]".


Previously, a [[Release|release]] represented a single disc, it contained a list of tracks, and it could have multiple [[Release Event|release event]]s 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.
Artist credits solve this by instead linking the single to an artist credit that contains the two distinct artists, "[[Artist:383dadf-2a4e-4d10-a46a-e9e041da8eb3|Queen]] & [[Artist:5441c29d-3602-4898-b1a1-b77fa23b8e50|David Bowie]]", and making it available from both artist's pages.


==== Name variation ====
=== Release ===
With NGS the release model has been vastly improved upon. A [[Release|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.
The second change is the ability to credit an artist with a different name. For example, the artist [[Artist:abe931fd-bc88-40ee-ba42-f0ef2dc2eba5|S.P.Y.]] can now be credited on a release with the name variation of "[[Artist:abe931fd-bc88-40ee-ba42-f0ef2dc2eba5|SPY]]".


=== Releases & Mediums ===
=== 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.
Releases in current MusicBrainz terminology represent a single disc, and there is no accurate way to group these entities together. NGS addresses this issue with another type of entity - the medium. A release now represents a final product that a customer would buy. Releases have 1 or more mediums, which could be a set of CDs, vinyl discs, or any combination of these. The easiest way to think about all of these is to remember the following:


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|release format]], i.e. CD, DVD, vinyl, cassette, etc.
* A '''release''' is the finished product that a consumer would purchase, which consists of many...
* '''Mediums''' which contain the actual audio content to listen to. Mediums have a specific type of '''format''' - CD, vinyl, digital media, etc


=== Tracklists & Recordings ===
=== Tracklist ===
With the introduction of mediums, we have also introduced a new concept - the tracklist. Sometimes exact same tracklist is featured on many different releases (for example, a CD single and a vinyl single, or boxset compilations). A tracklist is a bridge between a medium and the tracks it contains, which allows the same tracklist to appear on many different mediums.
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 ===
Tracks are often released on multiple tracklists - for example, it is fairly common to have different tracklists depending on the region a release is released in. To group these different tracks together we now have recording entities. Recordings are not directly part of releases, every track on a mediums tracklist has a direct link to a recording - so multiple tracks can point to the same 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.
== How to Test ==
We'd really like you to just get stuck in and start using the site! The site is certainly rough around the edges, and we've started to capture a lot of known problems already ([http://jira.musicbrainz.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+MBS+AND+status+%3D+Open as you can see]). However, if you don't manage to find an error in the server, please report it! We're using [http://jira.musicbrainz.org JIRA] to do bug reporting now, but it's straight forward - just head to that site and click "Create Issue" in the top right. Briefly tell us what you were doing, and we'll do the rest of the sorting and try and get it fixed.


== Unfinished tasks ==
== What Hasn't Yet Been Completed ==
* The ability to add new releases (though we do have a release editor to edit existing releases)
* The ability to add new releases (though we do have a release editor to edit existing releases)
* Relating to URLs
* 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 [http://bugs.musicbrainz.org/query?milestone=Server%3A+NGS+%28beta+1%29&milestone=Server%3A+NGS+%28beta+2%29&milestone=Server%3A+NGS+%28Release%29&resolution=fixed Trac] and [http://jira.musicbrainz.org/secure/ReleaseNote.jspa?projectId=10000&version=10000 JIRA].

== Schema changes ==
:''For a complete overview of the new schema, see the [[Next Generation Schema|schema documentation]].

== Search changes ==
:''For information on the changes to the search server, see the [[Development/XML Web Service/Version 2/Search|search server documentation]].

== Web service changes ==

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

#artist
#release-group
#release
#recording
#label
#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
[[XML_Web_Service|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
|-
| width="100" | 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 ====

# Please note that the argument type=xml is no longer required. XML is now the default encoding.
# 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:

# Any POST (write) operations
# ISRC lookup/submission
# PUID lookup/submission
# Discid lookup/submission
# Advanced relationships
# Collections
# Tags
# Ratings

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

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