SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
The Dynamic Information Model
Supporting the Information Model with auto-generated
Schematron patterns, tool tips, and constraints
George BinaDawn Stevens
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Why do I need one?
● DITA provides core information types, but no
instructions for when to use them
● DITA has hundreds of elements; most
companies use less than half of them
● DITA has a relatively flexible structure; most
companies tighten it up
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
What is an information model?
• A set of specifications that defines
• The structure of your information
• The architectural elements to be used
• The expected outputs
• The required functionality of your authoring
environment
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
What does it contain?
● Information types
● Block and inline elements
● Metadata taxonomy
● Mapping guidelines
● Linking strategies
● Reuse mechanisms
● Authoring guidelines
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
How is it enforced?
● Code reviews
● Templates and tool tips
● Subject scheme maps
● Automated tools and Schematron
● Constraints and specializations
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Who enforces it?
Information architect creates / maintain the
information model
BUT, will not usually have these skills:
● Schematron
● XML schema languages (DTD, XML Schema, Relax
NG)
● Complex tool configuration
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Wouldn't it be nice if...
● The work you did to create the information
model could be single-sourced into automated
enforcement?
● You didn't need specialized skills to create
those tools?
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Business needs meet technology
Style
guide make it accessible to
enforce rules
Dynamic
Information
Model
Technologies
killer applications
used by anyone
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Overview
Ideas behind DIM
The DIM project
Demo
Future plans
Q&A
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
A little bit of recent history...
Related presentations at previous conferences
– DITA North America 2013
How to make a style guide available to authors
– DITA North America 2014
Schematron use cases for DITA
– DITA Europe 2014
Introducing the DIM project
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DITA North America 2013
Make the style guide available to authors
– We should not expect authors to learn the style guide
and then start writing
– The style guide information should be made available to
them as they need it
– We developed a configuration file for oXygen to allow
linking from the documentation tooltips to the style guide
topics relevant to the current editing context
Style
guide
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DITA North America 2014
Using Schematron for DITA
If we create a library of generic rules then we can use
them without Schematron knowledge, just by providing
values for the rule parameters
<pattern is-a="recommendElementInParent">
<param name="parent" value="task"/>
<param name="element" value="shortdesc"/>
<param name="message"
value="Do not forget to add a short description to your task!"/>
</pattern>
These rules can be used to enforce business specific
constraints documented in a style guide
parent
element
message
Generic rule
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DIM Ideas
Style
guide
+ +
Smart
style guide
generate
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DIM Ideas
● Generate the style guide integration
configuration file from the style guide itself
● Encode business rules within the style guide,
next to the text that describes them
● Make authoring of style guide metadata and
rules very easy to use
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DITA Europe 2014
Introducing the DIM project
– Single source style guide as
● descriptive prose
● code to automatically enforce those rules
– Support information architects in defining rules encoded
within the style guide though a simple user interface
– Make the style guide more accessible by annotating
topics with metadata information
– Automatically generate Schematron rules and
configuration files from the style guide information
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DIM
Take advantage of structured information to
define an intelligent style guide
– Encode business rules within the style guide
– Encode metadata information
Provide a user friendly authoring interface for
rules and metadata
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Encode business rules
<pattern is-a="restrictWords"
see="http://example.com/styleguide/webhelp/c_WritingShortDescriptions.html">
<param name="parentElement" value="shortdesc"/>
<param name="minWords" value="1"/>
<param name="maxWords" value="50"/>
</pattern>
<section audience="rules">
...
<dl><dlhead>
<dthd>Rule</dthd><ddhd>restrictWords</ddhd>
</dlhead><dlentry>
<dt>parentElement</dt><dd>shortdesc</dd>
</dlentry><dlentry>
<dt>minWords</dt><dd>1</dd>
</dlentry><dlentry>
<dt>maxWords</dt><dd>50</dd>
</dlentry></dl>
...
</section>
Schematron
DITA
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Metadata
<mapping elementName="shortdesc"
path="c_WritingShortDescriptions.html"
type="link"
linkText="How to write short descriptions"/>
<data
name="shortdesc"
value="How to write short descriptions"
audience="styleguide"/>
Configuration file
DITA
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
The DIM project
Open source (Apache 2.0 license)
Available on GitHub
http://www.github.com/oxygenxml/dim
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DIM project content
● A generic DITA style guide provided by
Comtech Services that can be used as a
starting point for your own style guide
● A Schematron library of generic rules that can
be instantiated to implement actual rules
● oXygen customization to provide an easy
authoring environment for rules and metadata
● XSLT scripts to generate Schematron rules and
an oXygen configuration file
● Other resources (XML Catalog, configuration)
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DIM project deliverables
● Style guide output as WebHelp and other
formats
● A Schematron schema containing all the rules
defined within the style guide
● An oXygen configuration file to enable links
from element or attribute tooltips to the style
guide topic.
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
DIM Demo
● Project layout
● Available abstract patterns library
● Defining a new rule
● Generate the Schematron rules file
● Using the Schematron rules
● Quick Fixes in action
● Link an element to a style guide topic
● Use the linking information while editing
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Project layout
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Project layout
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Available abstract patterns library
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Available abstract patterns library
<pattern abstract="true" id="avoidEndFragment">
<title>Issue a warning if a an element end with a specified fragment
or character</title>
<p>This pattern allows you to advise users not to use a specific end
sequence to end an element.</p>
<p>As parameters we have <emph>fragment</emph> that points to the
text that we need to check, <emph>element</emph> that points to
the element we will check to not end with that fragment and
<emph>message</emph> that contains the message we should display
to the user in case the fragment appears at the end of the the
specified element.</p>
<parameters xmlns="http://oxygenxml.com/ns/schematron/params">
<parameter>
<name>element</name>
<desc>Specifies the element we will verify to not contain a specified word.</desc>
</parameter>
<parameter>
<name>fragment</name>
<desc>Specifies the text to check.</desc>
</parameter>
<parameter>
<name>message</name>
<desc>The message the end user will see when the specified text ends with the given
fragment.</desc>
</parameter>
</parameters>
<rule context="$element">
<assert test="not(ends-with(normalize-space(.), '$fragment'))"
role="warn" sqf:fix="avoidEndFragment_deleteFragment avoidEndFragment_replaceFragment">
$message
</assert>
</rule>
</pattern>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Defining a new rule
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Defining a new rule
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Generate the Schematron rules file
<!--Generated from c_CreatingLists.dita.
-->
<pattern is-a="avoidEndFragment"
see="http://example.com/styleguide/webhelp/c_CreatingLists.html">
<param name="element" value="li"/>
<param name="fragment" value=";"/>
<param name="message"
value="List items should not end with a semi-column!
If it is a short statement leave it
without any ending character, otherwise use a full stop."/>
</pattern>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Using the Schematron rules
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Using the Schematron rules
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Quick Fixes in action
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Quick Fixes in action
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Link an element to a style guide
topic
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Link an element to a style guide
topic
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Link an element to a style guide
topic
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Use the linking information while
editing
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Future plans
● Define and automatically generate DITA
specializations / constraints
● Generate new document templates and inline
instructions for authors
● √ Build a library of generic rules
● √ Provide Quick Fixes as part of the generic
rules
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
The Dynamic Information ModelThe Dynamic Information Model
Thank you!
Questions?
Dawn Stevens
dawn.stevens@comtech-serv.com
@comtechdawn
George Bina
george@oxygenxml.com
@georgebina

Weitere ähnliche Inhalte

Was ist angesagt? (7)

小學二年級語文知識工作紙:排句成段(二)
小學二年級語文知識工作紙:排句成段(二)小學二年級語文知識工作紙:排句成段(二)
小學二年級語文知識工作紙:排句成段(二)
 
小二語文知識工作紙:分辨形似字
小二語文知識工作紙:分辨形似字小二語文知識工作紙:分辨形似字
小二語文知識工作紙:分辨形似字
 
入则孝 ppt
入则孝 ppt入则孝 ppt
入则孝 ppt
 
TUTO 1 - NUISANCE.pptx
TUTO 1 - NUISANCE.pptxTUTO 1 - NUISANCE.pptx
TUTO 1 - NUISANCE.pptx
 
小學二年級語文知識工作紙:重組句子(十三)
小學二年級語文知識工作紙:重組句子(十三)小學二年級語文知識工作紙:重組句子(十三)
小學二年級語文知識工作紙:重組句子(十三)
 
Conference sur le sommeil des enfants de 0 à 4 ans
Conference sur le sommeil des enfants de 0 à 4 ans Conference sur le sommeil des enfants de 0 à 4 ans
Conference sur le sommeil des enfants de 0 à 4 ans
 
z/OS Through V2R1Communications Server Performance Functions Update
z/OS Through V2R1Communications Server Performance Functions Updatez/OS Through V2R1Communications Server Performance Functions Update
z/OS Through V2R1Communications Server Performance Functions Update
 

Ähnlich wie The Dynamic Information Model

Big data meetup_10_9_2013
Big data meetup_10_9_2013Big data meetup_10_9_2013
Big data meetup_10_9_2013
Tanya Cashorali
 
Sample_Data_and_Data_Modules
Sample_Data_and_Data_ModulesSample_Data_and_Data_Modules
Sample_Data_and_Data_Modules
Michael Cook
 

Ähnlich wie The Dynamic Information Model (20)

Kamanja: Driving Business Value through Real-Time Decisioning Solutions
Kamanja: Driving Business Value through Real-Time Decisioning SolutionsKamanja: Driving Business Value through Real-Time Decisioning Solutions
Kamanja: Driving Business Value through Real-Time Decisioning Solutions
 
Big data meetup_10_9_2013
Big data meetup_10_9_2013Big data meetup_10_9_2013
Big data meetup_10_9_2013
 
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
 
MLops workshop AWS
MLops workshop AWSMLops workshop AWS
MLops workshop AWS
 
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous World
 
Comcast Labs Connect - PHLAI Conference Philadelphia 2018
Comcast Labs Connect - PHLAI Conference Philadelphia 2018 Comcast Labs Connect - PHLAI Conference Philadelphia 2018
Comcast Labs Connect - PHLAI Conference Philadelphia 2018
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
Sample_Data_and_Data_Modules
Sample_Data_and_Data_ModulesSample_Data_and_Data_Modules
Sample_Data_and_Data_Modules
 
ML Best Practices: Prepare Data, Build Models, and Manage Lifecycle (AIM396-S...
ML Best Practices: Prepare Data, Build Models, and Manage Lifecycle (AIM396-S...ML Best Practices: Prepare Data, Build Models, and Manage Lifecycle (AIM396-S...
ML Best Practices: Prepare Data, Build Models, and Manage Lifecycle (AIM396-S...
 
Introduction to Smart Data Models
Introduction to Smart Data ModelsIntroduction to Smart Data Models
Introduction to Smart Data Models
 
Design patterns for salesforce app decomposition
Design patterns for salesforce app decompositionDesign patterns for salesforce app decomposition
Design patterns for salesforce app decomposition
 
Trends and Best Practices for Implementing SaaS for Your Business
Trends and Best Practices for Implementing SaaS for Your BusinessTrends and Best Practices for Implementing SaaS for Your Business
Trends and Best Practices for Implementing SaaS for Your Business
 
Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...
 
Lightweight DITA
Lightweight DITALightweight DITA
Lightweight DITA
 
DITA Glass
DITA GlassDITA Glass
DITA Glass
 
940 diamond sponsor sengupta
940 diamond sponsor sengupta940 diamond sponsor sengupta
940 diamond sponsor sengupta
 
940 diamond sponsor sengupta,_using our laptop
940 diamond sponsor sengupta,_using our laptop940 diamond sponsor sengupta,_using our laptop
940 diamond sponsor sengupta,_using our laptop
 
940 paw business general session - ssg - data-robot
940 paw business   general session - ssg - data-robot940 paw business   general session - ssg - data-robot
940 paw business general session - ssg - data-robot
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

The Dynamic Information Model

  • 1. The Dynamic Information Model Supporting the Information Model with auto-generated Schematron patterns, tool tips, and constraints George BinaDawn Stevens
  • 2. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Why do I need one? ● DITA provides core information types, but no instructions for when to use them ● DITA has hundreds of elements; most companies use less than half of them ● DITA has a relatively flexible structure; most companies tighten it up
  • 3. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model What is an information model? • A set of specifications that defines • The structure of your information • The architectural elements to be used • The expected outputs • The required functionality of your authoring environment
  • 4. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model What does it contain? ● Information types ● Block and inline elements ● Metadata taxonomy ● Mapping guidelines ● Linking strategies ● Reuse mechanisms ● Authoring guidelines
  • 5. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model How is it enforced? ● Code reviews ● Templates and tool tips ● Subject scheme maps ● Automated tools and Schematron ● Constraints and specializations
  • 6. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Who enforces it? Information architect creates / maintain the information model BUT, will not usually have these skills: ● Schematron ● XML schema languages (DTD, XML Schema, Relax NG) ● Complex tool configuration
  • 7. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Wouldn't it be nice if... ● The work you did to create the information model could be single-sourced into automated enforcement? ● You didn't need specialized skills to create those tools?
  • 8. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Business needs meet technology Style guide make it accessible to enforce rules Dynamic Information Model Technologies killer applications used by anyone
  • 9. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Overview Ideas behind DIM The DIM project Demo Future plans Q&A
  • 10. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model A little bit of recent history... Related presentations at previous conferences – DITA North America 2013 How to make a style guide available to authors – DITA North America 2014 Schematron use cases for DITA – DITA Europe 2014 Introducing the DIM project
  • 11. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DITA North America 2013 Make the style guide available to authors – We should not expect authors to learn the style guide and then start writing – The style guide information should be made available to them as they need it – We developed a configuration file for oXygen to allow linking from the documentation tooltips to the style guide topics relevant to the current editing context Style guide
  • 12. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DITA North America 2014 Using Schematron for DITA If we create a library of generic rules then we can use them without Schematron knowledge, just by providing values for the rule parameters <pattern is-a="recommendElementInParent"> <param name="parent" value="task"/> <param name="element" value="shortdesc"/> <param name="message" value="Do not forget to add a short description to your task!"/> </pattern> These rules can be used to enforce business specific constraints documented in a style guide parent element message Generic rule
  • 13. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DIM Ideas Style guide + + Smart style guide generate
  • 14. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DIM Ideas ● Generate the style guide integration configuration file from the style guide itself ● Encode business rules within the style guide, next to the text that describes them ● Make authoring of style guide metadata and rules very easy to use
  • 15. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DITA Europe 2014 Introducing the DIM project – Single source style guide as ● descriptive prose ● code to automatically enforce those rules – Support information architects in defining rules encoded within the style guide though a simple user interface – Make the style guide more accessible by annotating topics with metadata information – Automatically generate Schematron rules and configuration files from the style guide information
  • 16. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DIM Take advantage of structured information to define an intelligent style guide – Encode business rules within the style guide – Encode metadata information Provide a user friendly authoring interface for rules and metadata
  • 17. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Encode business rules <pattern is-a="restrictWords" see="http://example.com/styleguide/webhelp/c_WritingShortDescriptions.html"> <param name="parentElement" value="shortdesc"/> <param name="minWords" value="1"/> <param name="maxWords" value="50"/> </pattern> <section audience="rules"> ... <dl><dlhead> <dthd>Rule</dthd><ddhd>restrictWords</ddhd> </dlhead><dlentry> <dt>parentElement</dt><dd>shortdesc</dd> </dlentry><dlentry> <dt>minWords</dt><dd>1</dd> </dlentry><dlentry> <dt>maxWords</dt><dd>50</dd> </dlentry></dl> ... </section> Schematron DITA
  • 18. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Metadata <mapping elementName="shortdesc" path="c_WritingShortDescriptions.html" type="link" linkText="How to write short descriptions"/> <data name="shortdesc" value="How to write short descriptions" audience="styleguide"/> Configuration file DITA
  • 19. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model The DIM project Open source (Apache 2.0 license) Available on GitHub http://www.github.com/oxygenxml/dim
  • 20. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DIM project content ● A generic DITA style guide provided by Comtech Services that can be used as a starting point for your own style guide ● A Schematron library of generic rules that can be instantiated to implement actual rules ● oXygen customization to provide an easy authoring environment for rules and metadata ● XSLT scripts to generate Schematron rules and an oXygen configuration file ● Other resources (XML Catalog, configuration)
  • 21. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DIM project deliverables ● Style guide output as WebHelp and other formats ● A Schematron schema containing all the rules defined within the style guide ● An oXygen configuration file to enable links from element or attribute tooltips to the style guide topic.
  • 22. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model DIM Demo ● Project layout ● Available abstract patterns library ● Defining a new rule ● Generate the Schematron rules file ● Using the Schematron rules ● Quick Fixes in action ● Link an element to a style guide topic ● Use the linking information while editing
  • 23. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Project layout
  • 24. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Project layout
  • 25. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Available abstract patterns library
  • 26. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Available abstract patterns library <pattern abstract="true" id="avoidEndFragment"> <title>Issue a warning if a an element end with a specified fragment or character</title> <p>This pattern allows you to advise users not to use a specific end sequence to end an element.</p> <p>As parameters we have <emph>fragment</emph> that points to the text that we need to check, <emph>element</emph> that points to the element we will check to not end with that fragment and <emph>message</emph> that contains the message we should display to the user in case the fragment appears at the end of the the specified element.</p> <parameters xmlns="http://oxygenxml.com/ns/schematron/params"> <parameter> <name>element</name> <desc>Specifies the element we will verify to not contain a specified word.</desc> </parameter> <parameter> <name>fragment</name> <desc>Specifies the text to check.</desc> </parameter> <parameter> <name>message</name> <desc>The message the end user will see when the specified text ends with the given fragment.</desc> </parameter> </parameters> <rule context="$element"> <assert test="not(ends-with(normalize-space(.), '$fragment'))" role="warn" sqf:fix="avoidEndFragment_deleteFragment avoidEndFragment_replaceFragment"> $message </assert> </rule> </pattern>
  • 27. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Defining a new rule
  • 28. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Defining a new rule
  • 29. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Generate the Schematron rules file <!--Generated from c_CreatingLists.dita. --> <pattern is-a="avoidEndFragment" see="http://example.com/styleguide/webhelp/c_CreatingLists.html"> <param name="element" value="li"/> <param name="fragment" value=";"/> <param name="message" value="List items should not end with a semi-column! If it is a short statement leave it without any ending character, otherwise use a full stop."/> </pattern>
  • 30. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Using the Schematron rules
  • 31. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Using the Schematron rules
  • 32. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Quick Fixes in action
  • 33. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Quick Fixes in action
  • 34. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Link an element to a style guide topic
  • 35. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Link an element to a style guide topic
  • 36. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Link an element to a style guide topic
  • 37. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Use the linking information while editing
  • 38. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Future plans ● Define and automatically generate DITA specializations / constraints ● Generate new document templates and inline instructions for authors ● √ Build a library of generic rules ● √ Provide Quick Fixes as part of the generic rules
  • 39. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. The Dynamic Information ModelThe Dynamic Information Model Thank you! Questions? Dawn Stevens dawn.stevens@comtech-serv.com @comtechdawn George Bina george@oxygenxml.com @georgebina