Having experimented with Drupal for a couple of weeks, I am quite impressed with the power, flexibility and usability of the “Taxonomy” feature. Drupal lets you create many different types of “contents” — including an unlimited number of “user-defined” content-types. But any site that is going to contain a large amount of data stored in any content-types will soon become unwieldy to manage and maintain without a good way to organize all the data.
That is exactly what you can do with the Taxonomy feature. In WordPress, you can assign posts or pages to “categories” and also use “free-tags”, for further classification. Drupal takes it to the next level. You can define as many “vocabularies” as you like, and associate them to content-types as needed. Furthermore, you can create a list of “terms” in each of the vocabularies. The terms can also be arranged in a hierarchical fashion.
Here is an example of how you could organize your content using taxonomies. Suppose you have a website where you intend to post articles, news items, announcements and reviews. Let’s say you wish to cover a wide range of topics, e.g. travel, politics, science, fashion, equipment, etc. For example, you may post news items on some political issue, or an article about travel to Europe, a white paper on some scientific concept, an announcement about your website upgrade, or a review about a lawn-mower.
One way to define the taxonomy for your website would be as follows. You can create a vocabulary called “Class” (or type of post). In this vocabulary called Class, you can define terms “Article,” “News,” “Announcement,” and “Review.” You can create another vocabulary called “Category” (or topic of post). For this vocabulary, you can define terms like “Travel,” “Politics,” “Science,” “Fashion” and “Gardening.”
You can associate these two vocabularies with various content-types such as “book,” “page,” “forum topic,” etc. Now, when you create some new content, e.g. a book, you can assign a “Class” and “Category” to it. You can also optionally assign multiple vocabulary terms to a content. For example, an article that you are writing can be related to “Science” and “Gardening.”
And, there is no limit on the number of vocabularies that you can assign to a content-type — you can use as many as it makes sense. For example, if you are developing a document in your company using Drupal, you can probably add more vocabularies such as “Project Name,” “Review State,” “Level of Confidentiality,” and so on, in addition to “Class” and “Category.”
I have been exploring this very feature of Drupal for use on my web portal, as well as for some work related documentation. The ease with which you can create the vocabularies and organize them is quite impressive.