Issue Details (XML | Word | Printable)

Key: MBS-3646
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Normal Normal
Assignee: Oliver Charles
Reporter: nikki
Votes: 11
Watchers: 8
Operations

If you were logged in you would be able to see more operations.
MusicBrainz Server

Split release group attributes into two types

Created: 16/Oct/11 11:56 AM   Updated: 18/May/12 10:22 PM   Resolved: 15/May/12 07:38 PM
Component/s: Schema Change
Affects Version/s: None
Fix Version/s: Schema change, 2012-05-15

Issue Links:
Depends
 
Duplicate
 
Relates
 

Size Estimate: City


 Description  « Hide

Main types (only one can be selected): Album, EP, Single, Other

Other types (multiple can be selected): Compilation, Soundtrack, Spokenword, Interview, Audiobook, Live, Remix



Sort Order: Ascending order - Click to sort in descending order
Aurélien Mino added a comment - 09/Dec/11 11:04 PM

Is there a discussion somewhere about this?
Is there's a specification on how current data will be migrated?


nikki added a comment - 10/Dec/11 03:16 PM

It's basically http://wiki.musicbrainz.org/Proposal:Release_Type_Restructuring_Proposal without any new types.
Other places it's been mentioned:
http://musicbrainz.1054305.n4.nabble.com/RFC-rato-Add-DJ-mix-to-the-RG-type-list-td3832798.html
http://musicbrainz.1054305.n4.nabble.com/New-release-types-td2970323.html (briefly)
http://musicbrainz.1054305.n4.nabble.com/Pre-RFC-B-Sides-Cover-Mini-Albums-RG-Types-td3843731.html

I believe the plan is to leave all the types in the main types column until it's actually implemented in the interface. I'm not sure what happens then though.


Johannes Weißl added a comment - 11/Dec/11 12:12 PM

I've seen this just now (linked from the blog post), and I think this requires an RFC/RFV?


Alex Mauer added a comment - 09/Feb/12 10:36 PM - edited

Here's a proposed data migration scheme. It's very straightforward and obvious.

Data Migration:

  • Album → Album
  • Single → Single
  • EP → EP
  • Compilation → Album + Compilation
  • Soundtrack → Album + Soundtrack
  • Spokenword → Album + Spokenword
  • Interview → Album + Interview
  • Live → Album + Live
  • Remix → Album + Remix
  • Other → Other

nikki added a comment - 09/Feb/12 11:41 PM

I would use other + spokenword and other + interview. I would find it really strange to call them albums.

For compilation, soundtrack, live and remix, I wouldn't want to blindly turn them all into album. Remix, for example, gets used plenty for singles. I would turn all the ones with more than n tracks into album + compilation/soundtrack/live/remix and then the rest into unset + compilation/soundtrack/live/remix. We can then add a report for release groups which have other types set but no main type.


Nicolás Tamargo added a comment - 09/Feb/12 11:47 PM

I'd make it a bit more specific. Say: set to album if a) the duration is over 20 minutes AND b) it has more than 6 tracks AND c) the names of the tracks don't all contain the same word (to avoid very long remix singles)


Aurélien Mino added a comment - 10/Feb/12 06:34 AM

Given the current proposal, how are we going to easily identify albums (in the actual definition) on the artist page?


nikki added a comment - 25/Feb/12 04:39 PM

I think the most straightforward thing to do right now would be to have sections for:

  • album, with no additional types
  • single, with no additional types
  • EP, with no additional types
  • album, with additional types specified
  • single, with additional types specified
  • EP, with additional types specified
  • other

Robert Kaye added a comment - 19/Mar/12 09:14 PM

This ticket is under consideration for the May 15h schema change release. However, it is under specified at this point in time. In order to keep this ticket in consideration for the release, please do the following:

  • Specify exactly what the user interface changes will be. Mock ups would be great. Due date: April 2
  • Specify exactly what the database changes will be. We will need to have an exact database table change proposal. Exactly which columns will be added/removed/modified and what new tables will be created. If you cannot specify the changes to be done, chase down a developer to specify them for you. Due date: March 26
  • This ticket is considered contentious and requires more community review. I will post a blog entry highlighting this ticket for more review.

Jacob Brett added a comment - 20/Mar/12 06:45 AM

What should happen to "remix single" releases that are currently in a "single" release group? Should they be put into a different RG?


Jacob Brett added a comment - 20/Mar/12 06:50 AM

Also, how about a "Sampler" attribute? Though, the issue with the proposed update is that "Sampler" can't comfortably fit in either "main" or "other" (e.g. due to conflicting cases "album sampler", "soundtrack sampler").

Perhaps it could be in a third group?


Alex Mauer added a comment - 20/Mar/12 04:40 PM

@Jacob: ultimately, "Remix Single" should end up in with main type "Single" and additional attribute type "Remix". How it gets there is the question. Under my migration proposal, it would become "Remix album" (and need to be corrected); with nikki's it would be "Remix [none]" and still need to be corrected, but be easier to find.

For samplers, I see no reason we couldn't add "Sampler" to the other attributes list (thus making "sampler + soundtrack + album" possible. But that should perhaps wait til we get the type migrated.


Alex Mauer added a comment - 20/Mar/12 04:52 PM

For the UI I would suggest a <select> list for the main types, and a <select multiple> in place of the single <select> currently used for type.


patate12 added a comment - 20/Mar/12 06:35 PM

I saw the term mini album as much or more frequently than EP.


Per Øyvind Øygard added a comment - 22/Mar/12 01:28 PM

I'm a bit concerned about the content types, and whether it really makes sense to make them all selectable for a single RG; it makes for a lot of nonsensical combinations: Spokenword + Interview, Demo + Soundtrack, Audiobook + Remix, Live + Soundtrack, Live + Interview + Compilation + Remix. Personally I'm tempted to make Compilation an attribute, and the rest of the content types mutually exclusive. I'd imagine it makes UI work a whole lot easier as well if we only have to deal with discrete types instead of n! composite types.

We might save ourselves some time if we just make the whole thing hierarchical, like the medium formats. For instance, Interview and Audiobook are both really subtypes of Spokenword. The same really goes for length types, since we're bound to get an inundation of weird types once we start adding new ones. Maxi-singles, Mini-albums, split-singles, etc.

Thoughts?


practik added a comment - 22/Mar/12 06:15 PM

Hierarchy makes sense to me. As a starting point, here's an attempt at just the album part, with examples:

album
> live album
> remix album ("album remix" might be a better name)
> soundtrack album
>> live soundtrack album
> compilation album
>> live compilation album
>> remix compilation album
>> soundtrack compilation album

This tree is intentionally maximalist, but it could be streamlined: maybe just album + four mutually exclusive subtypes: live, remix, soundtrack and compilation. I would think the migration scheme should be kept much simpler in any case.

Two other thoughts:

Nikki, you wrote that you'd find it strange to call spokenword releases albums. How about comedy albums? I'd be OK with putting spokenword releases under "other" if that's the way most people view it, but I think there's a case to be made for classing them as either albums or EPs, depending on their length.

And while we're at it: Does "spokenword" really have to be one word? Is this a database constraint, or can we call it "spoken word"? If not, would "spoken-word" be an option?


nikki added a comment - 22/Mar/12 07:05 PM

A hierarchy makes absolutely no sense to me. Don't forget that this is just the initial list of types. There have been a number of suggestions for new release types which are waiting for this to be implemented before anyone will consider adding them. Implementing this as a hierarchy will end up preventing us from being able to add new things, because the number of combinations would just be insane.

The medium formats hierarchy also doesn't work well - that's also got a bunch of things waiting for the hierarchy to be replaced with something similar to what was originally suggested here before they can be considered (if you disagree that it doesn't work well, you're welcome to figure out how to add 8cm HDCD, 8cm VCD, 8cm DVD, etc etc into the hierarchy in a way that doesn't involve doubling the length of the list).

I don't think they're all nonsensical (some are a bit far-fetched though), e.g. I can easily imagine a release which uses live + soundtrack. I don't really see why we have to prevent certain combinations. If they don't make sense together, then don't use them together!

@Patrick: I was mainly talking about migrating the data. I wouldn't have a problem with things like that being album + spokenword (and that's another example of where a combination that sounded implausible to one person makes sense to another)

Does anyone here edit Discogs? Do you know how they handle nonsensical combinations? Is it even a problem for them?


Alex Mauer added a comment - 22/Mar/12 07:07 PM

IMO they need to be multi-selectable.
Here's a soundtrack remix album—would you "file" that below remix, or below soundtrack in the hierarchy?: http://ff7.ocremix.org/

I'm not aware of any "remix soundtrack compilation" albums, but someone could easily make a "best of ocremix" compilation and that would qualify.

In addition, the tree concept results in duplication across everything — you'll end up with "single", "live single", "remix single", "soundtrack single" "soundtrack remix single" ... etc.

Much better (and easier to use) to just have two simple lists, even if not every combination makes sense.

I agree that spokenword/interview are a little weird/redundant (most every interview would also be spokenword), but I don't see why they wouldn't be albums.

Regarding spokenword vs. "spoken word" — it certainly is a lot easier to do an advanced search (for type:spokenword) when it's one word.


practik added a comment - 22/Mar/12 07:44 PM

OK then, glad I could move the discussion along :-)
Thanks for answering my OT question about "spokenword."


Per Øyvind Øygard added a comment - 26/Mar/12 05:32 PM

@nikki: Fair enough, I'll keep it simple. Not like there's going to be much in the way of fuzzy types anyway.

The suggested schema is here: http://i.imgur.com/VT3KE.png Nothing in release_group or release_group_type needs to change, but release_group.type has to be updated and release_group_type split during migration, as well as additional tables created to hold the release content types. Feel free to change the name of content_type

The precise migration specs have yet to be worked out, thought they're not really important to the schema change itself. Apart from Remix most types should be fairly easy to migrate cleanly.


Jacob Brett added a comment - 27/Mar/12 05:37 AM

Alex: Sorry, I think my above comments may have confused the issue a little and now I am confused. Will these changes only affect Release Groups or also Releases, to a degree?

Currently, I've seen remix singles in release groups that also contain non-remix singles.

Now that I think about it, I don't think I've seen a release sampler in a separate Release Group to its main entity (though this could be possible as a separate EP release in its own RG?).

So, will we be able to apply any of these attributes on the Release level?


Per Øyvind Øygard added a comment - 27/Mar/12 10:03 AM

@Jacob Brett: That was not the plan, content types need to be at a RG level, otherwise we'd be stuck with a mess of album/ep/single, which isn't very helpful.

I think you definitely bring up an interesting point, though I'm not sure if it's worth extending content types to releases as well until we've seen how great the need is. I can for instance easily see release samplers moved to separate Single/EP groups and be linked as supporting release. There's a bug somewhere to list supporting releases in RG-views IIRC.

Remix singles are trickier, though I'm not sure it's worth breaking anything over those.


Alex Mauer added a comment - 27/Mar/12 02:44 PM

@Jacob: Currently the plan is to leave the type where it is, i.e. at RG level.

I agree that there's a need for it at the release level as well[1], but exactly how to do it is less clear.

For now I think we'll just have to move forward with this and figure out releases later.

BTW, here's a standalone sampler[2]and another (not sure if in MB)[3]

1. http://musicbrainz.org/release-group/f66cb5a9-9830-4158-abfc-c5c69cc3f6a5
2. http://musicbrainz.org/release-group/58845576-5674-4908-9bb5-811edf1101a0
3. http://itunes.apple.com/us/album/folk-n-right-red-house-records/id318990421


nikki added a comment - 02/Apr/12 02:34 PM

From http://chatlogs.musicbrainz.org/musicbrainz-devel/2012/2012-04/2012-04-02.html#T14-22-00-931664

14:22:00 [Wizzcat] * Wizzcat was just mocking actually: http://i.imgur.com/RnXZe.png
14:25:33 [nikki] Wizzcat: I think it might be better to have a button for adding extra types and using dropdowns. it's more consistent with how we do release labels and artist credits and less geeky people don't seem to realise how to select multiple types with a multi-select thing
14:26:11 [warp] nikki: good idea, is that in the comments on the ticket?
14:26:39 [nikki] (and I imagine people aren't going to need more than one or two in most situations anyway, so it wouldn't cause a lot of extra work for people)


Oliver Charles added a comment - 03/Apr/12 11:26 AM

I think this ticket is defined enough for inclusion in this set of schema changes.


Oliver Charles added a comment - 03/Apr/12 11:35 AM

How are we going to show this in the web service? I would be in favour of something structured (ie, more than just intercalating all types with a space).


Paul Taylor added a comment - 27/Apr/12 03:39 PM

Moving some types from type to secondary type is going to break the logic of some applications. i.e If an application that have logic based on type containing certain values the it will no longer have (have such as Compilation and Live) then that logic will break.

Im wondering if type field should be preserved, and we should add a new field primary type field to the database containing the improved version of type, to give applications time to be fixed to take advantage of the new changes.


Paul Taylor added a comment - 28/Apr/12 08:44 AM

Heres a simple example of the problem, the Jaikoz Tagger (and I think Picard as well) use type="Compilation" to decide whether to set the TCMP field in mp3s tagged. This sraight forward functionality is going to break with new release, of course I can release a new version of Jaikoz but I hadnt planned to and even if I release on the same day as the new schema is released there is going to be a delay in people updating. I expect there are other aplications that do something simailr but do not follow changes in Musicbrainz as closely.

So my solution was to add a new element <primarytype> to the xml output which and keep the type attribute storing the old value for a period. May not need to keep the old data in the column, migt be able to derive a suitable value for type from the data stored in primarytype and secondarytype.


Andrew John Hughes added a comment - 01/May/12 10:09 AM

Does this mean we can finally get 'Mixed' in there?

I can think of examples of:

Album + Mixed
Album + Compilation + Mixed
Album + Remix + Mixed

so whatever decisions are made for implementing this need to be able to accommodate these.


nikki added a comment - 01/May/12 12:26 PM

I'm not sure exactly what "mixed" is designed to represent, but if it's to say that a release is a DJ-mix, then reosarevok has already brought it up on the style list.


Paul Taylor added a comment - 09/May/12 03:25 PM

Also need to consider the release group type filter when browsing entities

http://musicbrainz.org/ws/2/release?artist=65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab&status=bootleg&type=live&inc=release-groups

returned releases with old releasegroup type live, but now allowed with new code because live is not a primary release group type

http://test.musicbrainz.org/ws/2/release?artist=65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab&status=bootleg&type=live&inc=release-groups

type filter should be almagamation of primarytype and secondarytype for backwards compatability, but also for usefulness because with the current code there is no way to filter by a secondsary type


Oliver Charles added a comment - 15/May/12 02:56 PM

Paul's comment has been implement.d


patate12 added a comment - 16/May/12 10:30 AM

The artist page changed drastically and there was no RFC !
I just discovered this ticket but now there are side effects to fix that could have been prevented.
http://chatlogs.musicbrainz.org/musicbrainz/2012/2012-05/2012-05-16.html
http://chatlogs.musicbrainz.org/musicbrainz/2012/2012-05/2012-05-15.html
I saw at least problems with mini albums (EP was used becausse there was no mini checkbox in album) being taken out of the discography and compilations being wrongly put in the discography among original albums :
compilation → album+compilation
is wrong it should have been imo :
compilation → compilation