Server update, 2012-05-28

We’ve just finished pushing an update to our web servers. This is our first release since the schema change, and we’ve tried to address the problem of artist landing pages. As a temporary solution, we’ve split the page up by type a bit more now, which we hope is a step in the right direction. We’re currently discussing this at User:Reosarevok/Overview Options on the wiki, and your feedback is important. If you feel strongly about this, please have a read at the ideas on that page and feel free to comment/add your own.

This release features work from Ian McEwen, nikki, Joachim LeBlanc, Nicolás Tamargo and the rest of the MusicBrainz team. Thanks everyone for your hard work!

Bug

  • [MBS-1121] – Disabled submit buttons have no distinctive style
  • [MBS-3861] – IMDb links not fully normalized
  • [MBS-4278] – Copy changes to recordings edits the wrong recordings if recording associations were changed
  • [MBS-4336] – Release editor > removing a track resets manually changed track positions
  • [MBS-4520] – Deleting tracks does not update track numbers
  • [MBS-4569] – Full page titles aren’t shown in /doc
  • [MBS-4621] – Don’t use empty <img> tags on pages with no images
  • [MBS-4649] – YouTube channel autoselect is broken
  • [MBS-4656] – “Video” option for “can be streamed for free at” relationship is listed under the “License” subheading.
  • [MBS-4662] – ISE: Can’t edit a relationship attribute
  • [MBS-4664] – Use of uninitialized value in sprintf at lib/DBDefs.pm line 314.
  • [MBS-4681] – Edit maked as Applied, but it isn’t
  • [MBS-4687] – Link to create new relationship types doesn’t work
  • [MBS-4697] – Approve votes missing from edit search
  • [MBS-4720] – Audiobook is a primary release-group type
  • [MBS-4733] – Merging release groups fails if release groups have secondary types
  • [MBS-4752] – Musicbrainz webservice <iswc-list> changes break compatibility with existing applications.
  • [MBS-4757] – Edit artist alias (sort name) is auto-edit
  • [MBS-4760] – Release groups with secondary types cannot be deleted
  • [MBS-4765] – DB_SCHEMA_SEQUENCE hasn’t been updated to 15 in DBDefs.pm.default
  • [MBS-4767] – Cannot accept edit release group edits that change the primary type to a type that no longer exists
  • [MBS-4769] – Bad description row in statistic_event
  • [MBS-4770] – ISE: Error when requesting non-existent relationship types on /relationships
  • [MBS-4772] – ModBot cannot apply old edit work edits that add ISWCs

Improvement

  • [MBS-684] – TOC lookup displays too little release info
  • [MBS-1874] – Search for the documentation
  • [MBS-3748] – Adding new instruments is a pain
  • [MBS-4298] – Confusing text when merging releases+recordings
  • [MBS-4561] – Make disambiguation on tracklist credits smaller
  • [MBS-4568] – Add <bdi> tags to help with rendering of RTL text
  • [MBS-4657] – Add cover art to timeline
  • [MBS-4700] – Fix inline buttons
  • [MBS-4742] – Add a mention to the “Split Into Separate Artists” page that aliases prevent a split (or automatic removal)
  • [MBS-4762] – Cover art statistics should be displayed on the tabular pages.

Task

  • [MBS-4686] – Add wikisource.org to the lyrics whitelist

In other news, Oliver will be on holiday for one week (yipee!), and will be back in a week. Reachable via email if need be.

The commit sha for this release is 8fbbc36, a Git tag will follow when Rob is back tomorrow. and the git tag is v-2012-05-28

Post schema change fix for importing clean data

Yesterday we found a bug that prevents the import of a post schema change update data set. We’ve pushed out a fix for this and tagged it with:

v-2012-05-15-import-fix

If you’re planning on importing a new data set, make sure to check out this tag, rather than the tag mentioned in this entry.

Announcing libmusicbrainz releases 4.0.3 and 5.0.1

Regrettably, a couple of errors were found close to the release of v4.0.2 and v5.0.0. I have just released v4.0.3 and v5.0.1 with the following changes:

– Fix LMB-32 – Correctly ignore unrecognised nodes
– Don’t compile using -Werror when building from tarball

The releases are available:

libmusicbrainz-4.0.3.tar.gz
(MD5 checksum: 19b43a543d338751e9dc524f6236892b)

libmusicbrainz-5.0.1.tar.gz
(MD5 checksum: a0406b94c341c2b52ec0fe98f57cadf3)

Documentation for the new version is available under

http://metabrainz.github.com/libmusicbrainz/

Apologies to all for the need to make this release so soon after the last one.

Andy

Schema change server update, 2012-05-15

Nearly one year after we released NGS, we have another schema change update with lots of new features!

This release contains 9 new features and improvements that take advantage of the new schema. These are:

  • More social user profiles which can now have Gravatars, languages (and the users proficiency) age and country.
  • More expressive aliases for artists, labels and works. Aliases can now have types, sort names and multiple aliases may be used per a locale, along with the ability to mark one alias as ‘primary’ for that locale.
  • Release group types have been separated into primary and secondary types. A release group now has 1 primary type and may have multiple secondary types. This allows us to have ‘remix compilation albums’, for example
  • Works may have multiple ISWCs
  • Artists, labels and relationships may be marked as ‘ended’ to indicate that they have ended, but the exact date is not known
  • Vinyl style/free text track numbers are now supported.
  • Works may have a lyrics language associated with them
  • Artists and labels may have multiple IPIs
  • We have moved to use ISO 639-3 for our language table. While not all languages are exposed at the moment, this gives us a lot more flexibility going forward.

Many thanks to nikki for going way beyond our expectations for testing (and patience!); to Ian McEwen for his continued work on statistics; and to the MusicBrainz team for making this all happen.

If you have a replicated instance of MusicBrainz, please follow these instructions to get your server running on the new schema:

  1. Take down the web server running MusicBrainz, if you’re running a web server.
  2. Turn off cron jobs if you are automatically updating the database via cron jobs.
  3. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  4. Switch to the new code with git fetch origin followed by git checkout v-2012-05-15-schema-change
  5. Run carton install --deployment. If you have not switched your installation to using carton, please read INSTALL.md on how to do this.
  6. Run carton exec -- ./upgrade.sh from the top of the source directory.
  7. Set DB_SCHEMA_SEQUENCE to 15 in lib/DBDefs.pm
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if needed.

If you are running a mbslave mirror, check out the latest code and read the upgrade instructions in the README file.

Bug

  • [MBS-3189] – Remove unused ref_count column and related functions
  • [MBS-4616] – Add work language statistics
  • [MBS-4629] – /cover-art page shows no collections
  • [MBS-4637] – Timeline graph won’t graph anything without an entry in statistics/view.js
  • [MBS-4640] – Clicking cover art opens box with “����” (4 U+FFFD)
  • [MBS-4642] – Thickbox CSS interferes with MB CSS
  • [MBS-4647] – Cover art page allows submitting edit with no cover art when JS is off
  • [MBS-4648] – Changing cover art type from “other” to unset causes Internal Server Error
  • [MBS-4678] – upgrade.sh is not ready for testing
  • [MBS-4679] – Internal server error adding secondary types to a release

Improvement

  • [MBS-1485] – Alias types
  • [MBS-1798] – Lyrics language for works
  • [MBS-1799] – Add ISO 639-3 language codes to the database
  • [MBS-1981] – Add blog feed to the home page
  • [MBS-2240] – Aliases: certain locale can be used only once in the list of aliases
  • [MBS-2532] – Allow more than one IPI per artist
  • [MBS-2851] – Timeline graph events should be in the database
  • [MBS-2885] – Allow more than one ISWC per work
  • [MBS-3646] – Split release group attributes into two types
  • [MBS-3788] – Alias improvements
  • [MBS-4625] – Improve wording of cover art tab when cover art comes from relationships
  • [MBS-4676] – Do not allow people entering deprecated relationships

New Feature

  • [MBS-842] – Allow vinyl style track numbers and sides
  • [MBS-1385] – Support unknown end dates
  • [MBS-3704] – Allow adding sort names to artist aliases
  • [MBS-4337] – Make user profile more social: add (optional) fields avatar, gender, birth year, country

Announcing libmusicbrainz4 releases 4.0.1 and 5.0.0

Andy Hawkins says:

Hi,

I am pleased to announce two new versions of libmusicbrainz:

libmusicbrainz-4.0.2 has been updated to take account of changes made to the server on 15th May 2012. Some interfaces are now marked as deprecated, as they have been extended during the work.

Full documentation is available here:

http://metabrainz.github.com/libmusicbrainz/4.0.2/

The release can be downloaded here:

https://github.com/downloads/metabrainz/libmusicbrainz/libmusicbrainz-4.0.2.tar.gz

(MD5 checksum 5ff62abeca00fdad1bb3a8f99065ae61)

libmusicbrainz-5.0.0 has been introduced to enable the library to be more easily included in Debian due to a conflicting package name. It is identical to libmusicbrainz-4.0.2, with the following exceptions:

1. All include files are now in the musicbrainz5 directory

2. You should now link against libmusicbrainz5 (-lmusicbrainz5)

3. All previously deprecated functions have been removed.

Please note that all future work is likely to only occur on the 5.x library, so this should be used wherever possible.

Full documentation is available here:

http://metabrainz.github.com/libmusicbrainz/5.0.0/

The release can be downloaded here:

https://github.com/downloads/metabrainz/libmusicbrainz/libmusicbrainz-5.0.0.tar.gz

(MD5 checksum 3396e0c66cfacfa1f32abc7cfdbcbe13)

As ever, please report any issues in JIRA at

http://tickets.musicbrainz.org

under the project ‘libmusicbrainz’.

If you have any questions, please post them in the musicbrainz-devel mailing list. I will also attempt to be available on the #musicbrainz-devel IRC channel on Freenode.

Next schema change release: May 15

We’ve talked a bit about our upcoming schema change release, but we hadn’t nailed down the exact date of the release. Now that we’re tangibly close, we’ve settled on the May 15th as the actual release date.

As a reminder, here are the tickets that will change our schema and here are all the tickets scheduled for the 15th.

Looking for Language Liaisons

As some of you may know, this summer through Google Summer of Code I’m working on internationalization of musicbrainz-server. As outlined in my proposal, I’m currently looking to find what I call “language liaisons”: folks willing to be the go-to person about a given language for me and other developers.

Auf deutsch!
Auf Deutsch!

What’s expected of liaisons:

  1. Willing to be pestered occasionally, by me or other developers, about language-specific concerns: when adding new features, and thus adding new strings, we’d like to be able to ensure nothing’s added that will need to be changed before it can be translated into a given language.
  2. Willing to file bugs for strings already in the database that are untranslatable, should you find them.
  3. Be on the musicbrainz-i18n mailing list; this will be the main venue for organization and communication about i18n issues.
  4. Ideally, to be an active translator for your language – but this isn’t a requirement, because I’d like to get the widest global coverage I can; even if a language doesn’t currently have a translation, we don’t want to unintentionally sabotage future translators with untranslatable strings!
musicbrainz-japanese
日本語

I’ll also be determining a (related) list of “target languages” for the summer, with the intention of releasing translation on musicbrainz.org with these languages at the end of the summer. I’ll consider for inclusion on this list languages that are both in active translation on Transifex and have language liaisons.

If you’re interested in being a language liaison, please contact me: ianmcorvidae (at) musicbrainz (dot) org, editor ianmcorvidae, or ianmcorvidae on IRC, and join the mailing list.

If you’re interested in i18n generally,  please join the musicbrainz-i18n list. For more information on my project and musicbrainz-server i18n, see the server internationalization wiki pagemy post on my personal blog, and my official proposal, or come ask about it on IRC or the mailing list!

(less useful languages)
(less useful languages)

Server update, 2012-04-30

We’ve released another set of bug fixes and improvements for the server. Thanks to Joachim LeBlanc, Johannes Weißl and the rest of the MusicBrainz team for helping on this release!

Bug

  • [MBS-2553] – Change wording for no External Links in the sidebar
  • [MBS-4041] – Nonexistent elections cause Internal Server Error
  • [MBS-4544] – Predefined advanced searches on /search no longer work
  • [MBS-4547] – URL cleanup broken on URL edit page
  • [MBS-4563] – Plugin::Diff is broken
  • [MBS-4564] – robots.txt served as octet-stream on test.mb
  • [MBS-4566] – Advanced Search Syntax Link missing from Search
  • [MBS-4573] – Show a message when a label has no releases
  • [MBS-4597] – Merging can fail if entities have aliases with the same locale
  • [MBS-4609] – Comment element on release group in /ws/2 should be removed

Improvement

  • [MBS-1167] – "Read more" for annotation previews should load the full annotation in place, not take you to a different page
  • [MBS-1881] – Move relationship types/attributes/instruments lists
  • [MBS-2479] – Mark approvals differently from normal Yes votes
  • [MBS-2814] – Reports don’t highlight entities with pending edits
  • [MBS-3684] – Improve sorting of the "Releases with superfluous data tracks" report
  • [MBS-4038] – Let users edit their permissions on test servers
  • [MBS-4063] – Exclude stuff marked Single AND UK from the SeparateDiscs report
  • [MBS-4125] – Sort report for creative commons download relationships
  • [MBS-4476] – Provide indication of non-front cover art
  • [MBS-4493] – ISRCs with multiple recordings: Do something about the DEF05 ISRCs
  • [MBS-4530] – Remove the recordings with CC download relationships report
  • [MBS-4560] – "No votes" failed edit should not fail in silence
  • [MBS-4572] – Open up /artist/ in robots.txt

New Feature

  • [MBS-4551] – Display which git branch is active
  • [MBS-4567] – Use markdown for README and INSTALL
  • [MBS-4576] – Allow for google analytics support
  • [MBS-4590] – Use /doc/About instead of /doc/About_MusicBrainz
  • We’ve also improved cover art support slightly.

Sub-task

  • [MBS-4160] – SoundCloud relationship under the External links section

Announcing libmusicbrainz4 release 4.0.1

v4.0.1 of libmusicbrainz4 has now been released. This is primarily a maintenance release to fix a couple of bugs that were reported. Additionally, the code has now moved to GitHub, and can now be found at
https://github.com/metabrainz/libmusicbrainz.

The main changes are:

  • Fixed bug LMB-30 – Unable to access all relation lists on objects with multiple relation lists
  • Fixed bug LMB-31 – mb_relationlist_get_targettype always returns “target-type”

The interface has changed as regards to retrieving relation lists, due to LMB-30. Previously, the library only returned the last relation list that was returned in the XML response. The old ‘RelationList’ method on the Artist, Label, Recording, Release, ReleaseGroup and Work classes has been marked ‘deprecated’, and a new ‘RelationListList’ method will return a list of all relation lists for the entity.

For backwards compatibility, the ‘RelationList’ method will operate in the same manner as release 4.0.0, only returning the last relation list.

As ever, please see the enclosed README for details on support and bug reporting. The release is available for download at http://musicbrainz.org/doc/libmusicbrainz.