I'm building a database of classical music works for a number of composers.
There will be a number of different composers.
Each composer will have a number of different works.
Each work will have a number of different recordings (CDs) and a number of different scores (editions of music).
As well as free format descriptions, there will be more structured data to record against each one of these types of data. eg:
Composer's date of birth
Work's first performance date and genre
Recording's record label
I want to prevent the user from modifying the taxonomies during data maintenance activities.
I had thought I could make use of the Custom Post Types to hold this data, one type per type of data, which would keep it separate from the other blogging activity on the site, and would provide robust custom fields.
The desired user behaviour would be:
Select a composer from a list of composers
Select a work from the subsequent list of works
From a single further page for the work, view the range of Scores and Recordings (and other headings not mentioned for simplicity) and select an item for further reading.
In the ideal world I would indicate that a post type is the child of another post type and present things "automatically". However I understand this is not possible so how best to proceed?
Currently I have a solution using customised hierarchical templates which is ok as far as it goes but it relies on keeping a complete list of works in a taxonomy (category or custom taxonomy) to make the link between a recording and a work.
Am I pushing WP too far on this, or is this sort of thing run of the mill stuff?
Thoughts, ideas, hints gratefully received!