Although I've read the documentation on the taxonomy module and can see the usefulness of it – people sure do rave about it a lot and that leads me to believe that I don't fully understand the power of it or it's true beauty.

I would love to hear how it is really benefiting some people and some examples. Also, it is there anything similar in other CMS products?

Please feel free to evangelize. :)

Comments

robertdouglass’s picture

I'm working on a metadata module (Dublin Core) which uses taxonomy to build structured lists. For example, there need to be lists of languages, countries, document types, and plain old categories. Using the taxonomy module, my module can outsource the management of these lists and can just "ask for the list". So instead of having to write code to let someone add a document type or rearrange their subjects, I just let them do it with taxonomy instead.

- Robert Douglass

-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net

venkat-rk’s picture

The metadata module sounds very interesting. I used to dabble in elearning a bit and I have a vague recollection of IMS elearning standards being based on Dublin core. I think your module would be very handy for DrupalEd. Good luck!

robertdouglass’s picture

- Robert Douglass

-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net

squaretone’s picture

Are there situations where you would want to classify nodes with the vocabulary but not display that taxonomy (as in how it displays at the bottom of the node content area)?

Eric Lawrence
Developer/UX Designer
http://squaretone.com

robertdouglass’s picture

I'm building a collection of sites that are related. There are 4 altogether. Using Drupal's multisite functionality, they are all running off the same codebase and the same database tables. All the content has an invisible vocabulary that determines which site the content shows up on. This way, I can post content to site 1, or 2, or 4, or 3+4, or 1+2+3, etc. Nobody visiting these sites would ever suspect that this is happening in the background. This is a custom job --- not part of Drual core, but it wouldn't be possible at all if it weren't for taxonomy.

- Robert Douglass

-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net

squaretone’s picture

In the "How To" area of the forums here is a related forum about someone using the taxonomy to define navigation and site structure.

http://drupal.org/node/31697

How close is this to the intended purpose of drupal's taxonomy?

Eric Lawrence
Developer/UX Designer
http://squaretone.com

robertdouglass’s picture

... but that's the great thing about taxonomy. It does a generic service; to manage hierarchies. How people use this service is only limited by imagination.

- Robert Douglass

-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net

myekh’s picture

I've started using Drupal a couple of days before and this taxonomy concept seems to be really interesting. But I'm wondering if there is some additional module to add attributes to the nodes in the hierarchy.



I am trying to create a document repository with data classified according to a set of themes and sub-themes. However these documents need to have certain set of attributes like Publisher, Purpose, language etc. as well. Is there any easy way to do this without working in the code level?



Please Help!

styro’s picture

I've started using Drupal a couple of days before and this taxonomy concept seems to be really interesting. But I'm wondering if there is some additional module to add attributes to the nodes in the hierarchy.

Do you mean after the fact? If so the taxonomy_multi module allows you to apply terms to multiple already existing nodes. If not, then just the plain old taxonomy module should do the trick for adding the terms during node creation. Or am I missing the point of your question? :)

I am trying to create a document repository with data classified according to a set of themes and sub-themes. However these documents need to have certain set of attributes like Publisher, Purpose, language etc. as well. Is there any easy way to do this without working in the code level?

That sounds like a vanilla taxonomy set up to me. You could make Publisher, Purpose, and language into vocabularies, and include specific publishers, purposes and languages as terms in those vocabularies.

When you create nodes, you then get to add those terms to the nodes.

--
Anton

myekh’s picture

can't add the specific terms for these coz.. its not confirmed what will they be. for instance in "purpose" field one can write any thing so its difficult to use them in vocab and terms. what i need is a structure like this:

theme (Animal)
|
|--- Sub theme 1 (Insect)
| |
| |--- Document 1 (metadata 1)
| |
| |--- Document 2 (metadata 1)
|
|--- Sub theme 1 (Mammals)
| |
| |--- Document 1 (metadata 2)
| |
| |--- Document 2 (metadata 2)

and so on...

So the concept here is to have separate metadata sets to describe insects and mammals... for instance required info for insects can be sth like..

Insect:-
name:
legs:
eyes:
flight: etc.

and for mammals:-
name:
bones:
life span: etc.

then "title", "author", "body" etc.

well these are just examples. the thing is i want to attach a fixed set of "attributes" to the nodes. Right now they give just Authring info, Title , Body etc. only.. I want to add attributes here...

styro’s picture

You can use the flexinode module to create your own custom node types with extra named fields. These fields can be textboxes, textareas, select boxes etc. There are other modules (eg Event) that build on top of flexinode.

If you want to do anything 'smart' with the stuff people put in these fields, you might have to do some coding though.

Or as a different approach - have you heard about the freetagging stuff intended for 4.7 (and backported to 4.6)? see : http://drupal.org/node/20936 for some more info.

--
Anton

myekh’s picture

Flexinode is the stuff i was looking for! it helps. However it seems to need modification in the display style.. i don't want all metadata appearing on the front page.. but just the description.. anywaz i guess i can work from here .. Thanks a lot!!

and one more thing.. i need a search module for this as well.. any suggestion for advance search tools in drupal?

styro’s picture

However it seems to need modification in the display style.. i don't want all metadata appearing on the front page.. but just the description..

There are a few approaches to this. You could either use some CSS to hide it, or you could delve into overriding theme functions in your theme and node templates.

There is a variable called $page in PHPTemplate node templates that tells you whether or not the node is being shown as a standalone node (ie it has a page to itself) or whether it is in a listing - see http://drupal.org/node/11816 for details.

I've done this with standard node types (its pretty easy), but flexinode might add another layer to the problem that I'm not sure about.

This might help : http://drupal.org/node/30376

any suggestion for advance search tools in drupal?

http://drupal.org/project/trip_search

--
Anton

Sougent’s picture

Can't remember where it was, but someone recently posted a web site about bugs (insects) that used taxonomy to categorize things, was a cool site and a good example.

boris mann’s picture

rbrooks00’s picture

We have a creative implementation of it here: http://drupal.org/node/31695

Specifically this page: http://www.buyblue.org/directory (i'm working on redesigning the theme aspects of this right now, it is pretty ugly)

This page: http://www.buyblue.org/company/ranking (drill down to any of those links)

And this page: http://www.buyblue.org/node/2573/view/ratings/tid/139

myekh’s picture

this is similar to what i'm trying to do.. thanks for the tip

iljadica’s picture

If I am going to use multilingual web site (EN-DE-HR), does it mean that I could use taxonomy to differentiate languages?

For example:

Website(s)
  - EN
   - topic 1
   - topic 2
   - topic 3
 - DE
   - thema 1
   - thema 2
   - thema 3
 - HR
   - tema 1
   - tema 2
   - tema 3
 - ALL WEBSITES
   - all 1
   - all 2

I haven't tried that yet as well as multisite configuration, but reading this discussion I am getting the feeling that this is one of possible usages?

So, I could create multisite configuration

en.mysite.com
de.mysite.com
hr.mysite.com

and using the same codebase and the same tables I could then add the content to different category (language) or to 'ALL WEBSITES'.

Correct me if I am wrong.

joel_guesclin’s picture

You should look at the Internationalization module. Although this does require you to patch the core, I have found it very clean, very easy to set up, and I think it will do exactly what you want.

iljadica’s picture

I will definitely try it.