Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: fix module name

This page explains how to enable content tagging in a content app so that authors can add tags to content items.

Image Modified

The magnolia-enterprise-pro-demo-webapp and the magnolia-enterprise-pro-demo-bundle for Magnolia 5.6+ contain an example of how to use the Content Tags module. In this page, we show how the Tours app has been modified to enable tagging for tours, and we also provide general instructions and code samples showing how to enable tagging in other apps (Contacts app example).

Make sure your bundle contains the Content tags modules (magnolia-content-tags-core and magnolia-content-tags module-ui).

You can enable content tags in a new content app or in one that already exists. In the examples below, we modify existing apps using decoration. We assume that you are familiar with Magnolia content apps and Definition decoration.

...

  1. Set the property subAppClass to info.magnolia.contenttags.shortcut.TagShortcutAwareBrowserSubApp
  2. Add the action info.magnolia.contenttags.dialog.OpenTagDialogActionDefinition and make it available for the content items for which you want to enable tags.
    If you give the action the name addTags, the systmes automatically system automatically provides a translation for the default language (English). If you are using a different name or if you want to change the default translation ("Add tags"), provide an i18n key. 
  3. Make sure the views of the Workbench have columns to display the tags: on the view search set the property implementationClass to info.magnolia.contenttags.app.contenttool.search.TagSearchPresenter.

...

Add a configuration node for the workspace - the workspace used by the content app for the content items to which you add tags - to make sure that:

...

. Thi ensures, tha when you delete a tag from the Tags app, the system checks for occurrences of these tags on registered workspaces, it shows notifications about these occurrences and, if you agree, it removes references of the tags on content items in registered workspaces.

Image Modified

...

To enable this, add a node to /modules/content-tags-core/config/taggableWorkspaces:

Advanced Tables - Table Plus
heading0
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
Node nameValue

Mgnl f
modules


Mgnl f
content-tags-core


Mgnl f
config


Mgnl n
taggableWorkspaces

com.example.templates.CustomTemplateDefinition

Mgnl n
<just-a-name>


Mgnl p
appMapping

app:tours:detail

Mgnl p
workspace

tours

Use the pattern apps:<appname>:<detail-subapp-name>

taggableWorkspaces

required

The "root" node for content dependencies registration.

templateScript<name>

required

An arbitrary name to register a one taggable workspace for an app.

appMapping

required

todo

A "path" (???) to what ???

workspace

required

The name of the workspace of the content app.

...

Code Pro
languageyaml
title/using-content-tags/raw/decorations/contacts/apps/contacts.subApps.browser.yaml
linenumberstrue
collapsetrue
urlhttps://git.magnolia-cms.com/projects/DOCUMENTATION/repos/using-content-tags/raw/decorations/contacts/apps/contacts.subApps.browser.yaml?at=master

...

Code Pro
languageyaml
title/using-content-tags/raw/decorations/contacts/apps/contacts.subApps.detail.yaml
linenumberstrue
collapsetrue
urlhttps://git.magnolia-cms.com/projects/DOCUMENTATION/repos/using-content-tags/raw/decorations/contacts/apps/contacts.subApps.detail.yaml?at=master

...