Server Updates

Changes mainly of interest to MusicBrainz Users

  • The Style Guide has been updated.
  • When moderations fail the ModBot user now adds a note
    to the moderation stating the reason for the failure; for
    example, “This album has already been renamed” or “This track has been
    deleted”. 
  • While moderations remain open, the system now checks periodically to see
    if the moderations prerequisites and dependencies are still valid. 
    If they are not, then the moderation is immediately closed, and the ModBot
    adds a note to explain what happened.  So far this has been
    implemented for the most common moderation types; it will of course be
    extended to include all moderations in future releases.  This change
    should help to solve most of the problems relating to dependencies between
    moderations.
  • Moderation notes can now be longer than 255 characters.
  • The page formerly known as “Browse ‘Various Artist’ Albums” is now known
    as “Browse Releases”, and it can also browse single-artist releases
    too.  For example, you can now browse
    all soundtracks, regardless of artist.
  • When modifying your profile, it is now possible to remove your e-mail
    address from the system.
  • Forgot your password?  We can
    e-mail it to you
    (as long as you know your login name, and you’ve
    previously entered and confirmed your e-mail address).
  • When entering track names, the input fields are now limited to 255
    characters, to match the limitation on the underlying database. 
    Previously sometimes people would enter moderations to change the track
    name to something longer than 255 characters, but the moderation would
    then always fail.
  • When viewing a moderation in detail, you
    can now see votes cast on your own moderations.
  • A “Merge this album” link has been added to the main album display page
    (showalbum.html).  If you get to the “Batch Operation” page with
    fewer than two albums tagged (i.e. “merge” is not available yet), then
    now a “Select more albums” link is also shown.  Hopefully these two
    changes together make it more obvious how to merge albums.
  • The statistics page now includes a breakdown
    of open moderations by moderation type.
  • Your profile page has moved. 
    The “view” and “edit” profile pages are now separate. 
    The “view” page now shows some voting statistics. 
    You can now list other moderators’ votes –
    Try it!
    (Having said that though I’m not really happy with this feature yet,
    since it shows the other user’s vote as being “your” vote,
    and then doesn’t let you vote as a result.  Caveat emptor.)

Specific changes to particular moderations:

  • When adding an artist alias, the system checks that the alias name
    does not already exist (for this, or any other, artist). 
    MusicBrainz does not support duplicate aliases (yet).
  • “Add Artist Alias” mods will fail (possibly before voting is over) if
    the alias name is seen to already exist, or the referenced artist is deleted.
  • “Change Track Artist” mods will fail (possibly before voting is over)
    if the track is deleted or merged away,
    or the track’s artist is changed by some other mod.
  • “Edit Album Name” mods will fail (possibly before voting is over)
    if the album is deleted or merged away,
    or the album’s name is changed by some other mod.
  • “Edit Artist Name” mods will fail (possibly before voting is over)
    if the artist is deleted or merged away,
    or the artists’s name is changed by some other mod,
    or an artist with exactly the same “new” name is found to exist.
  • “Edit Track Name” mods will fail (possibly before voting is over)
    if the track is deleted or merged away,
    or the track’s name is changed by some other mod.
  • “Convert Album to Single Artist” mods will fail (possibly before voting is over)
    if the album is deleted or merged away,
    or the album is moved to another artist (i.e. not “Various Artists”).
  • “Merge Artists” mods will fail (possibly before voting is over)
    if the old artist is deleted or merged away,
    or the old artist’s name is changed by some other mod,
    or the old and new artist are somehow the same,
    or the old artist is “Various Artists” or the “Deleted Artist”,
    or no artist with the “new” name is found to exist,
    or the new artist is the “Deleted Artist”.
  • “Convert Album to Multiple Artists” mods will fail (possibly before voting is over)
    if the album is deleted or merged away,
    or the album is already “Various Artists” (changed by some other mod),
    or the album’s artist is changed by some other mod.

Changes mainly of interest to MusicBrainz Programmers

  • The ‘showtrack.html’ page now also accepts a ‘?mbid=GUID‘ argument,
    like the artist and album pages already did. 
    Try it.
  • Certain URLs can now be used to retrieve both the RDF and the HTML
    versions of the data; which is retrieved depends on the “Accept” HTTP
    header.  Alternatively, the “?content-type” parameter can be
    specified to force the selection of a particular variant.  For
    example:

    The URLs that can be used in this way are:

    • /artist/GUID
    • /album/GUID
    • /track/GUID
    • /trm/GUID
    • /discid/GUID
  • New documentation has been added.
  • Documentation has been updated.

Changes mainly of interest to MusicBrainz Server Programmers

  • When
    InitDb.pl
    runs the various SQL scripts, it now timestamps the
    script output.  By also adding the “–echo” argument (e.g.
    ./admin/InitDb.pl --createdb --echo --import *.tar.bz2)
    the SQL commands are echoed too.  These changes are intended to make
    it easier to see how the import is progressing, and to see why it’s
    taking so damn long πŸ˜‰
    Also it no longer attempts to create the database user if it already
    exists.
  • The “ModBot” code now lives in its own module, namely
    MusicBrainz/Server/ModBot.pm
    It (via the
    ./admin/CheckVotes.pl
    script) now accepts command line arguments such as “–verbose”. 
    Sadly this doesn’t include “–help” (yet), so just take a peek at the code
    to see what’s on offer.
  • The code which merges artists has moved from
    MOD_MERGE_ARTIST.pm
    into
    Artist.pm
  • The
    FreeDB.pm
    code has been tidied up a little.
  • Sql.pm
    now complains if your use of “AutoCommit”, “Begin”, “Commit” and
    “Rollback” isn’t to its liking.
  • When a change is made to one of the style sheets, just run
    ./admin/UpdateStyleSheetLinks
    to force all clients to reload the style sheets next time around.
  • A bug in
    comp/topmodsbox
    has been fixed whereby if there have been no
    moderations recently (e.g. on a development box), then the cache code
    failed, causing the component to (expensively) re-query the data on every
    request.
  • &DBDefs::DB_STAGING_SERVER is no longer just true or false. 
    If it’s true, it should be set to the name of the type of server this is,
    e.g. “development”, “test”, etc.

Dave Evans

Server Updates

It’s now much easier to add notes to your moderations as you go. Some bugs relating to e-mails have been fixed. Server errors now don’t look so scary. Bug #752767 has been fixed.

Change Log for mb_server

Moderation notes: when entering moderations, you now get the chance to enter a
moderation note at the same time as entering or confirming the moderation
itself. Previously it was actually quite hard work to add notes to your own
moderations, to explain why you were entering a particular mod; now it’s easy.
This should hopefully encourage the use of moderation notes to make voting on
“difficult” or odd-looking moderations easier. This change applies to all
moderation types apart from: Add TRM, Change Track Artist, Move Disc ID,
Convert Release to Single Artist. These moderation types will be dealt with
later.

“Edit Album Attributes” moderation: when adding a moderation of this type, any
releases whose attributes already match the “new” attributes are now quietly
removed from the list (because there is nothing to change). If the list
becomes empty as a result, no moderation is entered. Thus there will be no
more moderations which say (for example) “Old: Album, Official; New: Album,
Official”.

Moderator emails: moderators’ names shown in e-mail headers (e.g. when it
shows your name in the “To:” header) are now displayed correctly much more
often. Internally, all of the e-mail code has been rewritten, to make it
easier to maintain and extend the code. Proper UTF-8 support has been added
for e-mail subject lines (the message body was already handled correctly).

Server errors: in the highly unlikely πŸ˜‰ event that you should experience a
server programming error of some kind, instead of being presented with a big
ugly list of error messages, you now just get a much nicer-looking “500 Server
Error” message. (The error messages are now written to the server error log).

Login / account creation: Bug #752767 “@Q@ in URL” has been fixed. Also, when
you log in you will now never be redirected to the login page again, nor to
the logout page. (When this used to happen it was very confusing!). If you
see the “you must log in” box whilst trying to do something, and you choose to
create a new account, you are now redirected back to the correct page once
your account has been created.

Some obscure and intermittent HTML- and URL-encoding bugs have been fixed.

Dave Evans

Server Updates

Tracks cannot be added or removed when to do so would break a Disc ID. List of releases: “Full” and “Compact” modes. Sorting releases: handling “(disc n)” and “(disc n of m)”.

Adding and removing tracks

Certain checks are now made to see if tracks can be added to, and
removed from, a release. This is primarily to protect releases with
Disc IDs from having the Disc ID “broken” via the addition or removal of
tracks.

Example: let’s say you’ve got a 15-track version of some album, but it’s
not in MusicBrainz; however there is a 14-track version already in the
database. If the 14-track version has a good Disc ID then you won’t be
able to add the 15th track to it – you’ll have to create a new release.

Viewing artist releases

The page where you can view a list of releases for an artist
(/showartist.html, also currently called “Show Albums”) now has two
display modes: “Full” and “Compact”. “Full” is the old behaviour.
“Compact” shows the data in a more compact, tabular, form, with one row
per release. In “compact” mode, all you get is a link to view each
individual release – there are no “Edit”, “Del”, or “edit attributes”
links, and the releases cannot be expanded to show track listings.

You can manually switch between “full” and “compact” views. The default
is “full” mode, unless there are more than /n/ releases (/n/ is set by a
new preference), in which case you get “full” mode.

The aim of this feature is to generate more lightweight pages,
especially for artists with a large number of releases, e.g. Bach,
Mozart, Elvis Presley, David Bowie.

Sorting disc sets

When sorting releases by name on the aforementioned “showartist.html”
page, the system now “understands” the “(disc /n/)” notation, and sorts
those releases numerically instead of lexically – i.e. 10 ends up coming
after 9, not between 1 and 2. It also recognises “(disc /n/ of /m/)”
and sorts those releases by /m/ first, then /n/.

Also, “ties” in the sort order are now broken by track count (least
first), TRM count (most first), and finally database row ID.

Moderation notes

URLs to the show(album|artist|track|mod).html pages are now hyperlinked
when displayed.

Internal architecture

Moderation Notes have been split out into their own class (from
Moderation.pm). So have Votes. This makes it fractionally easier to
write code to add notes to moderations. Maybe in a few releases time I
might get the ModBot to add more notes, e.g. every time any moderation
fails (apart from “failed vote”), maybe the ModBot should explicitly
state the reason for the failure.

Dave Evans

Server Updates

Improved FreeDB import. Edit Artist Alias. “Smart quote” fix script.

Import from FreeDB

The process of importing a release from FreeDB has been rewritten.
The improvements include:

  • Previously it was easy to miss the “CD has multiple artists” tick box, and hence get the import wrong. Now the user is quite obviously asked to make a clear choice (with no default) as to whether a single artist or multiple artists are involved.
  • All artists can be searched for, using the same technique as is used for entering a “change track artist” moderation.
  • All fields have a “Guess Case” button; also, for single artist releases, there is a “Guess All” button. “Smart Quotes” are fixed (replaced by apostrophes) by default.
  • At any stage it’s easy to go back and change your earlier answers, without losing any later answers.

Also, releases imported from FreeDB (both automatically and manually) should
now have their track lengths set.

Other Changes

There is now an “Edit Artist Alias” moderation type, so you don’t have to
delete and re-add an alias to change it. See the “Edit” links on
/showaliases.html.

Previously add links to add a note to a moderation required Javascript to
work. This has now been fixed.

For “Add non-album track” moderations, the (meaningless) track number is
no longer displayed.

A couple of security flaws relating to moderation notes have been fixed.

There is now a script to fix “smart quotes” in bulk (activated by the
server administrators).

The nightly database dump archives (mbdump*.tar.bz2) now each include a
TIMESTAMP file. This will make it easier to identify exactly when each dump
was taken, and to check that a set of dump files belong together.

Dave Evans

Server Updates

Artist subscriptions.

Artist Subscriptions

On each artist page (showartist.html or artistinfo.html) you’ll see a
“Subscribe” link; use this link to subscribe to this artist. To see your
list of subscriptions, click the “Subscriptions” link on your profile page
(moderator.html). From there you can unsubscribe whichever artist you don’t
want in your list any more.

Once a day, the system will look for any moderations added for your subscribed
artists, and e-mail you with a list looking a bit like this:

Faith No More (0 open, 5 applied)
http://musicbrainz.org/moderate.html?type=4&artistid=1005

Green Jelly (0 open, 8 applied)
http://musicbrainz.org/moderate.html?type=4&artistid=49435

Madonna (4 open, 7 applied)
http://musicbrainz.org/moderate.html?type=4&artistid=89

The list tells you how many open and applied moderations have been added to
each of your subscribed artists. Artists with no new moderations are not
included. If there are no new moderations for your artists, no e-mail is
sent.

You must be a registered user, and have a validated e-mail address, to use
this feature. Please note that, even though it’s called “Subscriptions”,
it’s free πŸ™‚ Finally, please be assured that, like your saved preferences,
your list of subscribed artists is not made publicly available.

Dave Evans

Server Updates

Preferences are now saved. Fixed some potential Perl errors. Differentiated the two “View Mods” links on artist pages.

Change Log for mb_server

  • Preferences are now saved (moderator_preferences table, plus internal reworking of the “User” code)
  • Potential Perl ambiguities and bugs worked around by not using barewords
  • Fixed a Mason error which showed up only if a database error occurred while entering a mod note (bug #754557)
  • sitemenu HTML code now fractionally more compact, tidier
  • Where mentioned in the HTML pages, the CVS repository is now cited as “cvs.musicbrainz.org”, not “zim.musicbrainz.org”
  • Channel prefix “#” removed from all “irc://” links
  • The two “view mods” links on the “show album” page are now “show artist mods” and “show album mods” (bug #754314)

Dave Evans

Server Updates

New preferences: mods per page; show “add album” inline. Filter the VA album browser by release type / status.

Change Log for mb_server

  • Added EMail verifiction support: When a returning user logs in, the user will be prompted to verify or blank out their email address. New users can specify a email address when creating their account. The moderator profile now supports changing the email and sending out confirmation emails.
  • Moderators can now send mail via the ‘send email’ links in the profiles page or the moderation page.
  • Moderators also get mailed when a new note is attached to one of their moderations.
  • The support for looking up various artist albums in the FileLookup interface has been improved, and should make the tagger behave a little better. However, the tracks for VA albums are not being returned via the web service yet — that is scheduled for the next update since libtunepimp needs it.
  • Added an explanation of automoderators and which moderations qualify for automoderation to the moderation intro. This page now also lists which moderators are automoderators.
  • There is now a “List Failed Moderations” page (for you, or any other moderator). (Patch by Duncan Findlay)
  • As well as showing mods by artist, you can also show them by album. This functionality is quite limited though; it’s primarily intended to find the original “Add Album” mod and any “Edit Album Name” mods, and it *may* also find other mods (e.g. move album, edit album attributes, remove album). It *won’t* find mods for each of the tracks on the album (e.g. edit track name).
  • The voting page now performs stronger validtion, including checking that the user is logged in.
  • Previously if you did a “move disc id” moderation, then the album meta-information (including the number of disc IDs each album has) was not updated – thus, the disc ID icon would remain on the old album, but the disc ID itself would move to the new one. This is now fixed.
  • The “clientversion” table has now been moved into the “core” dump file (mbdump.tar.bz2)

These changes were also made recently:

  • A preference was added to control how many moderations are shown on each voting page. The allowed range is 1-25; the default is 10.
  • Another preference was added to enable “Add Album” moderations to show the whole album within the voting page.
  • The “browse various artists” page now allows you to filter by release type and release status (e.g. you can browse only soundtracks).

Robert Kaye & Dave Evans