Server update, 2017-09-18

This release enables relationship credits for areas and places, contains more URL cleanup & auto-select fixes, and changes the behavior of the artist-merge option to rename credits to only rename those that match the original artist names.

The git tag is v-2017-09-18.

Bug

  • [MBS-9380] – ReverbNation URLs are not correctly cleaned up
  • [MBS-9394] – Upper case CD Baby URLs are blocked as “not allowed or incorrectly formatted”
  • [MBS-9446] – PartialDate is missing a TO_JSON method
  • [MBS-9455] – “Performance of” attributes not showing if rel is orderable
  • [MBS-9471] – Relationship editor breaks if two link attribute types have the same name

New Feature

  • [MBS-9469] – Add autoselect for VIAF for places

Task

  • [MBS-9316] – Add Operabase to the otherDBs whitelist
  • [MBS-9353] – Do not show collections or user profiles to people not logged in

Improvement

  • [MBS-9019] – Extend relationship credits to places
  • [MBS-9303] – Add support for Facebook’s fb.com domain
  • [MBS-9334] – Enable URL cleanup for Recochoku artist URLs
  • [MBS-9435] – Update Rock.com.ar URL format
  • [MBS-9444] – Update the YouTube logo used in the sidebar
  • [MBS-9457] – Update the Patreon logo used in the sidebar
  • [MBS-9458] – “Rename artist and relationship credits” should only rename matching credits
  • [MBS-9459] – Enable relationship credits for Areas
  • [MBS-9467] – Add support for fallback Patreon user URLs with numeric ID

 

New MusicBrainz virtual machine released

I have recently released a new MusicBrainz virtual machine. This virtual machine includes all the important bits of MusicBrainz so you can run your own copy! I’d been hoping for feedback if people have encountered any problems with this VM, but I’ve not received any feedback. Here is to hoping that no news is good news!

For information on how to download, install and access this new virtual machine, take a look at our MusicBrainz Server setup page. The new VM can be downloaded from here via direct download or a torrent download.

Most of the outstanding bugs should be fixed in this release — if not, please open a new ticket.

ListenBrainz Alpha disappearing in 30 days

Since we released the beta of ListenBrainz six weeks ago, people have moved over and imported their listen histories onto the beta site, which is great. While we think that everyone who needs to migrate listens off the old server has already done so, we’re going to give people another 30 days in case anyone hasn’t gotten around to it yet.

If you’ve never submitted original listens to the alpha server, this does not concern you! In fact, if this blog post is confusing to you, it probably means that you’re not affected by us turning off the alpha server on 18 October, 2017.

Thanks!

P.S. We’ve collected 50M listens on the beta site!

 

MetaBrainz Foundation Board Meeting Minutes: May 18th, 2017 (and November 21st, 2016)

Here’s the second round of board meeting minutes. We have had board meetings both in November and in May, but the November board meeting only consisted of Robert, Sophie, Rassami, and Matthew meeting up in London approving the minutes of the prior meeting and agreeing to only hold 3 meetings in 2016. So we decided to kind of skip over reporting on that meeting and just include the summary when posting the minutes for the May meeting. Which I now just did. 😉

These minutes have been reviewed by the board but have not been formally approved at a board meeting yet, meaning that it is subject to change if the board feels something is wrong or missing. Also note that discussion related to personnel or confidential topics have been/will be redacted. Furthermore we may also add more text to the notes in order to give context and background, while not altering the meaning of these notes.

Let’s dive in!

MetaBrainz Foundation Board Meeting Minutes 2017-05­-18

Continue reading “MetaBrainz Foundation Board Meeting Minutes: May 18th, 2017 (and November 21st, 2016)”

Expanding our team

As the world comes back to life after the summer break, we’re making some changes and expanding our team. First, Roman Tsukanov has decided to not renew his contract with us. During his tenure with MetaBrainz, Roman adopted and released CritiqueBrainz and also wrote our new MetaBrainz web page, which is helping us bring in new supporters. His contributions have been far from trivial — thank you for your efforts, Roman!

Due in part to the new MetaBrainz web site, we’ve got more financial support than ever, and this allows us to replace Roman with two engineers! I’m please to announce that we’re hiring two of our Summer of Code students who just completed the program:

Sambhav Kothari AKA samj1912: Sambhav started hacking on Picard earlier this year and knocked Picard out of dormancy, working towards a new release and then making Picard his Summer of Code project. He completed his project with flying colors and is working towards a major upgrade of Picard. On the MetaBrainz team he is going to look after the new search infrastructure and the maintenance and bug fixing of our Web Service in addition to hacking on Picard. A full plate, for sure!

Param Singh AKA iliekcomputers: About the same time that samj1912 arrived, Param arrived. He expressed interest in working on ListenBrainz — he too dove right in and started making improvements. ListenBrainz had quite a ways to go before he could aim to make a Summer of Code project out of it. Param and I embarked on a journey to revamp and improve the stability of ListenBrainz, which culminated in us releasing the new ListenBrainz beta a few weeks ago. Since then he’s been focusing on his Summer of Code project, which is also now complete. On the MetaBrainz team Param will be looking after ListenBrainz and also the new MetaBrainz web site.

Both Param and Sambhav will officially start working on the MetaBrainz team starting October 1, but I strongly suspect we’ll see them around and hacking on the projects as has become the norm this year.

Welcome aboard Sambhav and Param!

 

Picard Ubuntu packages updated

Updated Picard packages for Ubuntu are available over the official MusicBrainz Ubuntu PPAs. For most users it is recommended to use the stable PPA to install the latest stable release of Picard (1.4.2 at the time of writing this):

sudo add-apt-repository ppa:musicbrainz-developers/stable
sudo apt update
sudo apt install picard

Up-to-date stable packages are available for Ubuntu 14.04 Trusty, 15.05 Vivid, 16.04 Xenial, 17.04 Zesty and upcoming 17.10 Artful.

For users wanting to try out the latest development release there is also a daily build PPA available. Please note that the current Picard 2.0 development releases are a major update to the codebase and everything is still work in progress, so it might be more unstable then usually. Also due to updated dependencies the Picard 2 daily builds are only available for Ubuntu 17.04 and 17.10.

More details can be found in this post on the MetaBrainz Community.

Server update, 2017-09-04

We’ve been focusing on finishing up some overdue schema change features (alternative tracklists, for one) and doing various refactorings/making some under-the-hood changes, which is why there hasn’t been a release in a while. But here’s a few small fixes that have accumulated.

The git tag is v-2017-09-04.

Bug

  • [MBS-9409] – Error merging mediums with and without pregap tracks

Task

  • [MBS-9416] – wikidata url format redirect addition

Improvement

  • [MBS-9434] – “stream for free” YouTube URL linked to a release should show as “stream on YouTube” instead of “watch on YouTube”

500 Commits of Summer: My story of FOSS and GSoC

This story of summer started in a dull grey winter at home. Bored, I started lingering around IRC channels and much like the Alice of Wonderland, stumbled into the wonderful world of FOSS. Little did I know, it was gonna be one of the best things that happened to me. Below is a story of bugs, PRs , repos, commits, and some more commits. But it is also a story of curiosity, learning, frustrations (a lot of it), resilience (more than you think) and some amazing amazing people of the community. If I have to sum it up for you, I couldn’t think of a way better than this. So here it goes…

Disclaimer: It was a long journey, hence the long blog. Continue reading “500 Commits of Summer: My story of FOSS and GSoC”

GSoC 2017: Rating System in CritiqueBrainz

Hello!

I am Pinank Solanki, an undergrad at Indian Institute of Technology (IIT) Mandi, India. I worked with the MetaBrainz Foundation on one of its projects, as part of the Google Summer of Code 2017 over the last summer. It was one of the best and exciting summers I ever had.

Let me begin from the beginning. I first came to know about MusicBrainz in January and first contacted the community in February and was immediately hooked. Initially I decided to make a proposal for addition of book reviews for CritiqueBrianz, but it was not possible because the BookBrainz web service was unstable and the CritiqueBrainz’s host didn’t have direct access to BookBrainz database. So I tried to pitch my own ideas. But then, in one of the weekly meetings, I saw great support and enthusiasm among the community members for rating system for reviews —and I personally liked the idea of the project and thought it would be a great addition to CritiqueBrainz. I submitted my proposal, got accepted and a treat to the friends was due!

Overview

The aim of the project was to add support for three types of reviews: text, rating, text+rating (CB supported only-text reviews).

The schema changes and data-access functions are completed and merged. The frontend part is mainly completed including the fundamental functionality along with additional features. It took a lot of time to select and modify the rating input plugin perfectly satisfying the project’s needs. There is still some work to be done, most of which is based on the rating scale conversion in db package. Similarly, most of the web service part is completed and is held up due to the rating scale conversion PR.

Implementation

Schema changes

The schema changes done are quite different than what was mentioned in the proposal. My mentor for the project, Roman Tsukanov (Gentlecat), recommended some changes which would make keeping track of revisions a lot easier. You can see the schema here and the PR here.

Data-access functions

By the time I started working on the project, CB has migrated off the ORM. So, I wrote raw SQL queries and its tests. See the PR here. The rating scale was decided to be 1-5 but for storage a scale of 0-100 is used just like MusicBrainz keeping the possibility of migration of ratings from MB to CB in mind (more info at CB-245). This part is covered in the PR here.

Changes in user-interface

This plugin is used for rendering the rating star icons. The code can be seen in this PR. See the images below to get a good idea about the implementation.

Write review page:

cb-write-review

Review page:

cb-review

Entity page:

cb-entity-page

Revision comparison:

cb-revision-comparison

Web service

All the functionalities added to CritiqueBrainz had to be implemented in the web service (API) as well. All three types of reviews and other features are now supported via the web service. See the PR here.

Documentation

The chief part of the documentation was to update the schema. Other than that, rating parameter and several notes were added to the API documentation. See the PR here.

Other PRs relevant to the project can be found here.

Future work

First of all, I will complete the leftover work. Web service and frontend PRs are dependent on the rating scale PR. Once it gets merged, it’s 2–3 days of work to complete the rest.

Other than that, I look forward to keep contributing to CritiqueBrainz and other MetaBrainz projects. I am sure many interesting ideas will be discussed at the annual MetaBrainz Summit in Barcelona.

Conclusion

It was quite an eventful summer and GSoC was the biggest of them. Thanks to Roman for his constant help and guidance over the entire summer and also to all the other community members. It was so cool to work on an open-source project and I would definitely suggest for any music and data lover to explore the MetaBrainz projects.