Document Types > DITA .dcf Settings > Using Modular Document Type Configuration Files
  
Using Modular Document Type Configuration Files
The document type configuration files (.dcf) distributed with the DITA document types and the Technical Information Application use modular files. Using modular .dcf files makes it easier to maintain the configuration files for a family of DITA document types. Examples of a DITA document type family include the DITA Technical Content, the DITA Learning and Training, and the ArbortextTechnical Information Application document types. The latter is a set of specialized document types that includes a DITA map (techinfomap), ditabase (techinfo), and a collection of topics.
Modular .dcf files enable you to establish a base set of document type configuration settings that apply to the entire family of document types. Modular files also enable you to override individual settings in the base set for an individual document type. By default, modular .dcf files are distributed for both the base DITA document types and the Technical Information Application document types.
For the base DITA document types, the .dcf file modules that apply to the entire family of document types are stored in the Arbortext-path\doctypes\dita\common\dcfmodules folder. That folder contains the following modules:
dita-base-module.dcf — The base .dcf settings that apply to all DITA document types.
dita-map-module.dcf — The base .dcf settings that apply only to the DITA map document types.
Note that the folder also contains a catalog file where the .dcf file modules in the dcfmodules folder are defined for Arbortext Editor. If you add new modules for your own specialized DITA document types, you also need to provide a catalog file for your modules.
Each of the document types in the Arbortext-path\doctypes\dita folder still has its own .dcf file, but each of those files references one or more modules in the dcfmodules folder. For example, the ditabase document type’s ditabase.dcf file references the dita-base-module.dcf module as a file entity. Since this module establishes the base settings, the ditabase.dcf file only needs to specify the document type configuration settings that are unique to the ditabase document type. If a setting in ditabase.dcf conflicts with a setting in dita-base-module.dcf (or another setting inditabase.dcf), then the last setting in ditabase.dcf overrides any other settings and applies to the document type.
Similarly, the map document type’s map.dcf file references both the dita-base-module.dcf module and the dita-map-module.dcf module as file entities. The dita-map-module.dcf reference comes after the reference to dita-base-module.dcf, so any setting in the map module that conflicts with the same setting in the base module will override that setting in the base module. For example, the base module sets the defaultExtension attribute on the Options element to dita. In the map module, that attribute is set to ditamap overriding the setting in the base module for the map document type. If the map.dcf file contained a defaultExtension setting that conflicted with that in the dita-map-module.dcf file, then that third setting would apply to the map document type.
Being able to override settings in preceding modules in this fashion combines the stability of a base set of document type configuration settings with the flexibility to establish unique settings for individual document types. You can take the modular .dcf file approach a step further when developing your own family of specialized DITA document types. For example, the Technical Information Application document types also have an Arbortext-path\application\com.ptc.arbortext.techinfo\dcfmodules folder. This folder contains the techinfo-base-module.dcf file that sets some base document type configuration settings that apply only to the Technical Information Application document types, such as the stylesheetDirectory attribute on the Options element. In the .dcf files for the Technical Information Application map and topics, the techinfo-base-module.dcf is included as a file entity after the dita-base-module.dcf file and before the dita-map-module.dcf. This enables a cascade of settings:
Settings in the techinfo-base-module.dcf file override the base DITA settings for all Technical Information Application document types
Technical Information Application base settings overridden by the base map .dcf file settings and the settings in the individual .dcf files for the document types.
Arbortext will continue to maintain and update the dita-base-module.dcf and dita-map-module.dcf modules in future releases. If the .dcf files for your specialized DITA document types reference these modules, then updates to those files will be automatically applied to your document types. This reduces maintenance for your document types, as you only need to maintain the much smaller .dcf files for your document types.