SlideShare a Scribd company logo
1 of 48
Content Management on Zero Budget:
DITA For Small Teams
The stone soup of content
management systems
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 1
Eliot Kimber
Contrext, LLC
DITA North America 2017
About the Author
• Independent consultant focusing on DITA analysis,
design, implementation, and training
• Doing SGML and XML for cough 30 years cough
• Founding member of the DITA Technical Committee
• Founding member of the XML Working Group
• Co-editor of HyTime standard (ISO/IEC 10744)
• Primary developer and founder of the DITA for
Publishers project
• Author of DITA for Practitioners, Vol 1 (XML Press)
• More DITA 1.3 accepted proposals than any other TC
member
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 2
Agenda
• What is DITA for Small Teams?
• Why is DITA for Small Teams
• What do I want?
• What have I actually built?
• Demo
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 3
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 4
All Tools Suck
Some suck less than others
—Eliot Kimber
WHAT IS DITA FOR SMALL
TEAMS?
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 5
• Open-source project
• Overall goal: Make it quick and easy for small
teams to get productive with DITA
– Sample tool configurations and setup guidance
– Supporting code (Commit hooks and XQuery modules
for link management)
• Project home: dita-for-small-teams.org,
github.com/dita-for-small-teams
• Provide bridge to full-featured commercial
CCMSes
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 6
DITA for Small Teams (D4ST)
D4ST Model
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 7
Central git
Repository
(Source control
Versioning)
Local git
Repository
XML
Authoring
Tool
Author's Workstation Shared Server
XQuery
Database
(Search, link management)
Commit
Hooks
Update link
Database
CI Server
Deliverables,
Error checks,
Etc.
Link
Mgmt
Web App
Web
Browser
Git Client
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 8
How about something
more interesting?
Another system diagram?
Really?
WHY IS DITA FOR SMALL
TEAMS? SOME HISTORY…
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 9
1945
• Vannevar bush publishes his “As We May
Think” paper, the first formal description of
hypertext and inspires Douglas Englebart and
Ted Nelson
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 10
1980
• Ted Nelson publishes Literary Machines,
coining the term “hypertext” and outlining the
vision for the Xanadu system
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 11
1987 - IBM
• At local STC meeting watch video of Ted
Nelson, author of Literary Machines and
developer of Xanadu hypertext system,
talking about “hypertext”
• My young mind is blown and my life is
changed forever
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 12
1988(ish) - IBM
• I develop a technique for managing links
among 10 books in a library using flat files
and commented-out key definitions.
• Didn’t even have version control system
• But did have key-like indirect addressing in our
online delivery system (IBM BookManager)
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 13
1990-1992 - IBM
• Work with Don Day, Wayne Wohler, Simcha Gralla, and
others to develop SGML replacement for IBM
BookMaster
• Develop markup designs that would directly influence
DITA, including HyTime-based indirect linking and
formal markup extension
• Realized we would need content management
functionality to make large-scale authoring and
delivery practical
• ISO/IEC 10744 HyTime published. I become co-editor
of HyTime standard with Charles Goldfarb and Steve
Newcomb.
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 14
1994(ish) – Passage Systems
• See Xerox SGML content management system (original
base for current Astoria) for first time at trade show
• Asked simple question: if a paragraph with an ID is used in
two places, what happens?
– (Right answer is: everything works as it should)
– Answer I got: The ID occurs twice
• Realized it was a “document management system”
• What you need is a documents management system
• The Xerox guys had not understood the concept of SGML
entities.
• Meet Ted Nelson thanks to Yuri Rubinski
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 15
1996-1998 - ISOGEN
• Work on McDonnell Douglass/Boeing EMOD project –
ground-up SGML content management system for
aircraft manual authoring and publication
• Implement topicref-like use-by-reference mechanism
to manage re-use of components within large
maintenance manuals based on HyTime content
reference link idea
• My first (if not the first) practical implementation of
that idea
• Ken Holman brings Douglass Englebart to one of my
HyTime classes
• ISO/IEC 10744:1996 HyTime 2nd Edition published
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 16
1996-2000 - ISOGEN
• Support various clients with various commercial
content management systems
• They all fail in various ways
• One client had to stop our DTD enhancement
project because their CMS required an export and
reload to reconfigure the DTDs
• Another client’s system used a full-text engine
that could not handle periods in tag names (my
naming convention at the time for multi—word
element type names)
• Etc.
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 17
1998(ish) - ISOGEN
• Implement indirect link management system
using CVS and an in-memory relational database
(references to part numbers in maintenance
manuals)
• System performs for 10 years without
modification
• My greatest failure
• Boss had said “make sure it won’t scale or
perform”
• Oops
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 18
1999-2001 – DataChannel
• Implement Documentum-based bill drafting
system for State of Texas
• Discover that Documentum can’t actually do
SGML management
• Realize legislation reflects most challening
hyperdocument versioning use cases
• With John Heintz develop general model for
versioned hyperdocument management:
Snapshot-based Configuration Management
(SnapCM)
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 19
2001-2004 – DataChannel
• Implement quick-and-dirty CVS-based system
for managing DITA-like modular information
with lots of reuse for mobile phones as part of
larger authoring and print production project
• Stop-gap until the real system was in place “in 6
months”
• Three years later system was still in place and
being used for production work
• This system also included a key-like mechanism
for indirect references to images
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 20
2002-2005 - DataChannel
• With John Heintz, implement Python-based XML
content management using SnapCM model on
top of Zope object database
• Prove that model can perform and scale
• System never put into production use
• Code lost in IP tangle when DataChannel sells
ISOGEN to Innodata.
• Also realize that WebDAV is really missing the
Version part (it’s really WebDA) and that the
people thinking about versioning don’t really
understand the problems
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 21
2004 – Innodata Isogen
• Don Day invites me to be a founding member of
OASIS DITA Technical Committee
• Reflect on fact that all the content management
systems still suck
• ISOGEN sold to Innodata, forms Innodata Isogen
• In an airport start writing Java-based
implementation of SnapCM model, XIRUSS, using
forward engineering. Takes about 2 hours to
define API classes and methods.
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 22
2005 – Linux Project
• Linus Torvalds develops git for managing
linux project source code
• I do not become aware of git in any useful way
until almost 10 years later
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 23
2007– Really Strategies
• I go to work for Really Strategies (now RSI
Content Solutions), a vendor of a content
management system, because I need a bigger
paycheck.
• I Hope the RSuite CMS product is not a
steaming pile
• It’s not, or rather, they hadn’t made any
uncorrectable architectural decisions
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 24
2008 – 2013 – RSI Content
Solutions
• Help improve RSuite, including adding most of
the DITA functionality
• Develop DITA for Publishers project
• Fail to convince RSI to implement full
SnapCM model in Rsuite
• Contribute to development of keys feature in
DITA 1.2
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 25
2012 or 2013 - RSI Content
Solutions
• Starting to become that crank who just won’t
give up, I put up a SnapCM poster at Balisage
• Another attendee points out that the
SnapCM model is very similar to how git
works
• I find that very, very interesting
• DITA Europe: See SAP presentation on using
keys with Ixiasoft
– I’m very impressed
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 26
2013 - Contrext
• At DITA Europe have dinner with the head of a
non-CMS service provider in the DITA space
• We both complain about how none of the
content management systems really work but
we can’t say anything about it because we
need them.
• I decide I’m tired of pretending
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 27
2014 - Contrext
• I post to DITA Users my first expression of the
“DITA for small teams” idea
• Start DITA for Small Teams project on GitHub
• Realize that the one missing open-source
piece of the puzzle is a DITA-aware link
management system
• Start implementing the D4ST Link Manager
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 28
2015 - Contrext
• Balisage conference: present paper on the
D4ST approach
• Represents my third or fourth formal attempt
to get people to pay attention to SnapCM
model
• DITA North America: present talk on DITA for
Small Teams approach
• Learn about Docker and get very excited
because “this will simplify everything”
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 29
2016 - Contrext
• Get D4ST stuff kind of working
• Present D4ST course in Japan for InfoParse
– Hampered by fact classroom machines can only run 32-bit
Windows and thus no Docker
• Spend rest of year not working on D4ST, or much of
anything else for that matter
• Propose this talk as motivation to get back on D4ST
work
• Docker for Mac and Docker for Windows released.
Simplify things even further
• Jang Graat convinces me that D4ST needs to get done
and says he’s going to present on it in the spring
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 30
2017 - Contrext
• Make more progress on D4ST despite sudden
crushing workload
• Reflect on how most content management
systems still suck
• Present this talk to you
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 31
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 32
Talk about yourself much?
Get to the point
WHAT DO I WANT?
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 33
Happy and Productive DITA
Authors
• I want people who use DITA to be happy doing
it
• Using tools that enable full use of DITA’s
features
• That provide high value: lots of functionality
for the cost
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 34
More People Using DITA
• Make it easier to use DITA by reducing the
cost of entry
• Increase chance of initial project success
• Don’t spend entire project budget on a CMS
system that takes years to implement and
doesn’t work
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 35
That was your outside voice
Free Open-Source Solutions
• Lowest cost of entry is zero
• Enables quick evaluation of DITA
• Many teams are small with limited or no
budgets
• Technical documentation is usually a cost
center that gets no love
• That makes me sad
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 36
A Download-and-Use Solution
• Any solution needs to be “download and use”
as much as possible
• D4ST shows you can cobble together off-the-
shelf components and make it work
• But who has time for that?
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 37
To Demonstrate How to Do DITA
Link Management Correctly
• With the possible exception of Ixiasoft, no
commercial CMS system today does DITA link
management correctly
• More generally, all XML CMS systems are
fundamentally broken with respect to link
management
• This is my chance to show how it’s done
• Because this time they’ll listen to me!!!
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 38
WHAT DID I ACTUALLY MAKE?
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 39
D4ST Docker
• A set of pre-configured Docker containers with
all most of the parts you need:
– Shared git repository (GitLab)
– Link Manager (D4ST Link Manager)
– Authoring (oXygenXML Web Author)
– Production automation (DITA OT and GitLab CI)
– Web delivery (Caddy web server)
• Shell script to make setup and and operation
easier
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 40
What Is Docker?
• “Containerized software”
• Containers are light-weight virtual machines
• Each container intended to have one component
• Containers can be distributed through public
Docker Hub system
• Can quickly set up and deploy systems of related
containers
• Solves many deployment and configuration
management challenges
• Free open source base
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 41
Docker Support
• Docker for Windows
• Docker for macOS
• Docker server for linux
• Can run containers on:
– Personal machine
– Shared server or
– Cloud system (Azure, Amazon Web Services, etc.)
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 42
Docker Goodness
• Easy to deploy and maintain containers
• Easy to extend or modify or even replace
containers to meet local needs
• Networking among related containers easy
• Docker is gaining pretty deep traction in
industry
• Lots of tools provide Docker containers
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 43
Docker Annoyances
• Docker requires 64-bit Windows
– Docker for Windows requires Windows 10 Pro
– Docker Toolbox available for 64-bit Windows 8
• Technology is still pretty new
• Managing persistent volumes can be
challenging
• Managing licenses for licensed software
within containers can be a challenge
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 44
Demo
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 45
Work to Be Done
• Implement installers for macOS and Windows
• Complete link management functionality to
reflect DITA 1.3
• Implement better Link Manager UI
• Provide containers for other editors
• Improve performance of link manager
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 46
Questions?
DITA For Small Teams | DITA NA 2017 | Contrext 47
12/4/201
7
Resources
• DITA for Small Teams: http://dita-for-small-teams.org
• DITA for Small Teams on GitHub: https://github.com/dita-
community/dita-for-small-teams,
• DITA for Small Teams Docker Solution: http://d4st.org
(coming soon)
• Git: http://git-scm.com
• Docker: http://docker.com
• Me: ekimber@contrext.com, http://contrext.com
• http://drmacros-xml-rants.blogspot.nl/2014/01/dita-
without-cms-tools-for-small-teams.html
• https://www.balisage.net/Proceedings/vol15/html/Kimber
01/BalisageVol15-Kimber01.html
12/4/201
7
DITA For Small Teams | DITA NA 2017 | Contrext 48

More Related Content

What's hot

Content Engineering and The Internet of “Smart” Things
Content Engineering and The Internet of “Smart” ThingsContent Engineering and The Internet of “Smart” Things
Content Engineering and The Internet of “Smart” Thingsdclsocialmedia
 
CraftConf 2017 "Microservices: The Organisational and People Impact"
CraftConf 2017 "Microservices: The Organisational and People Impact"CraftConf 2017 "Microservices: The Organisational and People Impact"
CraftConf 2017 "Microservices: The Organisational and People Impact"Daniel Bryant
 
DevOpsCon 2017 "Continuous Delivery with Containers"
DevOpsCon 2017 "Continuous Delivery with Containers"DevOpsCon 2017 "Continuous Delivery with Containers"
DevOpsCon 2017 "Continuous Delivery with Containers"Daniel Bryant
 
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...Daniel Bryant
 
DataOps - Lean principles and lean practices
DataOps - Lean principles and lean practicesDataOps - Lean principles and lean practices
DataOps - Lean principles and lean practicesLars Albertsson
 
JAXLondon 2017 "Continuous Delivery with Containers and Java"
JAXLondon 2017 "Continuous Delivery with Containers and Java"JAXLondon 2017 "Continuous Delivery with Containers and Java"
JAXLondon 2017 "Continuous Delivery with Containers and Java"Daniel Bryant
 
#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"
#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"
#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"Daniel Bryant
 
Webinar slides: DevOps Tutorial: how to automate your database infrastructure
Webinar slides: DevOps Tutorial: how to automate your database infrastructureWebinar slides: DevOps Tutorial: how to automate your database infrastructure
Webinar slides: DevOps Tutorial: how to automate your database infrastructureSeveralnines
 
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesJAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesDaniel Bryant
 
Converting and Integrating Legacy Data and Documents When Implementing a New CMS
Converting and Integrating Legacy Data and Documents When Implementing a New CMSConverting and Integrating Legacy Data and Documents When Implementing a New CMS
Converting and Integrating Legacy Data and Documents When Implementing a New CMSdclsocialmedia
 

What's hot (11)

Content Engineering and The Internet of “Smart” Things
Content Engineering and The Internet of “Smart” ThingsContent Engineering and The Internet of “Smart” Things
Content Engineering and The Internet of “Smart” Things
 
CraftConf 2017 "Microservices: The Organisational and People Impact"
CraftConf 2017 "Microservices: The Organisational and People Impact"CraftConf 2017 "Microservices: The Organisational and People Impact"
CraftConf 2017 "Microservices: The Organisational and People Impact"
 
DITA versus DITA-OT
DITA versus DITA-OTDITA versus DITA-OT
DITA versus DITA-OT
 
DevOpsCon 2017 "Continuous Delivery with Containers"
DevOpsCon 2017 "Continuous Delivery with Containers"DevOpsCon 2017 "Continuous Delivery with Containers"
DevOpsCon 2017 "Continuous Delivery with Containers"
 
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...
vJUG 2017 "Continuous Delivery with Java and Docker: The Good, the Bad, and t...
 
DataOps - Lean principles and lean practices
DataOps - Lean principles and lean practicesDataOps - Lean principles and lean practices
DataOps - Lean principles and lean practices
 
JAXLondon 2017 "Continuous Delivery with Containers and Java"
JAXLondon 2017 "Continuous Delivery with Containers and Java"JAXLondon 2017 "Continuous Delivery with Containers and Java"
JAXLondon 2017 "Continuous Delivery with Containers and Java"
 
#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"
#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"
#AATC2017: "Continuous Delivery with Containers: The Trials and Tribulations"
 
Webinar slides: DevOps Tutorial: how to automate your database infrastructure
Webinar slides: DevOps Tutorial: how to automate your database infrastructureWebinar slides: DevOps Tutorial: how to automate your database infrastructure
Webinar slides: DevOps Tutorial: how to automate your database infrastructure
 
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesJAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
 
Converting and Integrating Legacy Data and Documents When Implementing a New CMS
Converting and Integrating Legacy Data and Documents When Implementing a New CMSConverting and Integrating Legacy Data and Documents When Implementing a New CMS
Converting and Integrating Legacy Data and Documents When Implementing a New CMS
 

Similar to DITA for Small Teams: Content Management on a Zero Budget

(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...
(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...
(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...Keith Schengili-Roberts
 
Using Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative EnvironmentUsing Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative EnvironmentIXIASOFT
 
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...IXIASOFT
 
DITA for Small Teams: An Open Source Approach to DITA Content Management
DITA for Small Teams: An Open Source Approach to DITA Content ManagementDITA for Small Teams: An Open Source Approach to DITA Content Management
DITA for Small Teams: An Open Source Approach to DITA Content Managementdclsocialmedia
 
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...Jack Molisani
 
Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017IXIASOFT
 
The Evolution of DITAs
The Evolution of DITAsThe Evolution of DITAs
The Evolution of DITAsIXIASOFT
 
Keith Schengili-Roberts - DITA Worst Practices
Keith Schengili-Roberts - DITA Worst PracticesKeith Schengili-Roberts - DITA Worst Practices
Keith Schengili-Roberts - DITA Worst PracticesJack Molisani
 
Business Productivity with Office 365 Cloud
Business Productivity with Office 365 CloudBusiness Productivity with Office 365 Cloud
Business Productivity with Office 365 CloudIndra Appala
 
Repco Case Study - ASTC Conference 2014
Repco Case Study - ASTC Conference 2014Repco Case Study - ASTC Conference 2014
Repco Case Study - ASTC Conference 2014Gareth Oakes
 
DITA and Agile Are Made For Each Other
DITA and Agile Are Made For Each OtherDITA and Agile Are Made For Each Other
DITA and Agile Are Made For Each OtherIXIASOFT
 
Sprinting to Success: Why Agile and DITA Work So Well Together
Sprinting to Success: Why Agile and DITA Work So Well TogetherSprinting to Success: Why Agile and DITA Work So Well Together
Sprinting to Success: Why Agile and DITA Work So Well TogetherIXIASOFT
 
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Jaime Crespo
 
Using CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA DocumentsUsing CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA DocumentsContrext Solutions
 
Supercharge Your Authoring - ASTC Conference 2018
Supercharge Your Authoring - ASTC Conference 2018Supercharge Your Authoring - ASTC Conference 2018
Supercharge Your Authoring - ASTC Conference 2018Gareth Oakes
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe StringStan Doherty
 

Similar to DITA for Small Teams: Content Management on a Zero Budget (20)

DITA for Small Teams
DITA for Small TeamsDITA for Small Teams
DITA for Small Teams
 
(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...
(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...
(Almost) Four Years On: Metrics, ROI, and Other Stories from a Mature DITA CM...
 
Using Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative EnvironmentUsing Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative Environment
 
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
 
DITA for Small Teams: An Open Source Approach to DITA Content Management
DITA for Small Teams: An Open Source Approach to DITA Content ManagementDITA for Small Teams: An Open Source Approach to DITA Content Management
DITA for Small Teams: An Open Source Approach to DITA Content Management
 
EBI Web redesign meeting
EBI Web redesign meetingEBI Web redesign meeting
EBI Web redesign meeting
 
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
 
Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017
 
The Evolution of DITAs
The Evolution of DITAsThe Evolution of DITAs
The Evolution of DITAs
 
Keith Schengili-Roberts - DITA Worst Practices
Keith Schengili-Roberts - DITA Worst PracticesKeith Schengili-Roberts - DITA Worst Practices
Keith Schengili-Roberts - DITA Worst Practices
 
Business Productivity with Office 365 Cloud
Business Productivity with Office 365 CloudBusiness Productivity with Office 365 Cloud
Business Productivity with Office 365 Cloud
 
Why Is DITA So Hard?
Why Is DITA So Hard?Why Is DITA So Hard?
Why Is DITA So Hard?
 
Repco Case Study - ASTC Conference 2014
Repco Case Study - ASTC Conference 2014Repco Case Study - ASTC Conference 2014
Repco Case Study - ASTC Conference 2014
 
DITA and Agile Are Made For Each Other
DITA and Agile Are Made For Each OtherDITA and Agile Are Made For Each Other
DITA and Agile Are Made For Each Other
 
DITA Interoperability
DITA InteroperabilityDITA Interoperability
DITA Interoperability
 
Sprinting to Success: Why Agile and DITA Work So Well Together
Sprinting to Success: Why Agile and DITA Work So Well TogetherSprinting to Success: Why Agile and DITA Work So Well Together
Sprinting to Success: Why Agile and DITA Work So Well Together
 
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
 
Using CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA DocumentsUsing CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA Documents
 
Supercharge Your Authoring - ASTC Conference 2018
Supercharge Your Authoring - ASTC Conference 2018Supercharge Your Authoring - ASTC Conference 2018
Supercharge Your Authoring - ASTC Conference 2018
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe String
 

More from Contrext Solutions

Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...Contrext Solutions
 
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationLoose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationContrext Solutions
 
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for FreeDefinition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for FreeContrext Solutions
 
Twisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOPTwisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOPContrext Solutions
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITAContrext Solutions
 
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key ReferencesKi, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key ReferencesContrext Solutions
 
Locale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open ToolkitLocale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open ToolkitContrext Solutions
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITAContrext Solutions
 
XSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMakerXSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMakerContrext Solutions
 
FrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitFrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitContrext Solutions
 
DITA Reuse Challenges and Response
DITA Reuse Challenges and ResponseDITA Reuse Challenges and Response
DITA Reuse Challenges and ResponseContrext Solutions
 
RELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect MatchRELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect MatchContrext Solutions
 
Managing Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning TalkManaging Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning TalkContrext Solutions
 
DITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community ProjectDITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community ProjectContrext Solutions
 
They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links Contrext Solutions
 
No Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA HyperdocumentsNo Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA HyperdocumentsContrext Solutions
 
Poster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAPoster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAContrext Solutions
 
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysManaging Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysContrext Solutions
 
What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)Contrext Solutions
 
Taking Cross References to the Next Level: Reltables for Non-Topic Elements
Taking Cross References to the Next Level: Reltables for Non-Topic ElementsTaking Cross References to the Next Level: Reltables for Non-Topic Elements
Taking Cross References to the Next Level: Reltables for Non-Topic ElementsContrext Solutions
 

More from Contrext Solutions (20)

Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...
 
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationLoose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
 
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for FreeDefinition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
 
Twisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOPTwisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOP
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
 
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key ReferencesKi, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key References
 
Locale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open ToolkitLocale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open Toolkit
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
 
XSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMakerXSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMaker
 
FrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitFrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open Toolkit
 
DITA Reuse Challenges and Response
DITA Reuse Challenges and ResponseDITA Reuse Challenges and Response
DITA Reuse Challenges and Response
 
RELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect MatchRELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect Match
 
Managing Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning TalkManaging Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning Talk
 
DITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community ProjectDITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community Project
 
They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links
 
No Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA HyperdocumentsNo Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA Hyperdocuments
 
Poster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAPoster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITA
 
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysManaging Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
 
What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)
 
Taking Cross References to the Next Level: Reltables for Non-Topic Elements
Taking Cross References to the Next Level: Reltables for Non-Topic ElementsTaking Cross References to the Next Level: Reltables for Non-Topic Elements
Taking Cross References to the Next Level: Reltables for Non-Topic Elements
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

DITA for Small Teams: Content Management on a Zero Budget

  • 1. Content Management on Zero Budget: DITA For Small Teams The stone soup of content management systems 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 1 Eliot Kimber Contrext, LLC DITA North America 2017
  • 2. About the Author • Independent consultant focusing on DITA analysis, design, implementation, and training • Doing SGML and XML for cough 30 years cough • Founding member of the DITA Technical Committee • Founding member of the XML Working Group • Co-editor of HyTime standard (ISO/IEC 10744) • Primary developer and founder of the DITA for Publishers project • Author of DITA for Practitioners, Vol 1 (XML Press) • More DITA 1.3 accepted proposals than any other TC member 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 2
  • 3. Agenda • What is DITA for Small Teams? • Why is DITA for Small Teams • What do I want? • What have I actually built? • Demo 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 3
  • 4. 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 4 All Tools Suck Some suck less than others —Eliot Kimber
  • 5. WHAT IS DITA FOR SMALL TEAMS? 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 5
  • 6. • Open-source project • Overall goal: Make it quick and easy for small teams to get productive with DITA – Sample tool configurations and setup guidance – Supporting code (Commit hooks and XQuery modules for link management) • Project home: dita-for-small-teams.org, github.com/dita-for-small-teams • Provide bridge to full-featured commercial CCMSes 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 6 DITA for Small Teams (D4ST)
  • 7. D4ST Model 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 7 Central git Repository (Source control Versioning) Local git Repository XML Authoring Tool Author's Workstation Shared Server XQuery Database (Search, link management) Commit Hooks Update link Database CI Server Deliverables, Error checks, Etc. Link Mgmt Web App Web Browser Git Client
  • 8. 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 8 How about something more interesting? Another system diagram? Really?
  • 9. WHY IS DITA FOR SMALL TEAMS? SOME HISTORY… 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 9
  • 10. 1945 • Vannevar bush publishes his “As We May Think” paper, the first formal description of hypertext and inspires Douglas Englebart and Ted Nelson 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 10
  • 11. 1980 • Ted Nelson publishes Literary Machines, coining the term “hypertext” and outlining the vision for the Xanadu system 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 11
  • 12. 1987 - IBM • At local STC meeting watch video of Ted Nelson, author of Literary Machines and developer of Xanadu hypertext system, talking about “hypertext” • My young mind is blown and my life is changed forever 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 12
  • 13. 1988(ish) - IBM • I develop a technique for managing links among 10 books in a library using flat files and commented-out key definitions. • Didn’t even have version control system • But did have key-like indirect addressing in our online delivery system (IBM BookManager) 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 13
  • 14. 1990-1992 - IBM • Work with Don Day, Wayne Wohler, Simcha Gralla, and others to develop SGML replacement for IBM BookMaster • Develop markup designs that would directly influence DITA, including HyTime-based indirect linking and formal markup extension • Realized we would need content management functionality to make large-scale authoring and delivery practical • ISO/IEC 10744 HyTime published. I become co-editor of HyTime standard with Charles Goldfarb and Steve Newcomb. 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 14
  • 15. 1994(ish) – Passage Systems • See Xerox SGML content management system (original base for current Astoria) for first time at trade show • Asked simple question: if a paragraph with an ID is used in two places, what happens? – (Right answer is: everything works as it should) – Answer I got: The ID occurs twice • Realized it was a “document management system” • What you need is a documents management system • The Xerox guys had not understood the concept of SGML entities. • Meet Ted Nelson thanks to Yuri Rubinski 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 15
  • 16. 1996-1998 - ISOGEN • Work on McDonnell Douglass/Boeing EMOD project – ground-up SGML content management system for aircraft manual authoring and publication • Implement topicref-like use-by-reference mechanism to manage re-use of components within large maintenance manuals based on HyTime content reference link idea • My first (if not the first) practical implementation of that idea • Ken Holman brings Douglass Englebart to one of my HyTime classes • ISO/IEC 10744:1996 HyTime 2nd Edition published 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 16
  • 17. 1996-2000 - ISOGEN • Support various clients with various commercial content management systems • They all fail in various ways • One client had to stop our DTD enhancement project because their CMS required an export and reload to reconfigure the DTDs • Another client’s system used a full-text engine that could not handle periods in tag names (my naming convention at the time for multi—word element type names) • Etc. 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 17
  • 18. 1998(ish) - ISOGEN • Implement indirect link management system using CVS and an in-memory relational database (references to part numbers in maintenance manuals) • System performs for 10 years without modification • My greatest failure • Boss had said “make sure it won’t scale or perform” • Oops 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 18
  • 19. 1999-2001 – DataChannel • Implement Documentum-based bill drafting system for State of Texas • Discover that Documentum can’t actually do SGML management • Realize legislation reflects most challening hyperdocument versioning use cases • With John Heintz develop general model for versioned hyperdocument management: Snapshot-based Configuration Management (SnapCM) 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 19
  • 20. 2001-2004 – DataChannel • Implement quick-and-dirty CVS-based system for managing DITA-like modular information with lots of reuse for mobile phones as part of larger authoring and print production project • Stop-gap until the real system was in place “in 6 months” • Three years later system was still in place and being used for production work • This system also included a key-like mechanism for indirect references to images 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 20
  • 21. 2002-2005 - DataChannel • With John Heintz, implement Python-based XML content management using SnapCM model on top of Zope object database • Prove that model can perform and scale • System never put into production use • Code lost in IP tangle when DataChannel sells ISOGEN to Innodata. • Also realize that WebDAV is really missing the Version part (it’s really WebDA) and that the people thinking about versioning don’t really understand the problems 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 21
  • 22. 2004 – Innodata Isogen • Don Day invites me to be a founding member of OASIS DITA Technical Committee • Reflect on fact that all the content management systems still suck • ISOGEN sold to Innodata, forms Innodata Isogen • In an airport start writing Java-based implementation of SnapCM model, XIRUSS, using forward engineering. Takes about 2 hours to define API classes and methods. 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 22
  • 23. 2005 – Linux Project • Linus Torvalds develops git for managing linux project source code • I do not become aware of git in any useful way until almost 10 years later 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 23
  • 24. 2007– Really Strategies • I go to work for Really Strategies (now RSI Content Solutions), a vendor of a content management system, because I need a bigger paycheck. • I Hope the RSuite CMS product is not a steaming pile • It’s not, or rather, they hadn’t made any uncorrectable architectural decisions 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 24
  • 25. 2008 – 2013 – RSI Content Solutions • Help improve RSuite, including adding most of the DITA functionality • Develop DITA for Publishers project • Fail to convince RSI to implement full SnapCM model in Rsuite • Contribute to development of keys feature in DITA 1.2 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 25
  • 26. 2012 or 2013 - RSI Content Solutions • Starting to become that crank who just won’t give up, I put up a SnapCM poster at Balisage • Another attendee points out that the SnapCM model is very similar to how git works • I find that very, very interesting • DITA Europe: See SAP presentation on using keys with Ixiasoft – I’m very impressed 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 26
  • 27. 2013 - Contrext • At DITA Europe have dinner with the head of a non-CMS service provider in the DITA space • We both complain about how none of the content management systems really work but we can’t say anything about it because we need them. • I decide I’m tired of pretending 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 27
  • 28. 2014 - Contrext • I post to DITA Users my first expression of the “DITA for small teams” idea • Start DITA for Small Teams project on GitHub • Realize that the one missing open-source piece of the puzzle is a DITA-aware link management system • Start implementing the D4ST Link Manager 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 28
  • 29. 2015 - Contrext • Balisage conference: present paper on the D4ST approach • Represents my third or fourth formal attempt to get people to pay attention to SnapCM model • DITA North America: present talk on DITA for Small Teams approach • Learn about Docker and get very excited because “this will simplify everything” 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 29
  • 30. 2016 - Contrext • Get D4ST stuff kind of working • Present D4ST course in Japan for InfoParse – Hampered by fact classroom machines can only run 32-bit Windows and thus no Docker • Spend rest of year not working on D4ST, or much of anything else for that matter • Propose this talk as motivation to get back on D4ST work • Docker for Mac and Docker for Windows released. Simplify things even further • Jang Graat convinces me that D4ST needs to get done and says he’s going to present on it in the spring 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 30
  • 31. 2017 - Contrext • Make more progress on D4ST despite sudden crushing workload • Reflect on how most content management systems still suck • Present this talk to you 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 31
  • 32. 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 32 Talk about yourself much? Get to the point
  • 33. WHAT DO I WANT? 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 33
  • 34. Happy and Productive DITA Authors • I want people who use DITA to be happy doing it • Using tools that enable full use of DITA’s features • That provide high value: lots of functionality for the cost 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 34
  • 35. More People Using DITA • Make it easier to use DITA by reducing the cost of entry • Increase chance of initial project success • Don’t spend entire project budget on a CMS system that takes years to implement and doesn’t work 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 35 That was your outside voice
  • 36. Free Open-Source Solutions • Lowest cost of entry is zero • Enables quick evaluation of DITA • Many teams are small with limited or no budgets • Technical documentation is usually a cost center that gets no love • That makes me sad 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 36
  • 37. A Download-and-Use Solution • Any solution needs to be “download and use” as much as possible • D4ST shows you can cobble together off-the- shelf components and make it work • But who has time for that? 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 37
  • 38. To Demonstrate How to Do DITA Link Management Correctly • With the possible exception of Ixiasoft, no commercial CMS system today does DITA link management correctly • More generally, all XML CMS systems are fundamentally broken with respect to link management • This is my chance to show how it’s done • Because this time they’ll listen to me!!! 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 38
  • 39. WHAT DID I ACTUALLY MAKE? 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 39
  • 40. D4ST Docker • A set of pre-configured Docker containers with all most of the parts you need: – Shared git repository (GitLab) – Link Manager (D4ST Link Manager) – Authoring (oXygenXML Web Author) – Production automation (DITA OT and GitLab CI) – Web delivery (Caddy web server) • Shell script to make setup and and operation easier 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 40
  • 41. What Is Docker? • “Containerized software” • Containers are light-weight virtual machines • Each container intended to have one component • Containers can be distributed through public Docker Hub system • Can quickly set up and deploy systems of related containers • Solves many deployment and configuration management challenges • Free open source base 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 41
  • 42. Docker Support • Docker for Windows • Docker for macOS • Docker server for linux • Can run containers on: – Personal machine – Shared server or – Cloud system (Azure, Amazon Web Services, etc.) 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 42
  • 43. Docker Goodness • Easy to deploy and maintain containers • Easy to extend or modify or even replace containers to meet local needs • Networking among related containers easy • Docker is gaining pretty deep traction in industry • Lots of tools provide Docker containers 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 43
  • 44. Docker Annoyances • Docker requires 64-bit Windows – Docker for Windows requires Windows 10 Pro – Docker Toolbox available for 64-bit Windows 8 • Technology is still pretty new • Managing persistent volumes can be challenging • Managing licenses for licensed software within containers can be a challenge 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 44
  • 45. Demo 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 45
  • 46. Work to Be Done • Implement installers for macOS and Windows • Complete link management functionality to reflect DITA 1.3 • Implement better Link Manager UI • Provide containers for other editors • Improve performance of link manager 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 46
  • 47. Questions? DITA For Small Teams | DITA NA 2017 | Contrext 47 12/4/201 7
  • 48. Resources • DITA for Small Teams: http://dita-for-small-teams.org • DITA for Small Teams on GitHub: https://github.com/dita- community/dita-for-small-teams, • DITA for Small Teams Docker Solution: http://d4st.org (coming soon) • Git: http://git-scm.com • Docker: http://docker.com • Me: ekimber@contrext.com, http://contrext.com • http://drmacros-xml-rants.blogspot.nl/2014/01/dita- without-cms-tools-for-small-teams.html • https://www.balisage.net/Proceedings/vol15/html/Kimber 01/BalisageVol15-Kimber01.html 12/4/201 7 DITA For Small Teams | DITA NA 2017 | Contrext 48