SlideShare a Scribd company logo
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

More Related Content

Similar to Taxonomy Everywhere

CapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: TaxonomyCapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: Taxonomy
Natalya Minkovsky
 
Natcatchpoleslides
NatcatchpoleslidesNatcatchpoleslides
Natcatchpoleslides
David Shorthouse
 
Things Made Easy: One Click CMS Integration with Solr & Drupal
Things Made Easy: One Click CMS Integration with Solr & DrupalThings Made Easy: One Click CMS Integration with Solr & Drupal
Things Made Easy: One Click CMS Integration with Solr & Drupal
lucenerevolution
 
Metadata
MetadataMetadata
Introduction to Drupal 7 - Taxonomy Categorization - Homework included
Introduction to Drupal 7 - Taxonomy Categorization - Homework includedIntroduction to Drupal 7 - Taxonomy Categorization - Homework included
Introduction to Drupal 7 - Taxonomy Categorization - Homework included
Kalin Chernev
 
Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...
butest
 
AAT LOD Microthesauri
AAT LOD MicrothesauriAAT LOD Microthesauri
AAT LOD Microthesauri
Marcia Zeng
 
Metadata first, ontologies second
Metadata first, ontologies secondMetadata first, ontologies second
Metadata first, ontologies second
Joseba Abaitua
 
Movable Type 5.1
Movable Type 5.1Movable Type 5.1
Movable Type 5.1
Six Apart KK
 
Some thoughts on social tagging
Some thoughts on social taggingSome thoughts on social tagging
Some thoughts on social tagging
marti_hearst
 
Form part1
Form part1Form part1
Form part1
Sanjeev Pandey
 
OOP Adventures with XOOPS
OOP Adventures with XOOPSOOP Adventures with XOOPS
OOP Adventures with XOOPS
xoopsproject
 
What Is Hobo ?
What Is Hobo ?What Is Hobo ?
What Is Hobo ?
Evarist Lobo
 
Tagging For Community of Practice
Tagging For Community of PracticeTagging For Community of Practice
Tagging For Community of Practice
Peter Rawsthorne
 
Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...
butest
 
Xaml Guidelines Draft0
Xaml Guidelines Draft0Xaml Guidelines Draft0
Xaml Guidelines Draft0
guest27165
 
Dependency Injection for PHP
Dependency Injection for PHPDependency Injection for PHP
Dependency Injection for PHP
mtoppa
 
Drupal overview
Drupal overviewDrupal overview
Drupal overview
chintan4u
 
Elements_Creating_Content_Models.pdf
Elements_Creating_Content_Models.pdfElements_Creating_Content_Models.pdf
Elements_Creating_Content_Models.pdf
Jeff Smith
 
Content query web part – get it all in one place and style it!
Content query web part – get it all in one place and style it!Content query web part – get it all in one place and style it!
Content query web part – get it all in one place and style it!
Benjamin Niaulin
 

Similar to Taxonomy Everywhere (20)

CapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: TaxonomyCapitalCamp DC 2012: Taxonomy
CapitalCamp DC 2012: Taxonomy
 
Natcatchpoleslides
NatcatchpoleslidesNatcatchpoleslides
Natcatchpoleslides
 
Things Made Easy: One Click CMS Integration with Solr & Drupal
Things Made Easy: One Click CMS Integration with Solr & DrupalThings Made Easy: One Click CMS Integration with Solr & Drupal
Things Made Easy: One Click CMS Integration with Solr & Drupal
 
Metadata
MetadataMetadata
Metadata
 
Introduction to Drupal 7 - Taxonomy Categorization - Homework included
Introduction to Drupal 7 - Taxonomy Categorization - Homework includedIntroduction to Drupal 7 - Taxonomy Categorization - Homework included
Introduction to Drupal 7 - Taxonomy Categorization - Homework included
 
Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...
 
AAT LOD Microthesauri
AAT LOD MicrothesauriAAT LOD Microthesauri
AAT LOD Microthesauri
 
Metadata first, ontologies second
Metadata first, ontologies secondMetadata first, ontologies second
Metadata first, ontologies second
 
Movable Type 5.1
Movable Type 5.1Movable Type 5.1
Movable Type 5.1
 
Some thoughts on social tagging
Some thoughts on social taggingSome thoughts on social tagging
Some thoughts on social tagging
 
Form part1
Form part1Form part1
Form part1
 
OOP Adventures with XOOPS
OOP Adventures with XOOPSOOP Adventures with XOOPS
OOP Adventures with XOOPS
 
What Is Hobo ?
What Is Hobo ?What Is Hobo ?
What Is Hobo ?
 
Tagging For Community of Practice
Tagging For Community of PracticeTagging For Community of Practice
Tagging For Community of Practice
 
Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...Catégorisation automatisée de contenus documentaires : la ...
Catégorisation automatisée de contenus documentaires : la ...
 
Xaml Guidelines Draft0
Xaml Guidelines Draft0Xaml Guidelines Draft0
Xaml Guidelines Draft0
 
Dependency Injection for PHP
Dependency Injection for PHPDependency Injection for PHP
Dependency Injection for PHP
 
Drupal overview
Drupal overviewDrupal overview
Drupal overview
 
Elements_Creating_Content_Models.pdf
Elements_Creating_Content_Models.pdfElements_Creating_Content_Models.pdf
Elements_Creating_Content_Models.pdf
 
Content query web part – get it all in one place and style it!
Content query web part – get it all in one place and style it!Content query web part – get it all in one place and style it!
Content query web part – get it all in one place and style it!
 

More from Drupalcon Paris

Localize Drupal Org
Localize Drupal OrgLocalize Drupal Org
Localize Drupal Org
Drupalcon Paris
 
Presentation Edipresse Experience Drupalcon
Presentation Edipresse Experience DrupalconPresentation Edipresse Experience Drupalcon
Presentation Edipresse Experience Drupalcon
Drupalcon Paris
 
Praes
PraesPraes
20minutes Quart
20minutes Quart20minutes Quart
20minutes Quart
Drupalcon Paris
 
Field Api Drupalcon Paris
Field Api Drupalcon ParisField Api Drupalcon Paris
Field Api Drupalcon Paris
Drupalcon Paris
 
Drupalcon2009 Heuer3
Drupalcon2009 Heuer3Drupalcon2009 Heuer3
Drupalcon2009 Heuer3
Drupalcon Paris
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
Drupalcon Paris
 
Building Community
Building CommunityBuilding Community
Building Community
Drupalcon Paris
 
How To Contribute To Drupal Drupal - DrupalCon Paris
How To Contribute To Drupal Drupal - DrupalCon ParisHow To Contribute To Drupal Drupal - DrupalCon Paris
How To Contribute To Drupal Drupal - DrupalCon Paris
Drupalcon Paris
 

More from Drupalcon Paris (9)

Localize Drupal Org
Localize Drupal OrgLocalize Drupal Org
Localize Drupal Org
 
Presentation Edipresse Experience Drupalcon
Presentation Edipresse Experience DrupalconPresentation Edipresse Experience Drupalcon
Presentation Edipresse Experience Drupalcon
 
Praes
PraesPraes
Praes
 
20minutes Quart
20minutes Quart20minutes Quart
20minutes Quart
 
Field Api Drupalcon Paris
Field Api Drupalcon ParisField Api Drupalcon Paris
Field Api Drupalcon Paris
 
Drupalcon2009 Heuer3
Drupalcon2009 Heuer3Drupalcon2009 Heuer3
Drupalcon2009 Heuer3
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
 
Building Community
Building CommunityBuilding Community
Building Community
 
How To Contribute To Drupal Drupal - DrupalCon Paris
How To Contribute To Drupal Drupal - DrupalCon ParisHow To Contribute To Drupal Drupal - DrupalCon Paris
How To Contribute To Drupal Drupal - DrupalCon Paris
 

Taxonomy Everywhere

  • 1.
  • 2. presenters Bart Feenstra | nederdev.com Benjamin Melançon | agaric.com Chach Sikes | chachaville.com Matthias Hutterer | mh86 Benjamin Doherty | bangpound
  • 4. 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.
  • 5. Use cases of taxonomy
  • 6. 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.
  • 7. Taxonomy for Photo Gallery, cont. ● Not necessary for this demonstration, but we have three vocabularies here!
  • 8. Taxonomy for Photo Gallery, cont. You can create new photo albums on the fly, or select an existing one from autocomplete dropdown.
  • 9. Taxonomy for Photo Gallery, cont.
  • 10. 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
  • 11. Taxonomy for Photo Gallery, cont. Clicking the photo brings one to the album, rather than the individual photograph.
  • 12.
  • 13. 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.
  • 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.
  • 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 Filter View with Taxonomy Leadel.net example courtesy Linnovate.net.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 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 • Tool for 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 • provides links on taxonomy listing pages to directly edit taxonomy terms
  • 37. Content Taxonomy • CCK field 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
  • 40. Hierarchical Select • enhanced widget for letting the user select items in a hierarchy
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 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