Dynamic chunking of component-authored information
-
Upload
ben-colborn -
Category
Internet
-
view
221 -
download
0
Transcript of Dynamic chunking of component-authored information
![Page 1: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/1.jpg)
Dynamic Chunking of Component-Authored InformationBen Colborn Owen RichterManager, Technical Publications Web Application Architect
![Page 2: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/2.jpg)
2
Converged compute and storage
All intelligence in software
Distributed everything
Self-healing system
Web-scale converged infrastructure
Automation and Rich Analytics
![Page 3: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/3.jpg)
3
Technical publications responsibilities
› Software documentation
› Release documentation
› Hardware documentation
› Support knowledge base
› Education collaboration
› Localization
![Page 4: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/4.jpg)
4
Problem
Ben didn’t like any available options for publishing documentation
![Page 5: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/5.jpg)
5
Monolithic documentation
![Page 6: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/6.jpg)
6
Fragmented documentation
![Page 7: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/7.jpg)
7
Advantages
Monolithic
• Easy to produce
• Familiar for audience
• Portable
Fragmented
• Easy to link• Short page
load time• Familiar for
authors
![Page 8: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/8.jpg)
8
Opportunity
Growing company; development of new support portal
![Page 9: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/9.jpg)
9
Every page is page one
› Every page is a potential entry point› Sometimes hierarchy and sequence are relevant› Often hierarchy and sequence are not relevant› Multiplicity of navigation options is required
![Page 10: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/10.jpg)
10
Information foraging behavior
› Information scent: Users estimate a given hunt’s likely success from … assessing whether their path exhibits cues related to the desired outcome.
› Informavores will keep clicking as long as they sense that they're “getting warmer”—the scent must keep getting stronger and stronger, or people give up.
› Progress must seem rapid enough to be worth the predicted effort required to reach the destination.
› As users drill down the site, … provide feedback about the current location and how it relates to users' tasks.
![Page 11: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/11.jpg)
11
Documentation use cases
1. A new user may want to browse a complete high level document.
2. A developing user may want an intermediate-sized chunk that has subject/sequence affinity.
3. An experienced user may want a small chunk with a particular item of information.
4. A support technician may need to provide a chunk scoped at an intermediate level to a customer so they are not overloaded with too much information, but also not given too little.
![Page 12: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/12.jpg)
12
Document levels
Document
Part
Chapter
Section
Topic
![Page 13: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/13.jpg)
13
DITA gets us halfway there
Authoring and management is done at the topic level
Chunking exists as an approach but
Chunking control is manual Chunks are static
![Page 14: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/14.jpg)
14
Ben’s magical solution
If I had an infinite number of monkeys, I could chunk all topics in all possible combinations
![Page 15: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/15.jpg)
15
Cross-disciplinary thinking to the rescue
› We need a recursive document!› A document is:
1. A title2. A globally unique key (document name + sub document ID)3. A locally unique key (sub document ID)4. A list of tags5. A (recursive) list of documents
› DITA is recursive but none of the existing presentation mechanisms are recursive.
› JSON is a natural way to represent a recursive document.› XSLT is a natural way to generate such a JSON document.
![Page 16: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/16.jpg)
16
JSON generation process
DITA Source HTML JSON
D4P HTML2
Content
Repository
Custom XSLT
File se
rver/
CDN
![Page 17: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/17.jpg)
17
Theoretical document: Complete
Document1. Chapter
1.1 Section2. Chapter
2.1 Section2.1.1 Topic
2.2 Section2.2.1 Topic
3. Chapter
![Page 18: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/18.jpg)
18
Theoretical document: Chunks
1. Chapter1.1 Section
2. Chapter2.1 Section
2.1.1 Topic2.2 Section
2.2.1 Topic
3. Chapter
2.1 Section2.1.1 Topic
2.2 Section2.2.1 Topic
2.1.1 Topic
2.2.1 Topic
1.1 Section
![Page 19: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/19.jpg)
19
DITA to JSON 1: DITAMAP
DocumentProperties
TopicReferences
![Page 20: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/20.jpg)
20
DITA to JSON 2: HTML index
DocumentProperties
TopicReferences
![Page 21: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/21.jpg)
21
DITA to JSON 3: JSON
DocumentProperties
Topic
Topic
![Page 22: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/22.jpg)
22
DITA to JSON 4: Sub-document
Field SourceTitle Topic titleID Topic filenameUnique key Top-level document filename +
topic filenameAncestors List of ancestor topics at all
levelsSummary* Topic shortdescBody Topic bodyHREF Topic path + topic filenameDocuments* List of sub-documents
![Page 23: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/23.jpg)
23
Document Loading Process
Flatten each node Create Unique ID Establish ancestry
Convert relative image and cross
references to absolute links
Create a standalone
document of each node
Load to DB
Load to search index
![Page 24: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/24.jpg)
24
Search
![Page 25: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/25.jpg)
25
Task Topic
Breadcrumb
Scrollbar
![Page 26: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/26.jpg)
26
Chapter
Breadcrumb
Scrollbar
![Page 27: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/27.jpg)
27
Document
BreadcrumbScrollbar
![Page 28: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/28.jpg)
28
TOC
![Page 29: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/29.jpg)
29
Multi-modality
![Page 30: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/30.jpg)
30
DITA output targets
1. PDF: monolithic2. ePUB: monolithic3. HTML: fragmented4. JSON: dynamically chunked
![Page 31: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/31.jpg)
31
Conventions
› Images› All image paths need to be converted to absolute paths. Having all of them in a
flat folder called “images” is one easy way to accomplish this.
› Cross References› Cross reference links within the JSON are all relative. Like images, they need to
be converted to absolute links.
› JSON Tag Recursion› It is tedious to add tags to all levels of the JSON Document, so most tags are
programmatically pulled through to all sub documents. Tags can be overridden in children if desired.
› Permissions – can be set in source› Anchors not supported
› We currently have a single page app making anchors difficult, but somewhat irrelevant since each level is available as an independent link.
![Page 32: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/32.jpg)
32
What’s next?
› More publishing automation› Publishing is currently a 2 step process. JSON Publication followed by document loading.
It would be better to provide a 1 step process controlled by the document publisher.
› Holistic approach› Search cultivation
› Search analytics› Chat› Case Deflection Analysis driving documentation.
› Tag-based navigation
![Page 33: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/33.jpg)
33
Ben is less dissatisfied
Problems solved• Apparently dynamic presentation• Satisfactory context-sensitive help targets• CMS/search loading
Problems not solved• Static transformations
Problems created• Content removal• Proofing• Custom software
![Page 34: Dynamic chunking of component-authored information](https://reader035.fdocuments.in/reader035/viewer/2022062523/587136de1a28abf0568b5e8d/html5/thumbnails/34.jpg)