IBM FileNet P8, Version 5.2.1            

DITA Publishing Extensions

DITA Publishing Extensions provides an example of how DITA XML element and attribute data can be mapped to the FileNet® P8 metadata model. The ability to extract and store this data in metadata provides a powerful query capability and supports the reuse of DITA components.

The DITA standard defines basic information types such as topic, concept, task and reference, which all share a common header information section and prolog section. A subset of this header information is added to the metadata:

A subset of the available prolog information is added to the metadata:

Display Name
ReleaseDITA Publishing Extensions
XML Script Name
PublishingExtensions.xml
Installation Type
Recommended

The FileNet P8 metadata model

The standard DITA types, topic, task, concept, reference and glossentry, all share the same header and prolog information. FileNet P8 includes a base DITA type class named DitaBase that contains this common metadata. Subclasses of the DitaBase document class, which inherit its metadata, represent standard DITA types; DitaTopic, DitaConcept, DitaTask, DitaReference and DitaGlossEntry. These subclasses do not have any additional custom properties but are useful as FileNet P8 supports queries based on specific document class.

The FileNet P8 add-on feature also models the DITA types ditamap and bookmap. The document class DitaMap is used to represent the ditamap type in a FileNet P8 repository while the DitaBookMap document class is used for the bookmap type.

The FileNet P8 add-on feature has a document class defined to represent ditaval content. This document class, DitaVal, can be used to filter DITA output. This class has no additional custom properties but is used to support queries for ditaval content.

Example FileNet P8 Documents—Content Engine class inheritance hierarchy

Content Engine class inheritance hierarchy.

DitaBase class metadata

Property Template Type Description
DitaId String A unique id for a DITA component. I
Note: This and other metadata have been given a "Dita" prefix to avoid collision with FileNet system property names.
DitaTitle String This is an alternative title for the component. This title provides the title used for navigation windows, table of contents, related links and search results (if provided).

XPATH: topic/title

Note: DitaTitle is the title given the content of a DITA component and not the file system name of the DITA component. The FileNet P8 property DocumentTitle should be used to store the DITA component file name.
DitaSearchTitle String This is an alternative title for the component. This title provides the title returned in search result summaries.

XPATH: topic/titlealts/searchtitle

DitaKeywords Multi-Value String Multiple keywords are allowed in a DITA component so they are stored in a multi-value string property.

XPATH: topic/prolog/metadata/keyword

Note: FileNet P8 supports queries for an individual string within a multi-value string property.
DitaAuthors Multi-Value String Multiple authors are allowed in a DITA component so they are stored in a multi-valued string property.

The names of the authors are stored in the property. Additional author information, such as type, is not stored.

XPATH: topic/prolog/author

DitaAudiences Multi-Value String Multiple audiences are allowed in a DITA component so they are stored in a multi-valued string property.

The names of the audiences are stored in the property.
Additional audience information, such as type, job and experiencelevel, is not stored.

XPATH: topic/prolog/metadata/audience

DitaCategories Multi-Value String Multiple categories are allowed in a DITA component so they are stored in a multi-value string property.

XPATH: topic/prolog/metadata/category

DitaProdNames Multi-Value String Specify the name of the product described in the data.

XPATH: topic/prolog/metadata/prodinfo/prodname

DitaBrands Multi-Value String Indicate the manufacturer or brand associated with the product.

XPATH: topic/prolog/metadata/prodinfo/brand

DitaPlatforms Multi-Value String Describes the hardware or software platform associated with the product.

XPATH: topic/prolog/metadata/prodinfo/platform

DitaMap class metadata

Property Template Type Description
DitaId String A unique id for a DITA component.
Note: This and other metadata have been given a "Dita" prefix to avoid collision with FileNet system property names.
DitaTitle String This is an alternative title for the component. This title provides the title used for navigation windows, table of contents, related links and search results (if provided).

XPATH: map/title

Note: DitaTitle is the title given the content of a DITA component and not the file system name of the DITA component. The FileNet P8 property DocumentTitle should be used to store the DITA component file name.

DitaBookMap class metadata (inherits from DitaMap)

Property Template Type Description
DitaSearchTitle String This is an alternative title for the component. This title provides the title returned in search result summaries.

XPATH: bookmap/titlealts/searchtitle

DitaKeywords Multi-Value String Multiple keywords are allowed in a DITA component so they are stored in a multi-valued string property.

XPATH: //keyword

Note: FileNet P8 supports queries for an individual string within a multi-value string property.
DitaAuthors Multi-Value String Multiple authors are allowed in a DITA component so they are stored in a multi-valued string property.

The names of the authors are stored in the property. Additional author information, such as type, is not stored.

XPATH: //author

DitaAudiences Multi-Value String Multiple audiences are allowed in a DITA component so they are stored in a multi-valued string property.

The names of the audiences are stored in the property.
Additional audience information, such as type, job and experiencelevel, is not stored.

XPATH: //audience/@type

DitaCategories Multi-Value String Multiple categories are allowed in a DITA component so they are stored in a multi-valued string property.

XPATH: //category

DitaProdNames Multi-Value String Specify the name of the product described in the data.

XPATH: //prodname

DitaBrands Multi-Value String Indicate the manufacturer or brand associated with the product.

XPATH: //brand

DitaPlatforms Multi-Value String Describes the hardware or software platform associated with the product.

XPATH: //platform

DitaPublishers Multi-Value String Describes name of the person, or organization responsible for making the content available.

XPATH: //publisher

DITA relationships

FileNet P8 supports compound document-style relationships via the ComponentRelationship class. The class enables:

FileNet P8 Compound Document Structure—Content Engine Object Instance Relationships

CE Object Instance Relationship

In the diagram, each box represents an instance of an object persisted in the Content Engine. The ComponentRelationship objects hold references to a parent document and a child document. The child document reference can be null if no child document version matches the binding rule of the ComponentRelationship object.

DITA supports reuse at the topic, map,and conref level.  This can be modeled in FileNet P8 by defining subclasses of ComponentRelationship:

DitaTopicref classes are used to model topicref relationships between objects.

DitaMapref classes are used to model submap relationships between objects.

DitaConref classes are used to model conref relationships between objects.
DitaLinkref classes are used to model link relationships between objects.

DitaXref classes are used to model xref relationships between objects.

DitaImageref classes are used to model image relationships between objects

The DitaBaseref class is a base class for all DITA relationship classes and can be used in queries to query for all relationship types.

A parent component can find all direct child components with a single API call off the Document class. One version of the API call returns the ComponentRelationship objects and another version of the call returns the child objects themselves.

A child component can find all parents that reference it with a single API call off the Document class. (Depending on the security of the user accessing the child object, the user might not have view rights on the parent object.) One version of the API returns the ComponentRelationship objects and another version returns the parent objects themselves.

By having distinct classes for the relationships, topicref, conref, link, xref and submap, you can create queries limited to objects of those classes. For example, a query from a child component that finds all parent objects that reference a specific conref by using the DitaElementId.

In a similar manner, you can query for all parent objects that use a topicref to reference a child component.

Example FileNet P8 Component Relationships—Content Engine Class Inheritance Hierarchy

CE Compound Relationships

DitaConref class metadata (subclass of DitaBaseref)

Property Type Description
DitaElementId String Element id portion of conref attribute.

DitaTopicref class metadata (subclass of DitaBaseref)

Property Type Description
DitaId String A unique id for a DITA component.
Note: This is very useful if a FileNet P8 document contains multiple topics.

DitaMapref class metadata (subclass of DitaBaseref)

Property Type Description
DitaId String A unique id for a DITA component.

DitaImageref class metadata (subclass of DitaBaseref)

Property Type Description
    No custom properties on this class

DitaLinkref class metadata (subclass of DitaBaseref)

Property Type Description
    No custom properties on this class

DitaXref class metadata (subclass of DitaBaseref)

Property Type Description
    No custom properties on this class


Last updated: October 2015
_start_here_DITA.htm

© Copyright IBM Corporation 2015.