Experts in Information Management Solutions and Services<br />DITA Specialization: Tools for Visual SupportJune, 2010<br />
Webinar overview<br />Goals:<br /><ul><li>Demonstrate how typical difficulties in doing DITA Specialization can be overcom...
Concentrate on basic tasks related to DITA Specialization</li></ul>Audience:<br /><ul><li>People having basic knowledge ab...
People experienced with traditional ways of doing DITA Specialization willing to make this process more efficient
Understanding of DITA specialization principles is expected</li></ul>Questions:<br /><ul><li>Questions can be asked using ...
Agenda<br /><ul><li>Traditional approach of doing Specializations
Main challenges
Traditional vs. Visual Specialization
Example / Demo
Q&A</li></ul>3<br />
Traditional approach of doing DITA specializations<br />4<br />
Traditional way: Bottom-up approach<br />Standard <br />DITA<br />Text filescontaining:<br /><ul><li>Definitionsofnewstruc...
Definitionsofattributes</li></ul>Text filescontaining:<br /><ul><li>Definitionsofnewdomainelements
Definitionsofattributes</li></ul>Shell DTD1<br />Structural module 1<br />Structural module 3<br />Structural module 2<br ...
Traditional way: Bottom-up approachII<br />Specialized <br />Model<br />Shell DTD A<br />Structural module A<br />Domain m...
Main challenges people face when doing DITA Specializations<br />7<br />
Challenge 1:<br />Understanding possibilities and limitations of DITA Specialization<br />Problem:<br /><ul><li>People oft...
Challenge 2:<br />Difficulties with initial setup of specialization infrastructure<br />Problems:<br /><ul><li>Making chan...
Problems in setup of proper “empty” Shell DTD infrastructure
Making errors in integration process (wrong sequence of component integration, missing some declarations etc.)</li></ul>Po...
Automated DTD creation in the background</li></ul>9<br />
Challenge 3: <br />Errors in specialization process<br />Problems:<br /><ul><li>Insufficient overview of available element...
Violating rules of DITA specialization*. Some examples:
Uniqueness of element names: Usage of same infotype or element names as in base DITA models
Structural elements without parent
Wrong element content model
Mixing domain and structural elements (DITA 1.1 specific) </li></ul>Possible solution:<br /><ul><li>Provide sufficient ove...
Automatic validation of specialization rules
Disable operations that will lead to invalid model</li></ul>10<br />* see: http://support.ditaworks.com/problems_and_solut...
Upcoming SlideShare
Loading in …5
×

DITA Specialization: Tools for Visual Support

1,565 views

Published on

This presentation demonstrates how typical difficulties in doing DITA Specialization can be overcome by using visual tooling.

Published in: Technology
  • Be the first to comment

DITA Specialization: Tools for Visual Support

  1. 1. Experts in Information Management Solutions and Services<br />DITA Specialization: Tools for Visual SupportJune, 2010<br />
  2. 2. Webinar overview<br />Goals:<br /><ul><li>Demonstrate how typical difficulties in doing DITA Specialization can be overcome by using visual tooling
  3. 3. Concentrate on basic tasks related to DITA Specialization</li></ul>Audience:<br /><ul><li>People having basic knowledge about possibilities of DITA Specialization and willing to try it
  4. 4. People experienced with traditional ways of doing DITA Specialization willing to make this process more efficient
  5. 5. Understanding of DITA specialization principles is expected</li></ul>Questions:<br /><ul><li>Questions can be asked using webex chat. They will be gathered and answered at the end of webinar.</li></ul>2<br />
  6. 6. Agenda<br /><ul><li>Traditional approach of doing Specializations
  7. 7. Main challenges
  8. 8. Traditional vs. Visual Specialization
  9. 9. Example / Demo
  10. 10. Q&A</li></ul>3<br />
  11. 11. Traditional approach of doing DITA specializations<br />4<br />
  12. 12. Traditional way: Bottom-up approach<br />Standard <br />DITA<br />Text filescontaining:<br /><ul><li>Definitionsofnewstructuralelements
  13. 13. Definitionsofattributes</li></ul>Text filescontaining:<br /><ul><li>Definitionsofnewdomainelements
  14. 14. Definitionsofattributes</li></ul>Shell DTD1<br />Structural module 1<br />Structural module 3<br />Structural module 2<br />Domain module 1<br />…<br />5<br />
  15. 15. Traditional way: Bottom-up approachII<br />Specialized <br />Model<br />Shell DTD A<br />Structural module A<br />Domain module A<br />Standard <br />DITA<br />Structural module 1<br />Structural module 3<br />Shell DTD1<br />Structural module 2<br />Domain module 1<br />Domain module 2<br />…<br />Shell DTD2<br />6<br />
  16. 16. Main challenges people face when doing DITA Specializations<br />7<br />
  17. 17. Challenge 1:<br />Understanding possibilities and limitations of DITA Specialization<br />Problem:<br /><ul><li>People often do not understand main rules of DITA specialization and related implications</li></ul>Possible solution:<br /><ul><li>Initial education about possibilities and limitations of DITA Specialization</li></ul>8<br />
  18. 18. Challenge 2:<br />Difficulties with initial setup of specialization infrastructure<br />Problems:<br /><ul><li>Making changes in source files of original DITA model
  19. 19. Problems in setup of proper “empty” Shell DTD infrastructure
  20. 20. Making errors in integration process (wrong sequence of component integration, missing some declarations etc.)</li></ul>Possible solution:<br /><ul><li>Simplify this process by having a wizard-like process for guiding the users
  21. 21. Automated DTD creation in the background</li></ul>9<br />
  22. 22. Challenge 3: <br />Errors in specialization process<br />Problems:<br /><ul><li>Insufficient overview of available elements and resulting XML structure
  23. 23. Violating rules of DITA specialization*. Some examples:
  24. 24. Uniqueness of element names: Usage of same infotype or element names as in base DITA models
  25. 25. Structural elements without parent
  26. 26. Wrong element content model
  27. 27. Mixing domain and structural elements (DITA 1.1 specific) </li></ul>Possible solution:<br /><ul><li>Provide sufficient overview: model elements, changes etc.
  28. 28. Automatic validation of specialization rules
  29. 29. Disable operations that will lead to invalid model</li></ul>10<br />* see: http://support.ditaworks.com/problems_and_solutions/errors-in-dita-specializations-modeling/<br />
  30. 30. Challenge 4:<br />Integrating specialization into authoring environment<br />Problems:<br /><ul><li>Not all DITA-aware tools support specialized models out-of-the-box</li></ul>Possible solution:<br /><ul><li>Use tools that are able to integrate specializations out-of-the box
  31. 31. Useintegrated tooling: no need for additional integration</li></ul>11<br />
  32. 32. Traditional vs. Visual<br />12<br />
  33. 33. Visual way: Top-down or Bottom-up?<br />Visual <br />tooling<br />Internal representation:<br /><ul><li>Definitionsofnewstructuralelements
  34. 34. Definitionsofattributes</li></ul>Visual Infotype editor<br />Shell DTD1<br />Visual editors for modules and domains<br />Structural module 1<br />Structural module 3<br />Domain module 1<br />Structural module 2<br />…<br />Internal representation:<br /><ul><li>Definitionsofnewdomainelements
  35. 35. Definitionsofattributes</li></ul>13<br />
  36. 36. Visual way: Top-down presentation<br />Advantages:<br /><ul><li>Resulting XML structure is presented in tree-like way (kind of WYSIWYG)
  37. 37. Most specialization functions are accessible from this presentationvia context menu
  38. 38. Changes made on current level of specialization are marked using color codes and icons:
  39. 39. Blue – changed/specialized element
  40. 40. Bold – changed cardinality
  41. 41. Red cross icon – removed elements </li></ul>14<br />
  42. 42. Example<br />15<br />
  43. 43. Example overview: Earthquake notification message<br />Goals:<br /><ul><li>Create a sample DITA model based on one of the existing public models</li></ul>Task definition:<br /><ul><li>Define a DITA topic describing earthquake notification with following fields:
  44. 44. Message Identifier
  45. 45. Message Main Text
  46. 46. Earthquake location
  47. 47. Earthquake Intensity level
  48. 48. Actions taken
  49. 49. Responses for operators for different cases (2 different cases for simplicity)
  50. 50. Way to define references to other earthquake messages</li></ul>Tool:<br /><ul><li>DITAworks DITA Visual Specialization Manager (DVSM)</li></ul>16<br />
  51. 51. Example: Steps involved <br /><ul><li>Step 1: Plan your specialization
  52. 52. Step 2: Create main infrastructure components
  53. 53. Step 3: Perform structural specialization
  54. 54. Test results
  55. 55. Step 4: Perform domain specialization
  56. 56. Test results
  57. 57. Step 5: Consume model or Export</li></ul>17<br />
  58. 58. DITAworks: specific terminology..<br />Standard DITA<br />DITAworks<br />Infotype<br />Shell DTD<br />Domain module<br />Domain module<br />Structural module<br />Structural module<br />18<br />
  59. 59. Example: Tooling overview<br />Main UI elements of DITAworks DVSM:<br /><ul><li>Modeling perspective
  60. 60. Modeling views:
  61. 61. Project explorer
  62. 62. Modules view
  63. 63. Domains view
  64. 64. Main visual editors:
  65. 65. Infotype editor
  66. 66. Structural Module editor
  67. 67. Domain editor</li></ul>19<br />
  68. 68. Step 1: Plan your specialization I<br />1.1 Decide about required infotypes:<br /><ul><li>In our case, we will create 1 new infotype for Earthquake message: eqMessage</li></ul>1.2 Write down main elements that will be your new infotypes:<br />20<br />
  69. 69. Step 1: Plan your specialization II<br />1.3 Browse existing models and find good candidates for parent types to specialize from:<br /><ul><li>In our case, as a parent infotype, we will use msgref from Message Reference DITA model</li></ul>1.4 Inside of parent type, find elements that you will specialize from. Map your elements to parent elements. Check their content models. <br />21<br />
  70. 70. Step 2: Creating infrastructure components<br />Creating new DITA model:<br /><ul><li>Create new Model project using “New/Model project”
  71. 71. Use Message Reference model as the parent or dependent model
  72. 72. Choose model public Id</li></ul>Creating new Infotype:<br /><ul><li>Create new Infotype “eqMessage” using “New/Infotype”
  73. 73. Provide publicId
  74. 74. Create new structural module “eqMessage.stdmodule”
  75. 75. Choose required domains</li></ul>22<br />
  76. 76. Step 3: Doing structural specialization<br />Define new elements based on parent elements:<br /><ul><li>Specialize elements using tree presentation
  77. 77. Alternatively, specialize elements using Structural module editor
  78. 78. Edit content model of elements using visual actions or DTD expressions</li></ul>Test your infotype:<br /><ul><li>Use “Create XML” action for that</li></ul>23<br />
  79. 79. Step 4: Doing domain specialization<br />Create new domain:<br /><ul><li>Create new domain using “New/DITA Domain module”</li></ul>Define new domain elements:<br /><ul><li>Using domain editor, define new elements based on existing DITA elements</li></ul>Integrate new domain into infotype:<br /><ul><li>Use “Modules” tab in Infotype Editor for this</li></ul>Test your infotype:<br /><ul><li>Use “Create XML” action for that</li></ul>24<br />
  80. 80. Step 5: Consume model or Export<br />Use new model inside of DITAworks:<br /><ul><li>Create a content project based on the model
  81. 81. Use new infotype from “New topic” wizard</li></ul>Export model:<br /><ul><li>As DTD
  82. 82. As DITA Open toolkit plugin
  83. 83. As XML Schema (optional)</li></ul>25<br />
  84. 84. Q & A Session<br />26<br />
  85. 85. New Ideas in Information Management<br />Sophienstr. 17<br />D-70178 Stuttgart<br />phone: +49 (0) 711 - 99 33 85 90<br />fax: +49 (0) 711 - 99 33 85 99<br />e-mail: info@instinctools.com<br />internet: www.instinctools.com<br />27<br />
  86. 86. DITAworks Integrated toolset Core Areas<br />Authoring<br />Process<br />Publishing & Export<br />Modeling<br />Provides meta information for all DITAworks tooling and enables efficient use of specialization. <br /><ul><li>Import of existing specializations from DTD and XML Schema
  87. 87. Export of managed specializations to DTD and XML Schema
  88. 88. Visual editors for DITA base model: Specialization editing
  89. 89. Model validations
  90. 90. Extended model:
  91. 91. Settings for editorial tools
  92. 92. WYSIWYG Style sheets
  93. 93. Custom validation rules
  94. 94. Custom transformations
  95. 95. etc.</li></ul>Provides a set of integrated editorial model-driven tools for efficient content authoring.<br /><ul><li> Content Import
  96. 96. Infrastructural project rules
  97. 97. Visual editors for DITA topics and maps
  98. 98. Link management
  99. 99. Content validation
  100. 100. Content refactoring (e.g. rename, move, content extraction etc.)
  101. 101. Reuse block management
  102. 102. Tag management
  103. 103. Versioning
  104. 104. Collaboration</li></ul>Provides means for delivery to end-user based on improved and enhanced OT. <br /><ul><li>Integrated OT with some important improvements.
  105. 105. Publishing configurations including settings for variables, conditional processing etc.
  106. 106. Extended support of Eclipse help
  107. 107. Export of content (full or partial)
  108. 108. Publishing server for running headless transformations.</li></ul>28<br />
  109. 109. DITAworks Model-driven Architecture<br />29<br />

×