Archive for the ‘Uncategorized’ Category

Issues with Postgresql 9.1 and 2013-05-15 schema change.

Friday, May 17th, 2013

As a heads-up for anyone using postgresql 9.1 or later (9.0 is the only confirmed-correct version), it appears that there’s an issue with the upgrade script which will result in an incorrect track table.

If you’re adventurous, or don’t mind possible corruption, there is an ostensible fix on the postgres-9.1-fix branch on github or bitbucket. Otherwise, please either wait for this blog post to be updated with a confirmed fix or do a full re-import once there is a post-schema-change data dump in a few hours from now.

Schema change release, 2013-05-15

Wednesday, May 15th, 2013

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 to link_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:

  1. Take down the web server running MusicBrainz, if you’re running a web server.
  2. Turn off cron jobs if you are automatically updating the database via cron jobs.
  3. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  4. Switch to the new code with git fetch origin followed by git checkout v-2013-05-15 origin/master (until we tag a new version with some fixes)
  5. Run carton install --deployment to install any new perl modules.
  6. Run carton exec -Ilib -- ./upgrade.sh from the top of the source directory.
  7. Set DB_SCHEMA_SEQUENCE to 17 in lib/DBDefs.pm
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if needed.

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

Server Update, 2013-04-08

Monday, April 8th, 2013

We’ve just finished pushing out another fortnight of work to the main MusicBrainz servers. While work continues on the forthcoming schema change release, we have fixed a few bugs and added a few improvements. Thanks to Lukáš Lalinský and the rest of the MusicBrainz team for their work on this release! Here’s what’s changed:

Bug

  • [MBS-5524] – Edit relationship type edits are missing information for identifying the relationship type
  • [MBS-5830] – Attributes are not shown in relationship type edits
  • [MBS-5964] – Artist credit’s sort name tooltip doesn’t update after edit
  • [MBS-5980] – Cover art comments can make the cover art page look very unstructured
  • [MBS-5993] – name variation checks happen after HTML entity conversion
  • [MBS-6019] – Some FreeDB data getting wrongly imported from the dumps
  • [MBS-6021] – Track count search in Add Disc uses full release count for multi-disc releases
  • [MBS-6038] – "See all {num} {entity}" is just wrong i18n-wise
  • [MBS-6042] – Release country field in edit search breaks after doing a search
  • [MBS-6043] – In front page "Recent Additions" the text for the cover art pop-up labels (HTML title attribute) is wronlgy escaped
  • [MBS-6075] – An error occured while loading this edit

Improvement

  • [MBS-5613] – Set cover art page does not show enough information
  • [MBS-6039] – Make it possible to display attributes after the link phrase

Sub-task

  • [MBS-4258] – Make dates translatable

The Git tag for this release is v-2013-04-08.

All Our Git Repositories Are Moving To GitHub

Thursday, January 17th, 2013

On February 11th 2013, we will be shutting down the MusicBrainz hosted Git repository, in favour of using GitHub for hosting. While we will continue to take backups, these will be internal and thus git.musicbrainz.org will cease to operate as it currently does.

There are a few reasons for this move, but the predominent reason is so MusicBrainz can host less. We currently host a lot of our own software and this is straining the already-limited resources we have. If someone else can do something just as well or better than we can – then let them! Using GitHub also means we get a slightly better repository browser, which can make communicating and discussing code easier. However, we are not moving to pull requests, though we may in the future.

We already mirror git.musicbrainz.org onto GitHub, so if you are only interested in read access, we recommend changing your local clone now, to save confusion in the future. To do this:

  1. cd to your musicbrainz-server clone.
  2. Run git remote set-url origin git://github.com/metabrainz/musicbrainz-server.git

That’s it! You should now be able to git pull just as you did before.

GitHub has a few other possible protocols for cloning, so if HTTP or HTTPS is better for you, then check out the GitHub repository for all the possible links.

If you’re a developer currently developing against our repositories, then you should either fork the repository on GitHub, or contact us to talk about getting your keys added.

Sorry for the disruption!

Server update, 2013-01-14

Monday, January 14th, 2013

After delaying this release by a week due to Christmas/New Year getting in the way, we have pushed out a new update of the MusicBrainz web site. This release consists mostly of bug fixes and a few outstanding tasks that we still needed to complete. Thanks to Frederik “Freso” S. Olesen, Michael Wiencek, Johannes Weißl and the MusicBrainz team for their work on this release! Here’s what’s changed:

Bug

  • [MBS-5288] – Use API when checking for WikiDoc changes
  • [MBS-5577] – Relationship Editor displays "vocal vocals"
  • [MBS-5663] – Leap year in "Edit Relationships"
  • [MBS-5716] – Reorder mediums edit is missing a space between medium title and old position
  • [MBS-5717] – Reorder mediums edit for mediums without titles shouldn’t include colons

Improvement

  • [MBS-5723] – Allow sorting collections by all columns, not just a select few.

Task

  • [MBS-3856] – Revert MBS-1052 "Amazon should lookup cover art by barcode too"
  • [MBS-5729] – Consolidate Metabrainz:Sponsors and About/Sponsors

Sub-task

  • [MBS-3974] – Filter by release country

The Git tag for this release is v-2013-01-14.

Replication issues, and packet 64833 is large

Wednesday, January 2nd, 2013
  1. We’ve ushered in the new year by discovering, then solving some issues with replication; packet number 64831 (from yesterday, 1AM UTC) didn’t build correctly and needed a bit of manual prodding. However, it’s now been pushed out and replication should be back to normal.
  2. As part of our fix process, we turned off production of replication packets for the bulk of today. As a result, packet number 64833 covers what would otherwise have been about 20 packets, and thus is somewhat large. The import process for this packet will accordingly take somewhat longer than usual.

Sorry for any inconvenience, and happy new year!

Server update, 2012-12-10

Monday, December 10th, 2012

We’ve just finished pushing out an update to the musicbrainz.org servers. While work continues on the new edit system and an ingestion solution, this is a fairly small release of mostly bug fixes. Thanks to Pavan Chander and the MusicBrainz team for their work on this release!

Bug

  • [MBS-5035] – Removing release leaves orphaned recordings
  • [MBS-5126] – Orphaned recordings do not get removed (regression)
  • [MBS-5548] – Git commit data output isn’t HTML escaped
  • [MBS-5576] – Release group bar when adding disc IDs is one column too short
  • [MBS-5581] – Some stuff untranslated that wasn’t before
  • [MBS-5618] – Wikipedia abstract logic doesn’t properly encode certain characters
  • [MBS-5622] – MB registration captcha does not work over SSL

Improvement

  • [MBS-4228] – Improve artist alias description
  • [MBS-4568] – Add <bdi> tags to help with rendering of RTL text
  • [MBS-5260] – Cache /text.js somehow
  • [MBS-5317] – Webservice needs to support fmt=json switch to fmt=jsonnew for search queries
  • [MBS-5477] – Show country and gender in artist search results

New Feature

  • [MBS-4108] – Display Wikipedia abstract inline

The Git tag for this release is v-2012-12-10.

Yet another fixed VM uploaded

Wednesday, December 5th, 2012

Though the last version of the 2012-10-15 VM fixed the .ovf to remove an accidentally-included extra disk, this time an incorrect version of a different disk was added. This has been corrected and the finished product tested a bit, so hopefully this time we won’t need another followup blog post!

This time it’s MusicBrainz 2012-10-15.ova, in the usual places.

Virtual machine for 10-15 release fixed, uploaded as 11-15

Wednesday, November 21st, 2012

Our previous upload wasn’t working; thanks to the help of Rob Nester, we’ve got an updated and working VM image up for use. It’s MusicBrainz NGS 2012-11-15.

Sorry for any inconvenience. The Server Setup page on the wiki has also been updated accordingly.

Server update, 2012-11-14

Wednesday, November 14th, 2012

We’ve just finishing pushing out another update to the MusicBrainz web servers. Sadly, this one is both a little bit later and quite a bit smaller than our normal releases – blame the summit for that! Many thanks to Frederik “Freso” S. Olesen, Michael Wiencek, Wieland Hoffmann and the MusicBrainz team for their work in this release. Before we get to the release notes, a quick announcement regarding DBDefs:

DBDefs.pm

This release features a new way of working with DBDefs, and we recommend everyone who runs a MusicBrainz server to reset their DBDefs to the new system. However, this should only be necessary if you run a web server – if you only use replication it should be possible to continue with the old DBDefs. To use the new DBDefs:

  1. Copy lib/DBDefs.pm.sample to lib/DBDefs.pm.
  2. Edit lib/DBDefs.pm to match your configuration.

This will give you a DBDefs.pm configuration that will continue to work with future changes to DBDefs, rather than causing exceptions as it previously did.

Release notes

Here’s what we got fixed:

Bug

  • [MBS-4180] – Strange behaviour for artist credits when renaming artist
  • [MBS-5200] – Errors are not translatable
  • [MBS-5247] – Fix all the invalid HTML reported by MBS-5246
  • [MBS-5292] – /release/MBID/cover-art doesn’t list cover art if you have not loaded the edits dumps on your slave server
  • [MBS-5389] – Relationship editor doesn’t correctly handle relating a recording on the release to another recording on the release
  • [MBS-5431] – Moving entities to or merging them artists into Deleted Artist should not be allowed
  • [MBS-5438] – Text overlaps help bubble in relationship editor
  • [MBS-5454] – Broken link to `remove recording edit-type’ documentation on remove recording page
  • [MBS-5456] – Middle click paste does not trigger URL match/cleanup
  • [MBS-5464] – Blog posts on the front page are cached for too long
  • [MBS-5471] – No correct search results even with a recording ID (during Add Release)
  • [MBS-5476] – Pressing enter in empty fields selects instruments / vocals
  • [MBS-5480] – screen space with many artists in the add relationship widget
  • [MBS-5485] – Artist comments not always converted to use XML character references
  • [MBS-5509] – Interface language isn’t persistent enough
  • [MBS-5521] – Date placeholders in the relationship editor are not translated
  • [MBS-5529] – New relationship editor overheats
  • [MBS-5538] – Pressing enter in work add adds/removes ISWC instead of submitting

Improvement

  • [MBS-3353] – Accept XX:XX:XX track times
  • [MBS-4578] – Improve configuration of server
  • [MBS-5206] – Guess Case: Remove the Classical mode
  • [MBS-5246] – Implement html5 validation using validator.nu.
  • [MBS-5433] – Include interface language in stack traces
  • [MBS-5445] – All the widgets forms should submit when hitting <Enter> in a field
  • [MBS-5477] – Show country and gender in artist search results
  • [MBS-5537] – Display only ‘Add note’ on the note & vote submit button when the edit is already closed

Task

  • [MBS-5504] – Add "DHHU" to the "Other Databases" whitelist

Sub-task

  • [MBS-5488] – Amazon coverart over SSL
  • [MBS-5489] – Basic switch-scheme-only coverart over SSL

The Git tag for this release is v-2012-11-14.