Announcing the beta launch of CritiqueBrainz

I’m proud to announce that we’ve launched a beta version of our new project: CritiqueBrainz.

CritiqueBrainz is a music review site, where anyone can write a music review for an artist or a release-group (album, single, etc). Unlike Wikipedia’s neutral point of view policy, this site is about passionate reviews about music. If an album is horrible, please write a review about why it is horrible. If it is great, please write one telling us what makes it great.

All of the reviews in CritiqueBrainz will be Creative Commons licensed. The user has a choice to license their review under CC-by-nc-sa (disallowing commercial use) or CC-by-sa (allowing commercial use). To get the site started, the BBC was kind enough to send us their collection of almost 9,000 CC licensed reviews. Go and have a look — there are a lot of reviews for you to read, right now!

CritiqueBrainz is a new web site that was originally written by Maciej Czerwiński for last year’s Summer of Code. All of the goals for the project were met last year, but that didn’t leave us with a site that was ready for deployment. For this year’s Summer of Code, Roman Tsukanov picked up the project and immediately started fixing bugs, making improvements and generally rocking the project into stability and drastically improved the look and feel of the site. On the beginning day of Summer of Code, we’re ready for a beta release!

This past weekend, I attended Music Hack Day San Francisco and worked with Roman to add Spotify integration into the site. If you have a Spotify account, you can listen to the music as you read the reviews. So far, we’ve matched 250,000 release-groups in MusicBrainz to Spotify! Even if an album doesn’t have a review, you can still browse all of MusicBrainz via CritiqueBrainz and if we have a matched Spotify album, you can listen to it by clicking the play button under the cover art.

If an album you find doesn’t have a match in Spotify, we invite you to help us find a match and submit it to Spotify. Click on the “Match this!” link, which will execute a search via Spotify’s API to try and find a matching album. Due to some limitations in the Spotify API, this doesn’t work as well as we want to — we plan to pester Spotify to improve their API to make this a better experience.

We’re hoping to make CritiqueBrainz a user site that uses more cover-art and white space to make a site that is friendlier to browse the amazing pieces of information that MusicBrainz has collected. Unlike the data nerds at MusicBrainz, not everyone loves information overload; this site should hopefully make non-data nerds happy about MusicBrainz data.

If you find a bug, or have a suggestion for improving the site, please file a bug report here and Roman will have a look at it.

Thanks to everyone who had a hand in making this project a reality and thanks to Google’s Open Source programs office for making Summer of Code happen!

MHD San Francisco 2014

MusicBrainz is represented at Music Hack Day San Francisco 2014 this weekend!

If you’re a hacker who is participating, this page collects a number of interesting things about MusicBrainz that lets you get started with MusicBrainz easily.

If you’d like some help with MusicBrainz, come see Rob in the the back of presentation area. Rob is the guy with the crazy hair and the bright orange t-shirt.

Have fun!

Search Server Update, 2014-05-14

Bug

  • [SEARCH-141] – Remove or change setMergeFactor option in IndexBuilder
  • [SEARCH-332] – target element for relationships included in /ws/2/url endpoint is improperly structured to match lookup
  • [SEARCH-336] – searching “Universal Music” and 34. entry is correct “Universal Music”
  • [SEARCH-339] – MB search requires minimum of 4 characters to consider second name
  • [SEARCH-347] – Countries should be sorted before cities in Area search
  • [SEARCH-348] – Full Search Index Failure

Improvement

  • [SEARCH-265] – Add editors to the indexed search
  • [SEARCH-341] – Allow searching releases with specific packaging type
  • [SEARCH-352] – Include disambiguation in work index
  • [SEARCH-355] – Label Sortname field removed from Database
  • [SEARCH-356] – Area Sortname field removed from Database

New Feature

Task

  • [SEARCH-338] – Return containing areas in area search

Server upgrade and schema change, 2014-05-14

Hello again! This fortnight, as we’ve mentioned among the past few posts, is our twice-annual schema change release! This means that we’ve got some big changes, as well as special upgrade instructions.

In the former category, we’ve added support for two new entities: Series and Instruments, each of which is exactly what it sounds like. We’ve also done some various cleanup (tables missing from replication, making some attribute-style tables (e.g., label types) trees, and more properly orderable, removing unuseful sortnames). In non-schema-change fixes, we’ve fixed some merging for Artist Credits, show Area names after Places routinely, and perhaps most excitingly, added smaller versions of the relationship editor for other entities. It’s now possible to add relationships to any entity from most entity edit pages, expanding on our previous addition of URL editing!

As far as upgrading:

  1. Ensure you’ve replicated up to the most recent replication packet available with the old schema. (if you’re not sure, run ./admin/replication/LoadReplicationChanges and see what it tells you).
  2. Take down the web server running MusicBrainz, if you’re running a web server.
  3. Turn off cron jobs if you are automatically updating the database via cron jobs.
  4. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  5. Switch to the new code with git fetch origin followed by git checkout v-2014-05-14-schema-change
  6. Run ./upgrade.sh (or carton exec -Ilib -- ./upgrade.sh if you’re using carton, with older installs).
  7. Set DB_SCHEMA_SEQUENCE to 20 in lib/DBDefs.pm
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if applicable. It’s also recommended you restart memcached.

The git tag for this release, as mentioned above in the instructions, is v-2014-05-14-schema-change.

Full release notes, as usual:

Bug

  • [MBS-5978] – Replication feed is missing release_tag
  • [MBS-6709] – “None” is no longer the last Packaging type after adding Book and Cassette Case
  • [MBS-7482] – Artist merge with AC renaming does not merge identical ACs

Improvement

  • [MBS-2410] – Label types not a tree anymore
  • [MBS-2714] – Add support for Series.
  • [MBS-5897] – Make it possible to see edit JSON in the case of an ISE or poor data display
  • [MBS-6144] – Remove the apparently-unused script_language table
  • [MBS-6602] – Remove sortnames from areas
  • [MBS-6603] – Remove sortnames from labels
  • [MBS-6651] – Make it possible to disable dates for relationship types
  • [MBS-6886] – Display area after place names
  • [MBS-6887] – Model coordinates without nullable latitude and longitude
  • [MBS-7205] – Link types should track assumed cardinality
  • [MBS-7411] – Don’t require disambiguation comments for places from different areas
  • [MBS-7470] – Merging/combining RG types (primary/secondary) is unintuitive

New Feature

  • [MBS-3674] – Make instruments entities
  • [MBS-6234] – Add a relationship editor to artists, labels, recordings, release-groups, places, areas and works

Task

  • [MBS-7441] – Check non-replicated changes to DB that have happened since last schema change

MetaBrainz is on Amazon Smile

Amazon has created a program where your purchases at Amazon can support your favorite non-profit. This program is called Amazon Smile and MetaBrainz is enrolled in this program. If you would like to support MetaBrainz (and thus MusicBrainz), start with this link when you start shopping:

Metabrainz Foundation Inc

Alternatively you can bookmark this link:

http://smile.amazon.com/ch/20-1644586

We’ll be integrating links to Amazon Smile into the MusicBrainz web site soon, so you won’t have to remember these links.

UPDATE: This only works for the US based Amazon store.

May 14 schema change release time

The schema change release is approaching fast and we’re making good progress taking care of all the tasks that need to be completed. During yesterday’s meeting we agreed on the time to do this release: 14 May 1600UTC (9am PDT, 11am Chicago, 17h BST, 18h CEST, timezone map).

We will start the release process at this time — the exact time when the site will be down will depend on how long it will take us to walk through our pre-release checklist. We will be announcing the exact downtime via Twitter (@musicbrainz) and via a banner on the main MusicBrainz pages.

We expect our downtime to be somewhere between 15-30 minutes.

Thanks!

Server update, 2014-04-28

Once more now before our upcoming schema change, we’re here with our fortnightly musicbrainz-server release! Some notable changes aside from bug fixes include a few additions to whitelists newly-approved, and enabling thumbnail display for PDF cover art. Thanks to the Internet Archive for making PDF thumbnails work, and thanks to chirlu, nikki, reosarevok, and bitmap for their work this release.

The git tag for this release is v-2014-04-28.

Full list of tickets:

Bug

  • [MBS-4151] – Publisher ARs for different entity types create quite confusing label AR pages
  • [MBS-6166] – Deleted accounts can still have details edited
  • [MBS-6508] – Artist/label create/edit edits fail to display removed or merged areas
  • [MBS-7037] – Chrome displays broken image instead of error message
  • [MBS-7352] – Release editor prints an untrue error “not logged in” after clicking “Enter Edits”
  • [MBS-7376] – Selecting value from a drop-down list by pressing Enter prompts inexplicable behaviour
  • [MBS-7400] – “merge artist” edit with “rename artist credit” option is a tracklist changing edit but is missing in release, release-group and recording edit histories
  • [MBS-7412] – Reorder medium edits are generated for new releases
  • [MBS-7437] – Area can’t be removed from a place
  • [MBS-7438] – Empty edits are created for places due to coordinate padding
  • [MBS-7439] – Internal server error when seeding badly formatted dates to the release editor
  • [MBS-7444] – Release editor seeding should ignore medium position field
  • [MBS-7445] – Not all mediums gets reordered when you delete one
  • [MBS-7447] – Internal server error when seeding invalid track lengths to the release editor
  • [MBS-7450] – Places on the equator don’t have their coordinates displayed
  • [MBS-7451] – Possibility to remove track durations from releases with discID
  • [MBS-7453] – Internal server error in the release editor (new row for relation “release_group” violates check constraint “control_for_whitespace”)
  • [MBS-7455] – ISE for /ws/js/edit/preview: Error: Could not create MusicBrainz::Server::Edit::Release::DeleteReleaseLabel edit
  • [MBS-7456] – Error when using the track parser to parse artists and it can’t find any
  • [MBS-7458] – Internal server error when trying to delete a non-existent user
  • [MBS-7459] – Internal server error displaying add disc ID edit (Can’t call method “release” on an undefined value)
  • [MBS-7464] – Release editor does not use canonical URLs

Improvement

  • [MBS-4758] – Show list of recordings after work rels on work pages
  • [MBS-5552] – Mark edit URL merge-edits properly
  • [MBS-5640] – Don’t embed full size images in the page when no thumbnails are present
  • [MBS-7345] – Sidebar external links: show span.mp pending edit status
  • [MBS-7361] – Provide an HTML markup hook for finding/matching dynamic work attributes
  • [MBS-7460] – Enable thumbnails for PDFs

Task

  • [MBS-7440] – Add Resident Advisor and IMVDb to the otherdbs whitelist
  • [MBS-7454] – Add Rap Genius / Rock Genius and Project Gutenberg to lyrics whitelist

Sub-task

  • [MBS-7448] – Add URL lookup to the website

Summer of Code: We’ve accepted these projects

I’m pleased to announce the following 5 projects were accepted for this round of Summer of Code:

  • A new website for Picard and its plugins by Shadab Zafar: Give Picard a new website that will be used to host everything Picard related especially its plugins. Also add an interface which can be used to download those plugins right from picard.
  • MBS-6201: Add an “event” entity by reosarevok: Finalising the basic implementation of MBS-799 by adding an event entity to MusicBrainz.
  • Finishing and deploying CritiqueBrainz by Roman Tsukanov: Last year Maciej Czerwiński started work on repository for Creative Commons-licensed reviews – CritiqueBrainz project. He implemented core functionality: storage, API, and web interface. During Google Summer of Code 2014 I’d like to continue his work, finish and deploy the project.
  • MB UI TLC by navap: Spend some major TLC on all the templates and UI of MB.
  • Move MusicBrainz Search to SOLR by Wieland Hoffmann: The goal of this project is to move the MusicBrainz Search server to use SOLR for faster and in-place index updates.

The whole MusicBrainz dev team is very excited to have students take on these projects. We’ve been waiting for events for an eternity and after 9 months of no progress, I’m stoked that soon we will release CritiqueBrainz.

Congratulations to mineo, navap, duffer, gentlecat and reosarevok. And big thanks to Google for having us in Summer of Code again.

Server update, 2014-04-14

A bit later in the day than I’d like, but we’re back with another release! Primarily bug fixes, but this release also includes the long-in-progress work to derive recording durations from track durations; thanks to ocharles and bitmap for dragging that through the various parts of the process! Thanks also to d4rkie, reosarevok, mavit, and chirlu for providing patches on top of the work of the MetaBrainz team.

The git tag for this release is v-2014-04-14.

Full notes:

Bug

  • [MBS-4021] – /ws/2/release doesn’t include artist aliases for recordings on Various Artists releases
  • [MBS-7064] – Internal server error displaying relationship type edit
  • [MBS-7068] – Need Email::Sender 0.120002 or newer
  • [MBS-7297] – Internal server error when searching for edits by ID with large numbers
  • [MBS-7315] – Removing URL entity via Edit Release page results in SQL error
  • [MBS-7386] – Regression: Attach TOC to new release – TOC/DiscId is lost when based on existing release/tracklist
  • [MBS-7390] – ArtistsThatMayBeGroups report needs to ignore orchestras and choirs
  • [MBS-7392] – Place duplicate checks don’t work
  • [MBS-7393] – mora.jp parser makes wrong links
  • [MBS-7395] – Works that still have work attributes can’t be deleted
  • [MBS-7410] – Merge queue with more than one entry shows the wrong help text
  • [MBS-7416] – Edit-medium diff shows recording changes that aren’t actually changes
  • [MBS-7420] – Can’t submit artist edit form after adding and removing a URL
  • [MBS-7426] – Tiny distracting flaw in Edit Recording page ISRC help text
  • [MBS-7429] – Ambiguous field ‘id’ in search query involving edit ID BETWEEN and “Artist in subscribed editors”
  • [MBS-7431] – URL encoding problem with inline URL editing

Improvement

  • [MBS-2021] – Set recording times automatically
  • [MBS-2302] – Set recording length when adding a Disc ID
  • [MBS-7150] – Indicate artists on the release group and recording parts of the ratings page
  • [MBS-7153] – Indicate artists on the release group and recording parts of the tags page
  • [MBS-7291] – Detect and mark big duration differences on recording merge edits
  • [MBS-7391] – Remove verbiage from /entity/create
  • [MBS-7417] – Add a visual indicator when times are very different in release merge edits

New Feature

  • [MBS-3987] – Disable recording duration editing

Task

  • [MBS-7425] – Add maniadb.com to the other dbs whitelist