SlideShare ist ein Scribd-Unternehmen logo
1 von 15
@conref
@conkeyref
@conrefpush
REUSE STRATEGIES IN DITA WHEN MIGRATING LEGACY CONTENT
1
2015 Conference
© Adam Sanyo, 2015 2015 Conference
Agenda
 Why companies decide to adopt DITA?
 Planning the migration of legacy content
 How to reuse content in DITA
 Examples
2
© Adam Sanyo, 2015 2015 Conference
My background
 Five years of experience in technical writing.
 Worked on two different migration projects.
 Degree in English and Linguistics.
 Currently working for ARM as an information
developer on a contract basis.
 “Love at first sight” when encountering DITA in 2010.
3
© Adam Sanyo, 2015 2015 Conference
Why companies decide to adopt DITA?
Because they want to do any of the following:
 Reuse content across products.
 Reduce costs (for example, translation or authoring cost).
 Share workload between individual writers (increase productivity).
4
© Adam Sanyo, 2015 2015 Conference
DITA adoption scenarios
 The company wants to manage a large document set from a
component content management system (CCMS) and wants
to get rid of authoring silos.
 Different authoring teams create similar content and some of
that content could be reused.
 The company wants to translate its document set effectively
and wants to reuse translations over time.
5
© Adam Sanyo, 2015 2015 Conference
Strategy for legacy content migration
Note: I will not cover budget considerations (as I have never done that
part), but I will cover the technical side.
 Select part of your content as a test and see how you can reuse and
restructure it (run a prototype project).
 Have at least some rough reuse processes and guidelines.
 Write a good conversion script (that transforms legacy content to XML).
 Visualize your end product (the outcome of the project or a deliverable).
6
© Adam Sanyo, 2015 2015 Conference
Authoring decisions
Let us assume that you are using the standard DITA framework (task-
concept reference topics) and maybe one or two extra topic types on top of
that.
 Identify your topic types and chunk the content accordingly.
 Start with task topics as those are the easiest ones to identify but the
most difficult ones to convert (because of DITA-constraints in task topics).
 Select your reuse strategy after you analyzed your content.
 Decide the level of deviation from the original content (is your project a
simple conversion of your content or do you want to rework some parts of
the text?).
7
© Adam Sanyo, 2015 2015 Conference
Some general reuse rules
 Gain flexibility by using keys (because they create
a dependency only on the map level).
 Reuse block elements (paragraphs or elements
with similar size), but you can reuse smaller
elements if they do not require translation (for
example, product names or version numbers).
 Rewrite two or more similar topics if they become
reusable after that.
8
© Adam Sanyo, 2015 2015 Conference
Using @conref
Definition
 “Content reference”, that is, referencing one piece
of content from one topic to another.
Reuse strategy
 You want to reuse universal content found in
many or all publications.
Example
 Copyright information
Limitation
 Make sure that the referenced content is correct
in all publications where it is used, or you must
maintain different versions of the text.
1. Content is created in a reusable topic (“reusable_topic.dita”).
2. The topic id and the element id is used in the reference
(topic id: “reuse”, element id: “copyright”).
<p conref="reusable_topic.dita#reuse/copyright"/>
Output: © All rights reserved, 2015.
9
© Adam Sanyo, 2015 2015 Conference
Using @conkeyrefs
Definition
 “Content key reference”, which is an indirect
content reference governed by defined keys on the
map level.
Reuse strategy
 You have few differences between topics in your
product.
Example
 Changing elements between similar products
using keys (e.g. version numbers of products).
Limitation
 Managing the content on the map level using a
reference topic can become difficult and results in
too much overhead over time.
1. The key is defined on the map level with reference to a
topic that contains the content.
<keydef href= "reference.dita" keys="variables"/>
2. The key that is assigned to the topic and the id of the
referenced content is used for referencing content.
Reference to the topic: “variables”
Reference to the element id in the topic: “version”
<keyword conkeyref="variables/version"/>
Output: Version 15
10
© Adam Sanyo, 2015 2015 Conference
Using conditional processing/profiling (DITAVAL)
Definition
 As the name suggests, conditional values are defined to select
given parts of the full content. It is also called content profiling.
When to use
 Useful for authors when they create content for multiple audiences
 It is easier to manage attributes than keys (up to a certain point).
Example
 The same topic is sent to different clients, and some parts of the
text are client-specific.
Limitation
 It is better to store the content pieces in separate topics rather than
having a big master topic with all the content.
1. Define the DITAVAL attributes, for example, to exclude
a given version number.
<prop action="exclude" att="audience"
val="version15"/>
2. When generating your output, add this DITAVAL file to
your scenario and the output will not contain what you
excluded.
Note: As long as something is not excluded, it will be
included.
11
© Adam Sanyo, 2015 2015 Conference
Using @conrefpush
Definition
 Push some content before, in place of, or after a
marked section.
When to use
 It is recommended as a temporary solution only.
Limitation
 Compared to keys, it can be hard to manage many
conrefpush scenarios, and it is also harder to set
up conferpush scenarions for a novice DITA user.
1. Give an id to the element where your new content
would be in your content topic and use a conref to add
this selected element into your reference topic (the
topic that contains the new content you want to add).
2. Add the “mark” conaction attribute to the referenced
content.
3. Create the new content in the reference topic.
4. Add the reference topic with resource-only
outputclass attribute to your main content map.
More info: http://dita.xml.org/resource/dita-12-feature-
article-conref-push
12
© Adam Sanyo, 2015 2015 Conference
Examples (in oXygen XML Author)
 Using conditional processing (in a master topic)
 Using @conkeyrefs (on two maps)
 Using @conrefpush
13
© Adam Sanyo, 2015 2015 Conference
Contact information
14
Adam Sanyo
info@sanyowritingsolutions.co.uk
© Adam Sanyo, 2015 2015 Conference
If I timed myself right, we have 10 minutes for questions
Questions?
15

Weitere Àhnliche Inhalte

Was ist angesagt?

An introduction to Jupyter notebooks and the Noteable service
An introduction to Jupyter notebooks and the Noteable serviceAn introduction to Jupyter notebooks and the Noteable service
An introduction to Jupyter notebooks and the Noteable serviceJisc
 
Protect your private data with ORC column encryption
Protect your private data with ORC column encryptionProtect your private data with ORC column encryption
Protect your private data with ORC column encryptionOwen O'Malley
 
Introduction to Python for Data Science and Machine Learning
Introduction to Python for Data Science and Machine Learning Introduction to Python for Data Science and Machine Learning
Introduction to Python for Data Science and Machine Learning ParrotAI
 
Real-time Twitter Sentiment Analysis and Image Recognition with Apache NiFi
Real-time Twitter Sentiment Analysis and Image Recognition with Apache NiFiReal-time Twitter Sentiment Analysis and Image Recognition with Apache NiFi
Real-time Twitter Sentiment Analysis and Image Recognition with Apache NiFiTimothy Spann
 
The columnar roadmap: Apache Parquet and Apache Arrow
The columnar roadmap: Apache Parquet and Apache ArrowThe columnar roadmap: Apache Parquet and Apache Arrow
The columnar roadmap: Apache Parquet and Apache ArrowJulien Le Dem
 
How to deploy machine learning models into production
How to deploy machine learning models into productionHow to deploy machine learning models into production
How to deploy machine learning models into productionDataWorks Summit
 
Introduction to Python programming Language
Introduction to Python programming LanguageIntroduction to Python programming Language
Introduction to Python programming LanguageMansiSuthar3
 
DITA and SEO
DITA and SEODITA and SEO
DITA and SEOIXIASOFT
 
Real-Time Market Data Analytics Using Kafka Streams
Real-Time Market Data Analytics Using Kafka StreamsReal-Time Market Data Analytics Using Kafka Streams
Real-Time Market Data Analytics Using Kafka Streamsconfluent
 
Apache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeApache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeDremio Corporation
 
Reducing Microservice Complexity with Kafka and Reactive Streams
Reducing Microservice Complexity with Kafka and Reactive StreamsReducing Microservice Complexity with Kafka and Reactive Streams
Reducing Microservice Complexity with Kafka and Reactive Streamsjimriecken
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | EdurekaPython Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | EdurekaEdureka!
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Cloudera, Inc.
 
Taxonomy 101: Classifying DITA Tasks
Taxonomy 101: Classifying DITA TasksTaxonomy 101: Classifying DITA Tasks
Taxonomy 101: Classifying DITA TaskseasyDITA
 
Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016Timothy Spann
 
Using Apache Arrow, Calcite, and Parquet to Build a Relational Cache
Using Apache Arrow, Calcite, and Parquet to Build a Relational CacheUsing Apache Arrow, Calcite, and Parquet to Build a Relational Cache
Using Apache Arrow, Calcite, and Parquet to Build a Relational CacheDremio Corporation
 
Metadata Ownership & Metadata Rights
Metadata Ownership & Metadata RightsMetadata Ownership & Metadata Rights
Metadata Ownership & Metadata RightsChelcie Rowell
 
Python Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | EdurekaPython Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | EdurekaEdureka!
 

Was ist angesagt? (20)

An introduction to Jupyter notebooks and the Noteable service
An introduction to Jupyter notebooks and the Noteable serviceAn introduction to Jupyter notebooks and the Noteable service
An introduction to Jupyter notebooks and the Noteable service
 
Protect your private data with ORC column encryption
Protect your private data with ORC column encryptionProtect your private data with ORC column encryption
Protect your private data with ORC column encryption
 
Introduction to Python for Data Science and Machine Learning
Introduction to Python for Data Science and Machine Learning Introduction to Python for Data Science and Machine Learning
Introduction to Python for Data Science and Machine Learning
 
Real-time Twitter Sentiment Analysis and Image Recognition with Apache NiFi
Real-time Twitter Sentiment Analysis and Image Recognition with Apache NiFiReal-time Twitter Sentiment Analysis and Image Recognition with Apache NiFi
Real-time Twitter Sentiment Analysis and Image Recognition with Apache NiFi
 
The columnar roadmap: Apache Parquet and Apache Arrow
The columnar roadmap: Apache Parquet and Apache ArrowThe columnar roadmap: Apache Parquet and Apache Arrow
The columnar roadmap: Apache Parquet and Apache Arrow
 
How to deploy machine learning models into production
How to deploy machine learning models into productionHow to deploy machine learning models into production
How to deploy machine learning models into production
 
Introduction to Python programming Language
Introduction to Python programming LanguageIntroduction to Python programming Language
Introduction to Python programming Language
 
Python
PythonPython
Python
 
DITA and SEO
DITA and SEODITA and SEO
DITA and SEO
 
Real-Time Market Data Analytics Using Kafka Streams
Real-Time Market Data Analytics Using Kafka StreamsReal-Time Market Data Analytics Using Kafka Streams
Real-Time Market Data Analytics Using Kafka Streams
 
Apache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeApache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In Practice
 
Reducing Microservice Complexity with Kafka and Reactive Streams
Reducing Microservice Complexity with Kafka and Reactive StreamsReducing Microservice Complexity with Kafka and Reactive Streams
Reducing Microservice Complexity with Kafka and Reactive Streams
 
Python Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | EdurekaPython Basics | Python Tutorial | Edureka
Python Basics | Python Tutorial | Edureka
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0
 
Taxonomy 101: Classifying DITA Tasks
Taxonomy 101: Classifying DITA TasksTaxonomy 101: Classifying DITA Tasks
Taxonomy 101: Classifying DITA Tasks
 
Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016Apache NiFi Meetup - Princeton NJ 2016
Apache NiFi Meetup - Princeton NJ 2016
 
Using Apache Arrow, Calcite, and Parquet to Build a Relational Cache
Using Apache Arrow, Calcite, and Parquet to Build a Relational CacheUsing Apache Arrow, Calcite, and Parquet to Build a Relational Cache
Using Apache Arrow, Calcite, and Parquet to Build a Relational Cache
 
Metadata Ownership & Metadata Rights
Metadata Ownership & Metadata RightsMetadata Ownership & Metadata Rights
Metadata Ownership & Metadata Rights
 
Python Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | EdurekaPython Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | Edureka
 
DITA Metadata
DITA MetadataDITA Metadata
DITA Metadata
 

Ähnlich wie "Conref, conkeyref, conrefpush" - reuse strategies in DITA when migrating legacy content

LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...
LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...
LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...Jack Molisani
 
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse? TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse? IXIASOFT
 
Alan DITA best practices
Alan DITA best practicesAlan DITA best practices
Alan DITA best practicesakashjd
 
Twig in the Wild
Twig in the WildTwig in the Wild
Twig in the WildJeremyKoulish
 
S doherty counting_dragons_dita-reuse
S doherty counting_dragons_dita-reuseS doherty counting_dragons_dita-reuse
S doherty counting_dragons_dita-reuseStan Doherty
 
Single sourcing to the max
Single sourcing to the maxSingle sourcing to the max
Single sourcing to the maxNeil Perlin
 
Topic based and structured authoring - slides
Topic based and structured authoring - slidesTopic based and structured authoring - slides
Topic based and structured authoring - slidesNeil Perlin
 
Topic based and structured authoring - slides
Topic based and structured authoring - slidesTopic based and structured authoring - slides
Topic based and structured authoring - slidesNeil Perlin
 
Write Less Publish More Handout
Write Less Publish More HandoutWrite Less Publish More Handout
Write Less Publish More HandoutKendra Jones
 
Painless XML Authoring?: How DITA Simplifies XML
Painless XML Authoring?: How DITA Simplifies XMLPainless XML Authoring?: How DITA Simplifies XML
Painless XML Authoring?: How DITA Simplifies XMLScott Abel
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial SlidesDaniel Greenfeld
 
Berry 10 years_of_dita
Berry 10 years_of_ditaBerry 10 years_of_dita
Berry 10 years_of_ditaMysti Berry
 
CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...
CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...
CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...recsysfr
 
Agile backlog management with Hansoft
Agile backlog management with HansoftAgile backlog management with Hansoft
Agile backlog management with HansoftHansoft AB
 
The Trip to DITA
The Trip to DITAThe Trip to DITA
The Trip to DITAClearPath, LLC
 
An Overview of RoboHelp 7
An Overview of RoboHelp 7An Overview of RoboHelp 7
An Overview of RoboHelp 7Scott Abel
 
Success Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and FundamentalsSuccess Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and FundamentalsScott Abel
 
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016IXIASOFT
 
5 Reasons not to use Dita from a CCMS Perspective
5 Reasons not to use Dita from a CCMS Perspective5 Reasons not to use Dita from a CCMS Perspective
5 Reasons not to use Dita from a CCMS PerspectiveMarcus Kesseler
 

Ähnlich wie "Conref, conkeyref, conrefpush" - reuse strategies in DITA when migrating legacy content (20)

LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...
LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...
LavaCon 2017 - Implementing a Customer-driven Transition to DITA Content: A S...
 
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse? TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
 
Alan DITA best practices
Alan DITA best practicesAlan DITA best practices
Alan DITA best practices
 
Twig in the Wild
Twig in the WildTwig in the Wild
Twig in the Wild
 
S doherty counting_dragons_dita-reuse
S doherty counting_dragons_dita-reuseS doherty counting_dragons_dita-reuse
S doherty counting_dragons_dita-reuse
 
Single sourcing to the max
Single sourcing to the maxSingle sourcing to the max
Single sourcing to the max
 
Topic based and structured authoring - slides
Topic based and structured authoring - slidesTopic based and structured authoring - slides
Topic based and structured authoring - slides
 
Topic based and structured authoring - slides
Topic based and structured authoring - slidesTopic based and structured authoring - slides
Topic based and structured authoring - slides
 
Write Less Publish More Handout
Write Less Publish More HandoutWrite Less Publish More Handout
Write Less Publish More Handout
 
Painless XML Authoring?: How DITA Simplifies XML
Painless XML Authoring?: How DITA Simplifies XMLPainless XML Authoring?: How DITA Simplifies XML
Painless XML Authoring?: How DITA Simplifies XML
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial Slides
 
Berry 10 years_of_dita
Berry 10 years_of_ditaBerry 10 years_of_dita
Berry 10 years_of_dita
 
CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...
CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...
CONTENT2VEC: a Joint Architecture to use Product Image and Text for the task ...
 
Agile backlog management with Hansoft
Agile backlog management with HansoftAgile backlog management with Hansoft
Agile backlog management with Hansoft
 
TWC 545 Presentation-DITA
TWC 545 Presentation-DITATWC 545 Presentation-DITA
TWC 545 Presentation-DITA
 
The Trip to DITA
The Trip to DITAThe Trip to DITA
The Trip to DITA
 
An Overview of RoboHelp 7
An Overview of RoboHelp 7An Overview of RoboHelp 7
An Overview of RoboHelp 7
 
Success Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and FundamentalsSuccess Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
Success Factors for DITA Adoption with XMetaL: Best Practices and Fundamentals
 
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
DITA Surprise, Unwrapping DITA Best Practices - tekom tcworld 2016
 
5 Reasons not to use Dita from a CCMS Perspective
5 Reasons not to use Dita from a CCMS Perspective5 Reasons not to use Dita from a CCMS Perspective
5 Reasons not to use Dita from a CCMS Perspective
 

KĂŒrzlich hochgeladen

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vĂĄzquez
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
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 FresherRemote DBA Services
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

KĂŒrzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

"Conref, conkeyref, conrefpush" - reuse strategies in DITA when migrating legacy content

  • 1. @conref @conkeyref @conrefpush REUSE STRATEGIES IN DITA WHEN MIGRATING LEGACY CONTENT 1 2015 Conference
  • 2. © Adam Sanyo, 2015 2015 Conference Agenda  Why companies decide to adopt DITA?  Planning the migration of legacy content  How to reuse content in DITA  Examples 2
  • 3. © Adam Sanyo, 2015 2015 Conference My background  Five years of experience in technical writing.  Worked on two different migration projects.  Degree in English and Linguistics.  Currently working for ARM as an information developer on a contract basis.  “Love at first sight” when encountering DITA in 2010. 3
  • 4. © Adam Sanyo, 2015 2015 Conference Why companies decide to adopt DITA? Because they want to do any of the following:  Reuse content across products.  Reduce costs (for example, translation or authoring cost).  Share workload between individual writers (increase productivity). 4
  • 5. © Adam Sanyo, 2015 2015 Conference DITA adoption scenarios  The company wants to manage a large document set from a component content management system (CCMS) and wants to get rid of authoring silos.  Different authoring teams create similar content and some of that content could be reused.  The company wants to translate its document set effectively and wants to reuse translations over time. 5
  • 6. © Adam Sanyo, 2015 2015 Conference Strategy for legacy content migration Note: I will not cover budget considerations (as I have never done that part), but I will cover the technical side.  Select part of your content as a test and see how you can reuse and restructure it (run a prototype project).  Have at least some rough reuse processes and guidelines.  Write a good conversion script (that transforms legacy content to XML).  Visualize your end product (the outcome of the project or a deliverable). 6
  • 7. © Adam Sanyo, 2015 2015 Conference Authoring decisions Let us assume that you are using the standard DITA framework (task- concept reference topics) and maybe one or two extra topic types on top of that.  Identify your topic types and chunk the content accordingly.  Start with task topics as those are the easiest ones to identify but the most difficult ones to convert (because of DITA-constraints in task topics).  Select your reuse strategy after you analyzed your content.  Decide the level of deviation from the original content (is your project a simple conversion of your content or do you want to rework some parts of the text?). 7
  • 8. © Adam Sanyo, 2015 2015 Conference Some general reuse rules  Gain flexibility by using keys (because they create a dependency only on the map level).  Reuse block elements (paragraphs or elements with similar size), but you can reuse smaller elements if they do not require translation (for example, product names or version numbers).  Rewrite two or more similar topics if they become reusable after that. 8
  • 9. © Adam Sanyo, 2015 2015 Conference Using @conref Definition  “Content reference”, that is, referencing one piece of content from one topic to another. Reuse strategy  You want to reuse universal content found in many or all publications. Example  Copyright information Limitation  Make sure that the referenced content is correct in all publications where it is used, or you must maintain different versions of the text. 1. Content is created in a reusable topic (“reusable_topic.dita”). 2. The topic id and the element id is used in the reference (topic id: “reuse”, element id: “copyright”). <p conref="reusable_topic.dita#reuse/copyright"/> Output: © All rights reserved, 2015. 9
  • 10. © Adam Sanyo, 2015 2015 Conference Using @conkeyrefs Definition  “Content key reference”, which is an indirect content reference governed by defined keys on the map level. Reuse strategy  You have few differences between topics in your product. Example  Changing elements between similar products using keys (e.g. version numbers of products). Limitation  Managing the content on the map level using a reference topic can become difficult and results in too much overhead over time. 1. The key is defined on the map level with reference to a topic that contains the content. <keydef href= "reference.dita" keys="variables"/> 2. The key that is assigned to the topic and the id of the referenced content is used for referencing content. Reference to the topic: “variables” Reference to the element id in the topic: “version” <keyword conkeyref="variables/version"/> Output: Version 15 10
  • 11. © Adam Sanyo, 2015 2015 Conference Using conditional processing/profiling (DITAVAL) Definition  As the name suggests, conditional values are defined to select given parts of the full content. It is also called content profiling. When to use  Useful for authors when they create content for multiple audiences  It is easier to manage attributes than keys (up to a certain point). Example  The same topic is sent to different clients, and some parts of the text are client-specific. Limitation  It is better to store the content pieces in separate topics rather than having a big master topic with all the content. 1. Define the DITAVAL attributes, for example, to exclude a given version number. <prop action="exclude" att="audience" val="version15"/> 2. When generating your output, add this DITAVAL file to your scenario and the output will not contain what you excluded. Note: As long as something is not excluded, it will be included. 11
  • 12. © Adam Sanyo, 2015 2015 Conference Using @conrefpush Definition  Push some content before, in place of, or after a marked section. When to use  It is recommended as a temporary solution only. Limitation  Compared to keys, it can be hard to manage many conrefpush scenarios, and it is also harder to set up conferpush scenarions for a novice DITA user. 1. Give an id to the element where your new content would be in your content topic and use a conref to add this selected element into your reference topic (the topic that contains the new content you want to add). 2. Add the “mark” conaction attribute to the referenced content. 3. Create the new content in the reference topic. 4. Add the reference topic with resource-only outputclass attribute to your main content map. More info: http://dita.xml.org/resource/dita-12-feature- article-conref-push 12
  • 13. © Adam Sanyo, 2015 2015 Conference Examples (in oXygen XML Author)  Using conditional processing (in a master topic)  Using @conkeyrefs (on two maps)  Using @conrefpush 13
  • 14. © Adam Sanyo, 2015 2015 Conference Contact information 14 Adam Sanyo info@sanyowritingsolutions.co.uk
  • 15. © Adam Sanyo, 2015 2015 Conference If I timed myself right, we have 10 minutes for questions Questions? 15

Hinweis der Redaktion

  1. Icebreaker, thank the organizers for organizing the event, tell the story about the visit to Krakow
  2. POLL: who is from a technical writer background, who is not, who is familiar with DITA? Focus on two things: 1. legacy migration AND 2. general DITA reuse
  3. Introduction, humanities background, currently contracted by ARM, 2nd migration project „We have all probably seen this picture when we’ve done a search on DITA... Von Tesse”
  4. DITA is an industry standard that promotes reuse. Sharing workload – you need at least 3-4 writers to see the benefits of DITA. Also, it is not the size of your team but the content you create will define the reuse potential you have.
  5. Getting rid of silos is the top priority because you both increase productivity and reduce waste (i.e. two people working on the same content). The saving on translations can be massive if you need to translate all your content
  6. Prototype – for example, a new release will come out shortly and you want to build that on existing content Conversion script – conversion tables from Framemaker to DITA + XSLT End product – what will you do with your migrated content? Is it going to be used for as reference content or is it going to be a full manual?
  7. Chunk topics – task topics should be in the focus especially in software documentation Reuse strategy is formed while analyzing content, it is not a „set in stone” strategy Level of deviation – important because it decides the potential for future reuse
  8. Keys – indirect references to topics (usually reference topics), they are defined on the DITAMAP level. Each DITAMAP can use different sets of keys from a reference topic. So the content is in the reference topic, but the way that reference topic is defined is different (the key makes it an indirect reference, therefore, it is more flexible than other references). Rewrite topics – try to be generic rather than specific when writing a topic (turn on printer vs. Turn on monitor, almost the same  turn on device)
  9. Conref – pulling content from one place to another. The content is stored in a reference topic, it is good to have a reference topic that collects these content pieces (unless the content pieces could form a full topic)
  10. Indirect reference – the small differences between two products are best managed by content key references. You can treat these differences as variables, just like you treat the keys as variables In the example: The keydef can point to one reference topic in one map, and another one in another map. The „keys” value remains the same, but it will point to two different source files.
  11. Madcap Flare users – it is almost the same as the profiling feature of Flare. You can manage different profiling attributes just as you manage keys for your content. It is useful to create master topics where you create content for multiple audiences and then just pick and mix the bits you need. As long as something is not excluded, it will be included! (important)
  12. Conrefpush is a relatively complex – at least for me – concept in DITA. You create some content that you want to push before or after your existing content. It is basically a content reference with a marked location to which you add this content. It is recommended as a temporary solution only. More info, see the feature’s description (and my example shortly).
  13. One topic shows the use of all these features in oXygen XML Author