presenters



 Bart Feenstra | nederdev.com
Benjamin Melançon | agaric.com
 Chach Sikes | chachaville.com
   Matthias Hutterer | mh86
 Benjamin Doherty | bangpound
What is taxonomy (bart)
What is taxonomy in Drupal 6?
"The taxonomy module allows you to categorize
 your content using both tags and administrator
 defined terms. It is a flexible tool for classifying
     content with many advanced features."

   People need to categorize, tag, sort, and
           otherwise organize stuff.

 Administrators need to set it up so that other
people who did not attend this session can also
             categorize and tag.
Use cases of taxonomy
Taxonomy for Photo Gallery
Categorize your pictures into albums
No need to create the album first
Technique courtesy Dan Hakimzadeh
  (Agaric) and whoever he stole it from.
Taxonomy for Photo Gallery, cont.




● Not necessary for this demonstration, but we have
three vocabularies here!
Taxonomy for Photo Gallery, cont.




You can create new photo albums on the fly, or select an existing one
from autocomplete dropdown.
Taxonomy for Photo Gallery, cont.
Taxonomy for Photo Gallery, cont.




            anjaliforberpratt.com/photos/Beijing-Paralympic-Games



                                     That links to the album
                                     that the photo is in.

                                     It gets a nice name
                                     thanks to the View
                                     Alias module,
                                     drupal.org/project/
                                     view_alias
Taxonomy for Photo Gallery, cont.




Clicking the photo brings one to the album, rather than the individual
photograph.
Taxonomy for Photo Gallery, cont.




The same view can be used to show photos from different vocabularies.
In addition to the event-based albums, you can instantly get category
(such as Outreach, shown here) or even keyword-based albums.
Taxonomy for Everything
Taxonomy for Everything, cont.




Most of the content types have corresponding vocabularies. In this
case, we create a web link and through the power of free tagging add
a new person to our categorization, which immediately will work for
faceted search and everywhere else we use taxonomy.
Taxonomy for Everything, cont.
Taxonomy for Everything, cont.
Taxonomy for Everything, cont.




data.agaric.com based on work and concept by Kathleen Murtagh.
E-mail ask@agaric.com for code or to be notified as it is released.
Flex Exposed Filter View with Taxonomy




Leadel.net example courtesy Linnovate.net.
Contrib Taxonomy Modules
• Top 10
  – Tagadelic
  – Taxonomy Menu
  – Content Taxonomy
  – Taxonomy Manager
  – Feed Element Mapper
  – Taxonomy Breadcrumb
  – Menu Trails
  – Taxonomy Image
  – Taxonomy Access Control
  – Taxonomy Access Control Lite
Taxonomy Manager

• Tool for managing large sets of terms
Taxonomy Manager - New
             Features
• i18n support for multilingual vocabularies
  – language selector




  – translations
Taxonomy Manager - Double Tree
Term Edit
• provides links on taxonomy listing pages to
  directly edit taxonomy terms
Content Taxonomy

• CCK field type for referencing taxonomy terms

• much more flexible than core taxonomy fields

• D7: Taxonomy Fields are in core!
Content Taxonomy - Widgets

•   autocomplete
•   select lists
•   checkboxes / radio buttons
•   taxonomy tree
Widgets

• Active Tags




• Multiselect
Hierarchical Select
• enhanced widget for letting the user select items
  in a hierarchy
Taxonomy in Drupal 7
Taxonomy entities
* Implement hook_field_info().
 *
 * Field settings:
 * - allowed_values: a list array of one or more vocabulary trees:
 * - vid: a vocabulary ID.
 * - parent: a term ID of a term whose children are allowed. This should be
 * '0' if all terms in a vocabulary are allowed. The allowed values do not
 * include the parent term.
 *
 */
function taxonomy_field_info() {
  return array(
    'taxonomy_term' => array(
      'label' => t('Taxonomy term'),
      'description' => t('This field stores a reference to a taxonomy term.'),
      'default_widget' => 'options_select',
      'default_formatter' => 'taxonomy_term_link',
      'settings' => array(
        'allowed_values' => array(
          array(                                                  Trees can be whole
            'vid' => '0',
            'parent' => '0',                                      vocabularies or just
          ),                                                      pieces.
        ),
      ),
    ),
  );
}
7
               Drupal 8 wish list
●   hook_vocabulary_info
●   Taxonomy UI administration specific for
    vocabulary types (tags, controlled vocabularies,
    webs of knowledge)
●   Vocabulary index
●   Full support for SKOS specification
●   Vocabulary sharing, import/export

Taxonomy Everywhere

  • 2.
    presenters Bart Feenstra| nederdev.com Benjamin Melançon | agaric.com Chach Sikes | chachaville.com Matthias Hutterer | mh86 Benjamin Doherty | bangpound
  • 3.
  • 4.
    What is taxonomyin Drupal 6? "The taxonomy module allows you to categorize your content using both tags and administrator defined terms. It is a flexible tool for classifying content with many advanced features." People need to categorize, tag, sort, and otherwise organize stuff. Administrators need to set it up so that other people who did not attend this session can also categorize and tag.
  • 5.
    Use cases oftaxonomy
  • 6.
    Taxonomy for PhotoGallery Categorize your pictures into albums No need to create the album first Technique courtesy Dan Hakimzadeh (Agaric) and whoever he stole it from.
  • 7.
    Taxonomy for PhotoGallery, cont. ● Not necessary for this demonstration, but we have three vocabularies here!
  • 8.
    Taxonomy for PhotoGallery, cont. You can create new photo albums on the fly, or select an existing one from autocomplete dropdown.
  • 9.
    Taxonomy for PhotoGallery, cont.
  • 10.
    Taxonomy for PhotoGallery, cont. anjaliforberpratt.com/photos/Beijing-Paralympic-Games That links to the album that the photo is in. It gets a nice name thanks to the View Alias module, drupal.org/project/ view_alias
  • 11.
    Taxonomy for PhotoGallery, cont. Clicking the photo brings one to the album, rather than the individual photograph.
  • 13.
    Taxonomy for PhotoGallery, cont. The same view can be used to show photos from different vocabularies. In addition to the event-based albums, you can instantly get category (such as Outreach, shown here) or even keyword-based albums.
  • 14.
  • 15.
    Taxonomy for Everything,cont. Most of the content types have corresponding vocabularies. In this case, we create a web link and through the power of free tagging add a new person to our categorization, which immediately will work for faceted search and everywhere else we use taxonomy.
  • 16.
  • 17.
  • 18.
    Taxonomy for Everything,cont. data.agaric.com based on work and concept by Kathleen Murtagh. E-mail ask@agaric.com for code or to be notified as it is released.
  • 19.
    Flex Exposed FilterView with Taxonomy Leadel.net example courtesy Linnovate.net.
  • 32.
    Contrib Taxonomy Modules •Top 10 – Tagadelic – Taxonomy Menu – Content Taxonomy – Taxonomy Manager – Feed Element Mapper – Taxonomy Breadcrumb – Menu Trails – Taxonomy Image – Taxonomy Access Control – Taxonomy Access Control Lite
  • 33.
    Taxonomy Manager • Toolfor managing large sets of terms
  • 34.
    Taxonomy Manager -New Features • i18n support for multilingual vocabularies – language selector – translations
  • 35.
    Taxonomy Manager -Double Tree
  • 36.
    Term Edit • provideslinks on taxonomy listing pages to directly edit taxonomy terms
  • 37.
    Content Taxonomy • CCKfield type for referencing taxonomy terms • much more flexible than core taxonomy fields • D7: Taxonomy Fields are in core!
  • 38.
    Content Taxonomy -Widgets • autocomplete • select lists • checkboxes / radio buttons • taxonomy tree
  • 39.
  • 40.
    Hierarchical Select • enhancedwidget for letting the user select items in a hierarchy
  • 41.
  • 49.
  • 50.
    * Implement hook_field_info(). * * Field settings: * - allowed_values: a list array of one or more vocabulary trees: * - vid: a vocabulary ID. * - parent: a term ID of a term whose children are allowed. This should be * '0' if all terms in a vocabulary are allowed. The allowed values do not * include the parent term. * */ function taxonomy_field_info() { return array( 'taxonomy_term' => array( 'label' => t('Taxonomy term'), 'description' => t('This field stores a reference to a taxonomy term.'), 'default_widget' => 'options_select', 'default_formatter' => 'taxonomy_term_link', 'settings' => array( 'allowed_values' => array( array( Trees can be whole 'vid' => '0', 'parent' => '0', vocabularies or just ), pieces. ), ), ), ); }
  • 51.
    7 Drupal 8 wish list ● hook_vocabulary_info ● Taxonomy UI administration specific for vocabulary types (tags, controlled vocabularies, webs of knowledge) ● Vocabulary index ● Full support for SKOS specification ● Vocabulary sharing, import/export