Next Generation public schema frozen & new data dump available

Hello and Happy New Year!

Very late last year we finally hit a milestone we’ve been working towards for quite some time: Freezing the public NGS schema!

The public schema refers to the collection of tables that will be replicated in NGS. See below for a complete list of all those tables. However, we may make small changes to some of the tables in NGS that are not replicated. This should not affect anyone, unless you are actively hacking on the MusicBrainz Server code.

Also, we have a new data dump for this frozen schema available for anyone who would like to play with it. This data dump will cleanly import into the current version of the server source code in git.

All the tables that will be replicated for NGS:

annotation, artist, artist_alias, artist_annotation, artist_meta, artist_tag, artist_credit, artist_credit_name, artist_gid_redirect, artist_name, artist_type, cdtoc, clientversion, country, gender, isrc, l_artist_artist, l_artist_label, l_artist_recording, l_artist_release, l_artist_release_group, l_artist_url, l_artist_work, l_label_label, l_label_recording, l_label_release, l_label_release_group, l_label_url, l_label_work, l_recording_recording, l_recording_release, l_recording_release_group, l_recording_url, l_recording_work, l_release_release, l_release_release_group, l_release_url, l_release_work, l_release_group_release_group, l_release_group_url, l_release_group_work, l_url_url, l_url_work, l_work_work, label, label_alias, label_annotation, label_meta, label_gid_redirect, label_name, label_tag, label_type, language, link, link_attribute, link_attribute_type, link_type, link_type_attribute_type, medium, medium_cdtoc, medium_format, puid, recording, recording_annotation, recording_meta, recording_gid_redirect, recording_puid, recording_tag, release, release_annotation, release_gid_redirect, release_meta, release_label, release_packaging, release_status, release_group, release_group_annotation, release_group_gid_redirect, release_group_meta, release_group_tag, release_group_type, release_name, replication_control, script, script_language, tag, tag_relation, track, track_name, tracklist, tracklist_index, url, work, work_annotation, work_gid_redirect, work_meta, work_name, work_tag, work_type

MusicBrainz data used in recent music piracy paper

The MusicBrainz data has been used in a very interesting MIT paper that discusses illegal music downloading, Napster and the sharp rise of people attending music concerts. ARS Technica writes:

For album sales, the researchers accessed Nielsen SoundScan, the music sales data service, and looked at aggregate receipts from 1993 through 2002. The paper also examined data provided by MusicBrainz, a site that allows users to create relational databases about their favorite artists or music genres.

Since file sharing technologies made millions of songs freely downloadable over the internet, they were naturally expected to displace legal sales. Most empirical studies have found evidence of this displacement. However, while file-sharing decreased legal sales, it almost certainly increased the overall consumption of recorded music.

It is nice to have some of these things I suspected confirmed — especially with the use of our data. ๐Ÿ™‚

NGS Developers: Schema changes pushed to master

Ollie and I have been working on a bunch of schema changes to make things more consistent and to add more time stamps to the database. We’ve included other data migration patches from Luks and Murdos as well.

All of these changes have been pushed to the master branch on our git repository. If you pull this branch from our repo, you must reload your data with this fresh NGS snapshot!

On monday we will discuss if we can call our core schema frozen yet. Let’s hope so. ๐Ÿ˜‰

MusicBrainz Server git repo path change

We’ve changed the path to our main MusicBrainz Server git repository. The repo is now available at:
git://git.musicbrainz.org/musicbrainz-server.git.

Please update your local repos accordingly!

To update a repo run:
git remote set-url origin git://git.musicbrainz.org/musicbrainz-server.git

Where origin is the name of the remote repo (run git remote -v to find that out if you’re not sure).

Note: The previous path has been turned into a symlink to ease this transition, but it will stop working as of November 1st so make sure to update sooner rather than later!

If you are a developer with write access, replace the url above with:
ssh://mbgitrw@git.musicbrainz.org:10015/musicbrainz-server.git.

Next Generation Schema: Release Candidate 1

We’re working hard to get to the Release Candidate 1 release for NGS. We’ve got lots of code reviews in progress, lots of code being committed and a lot of activity all working towards shipping NGS.

However, as we’re working an exposing new features we’re still getting a number of new bugs submitted that expose other issues that we need to address. This is the problem with porting a very large old codebase — we need to simply slog through it and get it done as soon as we can.

With those caveats, I’ll say that I expect the RC1 release to happen somewhere near the end of November. When we get closer and our bug list is converging, I’ll post an actual date for this release. In the meantime, we’re going to put our heads down and get more work done.

Sorry for being vague about this — but I would much rather not slip anymore releases.

The Guardian adds MusicBrainz IDs to its articles via its Open Platform

Martin Belam from the Guardian says:

The announcement is that we’re adding Linked Data to the Guardian’s Open Platform. We’ve tagged about 20,000 articles with MusicBrainz IDs and ISBNs, and we’ll add more sources soon.

So, for example, if you want to use our Cee Lo coverage on your web site or for an iPhone or iPad app or wherever, you can query the Open Platform to get content from the Guardian to integrate your app.

There are more details in this introduction and more more information on how to search the Guardian with MusicBrainz IDs. I’m really stoked that MusicBrainz IDs are reaching beyond the music world. If we reached mainstream journalism today, where are we going tomorrow?

Thanks for all of your hard work Martin!

New NGS data dump available

I’ve just pushed out a new NGS data dump.

We’re finishing up work on the migration scripts and we’re hoping to finalize the last schema change for NGS next week. After that the NGS schema will be officially frozen in anticipation of the release. After this change I will update the data on the test server and restart the replication feed for one (hopefully) last time.

Stay tuned for more updates!

Looking for short term contract software engineer

MusixMatch would like to have a feature (or two) added to NGS, but I’m dedicated to not piling on more work for the MusicBrainz engineering team. MusixMatch has agreed to pay for the development of these features via paid software engineer and then submit the patch for inclusion into NGS.

If you’re a software engineer and you have experience using Perl and Postgres and are available immediately to hack on some new features to NGS, please send mail to helpwanted at musicbrainz dot org.

Announcing MusicBrainz Server NGS Beta 3: Now live on test!

I’m sorry to say that we’re running a bit behind in bringing you MusicBrainz NGS Beta 3, but we’ve finally managed it!

I am, however, proud to say that we’ve made incredible progress in the last few weeks. Not only are Warp and Acid2 rounding out our features nicely, but with Nikki and Navap backing us up we’ve found/fixed a ton of problems and made countless improvements to the look of the new site. While at times it seems that we’re working on Duke Nukem NGS that seems to never get finished, it is days like today that make me very happy with what we are going to deliver when NGS ships. We’re making sure that the software we deliver at the end of this massive process is solid and will make our users happy. In that sense I am very happy that our users and customers are giving us the time to finish this project properly.

Enough waxing poetic — now for the meaty details of this release! Take a look at the massive change log that shows all the issues we’ve tackled since beta 2. The beta 3 release is available for your testing pleasure on our test server. If you’ve not logged into the test server before, use your normal password from the MB site — the data on test is a little bit old so if your password doesn’t work, try using one that you’ve used a couple of months ago.

This release is solid enough for people to come in and have a serious play. Please come test your favorite features and if you find bugs, please report them to Jira, our bug tracking system. (click on Create Issue in the upper right hand corner). We’ve fixed a ton of bugs already and we’re not afraid to have you report new ones! Beta 3 adds more features and improves many other features, but it is still not feature complete. Our next release, Release Candidate 1 will be feature complete — I hope to set timeframe for this release within a couple of weeks.

And now for some quick notes on areas of NGS that we’ve been focusing on:

  • Edit system: The edit system is now looking stable and fairly complete, though it is still lacking batch operations, which were hoping to get in for beta 3. There is also support for migrating all pre-NGS edit types, though some have display issues. (we’ll be loading new data onto test soon and then we’ll re-run the edit migration script).
  • Web services: The backwards compatible web service (/ws/1) is feature complete up to cd stubs, but everything else should just work (please point tagger applications at test and see what happens!). The new web service (/ws/2) is feature complete except submitting CD Stubs, ISRCs and collections — please take a look at the specification for Web Service Version 2 and see if you can break it!
  • Release editor: The release editor in beta 3 has two major new features. First is the a recordings tab, which allows you to associate recordings with tracks. Second is a preview of your edits on the final tab.
  • CD Stubs: Browsing top CD Stubs and viewing CD Stubs is now working. Submitting/importing CD stubs is not complete yet.
  • Lists (formerly collections): Collections have become a more generic concept of Lists, which allows multiple lists of releases per user. (This was one of our GSoc projects).
  • RDFa: Artist and release pages now contain embedded RDFa! For more details, please see our wiki page for the RDFa feature.

Thank you to everyone who has worked on this release! Things have been a little stressful the past few days as we tried to push as many things out the door as possible, but the results have been quite worthwhile. Now it is time to relax a little before we start charging towards our Release Candidate 1 release. Thanks everyone!

UPDATE: I added a note about the RDFa support.