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!

    New tagger affiliate: My Music Collection

    My Music Collection from Nuclear Coffee just joined our Tagger Affiliate program (never mind that its not a tagger. πŸ™‚ ):

    My Music Collection provides you with an innovative way to organize and manage your CDs, vinyl records and other media. This music collection software is designed to meet the needs any kind of collectors – from home users with large collections to professional DJs

    Welcome, My Music Collection!

    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!

    Where is NGS Beta 2?

    I have some good news and some bad news. The bad news? NGS Beta 2 will be delayed by 4 weeks until June 21st. The good news? Read on!

    The main reason why we’re having to slip the release is that we’ve finally found a UX design volunteer (Alisa Lemberg aka Aleeeza) who has been working with us to design a release editor that works well for the broad range of users we have. We had to go back quite a few steps in our previous work to come up with a sane release editor. Having a good user experience for one of the most critical pieces of MusicBrainz was more important to us than keeping our beta 2 schedule. In the nick of time for our deadline the new release editor will be available for public input as soon as Ollie (slacker!) is done updating the test server. Expect another post tomorrow.

    The second reason that we’re behind is that we decided to make some really important fixes to the new Web Service. We’re going to ensure that the vast number of releases credited to Johann Sebastian Bach do not execute a denial of service attack on our servers (this is part the dreaded JSB problem). Warp has written a new specification for the new Web Service that illustrates our new approach. Unfortunately Beta 2 will not include the new browsing features discussed, but the other aspects will be adapted as per spec for beta 2.

    Third, Ollie will shoot to finish all NGS edits (including migrating old edits) for the beta 2 release. This will make beta 2 complete with all of the most important features!

    We’ve also agreed to add one more beta release (called Release Candidate 1) before we release NGS in order to give more exposure to NGS as we get closer to finishing.

    Finally, we’re considering delaying a number of non-critical features to the releases beyond NGS. The dashboard, timeline, statistics and auto-editor elections are not critical for us delivering NGS. But, the development of NGS has dragged on long enough that we really ought to finish as soon as possible and that may mean delaying these features for a little while. (we can do auto editor elections by hand on a mailing list if need be). We’re not dropping these features — we’re simply delaying them for a few weeks past the NGS release (and perhaps a hot bug fix release immediately post NGS).

    What do you think about us dropping non-critical features in exchange for delivering NGS sooner? Tell us about it in the comments!

    NGS Beta 2: May 24th 2010

    After much scheduling and getting our ducks in a row, we’re pleased to announce the final beta release of NGS on May 24th! This is one year after our last release, so this date is a little bitter/sweet for us. I had hoped to get this release out before then, but the team is making sure we’re getting this release right, and there are a ton of difficult things to get right.

    And the tentative release date for NGS is going to be in July. No promises on a firm date yet.

    Testing the NGS live data feed

    If anyone would like to test out the NGS replication, which I’ve setup from the test server, follow these instructions:

    • Download and install the mb_server source code from SVN trunk. 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 /admin
      ./psql READWRITE
      insert into replication_control values (1, 12, 36169, '2010-01-23 00:00:02.604674+00');
      
    • 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!