DITA Proposed Feature # 17e

conref by "push"

Longer description

Allow authors to "push" content into a specified anchor place or identified element, or relative to that place (eg immediately after or before the anchor point).

Scope

Major

Use case

  1. Author A contributes a topic to an information set that provides configuration instructions for the product.
  2. Author B contributes content for a particular product component that requires a specific configuration step.
  3. Author A adds ids to each step in the default configuration procedure
  4. Author B creates a topic that pushes a new step into that default procedure, relative to an existing step.
Figure 1. Source topic - default.dita
<task id="x">
	...
	<taskbody>
		<steps>
			<step id="a">A</step>
			<step id="b">B</step>
			<step id="c">C</step>
		</steps>
	</taskbody>
</task>
Figure 2. Referencing topic - push.dita
<task id="z">
	...
	<taskbody>
		<steps>
			<step conref="default.dita#x/b" conaction="mark"><cmd/></step>
			<step conaction="pushafter">B.1</step>
		</steps>
</task>
Figure 3. Resolved default.dita post-conref
<task id="x">
	...
	<taskbody>
		<steps>
			<step id="a">A</step>
			<step id="b">B</step>
	 		<step>B.1</step>
			<step id="c">C</step>
		</steps>
	</taskbody>
</task>

Technical Requirements

Add three values to the conaction attribute proposed in 17b:
pushreplace
<li conref="default.dita#x/b" conaction="pushreplace">something</li>
pushbefore
<li conaction="pushbefore">something</li>
<li conref="default.dita#x/b" conaction="mark"/>
pushafter
<li conref="default.dita#x/b" conaction="mark"/>
<li conaction="pushafter">something</li>

Costs

New values for attribute proposed in 17b; processing support for this attribute.

Benefits

Lets team members contribute updates to a common topic without creating a new version of the topic, and without requiring changes to the topic itself each time an update is contributed. Control of the change is in the hands of the person requiring the change, so that the owner of the volatile topic does not become a bottleneck for competing change requests.

Time Required

Several meetings to agree on design, plus time for implementers.