Content Manager: Custom Resolver Extension
You can create one or more Custom Resolver Extensions (type = CMResolver) to add your own custom resolving functionality to the built-in resolving provided by the Publisher.
Each Custom Resolver Extension has the following custom properties, configured in its
properties section in the manifest file, manifest.json:
itemType-
The TOM.NET class of the type of the items your Custom Resolver is adding to the list of items to publish, which is one of the following:
- Tridion.ContentManager.ContentManagement.Component for Components
- Tridion.ContentManager.CommunicationManagement.Page for Pages
- Tridion.ContentManager.CommunicationManagement.ComponentTemplate for Component Templates
- Tridion.ContentManager.CommunicationManagement.PageTemplate for Page Templates
- Tridion.ContentManager.ContentManagement.Bundle for Bundles
- Tridion.ContentManager.ContentManagement.Categories for Categories
- Tridion.ContentManager.CommunicationManagement.Publication for Publications
- Tridion.ContentManager.CommunicationManagement.StructureGroup for Structure Groups
- Tridion.ContentManager.External.ExternalComponent to resolve external components
type-
Your classname for this Extension, which takes the form NAMESPACE.CLASS, where NAMESPACE is the name of your namespace, and CLASS is the name of the .NET class that implements the Extension. This class must implements the
IRendererinterface, found in the Tridion.ContentManager.Publishing.Resolving namespace. assemblyFileSource-
The path to, and name of, the .NET assembly that implements the Extension. This property takes the form FOLDERPATH\\ASSEMBLYNAME.dll, where FOLDERPATH is the path (using a
\\as a separator) to the folder inside the package ZIP file, and ASSEMBLYNAME is the base filename of the .NET assembly (typically identical NAMESPACE above).
Here are the contents of a Custom Resolver Extension as configured in the manifest file:
{
"name":"MyResolverExtension",
"type": "CMResolver",
"properties": {
"itemType": "Tridion.ContentManager.CommunicationManagement.Page",
"type": "MyPublisherExtension.MyResolver",
"assemblyFileSource": "CM\\MyPublisherExtension.dll"
}
}