August Community Revisit

Ohoi m’hearties, it’s time for the first monthly Community Revisit, where we’ll revisit what happened in MetaBrainzLand during the last month. Ready for the ride? Leggo!

The primary thing happening this month has likely been the changes in the MetaBrainz employee line-up following Ian’s departure in July. In the beginning of the month, Freso (wait, hey, that’s me!) was pulled on board as Community Manager (a brand new position for MetaBrainz too!), and just at the end of the month, GSoC wonder child Roman “Gentlecat” Tsukanov was hired as the new software engineer. So hi to us two! 🙂

Speaking of GSoC, the Google Summer of Code, this year’s edition is also fast coming to an end, and our four students and their projects are closing up and giving their work the final touches to have them ready to go live. Don’t be surprised if you hear more about these projects soon.

One thing that did go live during August, in no small part thanks to Ben “LordSputnik” Ockmore and Leo_Verto: the new IRC chat logger! Chat logs from IRC are now available at http://chatlogs.metabrainz.org/ – the site still needs some MetaBrainzifying, but Ben has done a great job of importing (pretty much) all the old chat logs to the new system and the bot is running in all the official MetaBrainz channels. If you’re on IRC (or you just like poking at the IRC logs), be sure to say “Thank you!! <3” to LordSputnik and Leo_Verto next time you see them around!

Another person who has made a mark in the last month was Alex a.k.a. caller#6, starting up the discussion about the current situation of MusicBrainz’ Area entities. Be sure to check out that blog post and let your voice be heard, if you don’t feel like it’s being represented already. The next instalment should be out before long.

We also had two server updates (pretty much all bug fixes) and an updated Virtual Machine image was finally released for the more tech oriented people.

This about rounds off the August Community Revisit. What do you think about the format? Did I miss any important community happenings? Any other comments? This is a brand new venture, so nothing’s set in stone yet!

From Denmark with love,
Freso

There will be no autumn 2015 schema change

Schema changes are always a lot of work for us and we end up spending much time preparing for it and then even more time cleaning up/catching up after it. As a result, some critical non-schema change features keep getting pushed back… to the point that we never get to them.

To try and break this cycle, we’re going to skip the Autumn 2015 schema change. Instead we will focus on other tasks such as hosting and community features.

We will resume our schedule with the next planned schema change around 15 May, 2016. After that release we will determine if we want to go ahead with 1 or 2 schema change releases a year.

Server update, 2015-08-24

Today’s release contains only bug-fixes. We’ve fixed an issues with “downvoted” tags being lost after a merge, and made release label edits more robust when the related releases or labels are merged. The git tag is v-2015-08-24 and the changelog is below.

Bug

  • [MBS-3867] – Edit release label fails prerequisite when labels are merged
  • [MBS-8462] – Webservice can create tags with upper-case letters
  • [MBS-8505] – Up/down vote for tags that contains uppercase letters updates a lowercase version of that tag
  • [MBS-8515] – Can’t edit or add entities related to an URL
  • [MBS-8516] – Relationships used as documentation examples can’t be merged
  • [MBS-8517] – Internal server error loading /ws/2/collection?fmt=json
  • [MBS-8518] – Edit release label edits get stuck after the release is merged
  • [MBS-8524] – Merging entities can corrupt tags up/down-votes
  • [MBS-8528] – Trying to search for an example to add to a relationship type gives “Lookup failed: Not Acceptable”
  • [MBS-8529] – compile_resources.sh: Error: ENOENT, no such file or directory ‘/home/i18n/musicbrainz-server/po/javascript.<lang>.po’

Server update, 2015-08-10

This is mostly a bug-fix release, with one important note for people running their own server:

A longstanding issue with versions of MooseX::Role::Parameterized greater than 1.02 has been fixed, and now version 1.03 or greater is required. If you’re using cpanm as INSTALL.md suggests, running cpanm MooseX::Role::Parameterized will get the latest version. If you’re using the new VM, sudo apt-get update; sudo apt-get upgrade will install the latest packaged dependencies from our PPA repository.

Thanks to all who contributed to today’s release. The git tag is v-2015-08-10 and the changelog is below.

Bug

  • [MBS-8495] – Lieder archive has moved to lieder.net
  • [MBS-8498] – Entities in a collection not mergeable
  • [MBS-8499] – Entities in a collection not removed when empty
  • [MBS-8501] – Work edit form is broken because document.currentScript is not available in all supported browsers
  • [MBS-8502] – Cookies are no longer persistent
  • [MBS-8507] – Duplicate checking code can prevent editing existing entity
  • [MBS-8514] – Work credits’ AC cannot be removed nor edited

Improvement

  • [MBS-2477] – Relationship edits should track merges

Server update, 2015-07-27

Today’s release improves the way series are automatically ordered (MBS-7557), and fixes a few bugs in the edit system preventing certain edits from closing. We’ve also got some fixes and additions to the URL cleanup code.

Thanks to all who contributed to today’s release. The git tag is v-2015-07-27 and the complete changelog is below.

Bug

  • [MBS-8308] – Non-redirecting Weibo URLs are changed to URLs which redirect
  • [MBS-8475] – Allow links to Amazon Mexico
  • [MBS-8480] – Home page “latest posts” garbles fancy punctuation coming from the blog titles
  • [MBS-8483] – Entities that require a disambiguation comment ISE if submitted with relationships
  • [MBS-8484] – Server does not fully collapse spaces surrounding non-printable characters
  • [MBS-8485] – ModBot can’t close deletion edits if the entity no longer exists
  • [MBS-8488] – ModBot can’t close an AddISWCs edit where any of the works were deleted
  • [MBS-8490] – Works with no relationships not being deleted
  • [MBS-8491] – Work merges aren’t happening

Improvement

  • [MBS-7557] – better series automatic ordering
  • [MBS-7987] – Event series should be (auto-)ordered by date
  • [MBS-8457] – Remove “?oldformat=true” from Wikipedia URLs

New Feature

  • [MBS-8312] – festivals from songkick and setlist.fm not allowed as event-relationships

Task

  • [MBS-8487] – Add autoselect to soundcloud for series

Server update, 2015-07-13

This update contains bug fixes and improvements the new tag voting interface, thanks to feedback from people during the last couple weeks. The plus/minus buttons simply add or subtract 1 from the current score (and are disabled where you’ve already done that). There’s still room for improvement, but hopefully it should be more intuitive now.

We’ve also made duplicate entity detection more immediate—the interface will show you possible duplicate artists, labels, etc. before you submit anything.

Thanks to Nikki and the MetaBrainz team for their work on today’s release. The git tag is v-2015-07-13 and the changelog is below.

Bug

  • [MBS-8322] – Editing entity (now) removes its URL relationship dates
  • [MBS-8434] – Work editor can’t seed both relationship type and target
  • [MBS-8463] – Adding a tag with upper-case letters on the tag page has funny behaviour
  • [MBS-8470] – Bulk tag submission doesn’t work if the same tag appears in different recordings

Improvement

  • [MBS-2873] – In add relationship edits, always display the URL second
  • [MBS-8331] – Move some of the duplicate entity check code to the client
  • [MBS-8464] – tag voting interface doesn’t make sense if you don’t use reddit

Server update, 2015-06-29

Today’s release progresses in finishing up the UI for last schema change. One of the changes introduced was tag voting, and as of this release you can finally upvote/downvote tags on the website. This should make it easier for people to re-use tags and to hide tags they consider wrong.

In other news, artist and place collections can be created now, too.

The rest of the release contains various bug fixes and refactorings (some without tickets, but visible in the git log).

Thanks to JesseW, legoktm, nikki, and the MetaBrainz team for their work. The git tag is v-2015-06-29 and the changelog is below.

Bug

  • [MBS-8430] – SQL exception when undoing creation of a record label: “Controller::Edit->cancel “Failed query: …” “
  • [MBS-8443] – Not possible to remove dates in the relationship editor
  • [MBS-8448] – ISE on Donation Check page

Improvement

  • [MBS-4145] – Up/down vote for tags
  • [MBS-7987] – Event series should be (auto-)ordered by date

Server update, 2015-06-15 (a day late)

This release includes a variety of bugfixes, listed below, plus a few more entities are now available for collections.

The git tag for this release is v-2015-06-15.

Bug

  • [MBS-6065] – Internal server error when double submitting an add artist edit
  • [MBS-8408] – Existing external links can be edited to have deprecated types
  • [MBS-8409] – Track parser won’t parse times for data tracks if there’s a disc ID
  • [MBS-8410] – Track parser can change the data track boundary
  • [MBS-8421] – Recording list on a work’s page has misaligned data
  • [MBS-8425] – Wikipedia extract not shown for artist with Commons link in Wikidata
  • [MBS-8431] – Statistics page sorting is broken

Improvement

  • [MBS-6737] – Improve the warning banner
  • [MBS-8031] – make mirror server’s “return to musicbrainz.org” link go to the right place

Server update, 2015-06-01

We’re back with another fortnightly release of musicbrainz-server. A small set of bugs this release, as we’re still primarily working on the bits of UI that were not finished for last fortnight’s schema change release. MBS-7489, relationship artist credits, is now finished, and (not listed below), work collections are done and ready to be used. Still remaining are collections for a variety of additional entities (eventually, everything but URLs, which would just be silly) and tag upvoting/downvoting. Thanks to all contributors and we hope you enjoy these improvements!

The git tag for this release is v-2015-06-01.

Full list of bugs:

Bug

  • [MBS-8187] – URL with open edits not removed when no relationships are left
  • [MBS-8341] – Can’t seed work attributes to /work/create: HFH: param clash for edit-work.attributes value
  • [MBS-8384] – Series-series relationships aren’t displayed
  • [MBS-8401] – “send email” broken for me (only?)

Improvement

  • [MBS-7972] – Make edit relationship edits auto-edits when the endpoints don’t change

New Feature

  • [MBS-7489] – Artist Credits for Relationships

Task

  • [MBS-8375] – Add a bunch of new sites to otherdbs
  • [MBS-8378] – Fix redirect on /tags link to docs

Schema change release, 2015-05-18 (including upgrade instructions)

Our previously mentioned schema change release is finished! Below will be upgrade instructions, including configuration updates for replication access tokens.

This release does not include UI for several of the schema change patches, which will (hopefully) happen for next release on June 1. The incomplete patches are MBS-7489 (credits for artists in relationships), MBS-4145 (tag upvote/downvote), and MBS-8004 (collections for additional entity types). These patches have had their schema change components finished, but the UI was incomplete or needed more work.

Schema Change Upgrade Instructions

These are largely as previous upgrade instructions, using the tag v-2015-05-18-schema-change. The primary difference is the inclusion of configuring an access token for replication.

  1. Make sure your REPLICATION_TYPE setting is RT_SLAVE and your DB_SCHEMA_SEQUENCE is set to 21 in lib/DBDefs.pm. If you’re running a standalone server, you can run the upgrade, but it may be easier to just import a new data dump!
  2. Ensure you’ve replicated up to the most recent replication packet available with the old schema. (if you’re not sure, run ./admin/replication/LoadReplicationChanges and see what it tells you; if you’re ready to update, it should say “Mismatched schema sequence, 21 (database) vs 22 (replication packet)”).
  3. Take down the web server running MusicBrainz, if you’re running a web server.
  4. Turn off cron jobs if you are automatically updating the database via cron jobs.
  5. Switch to the new code with git fetch origin followed by git checkout v-2015-05-18-schema-change
  6. Run ./upgrade.sh (or carton exec -Ilib -- ./upgrade.sh if you’re using carton, with very old setups).
  7. Run cpanm --installdeps --notest . to ensure your perl-based dependencies are up to date. This release adds a dependency on LWP::Protocol::https, for fetching replication packets from the new server; many systems may already have this installed, but it should be verified.
  8. Set DB_SCHEMA_SEQUENCE to 22 in lib/DBDefs.pm as instructed by the output of ./upgrade.sh
  9. Assuming you have been updating your server with replication, it will now be necessary to configure an access token:
    1. Go to https://metabrainz.org/supporters/account-type and choose your account type as applicable. If you’re an individual, non-commercial user of the data, choose “non-commercial”; if not, choose an applicable tier in the “commercial” section. If you’re not sure of the appropriate tier, make your best guess; it can be adjusted if necessary.
    2. Then, from https://metabrainz.org/profile, create an access token, which should be a 40-character random alphanumeric string provided by the site.
    3. Finally, add this token to lib/DBDefs.pm under the REPLICATION_ACCESS_TOKEN configuration option. The final configuration section should look something like sub REPLICATION_ACCESS_TOKEN { "ck3UpgwgOXhWC6SpFcd99rZOTjzfrei3gQlgZZ9z" }.
    4. Don’t reveal your access token! If you do, inadvertently, you can use the MetaBrainz site to generate a new token, invalidating the old one. (The one in the example above is one I created for myself and then invalidated — don’t get any ideas, it won’t work!)
  10. Turn cron jobs back on, if applicable.
  11. Restart the MusicBrainz web server, if applicable. It’s also recommended you restart memcached.

Finally, the list of bugs closed this release:

Bug

  • [MBS-4436] – Medium titles cannot be longer than 255 charaters

Improvement

  • [MBS-1347] – Implement aliases for release groups, releases and recordings
  • [MBS-7906] – maybe don’t show “”≠null diff. in edit pages
  • [MBS-8279] – Remove empty_artists etc. database functions

New Feature

  • [MBS-8302] – Add Live Data Feed access token support

Task

  • [MBS-8266] – Make medium titles VARCHAR NOT NULL
  • [MBS-8278] – Update DB_SCHEMA_SEQUENCE in DbDefs.pm.sample
  • [MBS-8283] – Remove DB constraint that disallows empty event names

Not included in this list but also relevant is MBS-8349, which while fixed for a previous release, in this release is also applied to old slave servers, which may help performance for some queries.