OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: DOCBOOK: New Element Task Proposal



This is my second post recently to the Docbook mail-list. Thanks very 
much to those who took the time to respond to my first posting on 
the Step Alternative proposal. We use the SGML version of the 
Docbook DTD.

Writers at Sun Microsystems have had a long standing need to be able
to have information which relates to Steps in a Procedure. 
Research into our current documentation has revealed that the ancillary
material takes the form of:

* Examples
* Links to related information
* Other similar tasks
* Troubleshooting tips

The current Docbook markup does not allow for any additional, related 
information to exist within a Procedure after Step. In the past, we've
worked around this limitation by using the ROLE attribute on Sect2 to indicate 
that the Procedure had "other stuff," but we've found over time that 
having two different methods for marking up Procedures is confusing to 
writers to use correctly and difficult for our tools to output correctly. 

Further investigation of the use of Procedure markup in our documentation
revealed most consisted of these categories of data:

* An optional, brief introduction
* Optional prerequisites
* The steps in the procedure
* Related information

We found that for us, Procedures are more of a container-type element than
a list-type element. Rather than try to revise Procedure to contain all these 
pieces of information, we've devised what we think should contain a Procedure,
a new element data model we call Task.

Based on our needs, we feel there a need for a new hierarchy of markup in 
Docbook, and have drafted a proposal for Task. Please let us know if you have a 
similar requirement for your software documentation, and make suggestions
of other ways you might see us meeting our requirements for an easy, clear
methodology for referencing and reusing Procedure related information.


<!ELEMENT Task - - ((Title,SubTitle?,TitleAbbrev?),IndexTerm*, TaskAbstract?, 
                     TaskPreReq?, Procedure, Example*, RelatedInfo*))>
<!ATTLIST Task
      %id.attrib;
      %lang.attrib;
      %remap.attrib;
      %arch.attrib;
      %os.attrib;
   >                                                          
<!ELEMENT TaskAbstract - - (%component.mix;)+)>
<!ELEMENT TaskPreReq   - - (%component.mix;)+)>
<!ELEMENT RelatedInfo  - - 
((Title,SubTitle?,TitleAbbrev?)?,(%component.mix;)+))>

Brief description of the function of each of the new elements:

Task: Is a titled container for all specific pieces of information
related to Procedure--or the more generic Tasks. The specific hierarchy
as requiring specific markup makes Task similar in design 
to QandASet or SimpleMsgSet. Since related data is kept together, in addition 
to a consistent tagging methodology, this also allows for clear 
cross-referencing, 
collapsing or reuse. Task data could also be used for online Help. Is a peer to
Sect2,3 and Sect4.

TaskAbstrast: Short description or summary of the Task. Information
which writers want readers to know about the Procedure which follows it.
This information is similar to available markup before the 
Step in the current Docbook Procedure content model.

TaskPreReq: Any specific, identified, conditional information which is required
prior to completing the steps in the Procedure. This information is most likely
to take the form of an ItemizedList.

Example: Already a Docbook element.

Procedure: Already a Docbook element. 

RelatedInfo:  Titled container for the ancillary information types I mentioned 
above. We'll use ROLE attribute to generate title text of "Examples," "Where to 
go for 
more Information," etc.  Will be included in TOC, as well as List of Examples.

Example Markup:

<task id="foo-123">
   <title>To Notify Users When a Host or Agent Is Down</title>
   <taskabstract>
      <para>
	 By default, the software checks whether a host or agent is not
      responding. However, there is no default action defined in response
      to these conditions. The following procedure explains how to define
      an email to send when this condition occurs.
      </para>
   </taskabstract>
   <procedure>
      <step>
         <para>
         Select the managed object on which you want this action performed.
         </para>
         <tip>
         <para>
         To apply this action to all children of a managed object (to all        
          objects 
         within a particular subnet, for example), select the parent managed     
          object 
         (in the example case, the subnet).
         </para>
         </tip>
      </step>
      <step>
         <para>
         Press mouse button three and choose Alarm Action from the pop-up menu.
         </para>
         <para>
         The Alarm Action window appears.
         </para>
      </step>
      ...
      <step>
         <para>
         To complete the alarm action definition and exit from the Alarm Action  
          window, click the OK button.
         </para>
      </step>
   </procedure>
   <example>
   <title>User Notification Action</title>
      <para>
	 The following example shows a completed user notification script.
      </para>
   <screen>
   email.sh: horatio.alger@sun.com "Systems down. Call Stuart."
   </screen>
   </example>
   <relatedinfo role="see-also">
      <para>
      Related information is contained in the following sections:
      </para>
   <itemizedlist>
  	 <listitem>
	    <para>Sending Email
	    </para>
      </listitem>
      <listitem>
	    <para>Schedule Action
	    </para>
      </listitem>
   </itemizedlist>
   </relatedinfo>
   </task>

Thank you for your consideration.
regards,
Sabine Ocker



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC