We are running SDL Web 8.5 and DXA 2 (Java). We have a number of publishable Categories. Many times there are situations where more than 1 Keyword in the same Category is updated and published on Staging, however not all changes are approved for Production at the same time. Since there is no way of publishing individual Keywords, what is suggested in such cases to get the approved Keyword published to Production without also publishing the still approval pending Keyword?
-
So, unapproved Keywords are added to CM already? What happens if content is classified with an unapproved Keyword?– Rick PannekoekJan 16, 2019 at 18:32
-
@RickPannekoek yes the unapproved keywords are already added to the CM (for previewing on Staging). Most often contents are also tagged with these keywords - sometimes these are new contents and sometimes these could be edits to existing contents.– Husain ZahidJan 17, 2019 at 5:54
-
I am not sure this kind of situation must have come up in the past with other customers as well. Any idea how it is handled generally?– Husain ZahidJan 17, 2019 at 5:55
1 Answer
You have already pointed out that it's impossible to publish individual Keywords and you are correct. What you publish is a Category which in turn "publishes" all its keywords. Since there is no templating involved when publishing Categories, the output of the publish action is purely defined by a default taxonomy renderer Tridion.ContentManager.Publishing.Rendering.TaxonomyRenderer
configured in the Tridion.ContentManager.config
.
So, the only thing that comes to mind is writing your own (taxonomy) Renderer and using it to change the values for the relevant keywords. There are some challenges however, for starters, since Keywords (still) don't have versioning, you would need to think of a mechanism for supplying the old values, etc.
EDIT
Updated the answer according to Ricks comment, thanks Rick :). Indeed, the default renderer should not be removed, but rather a new one should be added to the chain of renderers.
In 2013 SP1 Renderers are not type specific, they fire for every publish which means that you will need to check the type of the RenderedItem
and ResolvedItem
. But, looking at the 8.5 documentation I can see that this appears to have changed (see below).
There are examples of custom renderers available out there so you should have no trouble. A couple of useful links:
-
@atlia Do you know if the source code for the default taxonomy renderer is publicly available? Jan 17, 2019 at 5:55
-
No, the Taxonomy Renderer is integral part of CM and the source code is not publicly available, but renderers are chained, so you can create a custom renderer which post-processes the rendered OWL (the output of the Taxonomy Renderer). Jan 17, 2019 at 7:08
-