Bug 712058

Summary: Add support for DITA 1.2-style Next and Previous relationships
Product: [Community] PressGang CCMS Reporter: Joshua Wulf <jwulf>
Component: Web-UIAssignee: Joshua Wulf <jwulf>
Status: CLOSED WORKSFORME QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.xCC: lcarlon, topic-tool-list
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-03 07:44:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 710989    
Bug Blocks:    

Description Joshua Wulf 2011-06-09 11:48:29 UTC
Skynet stores the relationships, and can output them to a DITA reltable. That's pretty straight forward.

With the Docbook output it could implemented like this:

* topics (sections) are stored with no IDs (<- present)

needed to support it:
* a sequence relationship can be specified between tasks A, B, and C linked to a task overview TO

to implement it in the output:
* a copy of A, B, and C - call them A(TO), B(TO), C(TO) are then generated and included in the build with unique IDs, and with the Next and Previous links injected and a link to the overview TO injected
* the dynamically generated version of the topic should be invisible (so it doesn't appear in browse or search)
* if the tasks A,B, and C are not invisible by nature, then the topic is also included in the build as per normal with the Topic ID as the section ID.

This is essentially how DITA does it. IDs are scoped, so the same topic can be included multiple times with unique IDs to allow it to be targeted.

There are probably other, and possibly better ways to implement it with Docbook output; that's the first way I could think of.

Comment 1 Joshua Wulf 2011-06-09 11:49:54 UTC
Actually, Next and Previous relationships are already encoded by Skynet:

<!-- InjectSequence: A, B, C -->

captures it.