Part II: How to Connect Tridion DX Unified Taxonomies in a Meaningful Way
Taxonomy Connections and Custom Metadata Binders
In the first installment of this three-part series, we covered how to prepare the Docs CMS for connecting to external taxonomies. Continuing from there, now that we have placeholders for our new custom metadata fields, the next is to create a taxonomy connection in order to pull in values for these fields from another source (SDL Tridion Sites, for instance).
Tridion now provides an out-of-the-box, configurable feature for connecting categories and keywords from Sites into the Docs CMS. At a high level, this works by using a handler called TridionSitesTaxonomyConnector (which comes packaged with Tridion Docs) and editing the configurations in the XML Extension Settings and MetadataConfig.xml to make the connection. Once these documented steps are completed, you will have achieved your goal of having a taxonomy connected from Tridion Sites to Tridion Docs:
Additionally, this also works with SDL Web 8.5, which includes the required core service version (CoreService201601.svc). Unfortunately, the Taxonomy Connector is not compatible with SDL Web 8.1 or earlier versions. This is where a custom metadata binder may help.
Custom Metadata Binder
If you’re working with a version of Sites earlier than Web 8.5, or if you want more control over the implementation of your taxonomy connection, you can easily create a custom metadata binder, which is essentially a custom handler that replaces the TridionSitesTaxonomyConnector described above. This also allows you to add your own parameters in the XML Extension settings under the <source> section. For instance, perhaps you require a token or token endpoint as a prerequisite in order to access the main endpoint address:
Note: For special characters like &, it may be necessary to leave out the annotated labels in a custom metadata binder, as these can cause issues when using Publication Manager. For more information, see this post on Tridion Stack Exchange.
One of the bigger disadvantages with the current implementation of the Taxonomy Connector is that it uses the TCM IDs from Tridion Sites to represent values in Docs. But we typically have some DTAP set of environments and these TCM IDs will not be consistent across Development, Test, etc. environments. This can cause significant challenges when content porting in Tridion Docs.
In Part III, we’ll explore some potential solutions for this dilemma.