Taxonomy: How to get it right?

As I might open a pandora box regarding tags for Media, has there been any discussion about having a “global” taxonomy tool, so that Media assets, nodes and whatever are using the same taxonomy and be used for look up and presentation.

I will suggest the following idea, based upon the taxonomy concept from Drupal [1].

In this concept, you have a Vocabulary which consists of a number of Terms. A term can have a Subterm

Each Site can have one or more Vocabulary assigned to it, and it’s possible to add tag to piece of content from the available selection.

3 years ago I started a very early prototype[2] that could manage parts of it - but never got around finishing it. Currently I’m writing a project proposal, that could sponsor part of this work

To get this as close to “right” in the first place, I would like to hear and collect ideas from others who might have had this on there mind or know stuff from talking to editors or whatever could benefit it.


If we can have this based on the CR, that could be really nice, i start a prototype to move the Media object to the CR:

Having different “mount point” in the CR each site can have different Resource(s) and/or Vocabulary mount point that can offer great flexibility

About the Drupal inspiration I think it’s a good idea, they did a pretty good job in this area

So to get it clear, like you have /sites for sites, you now have /assets and /assetscollection.

And that’s where /vocabulary/[identifier]/term/[term-id] could be a part? Just by writing that line, I already like that concept :slight_smile:

If we named it correctly /vocabularies/[identifier]/[term-node-identifier]/[subterm-node-identifier]where:

  • identifier can be a sugifed string (like neosdemotypo3org)
  • all the other node identifier are auto generate node-[hash]
1 Like

How and where would you manage the vocabularies available for a site ? Where and how are you saving the “assetCollection” property, when you move it from a domain model to a new node type?

Currently it’s just a prototype with no upgrade path, we should work on this :wink: but first we need to cleanup the media package is more clearly defined bounded context with clear interface.

If we can have a more flexible navigate component, we should use a preset to not see the site tree, but the vocabulary tree. But currently it’s not possible, so i think a custom backend module is the way to go

I got the first part of the node-based vocabularies :slight_smile: This look quite promising! And also interesting to work directly with nodes in a different context than /sites!

Will soonish publish more :slight_smile:


Hi @sorenmalling, did you publish something ?

How your current implementation work ? I personally like the Drupal semantic of Vocabulary, Terms, Subterm it offer great flexibility in term of configuration.

As said in Slack, we have currently two project where we need to include taxonomy, so I’m open to give help in this area to have something working soon, basically what your status on:

  • Managing the taxonomy tree
  • Taging content (inspector editor)
  • Taging asset (media browser)

The query parts will be mainly handled by ElasticSearch, so the query parts is not a priority for us, but we need to place some flexible and efficient way to query content / asset


Taxonomies are indeed an important part of a CMS. As a matter of fact, we had to implement a basic tagging system for a project of ours. Is there any update on this plugin ? I’m pretty sure we’ll need taxonomy functionality again in our project and in future projects, so I’m trying to find a general solution.

No work done from my site since these post. I’ve been more active working on Flow projects than Neos. But IIRC @dfeyer or @dimaip (can’t’ remember who did what) did something like that

Dunno, I just model the kind of taxonomy I need via nodetypes, and tag them via “references” properties. Does the job for me.
Now we even have a quick way to create new nodes straight from the references editor.

@dimaip how do you deal with translations in that case. Do you manually translate the taxonomy-items? I often would like to have language-fallbacks in taxonomies i do’nt want in the whole cr.

Well yes, I translate those taxonomy nodes just as I would any other nodes.
I don’t use language fallbacks ever, not much sense in falling back from English to Russian, is it? :smiley:

True but ob the other hand i want to have the full taxonomy in all languages, even if parts are not translated yet. I also want to make sure that nodes that represent the same items are always dimension variants and not independent nodes in different dimensions. The third concern is that is is quite some effort to add taxomony relations to all node-variants, maybe could help here.

1 Like

Yep, the 3rd concern is actually the biggest for me right now.
1st and 2nd are not, but I can imagine it could be the case for German to English fallbacks, where most Germans would understand the English tag anyways.

We also use Node type based taxonomy, and yes the DimensionKeeper has been created for this reason :wink: but it’s pretty nice too for other properties (image, boolean values, …). We use this package in a 7 languages with crazy fallyback, work fine

1 Like