Create A Display Suite field called "Contribution Display" with the rules below:
Development
[x] Create a new custom module with a function xx_get_contribution_display($contribution)
[x] Create DS field that calls xx_get_contribution_display
Business rules
If the Contribution has a role that has Embedded set to FALSE:Return the Work name and the role
If the Contribution has a role that has Embedded set to TRUELoad the entity related to by field_cont_contributor
If a Legal entityshould not happen - return titleIf an assetCycle the asset contributions of the same role type*Return the Contributions "Contribution Display" for each *
Notes:
This will allow us to recursively traverse embedded clips until we reach an end point should always be a Legal entity.
One potential issue is that if a Legal entity mistakenly uses the wrong role like embedded clip we can hit a dead end - if this is an issue we can add a condition of the Contribution entity type
Under normal use we will have one artist per track and one level of nesting so should return just one
This can be used for bounced tracks with multiple legal entities and multiple recursive levels to revile the lowest level contributes but the calculation of relative shares.
Create A Display Suite field called "Contribution Display" with the rules below:
Development
Business rules
If the Contribution has a role that has Embedded set to FALSE: Return the Work name and the role
If the Contribution has a role that has Embedded set to TRUE Load the entity related to by field_cont_contributor If a Legal entity should not happen - return title If an asset Cycle the asset contributions of the same role type* Return the Contributions "Contribution Display" for each *
Notes: