Tagging content types and pages

  Written by The Jahia Team
   Estimated reading time:

Tagging the content is one of the important features in social networking.

Jahia leverages tagging by enabling its support on all content objects and pages using following definitions:

[jmix:tagged] > jmix:metadata mixin
- j:tags (reference, category[autoSelectParent=false]) multiple
- j:newTag (string) hidden indexed=no

[jnt:tag] > nt:base, jmix:hierarchyNode, jmix:basemetadata, jmix:publication, jmix:collection
- tags (reference) multiple hidden < jnt:tag

[jnt:page] > nt:base, jmix:hierarchyNode, jmix:collection, jmix:renderable, jmix:basemetadata, mix:title, jmix:publication, jmix:tagged
+ * (nt:base) version

[jnt:container] > nt:base, jmix:editorialContent, jmix:hierarchyNode, jmix:collection, jmix:basemetadata, mix:title, jmix:categorized, jmix:keywords, jmix:tagged

Please note, that by default tagging is enabled for nodes, extending jnt:page or jnt:container types. To add the tagging feature to any particular node, you need to add the jmix:tagged mixin type to your node definition:

[my_templates:note] > nt:base, jmix:tagged

In order to display the list of tags, which have been assigned to the current content object, you can use the following code in your template:

<template:module node="${currentNode}" template="tags"/>

The following code displays a text entry field and an 'Add' button for tagging the current node (used in conjunction with the 'tags' template):

<template:module node="${currentNode}" template="addTag"/>