Home Forums DITA and XMetaL Discussion Deploying full specialized DITA customizations to users. Reply To: Deploying full specialized DITA customizations to users.


Reply to: Deploying full specialized DITA customizations to users.

I agree this is all rather clumsy and JSCI would like to simplify this process, hopefully sooner than later.  From Severin's solution description, the development investment needed can be rather significant.

We have custom specializations that we created, including all of the necessary XAC files: dtd, css, ctm, templates, etc.

Can you tell me what is custom about them?  Did you extend the menus, CSS styling or CTM mini-templates? 

The only other way I found was some sort of manual file editing and copying such as what is stated in the help: Working with DITA > DITA specializations > Deploy a specialized DITA customization. That also seems unmaintainable. What's stopping anything from being clobbered? How do we ensure we're writing the files in the correct format?

All files are in text format.  None of the files in that procedure, except “dcspecialized-typemods.ent”, are included with the XMetaL installer.  btw, the “dcspecialized-typemods.ent” step could be skip if you never use the “Reuse.Create_Reusable_Component…” or “Reuse.Insert_Reusable_Component…” actions.  So, there should not be any clobbering of files unless somebody did a “Tools.Select_Specialized_DITA_DTD…” action previously on a given CPU. 

If you have a mix of 32-bit and 64-bit Windows systems or XMetaL is installed on different hard drive volumes, I recommend a slightly altered “Deploy a specialized DITA customization” procedure.  Instead, run the following procedure:

(1) Place all your specialized DTDs into the “C:Program FilesXMetaL 8.0AuthorDITADITA_1.2_DTD” folder.  This ensures that the shell DTD (e.g. C:Program FilesXMetaL 8.0AuthorDITAXACs1.2faqshellfaqshell_ditabase.dtd) XMetaL generates has a relative-path.

(2) Launch XMetaL

(3) Execute the “Tools.Select_Specialized_DTD…” action for all the specializations you intend to deploy.  Choose from the DTDs you placed into the “C:Program FilesXMetaL 8.0AuthorDITADITA_1.2_DTD” folder.

(4) Quit XMetaL.

(5) Using Notepad or similar, hand-edit “C:Program FilesXMetaL 8.0AuthorRulesdita12_specialized.soc” so that it denotes a relative-path each catalog entry instead of the a full-path.  This allows for variation in the XMetaL installation location (e.g. C: vs D: or 32 vs 64 bit Window Program Files folders).

(6) Create a zip rooted in the Author folder with the following files and check that folder paths are remembered:

  C:Program FilesXMetaL 8.0AuthorDITAXACs1.2dita_xac_catalog_specialized.xml
  C:Program FilesXMetaL 8.0AuthorRulesdita12_specialized.soc
  C:Program FilesXMetaL 8.0AuthorDITAXACs1.2{specialization1-base_sys_id}*.*
  C:Program FilesXMetaL 8.0AuthorDITAXACs1.2{specialization2-base_sys_id}*.*

“dita_xac_catalog_specialized.xml” affects conref, xref and other reuse operations along with the Map Editing.
“dita12_specialized.soc” is used to load up the right DTD and related customization files.  “dita12.soc” refers to this file.

(7) Copy zip to “Author” folder on each desktop and extract.