Server update 2012-02-27

Sorry for being a whole week behind the scheduled update time! However, we’ve got a huge release here, which will hopefully make up for the delay!

Many thanks to Calvin Walton, Johannes Weißl, Ian McEwen, Michael Wiencek and the MusicBrainz developers for all their work on this release.

Bug

  • [MBS-1818] – UX issues with "Add Disc" feature
  • [MBS-2363] – Release editor: Release Duplicates tab doesn’t keep selection…
  • [MBS-2889] – Advanced tracklist edit: artist field is disabled by default for multi-disc VA releases
  • [MBS-2967] – Newly created artist not displayed in edit notes diff when changing release artist
  • [MBS-3027] – License attribute isn’t hidden when the relationship type is automatically changed
  • [MBS-3290] – User:Whatever links in /doc/ should point to wiki
  • [MBS-3659] – Can’t call method "statistic_names" on an undefined value
  • [MBS-3776] – YouTube Streaming autoselect doesn’t load the attribute
  • [MBS-4010] – Duplicate artist credits
  • [MBS-4043] – URL relationship type description not updating
  • [MBS-4133] – Internal server error editing recording
  • [MBS-4141] – "Add missing entities" tab breaks if you have to add a new label and have an existing artist
  • [MBS-4213] – Internal Server Error when adding a new release (Validation failed for ‘Maybe[Int]’ with value 22439.2)
  • [MBS-4269] – Wrong expansion for youtu.be URLs
  • [MBS-4280] – Translation.pm doesn’t check that $msgid is defined before regexing it
  • [MBS-4285] – Empty title returned instead of "0"
  • [MBS-4287] – Artist Country condition doesn’t load on edit search
  • [MBS-4288] – Recording tab in the RE no longer shows track ACs
  • [MBS-4290] – Regression on javascript inline search’s keyboard events
  • [MBS-4292] – License problem with excanvas.js
  • [MBS-4293] – "Get wiki versions" on transclusion table does nothing
  • [MBS-4295] – FreeDB importing chokes on double quotes
  • [MBS-4297] – Amazon referrer stuff not included in sidebar links
  • [MBS-4311] – Sort unlinked pseudo-releases report
  • [MBS-4333] – Release editor > Importing from CDStubs is broken
  • [MBS-4351] – URL Relations with ampersands in the URL aren’t being escaped in XML returned by the WebService API
  • [MBS-4352] – JS URL cleanup for recording licenses

Improvement

  • [MBS-942] – Link back to editor’s collections on the collection page
  • [MBS-1389] – Accept "X.XX" track times
  • [MBS-1435] – Show ISRC / ISWC in normal search
  • [MBS-1657] – "Change vote + add note" in edit page
  • [MBS-1961] – Display more information on "merge work" edits
  • [MBS-2086] – Aliases: separate localised aliases from other aliases
  • [MBS-2120] – Track parser needs to understand – (en dash) as an artist/title separator
  • [MBS-2392] – Track artist {credits} not shown on CD lookup
  • [MBS-2573] – Make add alias default to the current name
  • [MBS-2808] – Annotation wiki formatting syntax help is missing
  • [MBS-2957] – Hide duplicate labels and cat#s in recording / RG views
  • [MBS-3371] – Report: releases with non-consecutive medium numbers
  • [MBS-3398] – Detect "M" in front of track numbers
  • [MBS-3737] – Change the colour of the artist names on the advanced tracklist
  • [MBS-4044] – Cleanup Discogs URLs
  • [MBS-4135] – Display collection owner in release page’s collection tab
  • [MBS-4262] – gzipping of dynamic content could use extension to javascript and JSON
  • [MBS-4332] – "Add medium" edit display: Release and position fields should be at top rather than at bottom

New Feature

  • [MBS-3938] – Add a report to show artists that may have disambiguation strings in the artist name
  • [MBS-4081] – Report: pseudo-releases without transl*tion relationships
  • [MBS-4362] – Report: Recordings with Creative Commons Download relationships

Task

  • [MBS-2836] – Trim annotations in database
  • [MBS-3416] – Automatically delete release annotations that consist only of white space

A Git tag should be live later, but the commit is b5f45992a24bf.

New Style Leader and Updated Proposal Process

Nicolás Tamargo (reosarevok) is replacing Kuno Woudt (warp) as style leader. This will allow Kuno to fully concentrate on development, and also allow our other style leader Nikki to dedicate more of her time to testing changes and make it less likely for us to have botched releases.

We are also updating the proposal process, and tying it to the Jira tracker, to avoid the manual updating of the proposal table and problems with two people using the same proposal number by mistake. The updated system is at Proposals – the huge table there has been moved to Proposals/History

Server Update, 2012-02-06

We just finished pushing out an update last night, and sadly it didn’t go particularly smoothly. As part of ongoing efforts to try and fix the release editor, we temporarily made everything worse and ended up losing quite a lot of session data. I’m profusely sorry that this didn’t go better! We think things are stable again now though, so if you do see any bugs that you haven’t encountered before, please do make sure to let us know over at the bug tracker. Other than that, there were quite a few internal changes to our production setup in this release – we moved to a more modern Plack based setup and used our recent Carton packaging work. Here are the other bugs that got fixed. Thanks to Ian McEwan and Michael Wiencek for helping make this release happen!

Bug

  • [MBS-2112] – Using space as join word between two artists in a credit ends up with no space between them
  • [MBS-3677] – Recording page doesn’t highlight releases with pending edits or show disambiguation comments
  • [MBS-3949] – Lookup box not working on work-URL form
  • [MBS-4248] – Timeline graph doesn’t work due to poorly-escaped strings in JS
  • [MBS-3680] – Error 502 Bad Gateway loading certain releases from the webservice

Improvement

  • [MBS-343] – Lookup by MBID in inline searches
  • [MBS-4273] – WS should use ETags in order to save clients bandwidth (and us too)

New Feature

  • [MBS-4210] – Use separate robots.txt for staging and production servers

Task

  • [MBS-4189] – Display language zxx ("No linguistic content") in release editor form

Last.fm donates a 48-port gig switch!

Our friends at Last.fm just donated a 48 port gig switch to MusicBrainz! This new (to us) switch will allow us to shorten the update cycle for our indexed searches. Currently it takes about 3 hours to generate the indexes and to push them out to the search servers. With this new switch, we should be able to push the indexes quite a bit faster, which should shave off 60-90 minutes off our update cycle.

Thanks so much for the donation! Thanks to Adrian for making this happen in next to no time!

Mini-Summit Session Notes

Yesterday we held our mini-summit in London to great success. The MusicBrainz team huddled up in a hotel last night and finished writing up notes of everything we covered, and you can now have a look at them on the wiki at MusicBrainz Summit/2012-Mini_Summit/Notes. In general, we provided an update of what’s been happening at MusicBrainz, what’s coming up in the future, and heard how each company are using MusicBrainz. Discussions have started with respect to classical support, but don’t expect anything concrete any time soon!

Many thanks to everyone who came along to this summit and helped make it work – it was great seeing you all!

London pub gathering

On Monday we’re having the MusicBrainz mini-summit in London. Following the summit, starting at 6pm, we’re going to move to the Tower Tavern to have a pint of beer (or a few).

While the summit is open to people who have registered ahead of time, the pub gathering will be open to anyone who would like to join in. We’re not going to have any formal topics scheduled for the gathering — just a friendly gathering of like minded souls and of course, beer!

I hope to see you on Monday evening!

Server update, 2012-01-26

We’ve just pushed out the last MusicBrainz web server update out for this month. Here are the bugs we’ve squashed, and the new features and improvements that have been added. As always, keep helping out with scheduling at the scheduling game, and we’ll do our best to get the important things fixed as soon as we can! Thanks to Ian McEwan, Lukáš Lalinský, Calvin Walton, Johannes Weißl and the MusicBrainz developers for their work on this update.

Bug

  • [MBS-2690] – Release editor reports incorrect "Reorder mediums" edits
  • [MBS-3692] – Cover image from amazon.es is not displayed
  • [MBS-3798] – Cover art not working for amazon.cn
  • [MBS-4040] – "Add URL relationship" doesn’t autodetect YouTube channel URLs
  • [MBS-4150] – Edit recording edits include artist credits even when they didn’t change
  • [MBS-4174] – Changes to track times don’t allow to propagate to recordings
  • [MBS-4177] – Don’t add "musicbrainz" to the search path for tests
  • [MBS-4181] – Date field doesn’t display nice error message
  • [MBS-4184] – label releases list sorted wrong
  • [MBS-4185] – Release Editor should not offer to update recordings when creating new ones
  • [MBS-4198] – "Link type" in edit search should be "relationship type"
  • [MBS-4199] – Search criteria when searching edits by relationship type breaks after initial search
  • [MBS-4202] – The "Merge releases and recordings" recording diff always thinks artists are different
  • [MBS-4211] – Copy all track changes crashes with new recordings
  • [MBS-4222] – When merging releases, I’m asked to pick a "work"
  • [MBS-4231] – JS URL cleanup recognizes more URLs than it should

Improvement

  • [MBS-2037] – Unify all references to memcached servers in lib/DBDefs.
  • [MBS-2799] – RE: Add the option to indicate a release has no barcode
  • [MBS-4178] – Languages/Scripts statistics page should exclude unused/unavailable items
  • [MBS-4182] – Add RDFa attribute for artist IPI codes
  • [MBS-4187] – Display language and script statistics next to each other
  • [MBS-4191] – Stop auto-transcluding the Proposal namespace in wikidocs
  • [MBS-4195] – Improve Google descriptions
  • [MBS-4243] – Use EWMA to smooth rate of change statistics graphs
  • [MBS-4247] – Clarify language/script statistics to explain why some languages/scripts aren’t visible

New Feature

  • [MBS-3273] – Avoid memcached clashing when running in shared environments
  • [MBS-4244] – Add medium format distribution statistics
  • [MBS-4245] – Add release format distribution statistics
  • [MBS-4246] – Add artist credit distribution statistics

The tag for this release is v-2012-01-26-ngs-bug-fixes.

libmusicbrainz 4.0.0 released!

Andy Hawkins says:

In conjunction with Lukas I’ve been working on a complete rewrite of libmusicbrainz to support the new Web Service v2 released alongside NGS. I’m happy to announce the official release of this new library (libmusicbrainz4).

The library is written as a relatively simple parser for the results from the Web Service, with as little logic as possible. This should mean it is easy to maintain to keep in step with any changes in the schema for the XML Web Service.

The main interface is a C++ class ‘CQuery’, that returns a Metadata object containing a parsed version of the response. There is also a C interface that loosely wraps the C++ classes.

Using the library requires a good understanding of the queries and responses to and from the Web Service. Download the library, or browse the online documentation or generate the documentation from the source with make docs.

If you find any issues, please report them using JIRA (under the project ‘libmusicbrainz’).

I will follow the musicbrainz-devel mailing list and the #musicbrainz-devel IRC channel on freenode in order to answer questions if at all possible.

Thanks.

Andy

2012-01-12 Schema change fix for replicated slaves

Sadly, our testing for replication failed to catch a problem with the instructions we posted yesterday. If, when running the replication scripts you encountered the below error, please read on!

Attribute (conn) does not pass the type constraint because: Validation
failed for 'DBIx::Connector' with value DBI::db=HASH(0x9e957d0)
(not isa DBIx::Connector)

We made some changes to our database connection routines recently, and the replication scripts were not correctly migrated. We’ve got these changes in now though, so to fix this problem, repeat the instructions in our previous post, but use the v-2012-01-12-schema-change-2 tag. This should correspond to commit eb89c2b51f79..., which you can verify by running git rev-parse HEAD.

Sorry about these problems!