61
DITA 101 Sarah O’Keefe (@sarahokeefe) Scriptorium Publishing (@Scriptorium)

DITA 101

Embed Size (px)

DESCRIPTION

In this webcast recording, Sarah O'Keefe gives an overview of DITA, one of the major structured authoring standards in tech comm.

Citation preview

Page 1: DITA 101

DITA 101

Sarah O’Keefe (@sarahokeefe)Scriptorium Publishing (@Scriptorium)

Page 2: DITA 101

Sarah O’Keefe @sarahokeefe❖ Founder and president, Scriptorium

Publishing, www.scriptorium.com

❖ Based in North Carolina

❖ Content strategy for tech comm

❖ Interested in collision of content, publishing, and technology

Page 3: DITA 101

Before we begin…

❖ Everyone is muted except for the presenter

❖ Please ask your questions through the Questions area in the webcast interface

❖ The presentation is being recorded; attendees do not appear in the recording

❖ #dita101 hashtag for Twitter

Page 4: DITA 101

Agenda

❖ What is DITA?

❖ Key DITA concepts

❖ Typical scenarios for DITA

❖ Is DITA right for you?

Page 5: DITA 101

What is DITA?

❖ Darwin Information Typing Architecture

❖ Darwin – because you can evolve new elements from existing elements

❖ Information Typing – content is categorized as task, reference, concept

❖ Architecture – includes components for reuse, single sourcing, and generating output

❖ Developed by IBM, maintained by OASIS

Page 6: DITA 101

Why is DITA important? Is DITA important?❖ Structured authoring is creating content

with programmatic enforcement of the required structure

❖ DITA is a specific way to do structured authoring

❖ Many software vendors support DITA

Page 7: DITA 101

What is DITA, really?

❖ XML standard

❖ Built for topic-oriented authoring

❖ A way to work in XML without having to design your own structure?

❖ A major buzzword in tech comm

❖ Cost-effective way to create, publish, reuse, and exchange structured content

Page 8: DITA 101

DITA components

❖ Document type definitions (DTDs, which define structure)

❖ Open Toolkit for generating output

❖ HTML, Eclipse help, CHM, and others through XSL

❖ PDF through XSL-FO

❖ Documentation

Page 9: DITA 101

DITA publishing

Page 10: DITA 101

WhatDITA is not

flickr: JoelK75

Page 11: DITA 101

flickr: bandita

Page 12: DITA 101

Perhaps it’s this…

flickr: erix!

Page 13: DITA 101

Is DITA better than XML?

flickr: matthewreid

Page 14: DITA 101

flickr: eliduke, mdpettitt

Which is better?

Page 15: DITA 101

Context matters. flickr: NeilsPhotography

Page 16: DITA 101

flickr: liamq

Page 17: DITA 101

DITA’s ideal habitat

❖ Topic-oriented, modular content

❖ Content reuse

❖ Content exchange

❖ Translation/localization workflow

Page 18: DITA 101

Most common business case for DITA?❖ Localization cost savings

❖ Reuse

Page 19: DITA 101

DITA’s challenges

❖ Automated formatting versus hand-crafted pagination

❖ Narrative content

❖ High level of technical expertise required

❖ New skills for authors

Page 20: DITA 101

DITA topic (simplified)

<topic id=”seuss”>

<title>One tag, two tag</title> <body> <p>Red tag, blue tag</p> <p>Black tag, blue tag, old tag, new tag</p> <p>This one has a little car</p> <p>This one has a little star</p> <note>Say, what a lot of tags there are!</note> </body></topic>

Page 21: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

Page 22: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

I am XML.

Page 23: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

I am a DITA topic.

Page 24: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

Page 25: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

Page 26: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

Page 27: DITA 101

<?xml version="1.0"?>

<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

<topic id="aardvark" audience="internal">

<title>Aardvark</title>

<body>

<p>Aardvarks eat mostly termites. </p>

<p>Do not accept the aardvarks' offer to helpdeal with your termite problem. You will <b>not</b> like the results.</p>

<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food.</note>

</body>

</topic>

Page 28: DITA 101

WYSIOOWhat You See Is…One Option

Page 29: DITA 101

WYSIOOWhat You See Is…One Option

Page 30: DITA 101

WYSIOOWhat You See Is…One Option

Page 31: DITA 101

WYSIOOWhat You See Is…One Option

Page 32: DITA 101

Key DITA concepts

❖ Topics

❖ Map files

❖ Content references (conrefs)

❖ Specialization

Page 33: DITA 101

Topics

flickr: scientificquilter

Page 34: DITA 101

Map files

flickr: acnatta

Page 35: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

Page 36: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

I am a DITA map.

Page 37: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

Page 38: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

Page 39: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

Page 40: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

Level 1

Page 41: DITA 101

<?xml version="1.0"?><!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"><map rev="1" title="Zoo Policies" xml:lang="en-us"><topicmeta>

<author>Sarah</author><critdates> <created date="2006/10/31"/> <revised modified="2012/05/31"/>

</critdates></topicmeta><topicref href="Animal_nutrition.xml" navtitle="Animal nutrition" type="reference">

<topicref href="Aardvark.xml" navtitle="Aardvark" type="topic"/><topicref href="Baboon.xml" navtitle="Baboon" type="topic"/><topicref href="Crane.xml" navtitle="Crane" type="topic"/><topicref href="Dingo.xml" navtitle="Dingo" type="topic"/>

</topicref><topicref href="Visitor_behavior.xml" navtitle="Visitor behavior" type="topic">

<topicref href="Adults.xml" navtitle="Adults" type="topic"/><topicref href="Children.xml" navtitle="Children" type="topic"/>

</topicref></map>

Level 1

Level 2

Page 42: DITA 101

conrefs <topic id="aardvark">...<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food. …</topic>

<topic id="baboon"><title>Baboon</title><body>

<p>Baboons eat mostly fruit.</p><p>

<note conref="Aardvark.xml#aardvark/nofeeding"/></p>

</body></topic>

Named destination in Aardvark.xml

Link in Baboon.xml

Page 43: DITA 101

conrefs <topic id="aardvark">...<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food. …</topic>

<topic id="baboon"><title>Baboon</title><body>

<p>Baboons eat mostly fruit.</p><p>

<note conref="Aardvark.xml#aardvark/nofeeding"/></p>

</body></topic>

Named destination in Aardvark.xml

Link in Baboon.xml

Page 44: DITA 101

conrefs <topic id="aardvark">...<note type="danger" id="nofeeding">Do not feed animals snacks, scraps, or people food. …</topic>

<topic id="baboon"><title>Baboon</title><body>

<p>Baboons eat mostly fruit.</p><p>

<note conref="Aardvark.xml#aardvark/nofeeding"/></p>

</body></topic>

Named destination in Aardvark.xml

Link in Baboon.xml

Page 45: DITA 101

Specialization

❖ Lets you create additional elements without breaking DITA Open Toolkit processing.

❖ New element is a specialization of the base element.

❖ This is what put the D in DITA.

Page 46: DITA 101

Customizationoptions

flickr: munksynz

Page 47: DITA 101

Customization

Page 48: DITA 101

Constraints

Page 49: DITA 101

Specialization

Page 50: DITA 101

Business case for XML

❖ Content exchange

❖ Database publishing

❖ Reuse content/reduce duplication

❖ Automated formatting/publishing

❖ Compliance

Page 51: DITA 101

Beyond XML’s business case, DITA may…❖ Reduce content modeling effort

❖ Make content truly portable

❖ Support content reuse

❖ Take advantage of software support

❖ Provide output options

❖ Reduce overall cost of implementation

Page 52: DITA 101

Reduce content modeling effort

Page 53: DITA 101

Make content truly portable

flickr: aloha75

Page 54: DITA 101

Support content reuse

❖ Map files

❖ conrefs (and variations)

❖ keyrefs (and variations)

Page 55: DITA 101

Software support

❖ DITA support found in many (most?) XML authoring tools

❖ Some tools support only DITA and not general XML

Page 56: DITA 101

Provide output options

❖ XHTML, HTML Help, PDF, Eclipse, DocBook, JavaHelp, troff, Word RTF through DITA Open Toolkit

❖ Starting point for output

❖ Not suitable for production workflow

❖ Customization is difficult and time-consuming

Page 57: DITA 101

Is DITA right for you?

flickr: nugunslinger

Page 58: DITA 101

Yes

❖ DITA meets all requirements.

❖ A business partner or customer requires DITA content.

❖ Single sourcing is a requirement.

❖ No existing content.

❖ Can be flexible with markup requirements to make implementation faster.

Page 59: DITA 101

No.

❖ Content must conform to a specific standard, such as S1000D.

❖ Content is and should remain narrative.

❖ Semantic requirements are industry-specific, complex, and/or strict.

❖ No possibility of internal or external support for technical challenges.

Page 60: DITA 101

Maybe.

❖ DITA is not an exact match.

❖ Customization/specialization would be required.

Page 61: DITA 101

Questions?