Style Guidelines Work

Started work on the effort to move the official style guidelines to the Wiki. Created a Wiki page mimicing the current Official Style Guidelines page, it’s still a bit rough and I need to work on the formatting, but it’s there. Also started work on the style pages from the main site out of CVS, … Continue reading “Style Guidelines Work”

Started work on the effort to move the official style guidelines to the Wiki. Created a Wiki page mimicing the current Official Style Guidelines page, it’s still a bit rough and I need to work on the formatting, but it’s there. Also started work on the style pages from the main site out of CVS, but realised I can’t get too far without a working running version of the MB server – viewing the raw html file in the browser doesn’t get all the Mason code. Setting up the server is a job for tomorrow.

Annotations

This evening I’m taking another look at the “Annotations” work done by Matthias a while back. It’s pretty near complete – he did a good job. Now I’ve just got to polish off a couple of rough edges and merge it back into the CVS trunk. I think we should be able to throw this … Continue reading “Annotations”

This evening I’m taking another look at the “Annotations” work done by Matthias a while back. It’s pretty near complete – he did a good job. Now I’ve just got to polish off a couple of rough edges and merge it back into the CVS trunk. I think we should be able to throw this one open for testing pretty soon.

Continue reading “Annotations”

Server Updates

Better Disc ID support, UTF-8 support for FreeDB, several tweaks to the automoderator election system and the usual miscellaneous bunch of bug fixes and other changes.

Changes mainly of interest to MusicBrainz Users

Revamped Support for Disc IDs

Duplicate disc IDs are now allowed.  As a pleasant
side-effect you can now
search for albums based on FreeDB ID
as well as by disc ID
You can also inspect the disc ID details
much more closely than before.

FreeDB

FreeDB Moderations, (the mechanism whereby MusicBrainz automatically
imports data from FreeDB with no human intervention),
has been turned off – no more “FreeDB mods”. 
You can still do a manual FreeDB import
if you like.

Also, MusicBrainz now uses “FreeDB protocol 6”, which means much better
Unicode support when importing albums.

Automoderator Elections

All the e-mails which the system sends to the mb-automods mailing list
(when a candidate is nominated, when voting opens, etc) are now “Cc”d to
the candidate (assuming the candidate has entered an e-mail address). 
Previously it was possible, indeed probable, that the candidate had no idea
they were being nominated, and indeed accepted, right up until they got the
“Welcome to the mb-automods mailing list” e-mail.

At the end of an election, if the nominee was accepted, the system can now
make the successful candidate into an Automod without needing manual
intervention from the server administrators.  It can’t yet subscribe
the new auto-moderator to the “mb-automods” mailing list, however.

While voting is open, the tally of votes cast so far is now hidden to all
apart from the proposer, the seconders and the candidate.

If you are not logged in, the automod voting page now displays a more
helpful message than before.

Special “system” users (ModBot etc) can no longer be nominated for
auto-moderator status.

A small typo was fixed in the e-mails sent by The Returning Officer.

TRM Statistics

Ever since TRMs were introduced to MusicBrainz, we’ve kept a count of
how many times each TRM has been looked up by the Tagger (or similar apps). 
The problem was, we had no idea how often each TRM was then used to tag
each associated track.  So when looking at a TRM joined to several
tracks, working out which was the “most used” track was a matter of guesswork.

This release introduces the ability to count uses of TRMs (i.e.
against a specific track), as well as lookups.  You can see this
on the track detail page,
although all the “use” counts will all start out as blank (i.e. zero). 
In fact we’ll be keeping month-by-month lookup counts and use counts for
each TRM, so in theory you’ll be able to see how the tagging “popularity”
for each song rises and falls over time (although all you can see on the web
is the running total).

Other Changes

A bug was causing the artist search index to become
corrupted.  The bug has been fixed and the index has been rebuilt.

When albums are imported from FreeDB, and the ModBot adds a note
giving the URL of the original FreeDB data, that note is no longer
mailed to the original moderator.

When adding an album, both album attributes now default
to “not known” instead of “Album, Official”.

You can now make a case-change edit on artist aliases
(previously it erroneously complained that there was a conflicting
alias).  The code which adds and renames aliases has been made more
robust.

The edit artist page now includes a “copy” button (copies the name
into the sortname field).

“Guess Case” has been tweaked again: it no longer adds a space
after “.” if the next character is “.” (because we don’t want “…” to
become “. ..”).  It doesn’t check for a sub-title split when
inside parentheses (fixes “Album Title (Disc 1: Disc Name) bug). 
It converts “reprise” to lower case when within parentheses. 
It strips spaces after “(” or “[“, and before “]” or “)”.

The MusicBrainz data dumps now include Amazon cover art URLs.

The tagger search page is no longer fooled by extra whitespace
around your search query.

New and Changed Documentation

Changes mainly of interest to MusicBrainz Server Programmers

The INSTALL file has been further updated,
describing the installation process more fully and more helpfully than ever
before 🙂

InitDb.pl now does a much better job
of creating the replication function.  You can use
--with-pending=FILE to tell it where to find pending.so.

Various scripts (MBImport.pl, ImportReplicationChanges,
LoadReplicationChanges) now check the status of completed sub-processes more
carefully.

FixLength.pl now runs every
night.  It has been made more robust too – it reports any errors it
encounters and keeps running, and it also shows the IDs of any albums it
can’t fix.

Only one instance of LoadReplicationChanges
is now allowed at a time.

ProcessReplicationChanges
now deletes “pending” data as it is processed, which means that if the
script is stopped (or crashes) we can safely restart where we left
off.  Several options have also been added to help with
troubleshooting.

Bugs and RFEs Closed

Dave Evans

TRM Database Pruned

The TRM database has been pruned, making the system much faster again.

At about 11pm (UK time) on August 9th the TRM database
was “pruned”, removing all TRMs apart from the ones attached to
MusicBrainz tracks.  This resulted in the database becoming about
one-third of the size it was before.

Because the TRM database is smaller, it now fits into the server’s
memory, reducing the need for disk activity (which means the rest of
MusicBrainz runs faster too).

Because TRM requests can now be served from memory instead of from disk,
TRM responses are now much quicker,
which in turn means that
we don’t have to refuse as many TRM requests
due to the server being too busy.

(Note that most of those linked graphs started in mid March 2004,
just before the TRM server’s memory was upgraded.  This explains why
several of the graphs start with a sudden change in behaviour.)

Server Updates

No-vote changes are accepted by default, better replication support, links back to FreeDB, and a bunch of miscellaneous bug fixes and other enhancements

Changes mainly of interest to MusicBrainz Users

Changes to How Votes Work

Previously if a moderation expired
(1 week after it was entered) and no-one had voted
on it (not counting abstentions), the moderation would simply stay open
until someone did vote on it.  We all know where that got us
– a rather huge backlog of moderations waiting for votes. 😦

Now, the behaviour is a little different: once a moderation has expired
and there are no non-abstaining votes, then the system checks to see if
there are any moderators who are subscribed to the moderation’s artist
(not counting the original moderator).  If there are none, then the
moderation is accepted.  If there are subscribers, then the
moderation may stay open for up to a further
1 week.  (If a vote is cast within that time,
the usual rules apply).  If after that extra time there are
still no votes, then the moderation is accepted.

This therefore differs from the old behaviour in two ways: (1) The default
state for a moderation with no votes is to be accepted (instead of
languishing in an “open” state).  (2) The length of time that the
system will wait before doing so depends on whether or not the moderation’s
artist has any subscribers (not counting the original moderator).

Thanks to Matthias Friedrich for implementing this!

Web-Based Automoderator Elections

After several rather disorganised and confusing Automoderator elections,
it was decided that something more formal, controlled and automated was
probably a good idea.  Hence, the AutoTransaction elections are now
held via this web site.  If you’re an
Automoderator, you can nominate someone for Automod status by clicking on
the “Nominate” link on their profile page.  Anyone may examine the
election information, but it is a private ballot and only Automods may
vote.  The system posts automated messages to the
mb-automods mailing list.

MusicBrainz Mirror Servers

Rob has done lots of work to ensure that the system is more “replication
aware”.  There are various things that MusicBrainz mirror servers can’t
do – for example, they do not store any moderator / moderation data. 
Hence, you can’t log in to a mirror server, and you can’t submit TRMs to one
either.  So when you’re on a mirror server, at various times you’ll see
messages to the effect that what you’re looking for is only available or
possible on the main server.

Other Changes

Moderator Names: previously the system accidentally allowed
non-unique moderator names.  Obviously this was not a good thing,
so moderator names must now be unique.  Any duplicate moderators
have been merged together.

FreeDB Imports: MusicBrainz now remembers the FreeDB category/id
and stores that information in the moderation data as the album is
added.  The ModBot will also a note citing the URL of the FreeDB source
data, like this: “Imported from
http://www.freedb.org/freedb_search_fmt.php?cat=rock&id=710aca08“.

Voting: There was a bug whereby if two votes were cast on the same
moderation at the same time, then the “yes/no” totals could become
wrong.  This has now been fixed.

Error Messages: Errors thrown up by the database were often
not reported to the user.  For example, you may have seen a page which
simply said “Error:” (without giving an error message).  This has now
been fixed.

Disc ID Detail: On the Album Info page, you can now choose to examine
the details of any Disc IDs attached to this album, including the length of
each track (according to each Disc ID), in seconds or sectors. 
Example 1;
Example 2;
Example 3.

Album Attributes: When adding albums, the release type/status now both
default to “I don’t know” (i.e. “None”).  Also, on the “Edit album attributes”
page, you can now remove album attributes (set them back to “None”).

Guess Case: “Guess Case” now recognises
[untitled], [unknown] and [no artist]; it also no longer adds spaces
to punctuated numbers (e.g. 1,234.56)  It more correctly capitalises
hyphenated words “Like-This”.  It no longer capitalises “disc 1” (and
so on), nor various common non-English articles of speech
(der, und, de, du, les, et, …). 
It knows to capitalise YMCA, NYC and R&B.  (all changes by Rob
Rowe).

Release Editor: If there are no releases, you now immediately get a
blank row so you can add a release.  On the “review changes” page which
follows, the album name is now shown.

Miscellany:
Adding a moderation note to “change track name”
now also adds that note to the “change track artist” mod. 
The “Add to Cart” (Amazon) button has been fixed (by Andy Grundman). 
There is now a link to the Style page at the top
of the “list of moderations” pages. 
You can look up a moderator name on the main Search page
The section headings in the bar on left (e.g. Quick Search) are now
hyperlinks. 

Changes mainly of interest to MusicBrainz Server Programmers

Replication

As part of the work to improve the support for mirror servers, the way that
database connections are configured has completely changed: see the section
entitled “The Database” in
DBDefs.pm, and see also
Database.pm
Additionally, InitDb.pl now checks your
Postgres locale settings, and can take care of more of the configuration for
you.  “InitDb.pl –clean” now runs the scripts in the right order.

The INSTALL file and the
Import HOWTO have
been updated to reflect the new way of doing things.  A couple of
errors in INSTALL have also been fixed.

LoadReplicationChanges
now shows a message if we’re continuing to process a packet
part-way through.  As soon as the downloaded replication packet
has been decompressed, it is deleted.  The sanity checks on
schema_sequence and replication_sequence have been fixed. 
In ProcessReplicationChanges,
the progress meter has been tweaked to be more useful. Also, as
each replication transaction is processed, the packet data is deleted,
so that we can safely stop and restart, and be sure that we restart exactly
where we left off.

Miscellany

UpdateWordCounts now only writes to
the database if the numbers are currently wrong, to avoid creating
unnecessarily large replication packets. 
daily.sh now only show the
output of RunReports if
there was an error. 
QuerySupport::AssociateCDFromAlbumId was unused, and has
been removed. 
Mason 1.26 compatibility has been achieved by not using newlines between
<& and the component name (fixed by Matthias).

CreateTables.sql has been tidied up. 
An error has been fixed in InsertDefaultRows.sql. 
$trm->LoadFull was unused, and has been removed. 
Many instances of $sql->Finish have been moved to the
correct place in the code, or added where missing. 
$discid->LoadFull now always returns a reference to
an array, instead of sometimes returning undef. 

Variables in MM.pm have been tidied up, and some TODO comments have been
added.  MM::CreateDumpRDF was unused, and has been
removed. 
The RDF parser module (Parser.pm) has been rewritten, and is much more
maintanable.  Additionally we can now handle multiple ordinals per
query (in case we should ever need to do that). 
In Mail.pm, error checking has been added to the code which actually sends
e-mails.  DEBUG_MAIL_SPOOL has been added (handy for
testing).

Bugs and RFEs Closed

Dave Evans

Server Updates

This release adds support for data replication, makes others’ votes more visible, and allows moderation notes to be e-mailed to other voters, not just the moderator.

Changes mainly of interest to MusicBrainz Users

Votes on open moderations are no longer as “aggressively hidden” as they
used to be.  Now you can always see the voting on any mod, regardless
of status etc, by going to the Moderation Detail
page.  On the main voting pages
you’ll only not be able to see the vote counts as long as you haven’t voted;
as soon as you vote (or when the mod closes, or if it’s your mod anyway)
then the vote counts are shown.

All URLs in moderation notes are now hyperlinked, not just ones that link to
other MusicBrainz pages.  See
it
in
action
(Technically there are limitations to this – only http, https and ftp URLs
are detected, and finding where the URL ends is a bit of a fuzzy science –
but it gets it right most of the time).

From now on, whenever you add a note to a moderation, you’ll get mailed all
future notes added to that moderation.  If you don’t like this new
behaviour, you can disable it via a new preference.  In that case
you’ll only get mailed notes which were added to your own mods.

Each entry in the Style Guide is now “linkable”,
so you can refer style guide entries to other users just by posting a link.

For new Tagger users, it’s now much more obvious that you have to copy your
username / password into the relevant part of the “Options” window.

Previously it was possible to add artists, albums etc with trailing
whitespace in their names.  This caused problems with artists
especially, where the name is meant to be unique.  The system now tries
much harder to remove such whitespace before the data is written to the
database.  As a one-off exercise for this release, all
trailing-whitespace data should now have been removed.

Previously, strange side-effects could have occurred in various places if the
names of artists, etc. contained the “_” or “%” characters.  These
potential side-effects have now been fixed.

The Top Moderators page has been revamped; the
moderator names listed there are now links to their profile pages.

On the Browse Releases page, there is now
a “title” attribute (which in most browsers is shown as a “tooltip”) which
shows the track, disc id and TRM id counts for each release.

If there is an error when adding a track, previously the system just
reported “Error”.  Now it shows you the full error message, as
originally intended.

Changes mainly of interest to MusicBrainz Programmers

The TRM “gateway” on the server has now been reimplemented in
mod_perl.  For the most part this shouldn’t make much difference to
you; but it does mean for example that you can use any URL at
trm.musicbrainz.org,
and that we can get
better
statistics
on use of the signature server. 
There are also some new “special” TRMs
which can be returned to indicate various exceptional conditions.

New and Changed Documentation

The documentation for the client
and TunePimp have been
extended and reorganised.

Changes mainly of interest to MusicBrainz Server Programmers

Replication

The server now supports one-way data replication, for most (but not all)
tables.  (The tables excluded are the moderation and moderator tables
– nine tables in all).  The replication is based on the “dbmirror” code
contributed to the Postgres codebase.

Every hour, the ExportAllTables script
runs and exports the changed rows into a “replication packet” file (a
compressed “tar” file).  Those files are then made available on our
FTP site
Every so often (for example, once a week) a complete database export is
run, and this too is made available on our FTP site.  By initially
importing one of these full databases (minus the moderation tables),
then applying each replication packet, a slave database can keep up-to-date
with the master.

The RDF Dump

We no longer perform regular RDF exports (the “mbdump.rdf.bz2” file). 
The script which did the exports still exists, however.  If you want RDF
then one way to do it would be to set yourself up as a Postgres mirror, and
run the RDF export script against your database.

Installation

The "cron" scripts
have been rewritten; they are now configured via
config.sh, and the
INSTALL file now mentioned the existence of
these scripts.

Other Changes

Text::Unaccent version 1.05 couldn’t handle non-string data safely
(including “undef”).  We’re now running a patched version of this
module; the relevant patch is available on our FTP site.

There is a new “cleanup” script,
UnusedTracks;
some old scripts have been removed.

Various database write operations have been moved into more appropriate places
in the code, as have some read operations.  Lots of SQL has been
rewritten, and some unused methods have been removed from
Sql.pm.

Mail.pm
now complains and shows the error message in the event of failure. 
There were miscellaneous HTML fixes. 
Cache.pm
was changed to allow false values; “remove” was renamed to “delete”.

Bugs and RFEs Closed

Dave Evans

Server Updates

A bug fix when adding albums, additions to the RDF web service.

Changes mainly of interest to MusicBrainz Users

Bug #874401 has been fixed.  This bug meant that when you added
“Various Artist” albums, any sortnames you specified for new artists
were ignored.  Now you can specify both the name and sortname as
you create the artist, as you’d expect.

Changes mainly of interest to MusicBrainz Programmers

Web service changes: release dates, and release type and status have been
added to the QuickTrackInfoFromTrackId query.  This query uses
the same RDF prepresentation that the GetAlbumFromGlobalId function
returns.  This query will be deprecated for the next version of the web
service; the QuickTrackInfoFromTRMId function has also been
deprecated.

Changes mainly of interest to MusicBrainz Server Programmers

We’re switching over to use
Memcached for our cacheing
implementation (after a short spell with Cache::SizeAwareFileCache at the
last release).  Of course this means you’ll probably want to install
Memcached on your machine if you want to run a MusicBrainz server.

Some obsolete cleanup scripts have been ditched, and “RemoveBadTOCs.pl” has
been completely rewritten (and renamed).

In Discid.pm,
_FindFreeDBEntry has been removed – it wasn’t used any more, and if
we had happened to invoke it there was a nasty bug in there waiting to bite,
which would have caused data corruption of the TOC table.

Bugs and RFEs Closed

Dave Evans

Server Updates

A miscellaneous collection of bug fixes, and some back-end changes, and integrated Amazon cover art.

Changes mainly of interest to MusicBrainz Users

Amazon Cover Art

MusicBrainz now matches its database against the Amazon.com catalog. 
For each match found we display the album cover art in the album detail
page.  We’ve also added links for more information on the albums at
Amazon, and a “buy” link that lets you purchase the album from your
preferred Amazon store.

Associated with this are two new preferences: one lets you choose your
preferred Amazon store (e.g. the one closest to you); the other one
turns off both the cover art and the links to Amazon.  One of the
conditions under which this content is licensed from Amazon is that we
must display the “buy” link whenever we display the cover art —
so don’t ask us to show cover art without the “buy” links, because we can’t
do that.  It’s both, or neither.

Once we have a non-profit corporation for MusicBrainz, we will be able
start using our associate IDs and start earning a small percentage on albums
sold via MusicBrainz.  In the process of adding the Amazon cover art,
we’ve also reworked the way that artist, album and moderation links are
shown to make the album page less cluttered.

FreeDB

These changes only affect “FreeDB moderations” — i.e. when
a web service client requests album information based on
a MusicBrainz disc ID (and TOC) that we’ve not seen before,
causing the corresponding album to be automatically imported from FreeDB.

Firstly, the code used to turn the TOC into a FreeDB ID was flawed;
sometimes it yielded the correct FreeDB ID, and sometimes it didn’t. 
Of course, this has now been fixed.  However it is likely that there
are now some albums which have been automatically imported into MusicBrainz
but which were then associated with the wrong disc ID and TOC. 
It should be possible to write a “fix” script to identify and remove such
broken data; however that script so far has not been written.

Secondly, the minimum number of tracks need for an automatic import to
proceed has been raised from 2 to 5 (bug #800776).

Finally, the logic that tries to prevent the automated import of “Various
Artists” albums has been considerably strengthened; this should mean that
the FreeDB Moderations page will
tend to contain less junk in future.

Edit Artist Name bug fix

Previously, when an “Edit Artist Name” moderation was applied, the artist’s
page index (used for browsing) would be changed, when it should have
remained unchanged.

For example, if there was an artist “Bob Price”
(sortname: “Price, Bob”), then changing the name to “Bob Pryce” would have
moved that artist from the “P” page to the “B” page.  Since the “Edit
Artist Sortname” moderation also (correctly) modified the page index value,
the page which Bob ended up on would depend on whether the most recently
applied moderation was the “Name” or the “Sortname” moderation.

This bug has now been fixed, but it is likely that there are still some artists in
the database who are on the wrong index page as a result.  Editing
their sortnames will fix the error.  At some point a “fix” script needs to
be written to find and correct such broken data.

Privacy

Previously, by using the “I forgot my password” feature, it was possible to
discover the e-mail address of any user.  This (bug #893529) was fixed
on the live server the day it was reported (so it falls between the previous
release and this one).

You’ll know if someone abused this flaw to find
your address, because you will have received the “this is your password”
reminder e-mail, even though you didn’t ask for it to be sent.  As far
as I am aware, the only person this happened to was me, and that was because
the bug finder was testing
out the bug on me before he reported it 🙂

Other Changes

“Add Track” moderations on “Various Artists” albums previously showed a
blank artist name/sortname (on the voting pages, for example).  From
now on newly entered “Add Track” moderations will show the correct artist;
moderations which were already in the database before this release will just
not show the artist name (bug #868238).

When selecting an “inline moderation” to display on a “Various Artists” page,
the server no longer first picks a moderation “by the same artist”,
since it is very unlikely that
the selected moderation will have anything to do with the page you’re
looking at.

Many more timezones have been added to the allowed list, as seen on the
preferences page (bug #757534).  Also a few extra
date/time display formats have been added.

You can now choose your preferred Google domain (e.g. http://www.google.de). 
The MusicBrainz logo on the Google results pages is much nicer too 🙂

Some dates were being incorrectly displayed as being Jan 1st, 1970 (or
maybe Dec 31st, 1969, depending on your time zone).  These dates
are now correctly displayed as “never”.

The cache expiration of the sidebar panel content (server stats, top
moderators, top voters) became broken during
the move to the new Mason
It’s fixed now.

New and Changed Documentation

A couple of typos have been fixed on the MM page
Another has been fixed on the mq_examples page.

Added the mb_server codebase.

Added release number / CVS Tag information to the
CVS modules page.

Changes mainly of interest to MusicBrainz Programmers

The database dumps
will now be performed every other day, instead of every day.

Changes mainly of interest to MusicBrainz Server Programmers

Perl

The MusicBrainz scripts now look for the Perl binary at
/home/httpd/musicbrainz/mb_server/cgi-bin/perl instead of
/usr/bin/perl.  Thus, you can now easily run your mb_server
from one installation of Perl, but have your system-wide Perl (which maybe
your operating system depends on extensively) be kept separate. 
All you’ll probably have to do is copy the Perl binary you were previously
using into the new path.

This change is described in the INSTALL file.

Cacheing

A cacheing layer has been added: MusicBrainz::Server::Cache
Currently this is based on Cache::SizeAwareFileCache (from the
Cache::Cache distribution).  There are new options in
DBDefs.pm to control this.  In
the future the implementation of the cache might change; code using the
cache should neither care nor notice if it does.

So far the following things are cached in this way: user data
(UserStuff.pm); FreeDB responses; and user voting history statistics (as
displayed on the “profile” page).

Discid / FreeDB

As noted above, the FreeDB ID algorithm has been fixed — previously it
would sometimes give the wrong answer.  In fact much of
Discid.pm
and
FreeDB.pm
have been tidied up and revamped:

  • Discid->GenerateAlbumFromDiscid has been tidied up,
    as has Insert and InsertTOC.
  • Discid->GetAlbumAndIdFromDiscid has been removed.
  • Discid->ParseTOC has been added – this takes a TOC and returns
    lots of useful things from it, including the track count, lengths,
    MusicBrainz disc ID, and FreeDB ID.
  • In FreeDB.pm, _lba_to_msf and IsNumber have been removed,
    and Lookup has been greatly simplified.
  • Finally, FreeDB.pm now caches query responses from the FreeDB server.

Other Changes

Other changes include:

  • XML::DOM is not required,
    so it has been removed from the dependency list in the
    INSTALL file.
  • A hack has been added to
    MusicBrainz.pm
    to avoid re-executing the same SQL again and again for every page,
    when it only needs to be done once (when the database connection is first
    made).  However this is a hack! — it’s not
    done using proper DBI techniques, and it may break things, somewhere, some
    day.  Let us know if it causes you any trouble!
  • mq.pl now logs the authenticated user
    (if known) into the access log.  The URL logged is now of the form
    /mm-2.0/QUERYNAME, like
    mq_2_1.pl has been doing for a while
    now.  Also these two scripts have been tweaked in various small,
    cosmetic ways so as to make them as similar as possible.

Bugs and RFEs Closed

Dave Evans

Server Updates

Two new moderation suggestion reports – duplicate albums, and more duplicate artists.

Not many changes today.  Well, we did have a main release only
two days ago!

Changes mainly of interest to MusicBrainz Users

Matthias Friedrich and Wendell T. Hicken have created two new reports:
one listing
duplicate albums
and another one with
more duplicate artists.

“Guess Case” will now put “(bonus disc)” (or “disk”) in lower case.

Changes mainly of interest to MusicBrainz Server Programmers

The database import script is now potentially much faster
(down from 2 hours to 20 minutes).  It also no longer asks two
questions at the start, so it’s easier to run it completely unattended.

The unused “trmstats.pl” script has been removed.

Dave Evans

Server Updates

Voting “inline”, a faster voting infrastructure, send e-mails using your real e-mail address, and a small number of other changes.

Changes mainly of interest to MusicBrainz Users

Inline Moderation

(This feature by Robert Kaye)

In an effort to reduce the voting backlog, the system now shows you
one vote at a time whenever you’re on an artist, album or track page.
The moderation chosen is, in order of preference: for this artist; for one of
your subscribed artists; for an artist related to this artist; or anything
at random.  When you click one of the three voting buttons (yes, no,
abs) then the voting panel reloads to show something else to vote on.
The rest of the page remains unchanged.

Faster Voting Pages

The moderation database tables have been reorganised behind the
scenes.  The result of this is that
the voting pages (in particular)
should be much faster.  See “Moderation Table Restructuring” below
for more technical details of what’s actually changed.

Reveal My E-Mail Address

When sending an e-mail to another moderator, it’s now possible
(as long as you’ve told MusicBrainz your e-mail address) to choose
to reveal your e-mail address to the other party.  Doing so makes it
much easier for them to reply to you.  The default setting is
controlled by a new preference, which in turn
defaults to “off” (i.e. don’t reveal my address).
Read the help for more information.

Other Changes

  • When searching for moderations, you can now search for mods
    on artists related to some given artist.
  • Tied votes are now passed (previously there had to be a clear majority to
    win).
  • When sending an e-mail to another moderator, sometimes extra quotes were
    added to the subject line (so instead of the subject being Hi
    there
    for example, it would be “Hi there”).  These
    stray quotes have now been removed.
  • The HTML generated by a “Link with Icon” (for an artist, album or track
    link) now ensures that the icon will be on the same line as the text which
    follows.
  • For “Edit Artist Alias”, “Edit Artist Sortname”, “Edit Track Number” and
    “Merge Artist” moderations, if the record being changed is missing then close
    the moderation with a “Failed prerequisite” status instead of “Internal
    error”.
  • The “Show TRM” page now sorts the matched tracks by artist and album, and
    only shows each album once (even if more than one track on that album
    matches the TRM).
    Example.

New and Changed Documentation

Changes mainly of interest to MusicBrainz Programmers

If you download and import the MusicBrainz database (including the
moderation tables) from time to time, read “Moderation Table Restructuring”
(below).

Changes mainly of interest to MusicBrainz Server Programmers

Mason

(This feature by Duncan Findlay)

The MusicBrainz server now uses Mason
1.25 (previously we used 1.05).  Mason underwent something of a
redesign following 1.05, so making it past this “hurdle” should help us in
the future.

Moderation Table Restructuring

The moderation-related tables have been reorganised, so as to speed up the
voting pages.  Almost all queries against the moderation tables deal
with open moderations, but Postgres seemed to be having trouble optimising
those queries (despite an index on moderation.status).  Well, maybe we
missed something obvious, maybe not.  Anyway, what we’ve done is to
split the three tables (moderation, moderationnote and votes) into six
(moderation_open, moderation_note_open, vote_open;
and
moderation_closed, moderation_note_closed, vote_closed).  So most
queries can now just refer to moderation_open, which is a MUCH smaller table
than moderation used to be.

As a side-effect, the data for closed moderations is now dumped into a
separate file (mbdump-closedmoderation.tar.bz2), making the
mbdump-moderation.tar.bz2 file much smaller.  Hence, if you
want to download open moderation data but have no need for closed
moderations, life has just become a little easier for you.

Other Changes

The CreateTables-mysql.sql
script has been removed.  It was generally poorly maintained, and
hardly ever tested, and the costs of maintaining it outweighed the
benefits.  If you want to create a MusicBrainz database in MySQL,
start with the CreateTables.sql
script.


RDFDump.pl
has been fixed. RDF dumps now contain all artists
we have in the database.

Bugs and RFEs Closed

Dave Evans