History talk:Object Model
This page is for discussing issues related to the ObjectModel.
For the purposes of broadcast and production there is a need to model instances and versions of a Song. There is also a greater need for detail around parties (persons & groups) and their roles in relation to the track. All parties are related to the other objects by Role, but for usability reasons the roles are grouped into 3 categories:
- Roles involved in the performance - so Singer, 1St Violin, Guest Artist, e.t.c. defaults to "Main Artist"
- Roles involved in the creation of the work - or its origination. - lyricist, Arranger, e.t.c. - defaults to "Composer"
- For all other roles relating to the object we use the grouping 'contributors', but this is already problematic. examples are Sound Engineer, Music Producer, e.t.c.
This drawing shows the relationships we are implementing currently.
It will support both classical and pop tracks. It also supports the concept of extending the structure below the MusicBrainz model by including an Asset which could be an instance of a track or a version made for local use.