Announcing the musicbrainz-data Java library

Stefan Sperber has just announced the open source release of musicbrainz-data, a Java library that uses Hibernate to interface to the MusicBrainz PostgreSQL database:

We at Last.fm are happy to announce that we are open-sourcing musicbrainz-data, our Java data bindings for the MusicBrainz Database.

The source code for musicbrainz-data and information on how to use it in your projects can be found on our GitHub:

https://github.com/lastfm/musicbrainz-data

Please report any issues at

https://github.com/lastfm/musicbrainz-data/issues

If you have any questions, suggestions or feedback please post them in the musicbrainz-devel mailing list. I will also attempt to be available on the #musicbrainz-devel IRC channel on Freenode (nick: stefans).

Thanks Stefan!

Server Update, 2012-07-23

We’ve just pushed out our second update for July, and as a treat it’s a day earlier than planned! This release resolves 40 issues, and covers both bug fixes and new improvements. Possibly the biggest new feature in this release is the ability to filter editing reports by your subscribed artists and labels.

This release is the result of hard work from Alastair Porter, Andy Hawkins, Frederik “Freso” S. Olesen, Ian McEwen, Johannes Weißl, Lukáš Lalinský, Nicolás Tamargo, Pavan Chander and the MusicBrainz team. Thanks!

Bug

  • [MBS-4313] – "has cover art" missing from Relationship Type multiple select box on "Search for Edits" page.
  • [MBS-4385] – Invalid date causes internal server error
  • [MBS-4589] – Add missing entities does not remember "Add new artist" selections
  • [MBS-4734] – Release Editor Seeding doc needs updating after 2012-05-15 server release
  • [MBS-4771] – Gravatar visibility preference isn’t always respected
  • [MBS-4793] – Preferences displays wrong date/time format
  • [MBS-4817] – RGs with no type set aren’t displayed in a table
  • [MBS-4833] – repeated "internal system error" when attempting to edit a release
  • [MBS-4903] – Locale list has duplicate Serbians
  • [MBS-4916] – Isolate i18n locale-switching
  • [MBS-4949] – Facebook URLs not properly decoded
  • [MBS-4965] – Wrong track number shown in artist credit edit
  • [MBS-4969] – Labels are repeated in collection page/view
  • [MBS-4970] – Historic CDTOC edits are splitting the list of track times incorrectly (ISE)
  • [MBS-4976] – slave.sh fails to run
  • [MBS-4989] – "Ended" URL relationships are still shown on the artist right pane
  • [MBS-4998] – Regression : Aliases are unique constricted again

Improvement

  • [MBS-939] – Show how many releases are in each collection
  • [MBS-2364] – CD lookup: Should tell me it didn’t find anything
  • [MBS-2662] – Allow filtering reports by subscribed entities
  • [MBS-2685] – Search box should be larger
  • [MBS-3558] – Improve Various Artists warning text
  • [MBS-3842] – Statistics to port from mb.lmfao.org.uk: relationship types
  • [MBS-4274] – Stats by edit type
  • [MBS-4307] – Add statistics for release group type, release status, and release packaging
  • [MBS-4492] – Development server needs to support development of cover art archive things
  • [MBS-4876] – Allow contexts to be used for translations in the mb_server and statistics domains.
  • [MBS-4945] – Indicate special editor types (limited, bot) on edit list
  • [MBS-4966] – Clean up Jamendo track URLs
  • [MBS-4968] – Sort lists of artists in relationships by sort name, not name
  • [MBS-4993] – Improve descriptions of reports

New Feature

  • [MBS-3180] – Packaging option really needs some kind of help or on-screen doc
  • [MBS-3932] – Report: Discogs pages attached to multiple labels
  • [MBS-4983] – Display last commit info along with running branch

Task

  • [MBS-4940] – Add tray to the cover art types
  • [MBS-4959] – Remove watermarked sites (Ozon and Encyclopedisque) from the cover art whitelist
  • [MBS-4963] – Add nginx full restart to fabric
  • [MBS-4986] – Add sticker to the cover art types
  • [MBS-4990] – Activate Veps(ian) language (vep)

Sub-task

The Git SHA for this release is bea9385, with git tag v-2012-07-23.

Introducing our latest acronym: NES — New Edit System

Long after we finally delivered our much anticipated Next Generation Schema, we’re finally ready to dive in and get to work on our New Edit System. You may recall that during the NGS re-write we opted to not tackle the re-write of our edit system. Instead, we decided to do the edit system overhaul once NGS became stable.

We finally reached this point when Ollie, Warp and I met in London last month to discuss this new project. We had a productive meeting reviewing all of the research that Ollie had done over the past months. We improved the terminology here and then, but in general approved for Ollie to continue his work. Part of his work was to write about it so that our users can get familiar with the concepts that will come about in NES.

Ollie had started blogging about that on his own blog:

If you’re interested in the New Edit System, please take a moment to read these posts and consider following Ollie’s blog.

Announcing the first MusicBrainz Hack Weekend

Hi everyone!

It’s with a lot of excitement that I can announce that the first MusicBrainz Worldwide/Remote Hack Weekend has been confirmed! We will spend from 2012-08-17 until 2012-08-19 getting as many people together as we can to hack on some fun new features for MusicBrainz, or use MusicBrainz data in interesting ways.

You can find all the details including proposed ideas at:

http://wiki.musicbrainz.org/Hack_Weekend

When

The first official MusicBrainz hack weekend will take place between 2012-08-17 and 2012-08-19.

Where

The main event will be taking place in the #musicbrainz-devel IRC channel on irc.freenode.org. We also encourage local people to get together and work on things in person if possible. If you’re interested in that, check the wiki page for information about people who are local to you.

Who

Everyone! The hack weekend is not just for programmers, we’ll be sure to need testers, people to help brainstorm, people to help with documentation and writing, people to help with HTML, and inevitably more on the day.

Ideas

We’ve already got a few ideas on the wiki page, but the more the merrier! Even if you don’t think you can make the hack weekend, put your ideas down and maybe someone will pick them up.

I’m really looking forward to this, and I hope you’ll join us!

Server Update, 2012-07-09

We’ve just finished pushing out another update to the MusicBrainz web servers. This release is mainly a bug fix release, though it does see some of Alastair’s Google Summer of Code work on collections, and more of Ian’s work on translations. Also, there is finally a top editors once again.

Many thanks to Ian McEwan, Alastair Porter, Nicolás Tamargo, and the rest of the MusicBrainz team for their work on this release, and the beta team for helping us make sure everything is working nicely! Here’s what’s changed:

Bug

  • [MBS-2765] – Artist/Label guess case breaks if a different mode is set in the cookie
  • [MBS-2903] – WS/2: Can’t browse artist by work (ws/2/artist?work=MBID)
  • [MBS-3156] – Slaves should use the READONLY database settings from DBDefs.pm
  • [MBS-3904] – It is possible to vote for own edits
  • [MBS-4241] – msgids for translation should not use anything but ASCII
  • [MBS-4595] – Not all relationships are shown translated
  • [MBS-4613] – Language/script dropdowns are not translated in the release editor
  • [MBS-4731] – ISE: Edit Search for My Vote != None && Status = Open
  • [MBS-4738] – script/create_test_db.sh does not create a test database.
  • [MBS-4796] – "Other release groups" have slipped to the very bottom of the page
  • [MBS-4857] – Statistics timeline does not respond to window resizes
  • [MBS-4871] – When making a new collection, UUID in url is all uppercase
  • [MBS-4873] – Can’t go from a collection back to collections list
  • [MBS-4875] – Statistics tabs are untranslatable
  • [MBS-4878] – Dropdown lists on add artist/label/etc not translated
  • [MBS-4905] – Missing "lyrics language" in "work information" section of works tabs
  • [MBS-4926] – musicbrainz.org/release-group/{mbid} template is including an extra th
  • [MBS-4934] – robots.txt is blocking *
  • [MBS-4935] – count.recording.Nreleases statistics are calculated incorrectly and inefficiently
  • [MBS-4938] – Statistics: No. of IPIs is wrong
  • [MBS-4954] – Internal server error when checking donation status.

Improvement

  • [MBS-2387] – Better release label merging
  • [MBS-3208] – Trim leading/trailing whitespace in release editor prior to Add Missing Entities check
  • [MBS-4741] – Bring back voting icons in the edit search/edit view
  • [MBS-4855] – Split translation domains to ease translation and aid reuse of musicbrainz-server translations
  • [MBS-4856] – l() and ln() in templates should be implemented as a TT plugin, not relying on c.gettext
  • [MBS-4933] – Remove extraneous references to READWRITE in Data::Statistics

New Feature

  • [MBS-1715] – No page to view top editors

Task

  • [MBS-4845] – Update the Twitter logo
  • [MBS-4888] – Add "Trove" to "Other Databases" whitelist

Sub-task

  • [MBS-4223] – .po files with country codes don’t seem to work
  • [MBS-4224] – Interface not switching languages properly
  • [MBS-4259] – Make timeline events translatable
  • [MBS-4338] – country, language, script strings should not share identical msgid
  • [MBS-4340] – edit details template is wrongly retrieved from translated edit name

The Git tag for this release is v-2012-07-09.

Server update, 2012-06-25

We’ve just finished pushing out a small set of changes to the web servers. This is mainly a bug fix release. Thanks to hrglgrmpf, Ian McEwen, Nicolás Tamargo and the MusicBrainz team for their work on this release! Here’s what’s changed:

Bug

  • [MBS-3803] – "Edit barcodes" edit should show the previous value
  • [MBS-4341] – cron scripts don’t account for carton
  • [MBS-4513] – homepage.css included twice on main index
  • [MBS-4526] – Recordings listed on ISRC page are not sorted
  • [MBS-4580] – "Greek" as a locale of German
  • [MBS-4798] – Language statistics should be sortable
  • [MBS-4810] – CC license URLs are not fully normalized in URLCleanup.js
  • [MBS-4841] – update to new Jamendo URL scheme
  • [MBS-4893] – "No edit notes have been added." should not be on edit listing pages.

Improvement

  • [MBS-2547] – Make modbot delete unused core entities
  • [MBS-3120] – Warn when merging recordings with different ISRCs
  • [MBS-4744] – Recognise Spotify URLs
  • [MBS-4900] – Net::CoverArtArchive is not in Makefile.pl

New Feature

  • [MBS-3931] – Report: Discogs pages attached to multiple artists

Task

  • [MBS-4899] – Remove SoundUnwound links from sidebar

The Git tag for this release is v-2012-06-25.

Server update, 2012-06-12

We’ve just finished pushing out a new set of changes to the MusicBrainz Servers. This release is mostly a bug fix, and importantly fixes a critical bug that could cause recordings to be deleted. Many thanks to Nicolás Tamargo, Ian McEwen, Wieland Hoffmann, hrglgrmpf and the MusicBrainz team for their work on this release.

Bug

  • [MBS-3862] – Sending email to an editor reveals their hidden email address when you use the "send a copy to my own email address" option.
  • [MBS-4088] – ISE and data loss (recordings) while trying to split a tracklist into 2 tracklists
  • [MBS-4398] – MySpace https URLs don’t get cleaned up properly
  • [MBS-4750] – Editing an existing artist alias to mark it as ‘primary’ doesn’t take effect.
  • [MBS-4759] – Aliases have not been migrated correctly in the last schema migration
  • [MBS-4789] – Facebook pages with certain URLs are not displayed
  • [MBS-4791] – Can’t add tags
  • [MBS-4799] – Cover art stats don’t add up
  • [MBS-4809] – CC0 1.0 license isn’t recognized by URLCleanup.js
  • [MBS-4824] – URLCleanup.js only strips whitespace from the front of strings
  • [MBS-4829] – Add Label page lies about disambiguation
  • [MBS-4834] – Detect new allmusic IDs in URLCleanup.js

Improvement

  • [MBS-3898] – Release editor should be able to deal with totaltracks in tracknumbers
  • [MBS-4302] – Remove Facebook’s "?sk=whatever" arguments during cleanup
  • [MBS-4795] – Add the Other DBs whitelisted stuff to the sidebar
  • [MBS-4814] – Add autocorrection and automatic type selection for Google Plus artist page URLs

Task

  • [MBS-4794] – Add autoselect for Other Databases

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

Server update, 2012-05-28

We’ve just finished pushing an update to our web servers. This is our first release since the schema change, and we’ve tried to address the problem of artist landing pages. As a temporary solution, we’ve split the page up by type a bit more now, which we hope is a step in the right direction. We’re currently discussing this at User:Reosarevok/Overview Options on the wiki, and your feedback is important. If you feel strongly about this, please have a read at the ideas on that page and feel free to comment/add your own.

This release features work from Ian McEwen, nikki, Joachim LeBlanc, Nicolás Tamargo and the rest of the MusicBrainz team. Thanks everyone for your hard work!

Bug

  • [MBS-1121] – Disabled submit buttons have no distinctive style
  • [MBS-3861] – IMDb links not fully normalized
  • [MBS-4278] – Copy changes to recordings edits the wrong recordings if recording associations were changed
  • [MBS-4336] – Release editor > removing a track resets manually changed track positions
  • [MBS-4520] – Deleting tracks does not update track numbers
  • [MBS-4569] – Full page titles aren’t shown in /doc
  • [MBS-4621] – Don’t use empty <img> tags on pages with no images
  • [MBS-4649] – YouTube channel autoselect is broken
  • [MBS-4656] – “Video” option for “can be streamed for free at” relationship is listed under the “License” subheading.
  • [MBS-4662] – ISE: Can’t edit a relationship attribute
  • [MBS-4664] – Use of uninitialized value in sprintf at lib/DBDefs.pm line 314.
  • [MBS-4681] – Edit maked as Applied, but it isn’t
  • [MBS-4687] – Link to create new relationship types doesn’t work
  • [MBS-4697] – Approve votes missing from edit search
  • [MBS-4720] – Audiobook is a primary release-group type
  • [MBS-4733] – Merging release groups fails if release groups have secondary types
  • [MBS-4752] – Musicbrainz webservice <iswc-list> changes break compatibility with existing applications.
  • [MBS-4757] – Edit artist alias (sort name) is auto-edit
  • [MBS-4760] – Release groups with secondary types cannot be deleted
  • [MBS-4765] – DB_SCHEMA_SEQUENCE hasn’t been updated to 15 in DBDefs.pm.default
  • [MBS-4767] – Cannot accept edit release group edits that change the primary type to a type that no longer exists
  • [MBS-4769] – Bad description row in statistic_event
  • [MBS-4770] – ISE: Error when requesting non-existent relationship types on /relationships
  • [MBS-4772] – ModBot cannot apply old edit work edits that add ISWCs

Improvement

  • [MBS-684] – TOC lookup displays too little release info
  • [MBS-1874] – Search for the documentation
  • [MBS-3748] – Adding new instruments is a pain
  • [MBS-4298] – Confusing text when merging releases+recordings
  • [MBS-4561] – Make disambiguation on tracklist credits smaller
  • [MBS-4568] – Add <bdi> tags to help with rendering of RTL text
  • [MBS-4657] – Add cover art to timeline
  • [MBS-4700] – Fix inline buttons
  • [MBS-4742] – Add a mention to the “Split Into Separate Artists” page that aliases prevent a split (or automatic removal)
  • [MBS-4762] – Cover art statistics should be displayed on the tabular pages.

Task

  • [MBS-4686] – Add wikisource.org to the lyrics whitelist

In other news, Oliver will be on holiday for one week (yipee!), and will be back in a week. Reachable via email if need be.

The commit sha for this release is 8fbbc36, a Git tag will follow when Rob is back tomorrow. and the git tag is v-2012-05-28

Post schema change fix for importing clean data

Yesterday we found a bug that prevents the import of a post schema change update data set. We’ve pushed out a fix for this and tagged it with:

v-2012-05-15-import-fix

If you’re planning on importing a new data set, make sure to check out this tag, rather than the tag mentioned in this entry.