NGS Beta 3: Delayed

What would a deadline be without a delay? Sadly, we felt that we were not quite ready to unleash beta 3 today. Rather than unleashing software that isn’t ready, we’re opting to delay beta 3.

We’re taking a look at where we stand and we hope to be able to finish it for next week. I’ll post about an update hopefully tomorrow.

Track level Advanced Relationships for NGS

As you may know, in our Next Generation Schema release we are including support for musical Works. Our definition of a Work is a musical composition that will at some point be performed and possibly recorded, in which case it will become a Recording. In the current MusicBrainz implementation we do not have the concept of a Work and a lot of the Advanced Relationships (ARs) we have are muddled between the concept of a Work or a Recording.

This left us with the tricky task of reviewing all track level ARs and prying apart which ARs should be moved to Works and which ones to Recording. Or both! To accomplish this task, Brianfreud had compiled a list of open issues, which Ian McEwen has adopted and nutured. Today we convened an IRC meeting with Nikki, Pete Marsh from the BBC, Ian and myself. If you’re interested in how we reached the decisions we did, please take a look at the chatlog.

Our decisions have been captured in this wiki page — please take a look at it and see if we’ve missed anything or if there is anything you disagree with. If we do not hear any feedback on this topic, we will change our NGS data conversion script to convert the data as decided in this page.

Thanks to Ian, Pete and Nikki for your help in this meeting! And big thanks also go to Murdos for all of your help in steering me towards getting all Works related issues on to the table!

Next NGS milestone: Beta 3 on 7 September

After a 3 hour bug triage session with the team we’ve managed to sort out the bugs and come up with a schedule for the next release. After looking at the number of bugs for us to tackle before the release, we felt that we really needed to have one more beta release before we are ready to call it a release candidate. Given that, we’re going to do yet one more more beta release on 7 September.

I know, another beta release? Yes, we’re sorry that this is stretching out longer than it should have, but we’re dedicated to releasing the software when its ready and not before. We’ve done our best to cut out unnecessary features, but we still have about 8 weeks of work to do. Fortunately, both Oliver and Warp are now working full time and and fully focused on this release. Re-writing a 10 year old codebase isn’t an easy thing to do and so far it looks like NGS will become stable before perl6 does. ๐Ÿ™‚

The release candidate 1 will be 100% feature complete with no new features or tweaks being added. All we will do to the release candidate is fix bugs! For this reason we are not creating an NGS release milestone in Jira. That way, no one can postpone any tickets into the final release. ๐Ÿ™‚

To see what we have planned for the upcoming releases, please take a look at the bug list for beta 3 and the bug list for release candidate 1. Currently we expect release candidate 1 (and hopefully only 1) about 4 weeks after beta 3. We hope to then release NGS onto the servers 2-4 weeks after that.

Yet again: NGS replication restarted

Sadly, the last round of NGS testing caused some problems. I’ve fixed those problems and restarted the replication feed again. Follow these instructions to get your replication started again:

  • Download and install the mb_server source code from git. Follow these instructions. (Make sure you update this code from the code you may have pulled yesterday)
  • Set your server type in DBDefs.pm to RT_SLAVE
  • Download and import this dataset. This is the same dataset has in the last NGS test!
  • Insert this required row into the database, using our psql program:
    cd <mb_server_src>/admin
    ./psql READWRITE
    insert into replication_control values (1, 12, 100, now());
    
  • Now run admin/replication/LoadReplicationChanges a few minutes after the hour to keep up to date with the data on the test server. Please note that this system may not be stable yet and that we will occasionally load new data on our test server, which will require you to reload the data on your server.

Good luck!

Once more: Testing the NGS live data feed

Now that we’re (hopefully) done making schema changes to NGS, its time to give the replication testing another try. If you’re interested in testing replication for NGS, follow these instructions:

  • Download and install the mb_server source code from git. Follow these instructions.
  • Set your server type in DBDefs.pm to RT_SLAVE
  • Download and import this dataset.
  • Insert this required row into the database, using our psql program:
    cd <mb_server_src>/admin
    ./psql READWRITE
    insert into replication_control values (1, 12, 0, '2010-06-15 17:00:02.795317-07');
    
  • Now run admin/replication/LoadReplicationChanges a few minutes after the hour to keep up to date with the data on the test server. Please note that this system may not be stable yet and that we will occaisionally load new data on our test server, which will require you to reload the data on your server.

Good luck!

Announcing NGS Beta 2!

I’m pleased to announce that we’ve finished hacking on NGS Beta 2! The test server is updated with the beta 2 source code and a fresh data dump (20100616 complete with 119,000 old edits migrated).

To play with NGS Beta 2, head over to the test server and log in with your normal MusicBrainz username/password. If you find any probems, please enter a bug report in our bug tracker. To see the complete list of issues that have been resolved for Beta 2, see this rather long list.

Oliver says:

Here’s a brief summary of my changes:

  • Edit migration – old historic edits are now migrated, along with votes. Edit notes are not yet migrated, though work has begun in this area
  • Many bug fixes from beta 1, including improved error handling
  • A few more possible edits, including removing PUIDs and adding/deleting ISRCs from recordings
  • Case change edits are now auto-edits
  • Aliases now have a ‘locale’ field
  • Annotations can be previewed before submit

It’s hard to summarize the apparent 160 issues in JIRA though, but these stand out at least.

Warp says:

  • Completely new release editor, not quite finished but it should give you a good feel of how the final version will work.
  • Some big changes to /ws/2, see the new specification.
  • Non-latin names are now properly sorted.
  • Green tagger icons
  • Ratings can be cleared.
  • Lots of data display fixes and tweaks.
  • Both Oliver and Warp have been working hard to meet this deadline, and I’m pleased that they’ve completed this important milestone! Many thanks to Oliver, Warp, Nikki, Navap, Ijabz, Murdos and anyone else who had a hand in working on beta 2. I would also like to thank Alisa Lemberg specifically for her efforts in helping Warp, Navap and myself redesign the release editor. Alisa’s UX experience helped us focus our efforts and finally deliver a solid release editor. Without her we’d still be guessing the right approach to take for creating a usable release editor.

    Happy Testing!

    Oliver Charles joins MusicBrainz full time

    I’m pleased to announce that Oliver Charles (acid2) has agreed to hack on MusicBrainz full time. Aside from some vacation time in July, Oliver will be working full time starting now.

    Along with the grant engineer from the Queen Mary Linked Data grant we will have four full time people working on MusicBrainz. We’ve never had this many people dedicated to moving along the server development. I’m hoping the times of extreme resource shortages will be over, allowing us to hopefully target a much faster release cycle for the server once we releases NGS.

    Welcome on board Oliver!

    Queen Mary University receives grant to implement new RDF web service for MusicBrainz

    The School of Electronic Engineering and Computer Science at Queen Mary University in London just received a grant to implement a new RDF based web service and a SPARQL endpoint for this web service.

    The grant will be administered by Queen Mary University and will mean that one developer will be paid for one year to work on this project. This developer will be part of the MusicBrainz development team and will take part in our usual activities, meetings and code review process.

    While we have an RDF based web service already, its worth noting that this has been stale for many years and has not been developed in favor of our XML web service. The XML web service has seen an amazing adoption and it would seem that having another web service would be superfluous. They key here is that the Linked Data world (formerly the semantic web) predominantly uses RDF as its preferred means of linking data. In order for MusicBrainz to continue to be well linked to the Linked Data world, it is important for us to continue to support an RDF web service. This grant very cleanly supports this goal and it also shows that the academic world thinks that MusicBrainz is of value and that it should be supported.

    Congratulations to the Queen Mary University team that worked on this application! For nearly all of the gory details (the detailed budget figures have been stripped from the application for privacy sake) please see the PDF grant application.

    I will be working with the hired developer to write up a detailed wiki page that will explain this project in much more detail. In the meantime if you have any questions, please read the grant application.

    Congratulations to the whole team at Queen Mary University London!

    New release editor

    For anyone who wishes to take a look at our new release editor, its now live on test.musicbrainz.org . Use your normal MusicBrainz account credentials to log in.

    Click on this link to view an example release. There are still many things that are missing from this release editor and we need to wait for Warp to add more of the JavaScript portions to make it work right, but you should be able top get the right idea.

    Thanks for your hard work on this Warp!