Create custom framework extensions from the IXIASOFT template

If you need to create your own custom framework extension, you can use the template that IXIASOFT provides on the Downloads site

This procedure provides steps for the following:

  • Downloading the templage
  • Customizing it for your company
  • Performing a basic test with a simple CSS change
  1. Create a folder on your local disk for working with your framework.
    For example, create a folder called Frameworks.
  2. Get the framework extension template:
    1. Go to the 6.3 area of the IXIASOFT Downloads site:
    2. Click the CCMS_Web folder.
    3. Enter the user name and password given to you by IXIASOFT Sales.
    4. Click the latest version.
    5. Download the FrameworkExtensionTemplate-[version].zip.
  3. Put the zip file in the folder you created and unzip it.
    The template folder is named dita-acme.
  4. Rename the folder to dita-company, where company is the name of your company.
    Note: The rest of this procedure continues to refer to dita-company. Use the name you gave to the folder instead.
  5. Open the dita-company folder.

    The folder contains three files and two folders. Each will be edited in this procedure.

  6. Rename the files:
    1. Rename dita-acme.framework to dita-company framework.
    2. Rename dita-advanced-acme.framework to dita-advanced-company framework.
    3. Rename ditamap-acme.framework to ditamap-company framework.
  7. Edit the files to rename the title of the extension name.
    1. In dita-company framework, rename the <String>DITA Map-acme</String> to <String>DITA Map-Company</String>.
      For example:
      <?xml version="1.0" encoding="UTF-8"?>
      <serialized version="21.0" xml:space="preserve">
      	<serializableOrderedMap>
      		<entry>
      			<String>document.types</String>
      			<documentTypeDescriptor-array>
      				<documentTypeDescriptor>
      					<field name="extensionPatch">
      						<documentTypeDescriptorPatch>
      							<field name="patchList">
      								<list>
      									<poPatch>
      										<field name="fieldPath">
      											<String>name</String>
      										</field>
      										<field name="index">
      											<Integer>-1</Integer>
      										</field>
      										<field name="value">
      									<String>DITA-acme</String>
      										</field>
      										<field name="patchHandling">
      											<String>set</String>
      										</field>
      										<field name="anchor">
      											<null/>
      										</field>
      									</poPatch>
    2. In dita-advanced-company framework, rename the <String>DITA-advanced-acme</String> to <String>DITA-advanced-Company</String>.
      For example:
      <?xml version="1.0" encoding="UTF-8"?>
      <serialized version="21.0" xml:space="preserve">
      	<serializableOrderedMap>
      		<entry>
      			<String>document.types</String>
      			<documentTypeDescriptor-array>
      				<documentTypeDescriptor>
      					<field name="extensionPatch">
      						<documentTypeDescriptorPatch>
      							<field name="patchList">
      								<list>
      									<poPatch>
      										<field name="fieldPath">
      											<String>name</String>
      										</field>
      										<field name="index">
      											<Integer>-1</Integer>
      										</field>
      										<field name="value">
      									<String>DITA-advanced-acme</String>
      										</field>
      										<field name="patchHandling">
      											<String>set</String>
      										</field>
      										<field name="anchor">
      											<null/>
      										</field>
      									</poPatch>
    3. In ditamap-company framework, rename the <String>DITA Map-acme</String> to <String>DITA Map-Company</String>.
      For example:
      <?xml version="1.0" encoding="UTF-8"?>
      <serialized version="21.0" xml:space="preserve">
      	<serializableOrderedMap>
      		<entry>
      			<String>document.types</String>
      			<documentTypeDescriptor-array>
      				<documentTypeDescriptor>
      					<field name="extensionPatch">
      						<documentTypeDescriptorPatch>
      							<field name="patchList">
      								<list>
      									<poPatch>
      										<field name="fieldPath">
      											<String>name</String>
      										</field>
      										<field name="index">
      											<Integer>-1</Integer>
      										</field>
      										<field name="value">
      									<String>DITA Map-acme</String>
      										</field>
      										<field name="patchHandling">
      											<String>set</String>
      										</field>
      										<field name="anchor">
      											<null/>
      										</field>
      									</poPatch>
  8. Browse to the dita-company/plugins folder and edit the file catalog.xml.
  9. Change the name of the plugin to match the name of your custom DTD.
    For example:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.1//EN" 
    	"http://www.oasis-open.org/committees/entity/release/1.1/catalog.dtd">
    <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
    	<nextCatalog catalog="com.acme.dita.dtd/catalog.xml"/>
    </catalog>
    Tip: If you are unsure of the name of your plugin folder, this name can be found in the TEXTML Administration perspective under Repository > system > catalogs > master-catalog.xml.
    Following the ACME example, the master-catalog.xml file would contain the following line:
    <nextCatalog catalog="../plugins/com.acme.dita.dtd/catalog.xml"/>

    Update the catalog entry in the template, but do not include "../plugins/"

  10. Browse to dita-company/css/custom and edit the custom.css file.

    Enter a simple stylesheet change in the lines following /* Place your CSS here */ to test the framework.

    For example, the following CSS will change the topic titles to orange.

    /* Place your CSS here */
    *[class*=" topic/title "] {
    color:orange;
    }
  11. Save all the files you changed.
  12. Zip the folder dita-company to dita-company.zip.
  13. Upload the dita-company.zip into CCMS Web.