Drupal Taxonomy Tips and Tools
Article
When comparing the most commonly-used content management frameworks, web developers typically cite Drupal's robust support for taxonomies as one of its leading strengths. This should come as no surprise to anyone with even minimal experience in using taxonomy vocabularies and their terms in designing and building new websites, largely because they provide a proven way to categorize and make findable the content of any website, with relatively little effort.
Specifically, every piece of content can be tagged with zero or more terms defined within an unlimited number of vocabularies, and these tags can be used in myriad ways for grouping and sorting that content. In the case of a taxonomy term reference used by a view of one or more content types, the sort order and filtering can be specified by the developer using the Views interface or within a custom module, or that functionality can be exposed to the end-user.
The judicious use of taxonomies can be a powerful component of any content strategy that is intended to grow and change. This is true not just for on-page site visitors, but also for people consuming that content in RSS aggregators for whom only some of the content is of interest.
In this examination of some best practices, techniques, and useful contrib modules associated with taxonomies, it is assumed that the reader has a basic understanding of vocabularies and terms
Select Field Versus Taxonomy
When adding to a content type a new field that will contain a value from a predefined list of possibilities, you have the option of utilizing a field of type "List (text)" (or one of the two numeric variants of "List"), and setting the Allowed values list on the field settings page. Or you can employ a taxonomy term reference, which, as the name implies, refers to a term in the taxonomy vocabulary specified when creating the field. Here are some sensible guidelines:
If you want the client to be able to add, change, or remove the allowed values of the field in question, then taxonomy is definitely the right choice. Even if you will likely never alter the list, then a select list should work fine as the field type.