The tag cube allows to add labels to an entity as a simple yet powerful way to classify your content. Tags can be used to raffinate a for search using facets.


To allow tags on an entity type, you must allow the tags relation between Tag and you entity type(s).

For instance to activate the tag functionnality on Person, Company and Division entity type, one should add to his schema:

from yams.buildobjs import RelationDefinition
class tags(RelationDefinition):
    subject = 'Tag'
    object = ('Person', 'Company', 'Division')

You should then see the tags box appearing on the primary view for entities of those type. The TagsBox display tags applied to the entity but also provides an easily way to add / remove tags, if you've the permission to do so.

More views

  • The SimilarEntitiesBox shows some entities which share the most tags together

  • The TagsCloudView, a classical, displaying a set of tags appearing more or less big according to the number of tagged entities. It's used by the TagsCouldBox, which is not visible by default (user can activate it using their preferences) but that you can activate by default using the code snippet below:

    from cubes.tag.views import TagsCloudBox
    # make the tags cloud box visible by default
    TagsCloudBox.visible = True
  • The primary view for tags provides a tags merging interface to site administrators, very useful to manage tags on a site where people tend to express the same thing with different words, or spelling.

source repositorycubicweb-tag repository
test environmenttag env
owned byadmin
may be discussed onCubicWeb
use license<not specified>