Drupal 7: Taxonomies or Relations? what's a good why to strcuture hierarchial content

1.6k views Asked by At

I'm a total Drupal Newbie, trying to understand the basic concepts of building hierarchical content.

Let's say I'm building a website for a Music Label and want to represent this structure, should I use taxonomies, one of the Relation/Entity modules, or a combination of both?

My site will have these "Types" : Artists (with a name, images, videos, bio, related artists). Artists have tour dates (listing the venue, time, ticket purchase information, poster image). Artists have Releases (with a name, date, genre, list of tracks, images, list of contributing artists). Many Artists can be contributing to a single release. A track in a release has an actually media file or a URL, a name, associated with an artists and release. A Genre behaves like a tag and does not relate to one specific artists but is associated to a many releases.

I'll have a Bands page, band page showing the list of releases and tour dates, release page showing the tracks and participating artists, releases per Genre page, general tour dates page (with an option to filter by band).

Should I use taxonomies, content types with Entities/Relations, a combination of both? What are the pros and cons?

Thanks! Yuval.

2

There are 2 answers

0
TheodorosPloumis On BEST ANSWER

Some personal suggestions about his project:

1) Content type: Artist -> Related Artists | Relationship

2) Content type: Releases -> Contributed Artists | Relationship

3) Content type: Releases -> Genre | Taxonomy term field

4) Content type: Bands | Should be of node type and be created by Relationships with the Artists.

A general 'best practice' here is this:

A taxonomy term is used to categorize content. A relationship is used to create a relationship between 2 or more content types. The taxonomy term will have a default path to display but the relationship won't.

0
Andrew Edwards On

Here's a useful description from one of the taxonomy module's maintainers:

The way I use taxonomy module is this: my content (nodes) are original to my site, but the terms that describe it (taxonomy terms) are concepts that are part of universal, cultural and scientific truths that exist independently of the content on my site. For these concepts, I only need a name to represent those concepts. Taxonomy.module is a place where relationships of meaning are played out against the content of my site.

From a comment by Benjamin Doherty.