Metadata Governance in Heretto CCMS
Metadata governance gives your team intentional control over what information accompanies your content at each stage of the delivery pipeline. Rather than accepting default behavior, you can make deliberate choices about exactly which metadata reaches each endpoint.
Metadata governance is the practice of controlling which metadata accompanies your content as it moves from Heretto CCMS through to its delivery endpoints, whether that's Heretto Portal, a third-party system, or a connected device. It gives your team a structured way to decide what information about your content, such as modification dates, taxonomy values, or metadata for audience and product applicability, is included in or excluded from published output.
Metadata governance support was introduced in Heretto CCMS 25.10.30 and Heretto Portal v6, and requires a two-step activation process. First, the Heretto team must enable the feature in Heretto CCMS. Once that's done, a user assigned the Administrator role in the CCMS must enable and configure metadata in each deployment. Contact your Customer Success Manager to get started.
Metadata governance is most valuable in these areas:
- Content exposure control
- You decide which metadata belongs in your published output and which should remain internal to the CCMS. This lets you tailor what external audiences see while preserving metadata that supports your internal workflows and content organization.
- Search and discoverability
- In Heretto Portal, metadata drives search behavior, keyword indexing, and search facets. With governance in place, you can shape the search experience for your end users, ensuring that the appropriate facets are available and that search results surface the most relevant content.
- Consistency across delivery endpoints
- When your content is served to multiple endpoints such as Heretto Portal or a third-party endpoint like a device or machine, you can tailor metadata for each destination. Governance gives you the flexibility to include different metadata depending on what each endpoint requires.
Heretto provides metadata governance through two levels of control that correspond to stages in the content delivery pipeline:
-
Deployment-level control, configured in the Deployments interface in Heretto CCMS, determines which custom metadata is included in content published through a deployment. This level of control is available for all delivery endpoints, including Heretto Portal and third-party endpoints, like a machine or device.
For details, see Configure Metadata in a Deployment.
-
Portal-level control, configured in the config.json file associated with your main portal sitemap, provides an additional layer of filtering for content delivered to Heretto Portal specifically. It lets you fine-tune which metadata from a deployment appears in Heretto Portal HTML.
For details, see Configure Metadata in Heretto Portal.
These two levels work together to give you granular control over metadata at each stage of the content delivery process.
Metadata Types in Heretto
Metadata is information about your content, such as author details, modification dates, taxonomy values, or metadata for audience and product filtering. Metadata helps with content management, organization, retrieval, and processing, but typically doesn't appear in the body of your content, such as in paragraphs or notes. Instead, it is stored in the DITA XML structure of your files (in-document metadata) or in visible fields on the document, such as tags or modification dates (on-document metadata). While in-document metadata is specific to DITA files, on-document metadata applies to any file type.
There are two high-level metadata types in your files: DITA metadata and CCMS metadata.
- DITA Metadata
-
DITA metadata, also referred to as in-document metadata, is DITA elements and attributes stored within the XML structure of DITA files.
- CCMS Metadata
-
CCMS metadata, also referred to as on-document metadata, is system and custom metadata added to all files in the CCMS, including DITA and binary files. CCMS metadata is attached to files and stored in the CCMS (as opposed to within the XML structure which is true for DITA metadata). While system metadata is added to files automatically by Heretto CCMS, custom metadata can be configured and added to files by users.
- Extracted Metadata (Beta)
Extracted metadata is currently used only for reporting purposes, though additional use cases may be supported in future releases. Its values are extracted from the content and semantics of your DITA files using custom XPath expressions. Extracted metadata is not included in files or in Heretto Deploy API or Heretto Portal outputs. Instead, it is stored in a CCMS database and made available in these Insights (Beta) reports: Content Report and Localization Report. Extracted metadata lets you bring information that already exists inside your DITA files into reports for content analysis and insight at scale. For example, you can report on the values of the
productattribute orkeywordandresourceIdelements, as well as any specific wording used in your content.Note:This feature is currently in Beta and available to a limited group of customers. General availability for all Heretto customers will follow the conclusion of the Beta phase. Full rollout dates will be shared when available.
You can view DITA metadata in the DITA XML structure of a file. See View DITA Content and Metadata for a Resource. You can view system metadata in the Overview tab for a file in Heretto CCMS. See View CCMS Metadata for a Resource. You can view and use extracted metadata (Beta) is these Insights (Beta) reports: Content Report and Localization Report. See Extracted Metadata Configurations.
Metadata Flow in Heretto
When you publish content from Heretto CCMS through a deployment, you can control which metadata reaches your delivery endpoints. Heretto provides two levels of metadata control, deployment and portal, that progressively filter metadata as content moves from the CCMS to its final destination.
Deployment-level metadata control applies only to custom metadata. Portal-level metadata control applies to some custom and system metadata, as well as some portal-specific metadata.Extracted metadata (Beta) is used for reporting purposes only and is not included in files, the Heretto Deploy API, or Heretto Portal. For this reason, it is not represented in this metadata flow.
-
Files stored in Heretto CCMS contain different types of metadata: DITA metadata (elements and attributes), and CCMS metadata (system and custom). When content is published through a deployment, deployment-level metadata control determines which custom metadata is included in the processed content. DITA and system metadata are always included.
-
Heretto Deploy API processes content and any custom metadata disabled in the deployment. For example, when custom metadata B is not enabled in the deployment, it is removed at this stage and unavailable to any delivery endpoint. For third-party endpoints, this is the only available level of metadata governance.
-
Deploy API serves the processed content and its remaining metadata to Heretto Portal or a third-party endpoint.
-
For content served to Heretto Portal, portal-level metadata control provides an additional layer of filtering. For example, in the portal configuration, you can exclude custom metadata A from the portal HTML. It remains available to the portal search engine because that relies on Deploy API.
- Deployment-level metadata governance
-
Users with the Administrator role in Heretto CCMS can configure which custom metadata is included in each deployment through the Deployments interface. Any metadata disabled at this level is removed from the published content entirely, making it unavailable to all delivery endpoints. If a deployment publishes content to a third-party delivery endpoint, this is the only available level of metadata governance.
- Portal-level metadata governance
-
Portal-level metadata provides an additional layer of control over the metadata included in a deployment that enables you to manage some custom and system metadata, as well as some portal-specific metadata. It is configured in the config.json file associated with the main portal sitemap. By default, all metadata included in a deployment is present in portal HTML. Metadata excluded at this level is removed from portal HTML but remains available to the portal search engine. This level of governance is available only when publishing to Heretto Portal.
Metadata Operation and Guidelines
Before you start working with metadata, familiarize yourself with a number of facts and guidelines related to metadata in the Heretto platform.
- DITA metadata
-
-
DITA metadata, also referred to as in-document metadata, is DITA elements and attributes stored within the XML structure of DITA files.
-
You can view DITA metadata in the XML structure of a DITA map or in the REST URL response directly from the CCMS. See View DITA Content and Metadata for a Resource.
-
In topics, the
prologelement contains most metadata elements, many of these within themetadataelement. For a full list ofprologmetadata, see Prolog (metadata) elements (DITA 1.3 Specification). -
In maps, the
topicmetaelement contains most metadata elements, many of these within themetadataelement. For details, see <topicmeta> (DITA 1.3 Specification).Note:Currently, most DITA metadata added to maps is not passed to deployments or Heretto Portal. Support for map metadata will be available soon.
-
In most cases, topic metadata is overridden by map metadata in the topicmeta element. This lets the same topic be used in multiple maps, where different metadata may apply.
-
For all DITA metadata configurations, see DITA Metadata Configurations.
-
- CCMS metadata
-
-
CCMS metadata, also referred to as on-document metadata, is system and custom metadata added to all files in the CCMS, including DITA and binary files. CCMS metadata is attached to files and stored in the CCMS (as opposed to within the XML structure which is true for DITA metadata). While system metadata is added to files automatically by Heretto CCMS, custom metadata can be configured and added to files by users.
-
You can view CCMS metadata in the CCMS interface and in the REST URL response for a file. See View CCMS Metadata for a Resource.
-
Different system metadata is added to different resources. For example, a folder, a PDF uploaded to the CCMS, and a DITA file created in the CCMS are assigned different system metadata.
-
Some system metadata can be customized based on customer preference. For example, Status values.
-
Some system metadata can be modified by users with authoring permissions (Author, Editor/Manager, and Administrator). For example, Owner and Status.
-
Custom metadata is configured in Heretto CCMS by users assigned the Administrator role. It can be then added to files by users with authoring permissions.
-
There are four types of custom metadata: taxonomy, label, text, and date metadata.
-
Custom metadata can be added to individual files at file creation or to existing files; it can also be added to a group of files, a map with its dependencies, a folder and its subfolders, or a combination of those in a bulk-change operation. Existing CCMS metadata can be added to, replaced, or removed in a bulk-change operation. This is true for some system metadata and all custom metadata.
-
Custom metadata can be configured as search facets (or filters) in the CCMS. To do so, when configuring custom metadata, ensure the Search Facet and Enabled options are selected. Once configured and added to files, custom metadata can be used to filter files from the Search tab. For configuration details, see Configure Taxonomy Metadata, Configure Label Metadata, Configure Date Metadata, or Configure Text Metadata.
-
Custom metadata can be configured to apply only to certain content types. For example, you may want custom metadata that applies only to maps. To do this, use the Exclude from Content Type option when configuring metadata in the Metadata interface (Administrators only).
-
Taxonomy metadata can be configured in Heretto CCMS as drop-downs for DITA attributes like
audienceandproduct(conditional processing attributes), oroutputclass. This configuration is also known as taxonomy-driven attributes. For details, see Configure Drop-downs for DITA Attributes. -
Custom metadata added to both topics and maps can be carried over to deployments and Heretto PortalHTML. In content processed in a deployment as well as published to portal, map-level metadata cascades down to all topics in the map.
-
For all custom metadata configurations, see Custom Metadata Configurations.
-
- Extracted Metadata (Beta)
-
Note:
This feature is currently in Beta and available to a limited group of customers. General availability for all Heretto customers will follow the conclusion of the Beta phase. Full rollout dates will be shared when available.
-
Extracted metadata can be used only for reporting purposes. Its values are extracted from the content and semantics of your DITA files using custom XPath expressions. Extracted metadata is not included in files, the Heretto Deploy API, or Heretto Portal. Instead, it is stored in a CCMS database and made available in these Insights (Beta) reports: Content Report and Localization Report.
-
During the Beta phase, only users assigned the Administrator role can configure extracted metadata and use it in reports. Following full rollout, users assigned the Administrator will retain configuration access, and all users with authoring permissions (Author, Editor/Manager, and Administrator) will be able to use extracted metadata in reports.
-
Extracted metadata only extracts details from DITA XML; it can't be used to extract data from non-DITA XML files or CCMS metadata (on-document metadata).
-
Extracted metadata uses XPath expressions to extract metadata from DITA files. Once an extracted metadata is configured, the CCMS automatically process all files in all branches and makes results available in reports. Localized and released files are not processed.
-
Extracted metadata processing is triggered:
-
Automatically, when content is updated. For example, a topic or map is edited and saved.
-
Automatically, when a new extracted metadata field is configured or an existing field is saved after editing.
-
Manually, when a user assigned the Administrator role triggers reprocessing for an extracted metadata field with the
Reprocess all field values button.
-
-
A maximum of 50 extracted metadata fields can be configured in the CCMS. When this limit is reached, the option to add new extracted metadata is disabled. You can remove existing metadata fields to add new ones.
-
Each extracted metadata field supports a maximum of five XPath expressions.
-
XPath expressions are evaluated in the order they are listed. The first expression that returns a result is used, and subsequent expressions are only evaluated if earlier ones return no match.
-
You can specify a default value that is applied to any file with no XPath match. This ensures that files with no XPath match show a meaningful value rather than blank in reports.
-
Deleting an extracted metadata field removes it from saved filters and views across all reports.
For all extracted metadata configurations, see Extracted Metadata Configurations.
-
- Metadata in maps
Map-level custom metadata can cascade to child topics when published to Heretto Portal or a third-party endpoint like a device or machine. When enabled, metadata set on a map is inherited by all topics within that map. Only metadata set on maps cascades. Metadata set on topics does not cascade to child topics.
By default, metadata added to maps is excluded from a deployment. To enable map-level metadata processing, you must select this check box in the Deployments interface: Include map-level metadata. Map-level metadata processing can be disabled in a deployment at any point in time.
Map-level custom metadata cascades to topics only in outputs processed by Heretto Deploy API. It does not cascade in Heretto CCMS or when published with engines like the PDF Generator or DITA Open Toolkit (DITA-OT).
All custom metadata types cascade: text, taxonomy, label, and date.
For multi-value metadata types (label and taxonomy when configured as multi-value), values from parent and child levels are combined and deduplicated.
For single-value metadata types (text and date), the value added to a topic always takes precedence. If a topic has no value set, it inherits from the nearest ancestor map.
When a topic is added to multiple maps, each published instance of the topic inherits metadata from its nearest ancestor map in that specific map structure.
- Metadata and publishing with Heretto Deploy API
-
-
Heretto Deploy API enables you to publish content from Heretto CCMS to Heretto Portal or a third-party endpoint like a device or machine. When publishing with Deploy API, there are two levels of metadata governance: deployment and Heretto Portal. To learn more, see Metadata Governance in Heretto Portal.
-
- Known limitations
-
-
Currently, the only system metadata supported in Heretto Portal is:
lastModifiedlastModifiedISOcontentType
-
DITA metadata that is not passed to deployments or Heretto Portal:
prodinfolinktexttopicmeta- passed to deployments but not to Heretto Portalothermetacopyright
-