Slides from my talk at CMS/DITA NA 2017. Description from the conference site:
Topic-based authoring and information typing have greatly improved product content. However, having written all those topics, doc teams need to be able to find them again. Customers, too, need to access relevant information easily. It is no good leaving granular topics dangling from a TOC tree. They need to be richly linked, so users can find the content they need and understand the big picture of the subject domain.
Taxonomy makes information findable again. Presentations inspire us with tools that manage vocabularies, deliver information intelligently, but may be beyond your budget. Can you start with your current tools? Learn how DITA Subject Schemes or even snippet-based reuse can house a future-ready knowledge model. Understand best practices for implementing and designing taxonomies. Start with a pilot, prove the potential, and grow into a full rollout that transforms customer and author experience.
What can the audience expect to learn?
You will learn how authors can use a controlled taxonomy consistently and easily, even with standard tech docs tools. You will arm yourself with techniques and approaches to build a taxonomy that’s strong enough to grow with the changing needs of your organization. And you will understand how taking findability and taxonomy seriously may require tweaks to your content structures for best results.
4. This presentation covers:
~ Principles for using taxonomy (and content
tagged with it) effectively in any tool or system
~ Futureproof ways to use taxonomy in DITA
right now (+ possibly other architectures)
– Light on delivery specifics (focus is how to work
with taxonomy in XML source), but questions very
welcome!
– Every approach involves compromises
~ Possible next steps after barebones taxonomy
– For delivery
– For managing and doing more with taxonomy
5. To put these tips into practice,
you need:
~ An starter hierarchical taxonomy; could be lists
or an Excel sheet
– How to design a taxonomy is not covered here…
~ A strong stomach for bits of XML (at least as
the architect / implementor, though
authors’ tasks should be simpler)
7. We tag content with taxonomy
“concepts”, so that we can:
~ Find it in “containers”:
site nav; doc folders
~ Filter it on various
facets
8. We tag content with taxonomy
“concepts”, so that we can:
~ Find it in “containers”:
site nav; doc folders
~ Filter it on various
facets
~ Create “See also”
links
~ Let people search using
their own preferred
terms for things
~ And more…
14. A concept has a unique ID:
~ In SKOS, the ID is always a URI
~ The end of the URI (or the whole URI) can be
human-readable, e.g:
https://mekon.poolparty.biz/mek
onchef3/ShaveIce
~ However, human-readable IDs can cause
problems for authors
15. The ID’s all we tag content with
(of course, authors need
to see the label)
https://mekon.poolparty.
biz/mekonchef3/164
16. Each platform reads the taxonomy
https://mekon.poolparty.
biz/mekonchef3/164
Filter results by:
Preparation method
Chop (23)
Combine (2)
Mince (3)
Shaved ice (1)
Shred (8)
Dietary suitability
Gluten-free
Halal
▸ More…
Type of dish
Main meal
Side dish
▸ More…
17. Label changes are picked up
https://mekon.poolparty.
biz/mekonchef3/164
Filter results by:
Preparation method
Chop (23)
Combine (2)
Mince (3)
Shave (ice) (1)
Shred (8)
Dietary suitability
Gluten-free
Halal
▸ More…
Type of dish
Main meal
Side dish
▸ More…
18. Hierarchy changes work too
https://mekon.poolparty.
biz/mekonchef3/164
Filter results by:
Preparation method
Flavoring / tenderizing
Marinate (5)
Dry rub (3)
Food processing
Chop (23)
Combine (2)
Mince (3)
Shave (ice) (1)
Shred (8)
Dietary suitability
Gluten-free
Halal
▸ More…
Type of dish
Main meal
Side dish
▸ More…
37. Three major approaches…
~ Subject schemes + classification maps
(indirect classification)
~ Subject schemes + direct classification in the
content
~ Hierarchical <data> elements, conreffed into
appropriate elements in the content
38. …evaluated on 9 criteria…
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Essential
39. …evaluated on 9 criteria…
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Essential
Often-needed
40. …on a 4-point scale.
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Essential
Often-needed
Works easily
Works OK with some
setup / planning
Hard to set up /
maintain, or doesn’t
completely satisfy
criterion
Doesn’t work
41. Essential criteria
~ Concepts are addressed with unique IDs
~ UI supports / constrains authors appropriately
– No copying/pasting of IDs!
– Picklist at least, but preferably hierarchical browse
and/or search
~ Tagging travels with content
– Tag is associated with source object (either right in
the XML, or in a DB field attached to the
topic/map/element)
45. Classification maps
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Essential
50. Subject Scheme / attributes
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Essential
51. Approach 3: conreffed <data>
Why do we need another approach? Why might
Subject Scheme not fit sometimes?
~ When you need metadata in elements, not
attributes
~ When your tools (or the DITA version you’re
using) don’t support Subject Scheme
~ When you find the usability of Subject Scheme
features (in your tools) still lacking
52. Approach 3: conreffed <data>
Every help authoring tool has some concept of
reusable snippets.
This approach would be the only possible way to
control taxonomy values in most HATs.
53. Approach 3: conreffed <data>
Conref controls the values (if your business rules
mandate using it)
56. Conreffed <data>
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Essential
58. First 3 often-needed criteria
~ Tag any object (map / topic / block / inline
element)
– Bookmap may apply to market/product
– Topic may apply to task or product component
– Blocks & inlines have specific subject matter
~ Each object accepts multiple metadata fields
– E.G. market, product
~ Multiple values per field
– Multiple markets / products
59. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Classification map
60. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Classification map
61. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Classification map
62. Often-needed
Subject Scheme / attributes
Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Classification
maps
Maps & topics only No Yes
Subject
Scheme /
attributes
Yes Yes Yes
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
63. Subject Scheme / attributes
Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Classification
maps
Maps & topics only No Yes
Subject
Scheme /
attributes
Yes Yes Yes
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Often needed
64. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Subject Scheme / attributes
65. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Conreffed <data>
66. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Conreffed <data>
67. Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
are
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Hard
Some structures
only, and those
with difficulty
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
No
Often needed
Conreffed <data>
68. Remaining criteria
~ Authors / editors see preferred labels
– The ID is still embedded / attached, but the preferred label’s what
authors/editors see
– Whenever the label’s updated in the taxonomy, that update’s what
authors & editors see (even for previously tagged content)
~ IDs map to URIs
– Can’t be URLs directly, since // illegal in attribute values L
– Clear mapping from DITA side makes for easier integrations:
taxonomy management, SEO markup, graph search
~ Create & maintain thesaurus structures
– Alternate labels
– Scope notes / descriptions
– Related concepts
– Matches from other taxonomies
69. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
No
Remaining often-needed features
Preferred labels?
70. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
No
Remaining often-needed features
Preferred labels?
71. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
Basically, no
Remaining often-needed features
Preferred labels?
72. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
Basically, no
Remaining often-needed features
IDs map to URIs
73. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
No
Remaining often-needed features
IDs map to URIs
One approach to mapping
— but it doesn’t do much
74. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
No
Remaining often-needed features
Create & maintain thesaurus
❌
?
?
❌
❌
❌
❌
❌
75. Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Depends on
tool
Conreffed
<data>
Takes setup
(conref
push)
Use
conref
push
Basically, no
Remaining often-needed features
Create & maintain thesaurus
There’s a limit to what you can feasibly
author and manage with lists and tables
•
•
•
•
•
•
•
76. Verdict: Subject Scheme with attributes
good; <data> conrefs not bad (and
sometimes the
only option);
thesauruses
tricky in DITA!
Concepts are
addressed with
unique IDs
UI supports /
constrains authors
appropriately
Tagging
travels with
content
Classification
maps
Yes
A little
(lists of keys)
No
Subject
Scheme /
attributes
Yes Depends on tool Yes
Conreffed
<data>
Yes
Yes, though authors
must follow simple
business rules
Yes
Apply to any object
(map / topic / block
/ inline element)
Each object
accepts multiple
metadata fields
Multiple
values
per field
Authors /
editors see
pref. labels
IDs
<>
URIs
Create & maintain
thesaurus
structures
Classification
maps
Maps & topics only No Yes No
Hard
Some structures
only, and those
with difficulty
Subject
Scheme /
attributes
Yes Yes Yes
Depends on
tool
Conreffed
<data>
Nearly all elements
Can nest in
semantic
elements
Yes*
Takes setup
(conref
push)
Use
conref
push
Basically, no
Essential
Often needed
79. Get more from a CCMS
~ The markup options presented will already
make search easier
– Some systems could provide a nice taxonomy UI
based solely on this metadata
~ Systems’ own metadata capabilities can be
very useful
– Plan how to use them (or evaluate the system if
you’re still considering one) against the 9 criteria
80. Your web devs / CMS people
could start to use the metadata
Light DITA-OT tweaks allow taxonomy tags
through in basic XHTML output
82. Proper taxonomy management
~ Even for simple thesaurus management:
– Drag & drop, much easier visualization, all standard
thesaurus relationships, workflow too
– Only real way to handle enterprise-wide taxonomy
~ More advanced semantic tech stuff:
– Ontology
– Easy linking / using bits of external taxonomies
– Corpus analysis, auto-tagging (could consider integrated
friendly DITA editors too, so casual authors can also tag stuff)
~ Criteria
– Tool that uses SKOS (preferably natively) is the safest bet
– Look for extensibility, good documentation,
good support