I am creating a database/catalog of information. It's articles about archaeological sites. I need to classify them based on continent, region, and country.

What is the best way to do it -- Creating a separate vocabulary for each of the three parameters (Voc continent, voc region and voc country), or creating one vocabulary with hierarchical structure?

I need each article to display each of the three parameters so users can quickly click on any of them and see all other articles in the region/country/continent if they wish.

But if I only select the country, the other two parameters do not show in the taxonomy. Do I have to multiple select all three? If so, what's the benefit of having them in a hierarchy vs having three separate vocabularies?

Comments

matkeane’s picture

Hi,

My feeling is that, with your example, you'd be better off using one structured vocabulary - after all, they are all geographic descriptions with an inherent rank, and there shouldn't really be a case where you want to tag something outside of this structure (e.g. Country: France, Continent: Asia!). By using a heirarchical vocabulary, you can enforce a structure which would avoid that kind of mis-match, which you couldn't easily do with separate vocabularies.

How you display the Taxonomy terms to your visitors is more a question of themeing (or finding some suitable modules). There are various Taxonomy functions which will find the parent terms for any supplied term, so it's not to hard to find the Continent > Region > Country terms for any given node. There's a module called Taxonomy breadcrumb - http://drupal.org/project/taxonomy_breadcrumb - which might help, or you might want to look at something like Taxonomy Menu - http://drupal.org/project/taxonomy_menu - which can display an entire vocabulary (combined with DHTML Menu, it can make expandable menus for visitors to drill down in to).

yulia-1’s picture

What I really need is for every term to show parent items under the actual articles. From what I can tell that can only be done through multiple select tagging, right? Like, if I tag "Egypt", Northern Africa and Africa do not get tagged automatically. However if I keep all terms in one taxonomy, the list gets insanely long once countries and regions are populated... I just thought I'm doing something wrong, cause I assumed that the whole point of multiple hierarchy is to tag the child and have parents tagged automatically. Is there a way to do it?

i installed taxonomy_menu and am playing around with it. it only works well if parent items are tagged. otherwise the option to display chilren creates unreadable URLs which won't work for my site.

i can't figure out what taxonomy_breadcrumb does though... where would I see it?

gbrussel’s picture

You'll probably want to check out the Hierarchical Select module when it comes out of development (or now if you're feeling brave).

Edit: The Taxonomy Multi module might also do what you want, though it is also in dev.

yulia-1’s picture

Thanks! The Taxonomy Multi looks about right... I'll wait for its development (I really don't know enough php to risk it now :) )

WorldFallz’s picture

Judging by the usage statistics, commit history, and issue queue, it might be a long wait. You may wish to try hierarchical_select instead.

yulia-1’s picture

That one also appears in development for Drupal 6 :(

WorldFallz’s picture

Yes but the module is in use, well maintained by a notable contributor, and the issue queue is active. And I believe the taxonomy and lineage functions work ok. imo it's worth a try, while the other module appears dead.

yulia-1’s picture

Thank you. I will try it.