Today we released a schema change update for MusicBrainz. Schema change updates change the format of the underlying MusicBrainz database and allow us to store more information, or model information in a richer/more correct form.
Summary
This release specifically includes some exciting new features:
Areas
A new entity is this release is the “area” entity, which can track countries, subdivisions of countries, cities, and other such location entities (venues, however, will be another entity). While this release primarily only introduces the entity, migrating only our existing list of countries, it’s now also possible to add start and end locations to artists, and to mark works as anthems. Editing of areas, their aliases and annotations, and area-area and area-url relationships, is limited to a new class of “Location Editor”.
ISNI Codes
The International Standard Name Identifier (ISNI) is an ISO standard that identifies public identities of parties. We now have support for storing ISNI codes inside the MusicBrainz database, which will make it easier to cross-reference data in MusicBrainz with other databases.
Multiple Release Events
Releases can now have multiple date and country pairs, whereas previously they could only have one country and one date. This will allow us to more accurately store information about releases that occur in different areas at different dates, but are otherwise the same physical product.
Forthcoming Features
We also began work on the database support for some future MusicBrainz features:
Track MBIDs
All tracks on mediums now have unique identifiers. This will allow people to refer to a specific track in a release in a way that is more resilient to editing than just the track name or position. Currently we have database support for this, but track identifiers are not yet exposed in either the website or the web service.
Dynamic Work Attributes
Dynamic work attributes will let us introduce new attributes to describe works without schema changes
Free Text Relationship Attribute Credits
This feature will let editors specify an alternative name for relationship attributes to specifically exactly which model guitar was used in a recording, rather than the current vague “electric guitar” attribute. Support for this feature is now in the database (in the link_attribute_credit
) table, but the UI to do this editing is still to be finished.
Support more formats in the Cover Art Archive
Uploading cover art to the cover art archive will soon support a few other image formats, starting with PNG.
Other Schema Changes
The remaining smaller schema changes are:
- The wiki transclusion version mapping is now stored in the database, not a flat file.
- The
link_type.short_link_phrase
was renamed tolink_type.long_link_phrase
. - The
work.artist_credit
column was dropped. - Collections can now have a description.
Upgrading
If you are currently running a slave database, then you will need to perform a few manual steps to upgrade to the new version:
Take down the web server running MusicBrainz, if you’re running a web server.Turn off cron jobs if you are automatically updating the database via cron jobs.Make sure your REPLICATION_TYPE setting is RT_SLAVESwitch to the new code withgit fetch origin
followed bygit checkout
v-2013-05-15
Runcarton install --deployment
to install any new perl modules.Runcarton exec -Ilib -- ./upgrade.sh
from the top of the source directory.Set DB_SCHEMA_SEQUENCE to 17 in lib/DBDefs.pmTurn cron jobs back on, if needed.Restart the MusicBrainz web server, if needed.
Please see the instructions in our more recent blog post instead of these instructions.
Release Notes
This release wouldn’t have possible without help from Alastair Porter, Michael Wiencek, Nicolás Tamargo or the rest of the MusicBrainz team – thank you all for your hard work! As we missed the previous release, there are a few other changes in this release. Here are the full release notes:
Bug
- [MBS-4703] – Add Medium edit does not correctly display the auto-edit note
- [MBS-5834] – Users’ votes page mistitled as “edits”
- [MBS-5851] – Instruments are missing from the JSON webservice responses
- [MBS-5979] – Automatic redirect to beta clear release editor seeding
- [MBS-6015] – Edit Artist Credit edits affecting track ACs don’t appear in related release edit histories
- [MBS-6129] – Relationship editor isn’t correctly parsing attributes
- [MBS-6149] – Entity merges silently dropping aliases with locales
- [MBS-6178] – URL page headers are completely inconsistent
- [MBS-6196] – work/edit_form.tt includes artist credit docs
- [MBS-6249] – Add Event button broken on add release with cdtoc
Improvement
- [MBS-1346] – New Report: Artists with 0 subscribers
- [MBS-2229] – Allow multiple release events per release
- [MBS-3626] – Display license logos in the sidebar
- [MBS-3669] – Merge dated and undated relationships
- [MBS-4115] – Cover art archive: Support .png SQL changes
- [MBS-4294] – Add a “description” field to collections (SQL/UI)
- [MBS-4756] – Move the wiki transclusion index to the database
- [MBS-4866] – URL autoselect: ameblo.jp -> has blog at
- [MBS-4867] – Timeline graph rate-of-change graph should change its vertical scaling depending on where it’s zoomed
- [MBS-4925] – Add country of birth and country of death to Artist (person)
- [MBS-5528] – Change short_link_phrase to long_link_phrase
- [MBS-5772] – Generate relationship documentation (semi-)automatically
- [MBS-5848] – Instrument credits (SQL)
- [MBS-6023] – Track MBID UI changes
- [MBS-6141] – Add discography page URL matching for universal-music.co.jp, lantis.jp, jvcmusic.co.jp, wmg.jp, avexnet.jp and kingrecords.co.jp
- [MBS-6142] – Prevent Wikipedia links from being added as discography page relationships
- [MBS-6188] – Remove rating from work merge page
- [MBS-6189] – Show work languages on ISWC page
- [MBS-6190] – Artist credit diffs per word, join phrase per char
New Feature
- [MBS-799] – Location, venue and event support
- [MBS-1839] – Track MBID SQL changes
- [MBS-2417] – Support multiple countries/regions on a single release
- [MBS-3296] – Add dynamic attributes
- [MBS-3985] – Support multiple artist countries
- [MBS-5272] – Create daily and weekly “rollup” replication packets
- [MBS-5302] – Store International Standard Name Identifier (ISNI, ISO 27729) for artists and labels
- [MBS-5861] – Dynamic work attributes (SQL)
Task
- [MBS-5314] – Drop the work.artist_credit column
- [MBS-6133] – Ensure JPEG uploads still work through CAA
- [MBS-6167] – Add iTunes links to the sidebar
- [MBS-6170] – Add Bandcamp links to the sidebar
Sub-task
- [MBS-4217] – Spotify relationship under the External links section
- [MBS-5809] – SQL changes for MBS-4294: Add a “description” field to collections
- [MBS-5917] – transclusion to DB: SQL
- [MBS-5918] – transclusion to DB: UI
- [MBS-5919] – locations: SQL
- [MBS-5920] – locations: UI
- [MBS-5929] – Schema changes to store relationship type guidelines and example usages in the database
- [MBS-5930] – Generate documentation automatically/allow managing guidelines in DB
- [MBS-5933] – Schema changes to support multiple (date, country) pairs on releases
- [MBS-6187] – UI changes to support multiple country/date pairs on releases
APPLAUSE ! SO MANY THANKS !
But regression in web service I was using : http://tickets.musicbrainz.org/browse/MBS-6292
Lots of interesting additions here.
What, if anything are we currently intended to put in the area fields? Country only? I tried experimenting with librettist Giuseppe Adami, born in Verona, Italy and died in Milan, Italy. It would not accept those terms, but it will accept Italy, although only with direct search (I presume that means the indexing has not been done yet.
Or is the intention that we should leave those fields blank until further discussion of how best to use them?
Cool new features! (waiting for the png support so I can dump all my covers…)
But I think I found a bug regarding release events. When I search for albums the country column is empty: http://musicbrainz.org/search?query=dummy&type=release&method=indexed
Great, thanks!!!
> What, … to put in the area fields? …
It seems that only editors with special rights are able to edit area entities.
See for example: http://musicbrainz.org/edit/22171544
There is a new user type “Location Editor”: http://musicbrainz.org/user/nikki
It seems that currently only countries were copied to the location entities.
Which editors will be able to add Location aliases. IMHO this would be a huge task to add all translations and spelling variations…
Thanks a lot! A small bug in the blog post:
“git checkout v-2012-05-15”: 2013 instead of 2012
bgibbard: non-country areas haven’t been added yet, and yes, indexed search doesn’t yet support areas. Both will be fixed as soon as we can!
yeeeargh: we’ll look into it, thanks!
pabouk: aliases and variations will probably be generally imported from external sources, as will areas themselves.