head	1.4;
access;
symbols;
locks; strict;
comment	@# @;


1.4
date	92.08.04.11.36.51;	author doc;	state Exp;
branches;
next	1.3;

1.3
date	92.08.04.10.25.22;	author doc;	state Exp;
branches;
next	1.2;

1.2
date	92.08.04.09.58.32;	author doc;	state Exp;
branches;
next	1.1;

1.1
date	92.01.09.15.41.28;	author doc;	state Exp;
branches;
next	;


desc
@The documentation system technical reference
@


1.4
log
@Changed Document number field
@
text
@{\rtf1\ansi \deff0\deflang1024{\fonttbl{\f0\froman Times New Roman;}{\f1\froman Symbol;}{\f2\fswiss Arial;}{\f3\froman Tms Rmn;}{\f4\fswiss Helv;}{\f5\froman Palatino;}{\f6\fmodern Courier;}{\f7\froman ZapfChancery;}
{\f8\fdecor ZapfDingbats;}{\f9\froman NewCenturySchlbk;}{\f10\fdecor MT Symbol;}{\f11\froman Bookman;}{\f12\fdecor Fences;}{\f13\fswiss AvantGarde;}{\f14\fmodern Modern;}{\f15\fmodern MS LineDraw;}{\f16\froman Roman;}{\f17\fscript Script;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;
\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192;}{\stylesheet{\s230\li1440\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 \sbasedon0\snext0 toc 3;}{
\s231\li720\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 \sbasedon0\snext0 toc 2;}{\s232\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 \sbasedon0\snext0 toc 1;}{\s242\tqc\tx4320\tqr\tx8640 \scaps\f3\fs20\lang2057 \sbasedon0\snext242 footer;}{
\s243\tqc\tx4320\tqr\tx8640 \f3\fs20\lang2057 \sbasedon0\snext243 header;}{\s244 \f3\fs16\up6\lang2057 \sbasedon0\snext0 footnote reference;}{\s245 \f3\fs20\lang2057 \sbasedon0\snext245 footnote text;}{\s250\li567\ri567\sb120\sa120\keepn \b\f3\lang2057 
\sbasedon0\snext2 heading 5;}{\s251\sb120\sa120\keepn \f3\ul\lang2057 \sbasedon0\snext2 heading 4;}{\s252\sb360 \b\f3\lang2057 \sbasedon0\snext14 heading 3;}{\s253\sb360\keepn \b\f3\fs28\lang2057 \sbasedon0\snext14 heading 2;}{\s254\sb480\keepn 
\b\f3\fs36\lang2057 \sbasedon0\snext14 heading 1;}{\s255\li720 \f3\fs20\lang2057 \sbasedon0\snext2 Normal Indent;}{\f3\fs20\lang2057 \snext0 Normal;}{\s2\qj\sb120 \f3\fs20\lang2057 \sbasedon0\snext2 Body;}{\s3\qc\sb480 \f3\fs28\lang2057 
\sbasedon0\snext3 Byline;}{\s4\qc \b\f3\fs48\lang2057 \sbasedon0\snext2 Logo;}{\s5\fi-720\li720\sb240\tqdec\tx288\tx720 \f3\fs20\lang2057 \sbasedon0\snext2 List;}{\s6\qc \i\f3\fs48\lang2057 \sbasedon0\snext6 Title;}{\s7\li567 \f6\fs20\lang2057 
\sbasedon0\snext7 Code;}{\s8 \b\f3\fs40\lang2057 \sbasedon0\snext0 Contents;}{\s9\qj\sb168\tx5954 \f3\fs20\lang2057 \sbasedon2\snext9 FirstBody;}{\s10\qc\sb480\sa240 \b\f3\lang2057 \sbasedon4\snext10 FunctionHeader;}{\s11\absw2880 \b\f3\fs20\lang2057 
\sbasedon4\snext11 FunctionItem;}{\s12\posx2880\absw5760 \f3\fs20\lang2057 \sbasedon11\snext12 FunctionData;}{\s13\absw8640 \b\f3\fs20\lang2057 \sbasedon12\snext13 EndItem;}{\s14\qj\sb240 \f3\fs20\lang2057 \sbasedon2\snext2 BodyTop;}{\s15\qc\sb480 
\b\f3\fs28\lang2057 \sbasedon3\snext15 BylineBold;}}{\info{\title The Documentation System}{\subject Technical Reference}{\author Judith Wildman}{\keywords $Id: jmw91004.rtf,v 1.1 1992/01/09 15:41:28 doc Exp $}{\operator Judith Wildman}
{\creatim\yr1991\mo12\dy10\hr13\min56}{\revtim\yr1992\mo1\dy7\hr11\min18}{\printim\yr1992\mo1\dy9\hr13\min12}{\version10}{\edmins519}{\nofpages18}{\nofwords69588}{\nofchars92217}{\vern16504}}
\paperw12242\paperh15842\margl1798\margr1798\margt1441\margb1441\gutter0 \widowctrl\ftnbj\ftnrestart \sectd \linex0\endnhere\titlepg {\header \pard\plain \s243\qc\tqc\tx4320\tqr\tx8640 \f3\fs20\lang2057 
\par }{\footer \trowd \trgaph80\trleft-80 \cellx2880\cellx5760\cellx8640\pard\plain \s242\intbl\tqc\tx4320\tqr\tx8640 \scaps\f3\fs20\lang2057 {\field{\*\fldinst {\plain \i\f3\fs20\lang2057 subject}}{\fldrslt {\plain \i\f3\fs20\lang2057 Technical Reference}}}
{\plain \i\f3\fs20\lang2057 \cell }\pard \s242\qc\intbl\tqc\tx4320\tqr\tx8640 {\field{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 9, 1992}}\cell \pard \s242\qr\intbl\tqc\tx4320\tqr\tx8640 Page {\field{\*\fldinst page}{\fldrslt 9}}\cell 
\pard\plain \intbl \f3\fs20\lang2057 \row \pard\plain \s242\tqc\tx4320\tqr\tx8640 \scaps\f3\fs20\lang2057 
\par }\pard\plain \s4\qc \b\f3\fs48\lang2057 do{\f1\dn4 \'e3}s
\par \pard\plain \s6\qc\sb480 \i\f3\fs48\lang2057 
\par {\field{\*\fldinst title}{\fldrslt The Documentation System}}
\par {\field{\*\fldinst subject}{\fldrslt Technical Reference}}
\par 
\par \pard\plain \s3\qc\sb480 \f3\fs28\lang2057 {\field{\*\fldinst author }{\fldrslt Judith Wildman}}
\par Periheli{\f1\fs36\dn4 \'b7}n Software Limited
\par {\field\flddirty\fldlock{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 7, 1992}}
\par \pard\plain \s15\qc\sb480 \b\f3\fs28\lang2057 {\field{\*\fldinst fillin "State:" \\d "DRAFT"}{\fldrslt DRAFT}}
\par {\field{\*\fldinst fillin "Security:" \\d "PSL Confidential"}{\fldrslt PSL Confidential}}
\par \pard\plain \s3\qc\sb480 \f3\fs28\lang2057 {\b 
\par }\pard\plain \s15\qc\sb480 \b\f3\fs28\lang2057 {\field{\*\fldinst fillin "Readership:" \\d "FOR: PSL General"}{\fldrslt FOR: PSL General}}
\par \pard\plain \s3\qc\sb480 \f3\fs28\lang2057 {\field{\*\fldinst {\plain \f3\lang2057 fillin "Enter Perihelion Document Number [PSL-p}{\plain \f3\lang2057 roject-initials-year-number.version]"}}{\fldrslt {\plain \f3\lang2057 PSL-DOC-JMW-91-004.2}}}{\plain 
\f3\lang2057 
\par }\pard\plain \s8 \b\f3\fs40\lang2057 \sect \sectd \sbknone\linex0\endnhere\titlepg {\header \pard\plain \s243\qc\tqc\tx4320\tqr\tx8640 \f3\fs20\lang2057 
\par }{\footer \trowd \trgaph80\trleft-80 \cellx2880\cellx5760\cellx8640\pard\plain \s242\intbl\tqc\tx4320\tqr\tx8640 \scaps\f3\fs20\lang2057 {\field{\*\fldinst {\plain \i\f3\fs20\lang2057 subject}}{\fldrslt {\plain \i\f3\fs20\lang2057 Technical Reference}}}
{\plain \i\f3\fs20\lang2057 \cell }\pard \s242\qc\intbl\tqc\tx4320\tqr\tx8640 {\field{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 9, 1992}}\cell \pard \s242\qr\intbl\tqc\tx4320\tqr\tx8640 Page {\field{\*\fldinst page}{\fldrslt 4}}\cell 
\pard\plain \intbl \f3\fs20\lang2057 \row \pard\plain \s242\tqc\tx4320\tqr\tx8640 \scaps\f3\fs20\lang2057 
\par }\pard\plain \s8 \b\f3\fs40\lang2057 \page Contents
\par \pard\plain \s232\ri720\tx360\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 {\field{\*\fldinst toc \\o 1-3}{\fldrslt 1.\tab Introduction\tab 3
\par 2.\tab References\tab 3
\par 3.\tab The System\tab 3
\par 4.\tab The Documentation Store\tab 4
\par 5.\tab The Catalogue\tab 4
\par 6.\tab The Tools\tab 5
\par \pard\plain \s231\li720\ri720\tx1260\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 6.1.\tab Cvs-based tools\tab 6
\par 6.2.\tab Catalogue-based tools\tab 6
\par \pard\plain \s232\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 Appendix 1- Description of the tools\tab 7
\par \pard\plain \s231\li720\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 cvsco\tab 7
\par cvsdiff\tab 7
\par cvslog\tab 7
\par cvsstatus\tab 7
\par cvsupdate\tab 7
\par docfind\tab 7
\par docget\tab 8
\par docprint\tab 8
\par docview\tab 8
\par docnumber\tab 9
\par docuniq\tab 9
\par cat2tex\tab 9
\par makecat\tab 9
\par \pard\plain \s232\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 Appendix 2 - Tests performed on tools\tab 10
\par \pard\plain \s231\li720\ri720\tldot\tx8280\tqr\tx8640 \f3\fs20\lang2057 Cvs-based tools\tab 10
\par Catalogue-based tools\tab 13
\par \pard\plain \f3\fs20\lang2057 }}\pard\plain \f3\fs20\lang2057 
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 \page {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab Introduction
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This document describes the technical issues of Perihelion's documentation system.   Its purpose is to aid the maintenance of the system.  The documentation system comprises:
\par \pard \s2\qj\fi-360\li360\sb120 {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab a documentation store where all master copies of Perihelion published documents are kept.
\par \pard \s2\qj\fi-360\li360\sb120\tx6120 {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab a catalogue of all documents kept in the documentation store.
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab a set of tools to access documents in the documentation store and to interrogate the catalogue.
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab References
\par \trowd \trgaph108\trleft459 \cellx1593\cellx7263\pard\plain \s2\qj\sb120\intbl \f3\fs20\lang2057 [1]\cell {\b cvs} (Concurrent Versions System) - a UNIX tool\cell \pard\plain \intbl \f3\fs20\lang2057 \row \trowd \trgaph108\trleft459 \cellx1593\cellx7263
\pard\plain \s2\qj\sb120\intbl \f3\fs20\lang2057 [2]\cell User reference to the documentation system{\b \cell }\pard\plain \intbl \f3\fs20\lang2057 \row \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 {\field{\*\fldinst autonumlgl }{\fldrslt }}\tab 
The System
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 Before explaining each element of the documentation system, the workings of the documentation system will be described as a whole.  
\par The current directory structure of jabber is shown below.  All the standard templates and macros for latex users are kept in the usr/local/lib/TeX/inputs directory.  Some of the doc directory structure is shown.  All published documents are kept within th
e master directory under {\b cvs}[1].  Within the HouseDoc directory is a 'checked out' version of the master directory.  This i
s where edited documents should be placed before they are entered into the cvs system.  The intray directory is used as a mail box for users to send edited documents to be reviewed by the documentation department.  There are two further directories which 
are not shown, namely, scripts and catalogue.  The sources of the documentation system tools are stored in these directories.
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 
\par \pard \s2\qc\sb120 {\pard\plain \s2\qc\sb120 \f3\fs20\lang2057 {\object\objemb\rsltmerge\objw7336\objh4260{\*\objclass MSDraw}{\*\objdata 0105000002000000070000004d534472617700000000000000000000070000
08008a325a1d0100090000035d03000003005a00000000001500000026060f001f00ffffffff0400150000004d7245640f004d6963726f736f6674204472617700005a00000026060f00a9004d72456402009f0000009d000100070000008002a5010000000000000100030000000000ffffff0000000000ffffff000100
000100000001000000000001000000000000010c0048656c7600000000000000000000000000000000000000000000000000000000100000000000ffffff00c0c0c00080808000ff00000080000000ffff00008080000000ff00000080000000ffff00008080000000ff0000008000ff00ff0080008000000e0000002606
0f0012004d72456403000800000000009000760b3807050000000b0290000000050000000c02a806760b030000001e000400000003010800050000000102ffffff000500000009020000000004000000070103000400000004010d0004000000060101000400000002010200030000001e0008000000fa02060008000800
00000000040000002d0100000b00000026060f000c004d72456401000200000000000800000025030200e0048001300980010b00000026060f000c004d72456401000200000000000800000025030200e0048001e00470020b00000026060f000c004d724564010002000000000008000000250302003009800130094002
0b00000026060f000c004d7245640100020000000000080000002503020030094002300970020b00000026060f000c004d72456401000200000000000800000025030200f0065001f0068001040000002e01180004000000020101000f000000fb02a0ff0000000000009001000000000000002248656c76001704000000
2d0101000a000000320af0006006060000004a61626265720a000000320a000380040500000075736572730013000000320a0003f006180000007573722f6c6f63616c2f6c69622f5465582f696e707574730b00000026060f000c004d72456401000200000000000800000025030200300930033009c0030f000000320a
5004100810000000652e672e20646f63696e666f2e7465780b00000026060f000c004d72456401000200000000000800000025030200e0043003e004c0030b00000026060f000c004d72456401000200000000000800000025030200e004c0034002c0030b00000026060f000c004d724564010002000000000008000000
25030200e004c003f006c0030b00000026060f000c004d724564010002000000000008000000250302004002c0034002e00409000000320a4005e00103000000646f63000b00000026060f000c004d72456401000200000000000800000025030200400270054002d0050b00000026060f000c004d724564010002000000
00000800000025030200b001d0056000d0050b00000026060f000c004d724564010002000000000008000000250302006000d005600030060b00000026060f000c004d724564010002000000000008000000250302004002d005b004d0050b00000026060f000c004d72456401000200000000000800000025030200b004
d005b00430060a000000320a9006200406000000696e747261790b00000026060f000c004d72456401000200000000000800000025030200b001d0054002d0050a000000320a90060000060000006d61737465720b00000026060f000c004d724564010002000000000008000000250302004002d005400230060b000000
320a9006b00108000000486f757365446f630b00000026060f000c004d72456401000200000000000800000025030200f006c003f00640050b00000026060f000c004d72456401000200000000000800000025030200f0064005800a40050b00000026060f000c004d72456401000200000000000800000025030200800a
4005800ad0050b00000026060f000c004d72456401000200000000000800000025030200100840051008a0050b00000026060f000c004d724564010002000000000008000000250302001008a0051008d0050a000000320a3006f009060000006a756469746809000000320a3006e0070300000069616e000b0000002606
0f000c004d72456401000200000000000800000025030200100860061008c0060b00000026060f000c004d72456401000200000000000800000025030200800a6006800ac0060b000000320a2007800708000000776f726b617265610b000000320a2007c00908000000776f726b6172656110000000fb02100007000000
0000bc02000000000102022253797374656d0000040000002d01020004000000f001010008000000fa02050000000000ffffff00040000002d01010004000000f0010000040000002701ffff040000002701ffff030000000000b83a288cda5e5f83ed028be51f5d4dca180090909045558bec1e8ed881ec260156c746fa
0400f8f80000f8ffffffffffffffffffffffffffffffffffffffffff01050000050000000d0000004d45544146494c4550494354008a320000a6e2ffffe806000008008a325a1d2e27
0100090000035d03000003005a00000000001500000026060f001f00ffffffff0400150000004d7245640f004d6963726f736f6674204472617700005a00000026060f00a9004d72456402009f0000009d000100070000008002a5010000000000000100030000000000ffffff0000000000ffffff000100000100000001
000000000001000000000000010c0048656c7600000000000000000000000000000000000000000000000000000000100000000000ffffff00c0c0c00080808000ff00000080000000ffff00008080000000ff00000080000000ffff00008080000000ff0000008000ff00ff0080008000000e00000026060f0012004d72
456403000800000000009000760b3807050000000b0290000000050000000c02a806760b030000001e000400000003010800050000000102ffffff000500000009020000000004000000070103000400000004010d0004000000060101000400000002010200030000001e0008000000fa02060008000800000000000400
00002d0100000b00000026060f000c004d72456401000200000000000800000025030200e0048001300980010b00000026060f000c004d72456401000200000000000800000025030200e0048001e00470020b00000026060f000c004d7245640100020000000000080000002503020030098001300940020b0000002606
0f000c004d7245640100020000000000080000002503020030094002300970020b00000026060f000c004d72456401000200000000000800000025030200f0065001f0068001040000002e01180004000000020101000f000000fb02a0ff0000000000009001000000000000002248656c760017040000002d0101000a00
0000320af0006006060000004a61626265720a000000320a000380040500000075736572730013000000320a0003f006180000007573722f6c6f63616c2f6c69622f5465582f696e707574730b00000026060f000c004d72456401000200000000000800000025030200300930033009c0030f000000320a500410081000
0000652e672e20646f63696e666f2e7465780b00000026060f000c004d72456401000200000000000800000025030200e0043003e004c0030b00000026060f000c004d72456401000200000000000800000025030200e004c0034002c0030b00000026060f000c004d72456401000200000000000800000025030200e004
c003f006c0030b00000026060f000c004d724564010002000000000008000000250302004002c0034002e00409000000320a4005e00103000000646f63000b00000026060f000c004d72456401000200000000000800000025030200400270054002d0050b00000026060f000c004d724564010002000000000008000000
25030200b001d0056000d0050b00000026060f000c004d724564010002000000000008000000250302006000d005600030060b00000026060f000c004d724564010002000000000008000000250302004002d005b004d0050b00000026060f000c004d72456401000200000000000800000025030200b004d005b0043006
0a000000320a9006200406000000696e747261790b00000026060f000c004d72456401000200000000000800000025030200b001d0054002d0050a000000320a90060000060000006d61737465720b00000026060f000c004d724564010002000000000008000000250302004002d005400230060b000000320a9006b001
08000000486f757365446f630b00000026060f000c004d72456401000200000000000800000025030200f006c003f00640050b00000026060f000c004d72456401000200000000000800000025030200f0064005800a40050b00000026060f000c004d72456401000200000000000800000025030200800a4005800ad005
0b00000026060f000c004d72456401000200000000000800000025030200100840051008a0050b00000026060f000c004d724564010002000000000008000000250302001008a0051008d0050a000000320a3006f009060000006a756469746809000000320a3006e0070300000069616e000b00000026060f000c004d72
456401000200000000000800000025030200100860061008c0060b00000026060f000c004d72456401000200000000000800000025030200800a6006800ac0060b000000320a2007800708000000776f726b617265610b000000320a2007c00908000000776f726b6172656110000000fb021000070000000000bc020000
00000102022253797374656d0000040000002d01020004000000f001010008000000fa02050000000000ffffff00040000002d01010004000000f0010000040000002701ffff040000002701ffff030000000000b83a288cda5e5f83ed028be51f5d4dca180090909045558bec1e8ed881ec260156c746fa0400}{\result 
{\pict\wmetafile8\picw12938\pich7514\picwgoal7336\pichgoal4260 
0100090000035d03000003005a00000000001500000026060f001f00ffffffff0400150000004d7245640f004d6963726f736f6674204472617700005a00000026060f00a9004d72456402009f0000009d000100070000008002a5010000000000000100030000000000ffffff0000000000ffffff00010000010000000100
0000000001000000000000010c0048656c7600000000000000000000000000000000000000000000000000000000100000000000ffffff00c0c0c00080808000ff00000080000000ffff00008080000000ff00000080000000ffff00008080000000ff0000008000ff00ff0080008000000e00000026060f0012004d724564
03000800000000009000760b3807050000000b0290000000050000000c02a806760b030000001e000400000003010800050000000102ffffff000500000009020000000004000000070103000400000004010d0004000000060101000400000002010200030000001e0008000000fa0206000800080000000000040000002d
0100000b00000026060f000c004d72456401000200000000000800000025030200e0048001300980010b00000026060f000c004d72456401000200000000000800000025030200e0048001e00470020b00000026060f000c004d7245640100020000000000080000002503020030098001300940020b00000026060f000c00
4d7245640100020000000000080000002503020030094002300970020b00000026060f000c004d72456401000200000000000800000025030200f0065001f0068001040000002e01180004000000020101000f000000fb02a0ff0000000000009001000000000000002248656c760017040000002d0101000a000000320af0
006006060000004a61626265720a000000320a000380040500000075736572730013000000320a0003f006180000007573722f6c6f63616c2f6c69622f5465582f696e707574730b00000026060f000c004d72456401000200000000000800000025030200300930033009c0030f000000320a5004100810000000652e672e
20646f63696e666f2e7465780b00000026060f000c004d72456401000200000000000800000025030200e0043003e004c0030b00000026060f000c004d72456401000200000000000800000025030200e004c0034002c0030b00000026060f000c004d72456401000200000000000800000025030200e004c003f006c0030b
00000026060f000c004d724564010002000000000008000000250302004002c0034002e00409000000320a4005e00103000000646f63000b00000026060f000c004d72456401000200000000000800000025030200400270054002d0050b00000026060f000c004d72456401000200000000000800000025030200b001d005
6000d0050b00000026060f000c004d724564010002000000000008000000250302006000d005600030060b00000026060f000c004d724564010002000000000008000000250302004002d005b004d0050b00000026060f000c004d72456401000200000000000800000025030200b004d005b00430060a000000320a900620
0406000000696e747261790b00000026060f000c004d72456401000200000000000800000025030200b001d0054002d0050a000000320a90060000060000006d61737465720b00000026060f000c004d724564010002000000000008000000250302004002d005400230060b000000320a9006b00108000000486f75736544
6f630b00000026060f000c004d72456401000200000000000800000025030200f006c003f00640050b00000026060f000c004d72456401000200000000000800000025030200f0064005800a40050b00000026060f000c004d72456401000200000000000800000025030200800a4005800ad0050b00000026060f000c004d
72456401000200000000000800000025030200100840051008a0050b00000026060f000c004d724564010002000000000008000000250302001008a0051008d0050a000000320a3006f009060000006a756469746809000000320a3006e0070300000069616e000b00000026060f000c004d72456401000200000000000800
000025030200100860061008c0060b00000026060f000c004d72456401000200000000000800000025030200800a6006800ac0060b000000320a2007800708000000776f726b617265610b000000320a2007c00908000000776f726b6172656110000000fb021000070000000000bc02000000000102022253797374656d00
00040000002d01020004000000f001010008000000fa02050000000000ffffff00040000002d01010004000000f0010000040000002701ffff040000002701ffff030000000000b83a288cda5e5f83ed028be51f5d4dca180090909045558bec1e8ed881ec260156c746fa0400}}}}
\par \pard \s2\qj\sb120 Members of the documentation team have their own areas in which to work and review documents.  To review a document, copy it from the intray to your workarea and then place it in HouseDoc to be checked in once it is finalised.
\par The flow of documents is shown below.
\par 
\par \pard \s2\qc\sb120 {\pard\plain \s2\qc\sb120 \f3\fs20\lang2057 {\object\objemb\rsltmerge\objw7581\objh3586{\*\objclass MSDraw}{\*\objdata 0105000002000000070000004d5344726177000000000000000000c0110000
08003a34b418010009000003c308000005007c00000000001500000026060f001f00ffffffff0400150000004d7245640f004d6963726f736f6674204472617700005a00000026060f00a9004d72456402009f0000009d000100110001007302a8010000000000000100030000000000ffffff0000000000ffffff000100
000100000001000000000001000000000000010c0048656c7600020000000200000000000000ffffff0022ff88ff88ff88ff22ff88100000000000ffffff00c0c0c00080808000ff00000080000000ffff00008080000000ff00000080000000ffff00008080000000ff0000008000ff00ff0080008000000e0000002606
0f0012004d7245640300080000000000de00d80b7806050000000b02de000000050000000c029a05d80b030000001e000400000003010800050000000102ffffff000500000009020000000004000000070103000400000004010d0004000000060101000400000002010200030000001e000e00000026060f0012004d72
45640300080000001008a005c009300607000000fc020000ffffff00ffff040000002d01000008000000fa0206000800080000000000040000002d010100070000001b043406c4099c050c080e00000026060f0012004d7245640300080000005001a005c0033006070000001b043406c4039c054c010e00000026060f00
12004d724564030008000000f006f000d00be001070000001b04e401d40bec00ec060e00000026060f0012004d7245640300080000005004600360068004090000001c0648004800840464065c034c040e00000026060f0012004d7245640300080000005001f0002004400207000000180444022404ec004c0104000000
2e011e0004000000020101000f000000fb02a0ff0000000000009001000000000000002248656c760020040000002d0102000d000000320a8001ac020b000000446f63756d656e7420746f000d000000320ae001a6020c0000006265207075626c697368656413000000320a80012109180000006a61626265723a2f7573
6572732f646f632f696e747261790a000000320af0030105060000005265766965770b000000320a50043d0508000000646f63756d656e740b000000320a00067c0208000000486f757365446f630a000000320a0006bb08060000004d61737465720b00000026060f000c004d7245640100020000000000080000002503
020020048001f00680010b00000026060f000c004d724564010002000000000008000000250302000009e001400560030b00000026060f000c004d7245640100020000000000080000002503020070058004a002a0050b00000026060f000c004d72456401000200000000000800000025030200c003d0051008d0050400
00002e0118000b000000320a5001b004080000006d61696c2f7263700d000000320ad002b0070c000000506c61636520696e206f776e0c000000320a3003b00709000000776f726b2061726561000b000000320a6006e00408000000436865636b20696e0f000000fb02b0ff000000000000900100000000000000224865
6c760020040000002d01030004000000f001020013000000320ae004b00118000000506c61636520617070726f76656420646f63756d656e74200d000000320a4005b0010b000000696e20486f757365446f63000e00000026060f001200ffffffff0000080000000000de00ef00e0010e00000026060f001200ffffffff
00000800000000006201ef00e00107000000fc0200007f3f0000ffff040000002d01020004000000f0010000040000000201020008000000fa02050000000000ffffff00040000002d01000004000000f00101000b00000026060f000c004d72456401000200000001000e00000024030500030086010300e001eb00e001
eb008601030086010e00000026060f001200ffffffff00000800000000006201ef00890107000000fc020000bf7f3f00ffff040000002d01010004000000f00102000b00000026060f000c004d72456401000200000001000e0000002403050000008101ef008101ef008901000089010000810107000000fc020000bf7f
0000ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001000e000000240305001c00620100008101ef008101d20062011c0062010a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff0100000000000e00000026060f001200ffffffff0000
080000004700de00a40071010e00000026060f001200ffffffff0000080000006700de0087001b010e00000026060f001200ffffffff0000080000006700e20085001b0107000000fc020000bf7f3f00ffff040000002d01010004000000f00102000b00000026060f000c004d7245640100020000000100500000002403
26006a00ee006900f1006800f5006800f9006700f8006700f9006700fd006800010168000301690004016a0003016b0004016c00130176001b0180001301820004018300040184000401850002018500fc008500f8008500f7008400f8008500f5008400f0008300ec008200e9008100e6007e00e5007b00e3007800e200
7500e2007300e3007000e4006e00e5006c00e7006a00ea006a00ee000e00000026060f001200ffffffff0000080000006700eb0082001b0107000000fc0200007f3f0000ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001007a00000024033b007200eb007100ef007000
f1007000f4007000f6007000f7007100f8007200f8007400f9007400f9007500fa007600fa007600fa007500fb007500fd0075000101740006017500070176000801760008017500080174000801740008017300070174000601740005017300fe007100fe007000fe007100fe006f00fe006e00ff006e0000016d000201
6e0005016f000601700006017000080171001201730013017400140176001401780014017b00130178001501770017017600180176001b016c0013016b0004016a00030169000401680003016700fe006700f9006700f8006800fa006a00ef007200eb000b00000026060f000c004d724564010002000000010026000000
240311007900fa007a00f9007c00f9007d00f9007e00f9008100fa008200fa008000fa008000fb007f00fc007f00fd008000fe007e00ff007c00fd007b00fd007a00fd007900fa000a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000007000000fc02000000000000ffff
040000002d01010004000000f00102000b00000026060f000c004d72456401000200000001007c00000024033c006700fa006700f8006700f4006700ef006800e9006900e6006a00e3006c00e2006e00e1006e00e0006e00e0006f00e0007100de007400de007600de007a00de007d00e0008000e2008100e4008300e500
8200e5008400e6008300e6008500e7008500e8008500ea008700ee008600f1008600f4008600f6008500fa008500f8008400f8008300fa008300fb008300ff008200f6008100f6008100f4008000f1008000ef008000ee008000ee007e00f0007a00f0007800ef007a00f1007500f0007000ef006e00ef006d00ee006c00
f0006b00f3006b00f6006a00fa006a00fe006900fb006800fa006800f9006700fa000a00000026060f000a00ffffffff0100000000000e00000026060f001200ffffffff000008000000680012018500610107000000fc0200009fbfff00ffff040000002d01020004000000f00101000b00000026060f000c004d724564
010002000000010012000000240307006c0012016800150177005301850017018200130177001c016c00120107000000fc0200003f7fff00ffff040000002d01010004000000f00102000b00000026060f000c004d7245640100020000000100100000002403060074001b0170002201750020017c00220177001b017400
1b010e00000026060f001200ffffffff0000080000006b0012018200610107000000fc020000001f9f00ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001002200000024030f0076001b0173001e017500220172002f01720038017200430172005901770061017c005801
7c0043017c0037017b002f017700210179001e0176001b0107000000fc0200009fbfff00ffff040000002d01010004000000f00102000b00000026060f000c004d724564010002000000010016000000240309006c00120176001a0180001201820013017d00250176001b01700025016b0014016c0012010a0000002606
0f000a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000007000000fc020000bf7f3f00ffff040000002d01020004000000f00101000b00000026060f000c004d7245640100020000000100280000002403120064005c016c00540170005101790054017f0058017f0065017900650172006501
6e0064016b00620169006101680061016500620162006201600062015f00600162005d0164005c010e00000026060f001200ffffffff00000800000061005c017d0071010b00000026060f000c004d7245640100020000000100280000002403120065005f016c005e0171005d0177005c017d0068017b006b0179006c01
78006e0176006f0174006f01710071016f0071016c006f016b006e0168006e0165006c016100690165005f010b00000026060f000c004d72456401000200000001000e0000002403050068005d016b005d0164006c0161006b0168005d010a00000026060f000a00ffffffff01000000000007000000fc0200005f5f5f00
ffff040000002d01010004000000f00102000b00000026060f000c004d724564010002000000010074000000240338006c00120159001c01540020014f0030014f0034014e0036014c00400149004801480051014800570147005d01470062014a00640162006d016a005c01590053015c0048015e005501610057016600
5a01690056016d00530170005001780054017c0056017c005501860056018e0056018f004701910055019200590190005601860056017c0055017c006801a1006901a4006601a00045019f003e019d0038019b0037019c00330197001e0193001c0180001201810015018200190181001e01800025017d00330177004901
700031016d0024016b0019016c0015016c0012010e00000026060f001200ffffffff0000080000004d0015018b0055010e00000026060f001200ffffffff000008000000620015018b00530107000000fc0200003f3f3f00ffff040000002d01020004000000f00101000b00000026060f000c004d724564010002000000
010016000000240309006800150165002101690022016400270174005001620027016700230162002301680015010b00000026060f000c004d724564010002000000010016000000240309008500180188002001830021018a002501770053018b002501850021018a002001850018010a00000026060f000a00ffffffff
0100000000000b00000026060f000c004d724564010002000000010026000000240311005b003f015900430156004501570046015700490156004b0156004e01530051014f0053014d00550151005501550053015700530157005401590054015d0044015b003f010a00000026060f000a00ffffffff0100000000000a00
000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000008000000fa0206000800080000000000040000002d0101000b00000026060f000c004d72456401000200000000000800000025030200f0008001500180010b00000026060f000c004d724564010002000000000008000000
250302005004f0039000e00104000000020101000f000000fb02a0ff0000000000009001000000000000002248656c760017040000002d01040004000000f00103000d000000320ad00220010b000000436f7272656374696f6e730010000000fb021000070000000000bc02000000000102022253797374656d00000400
00002d01030004000000f0010400040000002d01000004000000f001010007000000fc020100000000000000040000002d01010004000000f0010200040000002701ffff040000002701ffff03000000000095051e68b838ff76fa8b46f82b46f2508b46fa0346f450ff76f826060f000a00ffffffff0100000000000700
0000fc020000ffff01050000050000000d0000004d45544146494c4550494354003a3400004ce7ffffa811000008003a34b418b612
010009000003c308000005007c00000000001500000026060f001f00ffffffff0400150000004d7245640f004d6963726f736f6674204472617700005a00000026060f00a9004d72456402009f0000009d000100110001007302a8010000000000000100030000000000ffffff0000000000ffffff000100000100000001
000000000001000000000000010c0048656c7600020000000200000000000000ffffff0022ff88ff88ff88ff22ff88100000000000ffffff00c0c0c00080808000ff00000080000000ffff00008080000000ff00000080000000ffff00008080000000ff0000008000ff00ff0080008000000e00000026060f0012004d72
45640300080000000000de00d80b7806050000000b02de000000050000000c029a05d80b030000001e000400000003010800050000000102ffffff000500000009020000000004000000070103000400000004010d0004000000060101000400000002010200030000001e000e00000026060f0012004d72456403000800
00001008a005c009300607000000fc020000ffffff00ffff040000002d01000008000000fa0206000800080000000000040000002d010100070000001b043406c4099c050c080e00000026060f0012004d7245640300080000005001a005c0033006070000001b043406c4039c054c010e00000026060f0012004d724564
030008000000f006f000d00be001070000001b04e401d40bec00ec060e00000026060f0012004d7245640300080000005004600360068004090000001c0648004800840464065c034c040e00000026060f0012004d7245640300080000005001f0002004400207000000180444022404ec004c01040000002e011e000400
0000020101000f000000fb02a0ff0000000000009001000000000000002248656c760020040000002d0102000d000000320a8001ac020b000000446f63756d656e7420746f000d000000320ae001a6020c0000006265207075626c697368656413000000320a80012109180000006a61626265723a2f75736572732f646f
632f696e747261790a000000320af0030105060000005265766965770b000000320a50043d0508000000646f63756d656e740b000000320a00067c0208000000486f757365446f630a000000320a0006bb08060000004d61737465720b00000026060f000c004d7245640100020000000000080000002503020020048001
f00680010b00000026060f000c004d724564010002000000000008000000250302000009e001400560030b00000026060f000c004d7245640100020000000000080000002503020070058004a002a0050b00000026060f000c004d72456401000200000000000800000025030200c003d0051008d005040000002e011800
0b000000320a5001b004080000006d61696c2f7263700d000000320ad002b0070c000000506c61636520696e206f776e0c000000320a3003b00709000000776f726b2061726561000b000000320a6006e00408000000436865636b20696e0f000000fb02b0ff0000000000009001000000000000002248656c7600200400
00002d01030004000000f001020013000000320ae004b00118000000506c61636520617070726f76656420646f63756d656e74200d000000320a4005b0010b000000696e20486f757365446f63000e00000026060f001200ffffffff0000080000000000de00ef00e0010e00000026060f001200ffffffff000008000000
00006201ef00e00107000000fc0200007f3f0000ffff040000002d01020004000000f0010000040000000201020008000000fa02050000000000ffffff00040000002d01000004000000f00101000b00000026060f000c004d72456401000200000001000e00000024030500030086010300e001eb00e001eb0086010300
86010e00000026060f001200ffffffff00000800000000006201ef00890107000000fc020000bf7f3f00ffff040000002d01010004000000f00102000b00000026060f000c004d72456401000200000001000e0000002403050000008101ef008101ef008901000089010000810107000000fc020000bf7f0000ffff0400
00002d01020004000000f00101000b00000026060f000c004d72456401000200000001000e000000240305001c00620100008101ef008101d20062011c0062010a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff0100000000000e00000026060f001200ffffffff0000080000004700
de00a40071010e00000026060f001200ffffffff0000080000006700de0087001b010e00000026060f001200ffffffff0000080000006700e20085001b0107000000fc020000bf7f3f00ffff040000002d01010004000000f00102000b00000026060f000c004d724564010002000000010050000000240326006a00ee00
6900f1006800f5006800f9006700f8006700f9006700fd006800010168000301690004016a0003016b0004016c00130176001b0180001301820004018300040184000401850002018500fc008500f8008500f7008400f8008500f5008400f0008300ec008200e9008100e6007e00e5007b00e3007800e2007500e2007300
e3007000e4006e00e5006c00e7006a00ea006a00ee000e00000026060f001200ffffffff0000080000006700eb0082001b0107000000fc0200007f3f0000ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001007a00000024033b007200eb007100ef007000f1007000f400
7000f6007000f7007100f8007200f8007400f9007400f9007500fa007600fa007600fa007500fb007500fd0075000101740006017500070176000801760008017500080174000801740008017300070174000601740005017300fe007100fe007000fe007100fe006f00fe006e00ff006e0000016d0002016e0005016f00
0601700006017000080171001201730013017400140176001401780014017b00130178001501770017017600180176001b016c0013016b0004016a00030169000401680003016700fe006700f9006700f8006800fa006a00ef007200eb000b00000026060f000c004d724564010002000000010026000000240311007900
fa007a00f9007c00f9007d00f9007e00f9008100fa008200fa008000fa008000fb007f00fc007f00fd008000fe007e00ff007c00fd007b00fd007a00fd007900fa000a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000007000000fc02000000000000ffff040000002d01
010004000000f00102000b00000026060f000c004d72456401000200000001007c00000024033c006700fa006700f8006700f4006700ef006800e9006900e6006a00e3006c00e2006e00e1006e00e0006e00e0006f00e0007100de007400de007600de007a00de007d00e0008000e2008100e4008300e5008200e5008400
e6008300e6008500e7008500e8008500ea008700ee008600f1008600f4008600f6008500fa008500f8008400f8008300fa008300fb008300ff008200f6008100f6008100f4008000f1008000ef008000ee008000ee007e00f0007a00f0007800ef007a00f1007500f0007000ef006e00ef006d00ee006c00f0006b00f300
6b00f6006a00fa006a00fe006900fb006800fa006800f9006700fa000a00000026060f000a00ffffffff0100000000000e00000026060f001200ffffffff000008000000680012018500610107000000fc0200009fbfff00ffff040000002d01020004000000f00101000b00000026060f000c004d724564010002000000
010012000000240307006c0012016800150177005301850017018200130177001c016c00120107000000fc0200003f7fff00ffff040000002d01010004000000f00102000b00000026060f000c004d7245640100020000000100100000002403060074001b0170002201750020017c00220177001b0174001b010e000000
26060f001200ffffffff0000080000006b0012018200610107000000fc020000001f9f00ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001002200000024030f0076001b0173001e017500220172002f01720038017200430172005901770061017c0058017c0043017c00
37017b002f017700210179001e0176001b0107000000fc0200009fbfff00ffff040000002d01010004000000f00102000b00000026060f000c004d724564010002000000010016000000240309006c00120176001a0180001201820013017d00250176001b01700025016b0014016c0012010a00000026060f000a00ffff
ffff0100000000000a00000026060f000a00ffffffff01000000000007000000fc020000bf7f3f00ffff040000002d01020004000000f00101000b00000026060f000c004d7245640100020000000100280000002403120064005c016c00540170005101790054017f0058017f00650179006501720065016e0064016b00
620169006101680061016500620162006201600062015f00600162005d0164005c010e00000026060f001200ffffffff00000800000061005c017d0071010b00000026060f000c004d7245640100020000000100280000002403120065005f016c005e0171005d0177005c017d0068017b006b0179006c0178006e017600
6f0174006f01710071016f0071016c006f016b006e0168006e0165006c016100690165005f010b00000026060f000c004d72456401000200000001000e0000002403050068005d016b005d0164006c0161006b0168005d010a00000026060f000a00ffffffff01000000000007000000fc0200005f5f5f00ffff04000000
2d01010004000000f00102000b00000026060f000c004d724564010002000000010074000000240338006c00120159001c01540020014f0030014f0034014e0036014c00400149004801480051014800570147005d01470062014a00640162006d016a005c01590053015c0048015e0055016100570166005a0169005601
6d00530170005001780054017c0056017c005501860056018e0056018f004701910055019200590190005601860056017c0055017c006801a1006901a4006601a00045019f003e019d0038019b0037019c00330197001e0193001c0180001201810015018200190181001e01800025017d00330177004901700031016d00
24016b0019016c0015016c0012010e00000026060f001200ffffffff0000080000004d0015018b0055010e00000026060f001200ffffffff000008000000620015018b00530107000000fc0200003f3f3f00ffff040000002d01020004000000f00101000b00000026060f000c004d724564010002000000010016000000
240309006800150165002101690022016400270174005001620027016700230162002301680015010b00000026060f000c004d724564010002000000010016000000240309008500180188002001830021018a002501770053018b002501850021018a002001850018010a00000026060f000a00ffffffff010000000000
0b00000026060f000c004d724564010002000000010026000000240311005b003f015900430156004501570046015700490156004b0156004e01530051014f0053014d00550151005501550053015700530157005401590054015d0044015b003f010a00000026060f000a00ffffffff0100000000000a00000026060f00
0a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000008000000fa0206000800080000000000040000002d0101000b00000026060f000c004d72456401000200000000000800000025030200f0008001500180010b00000026060f000c004d724564010002000000000008000000250302005004
f0039000e00104000000020101000f000000fb02a0ff0000000000009001000000000000002248656c760017040000002d01040004000000f00103000d000000320ad00220010b000000436f7272656374696f6e730010000000fb021000070000000000bc02000000000102022253797374656d0000040000002d010300
04000000f0010400040000002d01000004000000f001010007000000fc020100000000000000040000002d01010004000000f0010200040000002701ffff040000002701ffff03000000000095051e68b838ff76fa8b46f82b46f2508b46fa0346f450ff76f8}{\result {{\pict\wmetafile8\picw13370\pich6324
\picwgoal7581\pichgoal3586 
010009000003c308000005007c00000000001500000026060f001f00ffffffff0400150000004d7245640f004d6963726f736f6674204472617700005a00000026060f00a9004d72456402009f0000009d000100110001007302a8010000000000000100030000000000ffffff0000000000ffffff00010000010000000100
0000000001000000000000010c0048656c7600020000000200000000000000ffffff0022ff88ff88ff88ff22ff88100000000000ffffff00c0c0c00080808000ff00000080000000ffff00008080000000ff00000080000000ffff00008080000000ff0000008000ff00ff0080008000000e00000026060f0012004d724564
0300080000000000de00d80b7806050000000b02de000000050000000c029a05d80b030000001e000400000003010800050000000102ffffff000500000009020000000004000000070103000400000004010d0004000000060101000400000002010200030000001e000e00000026060f0012004d72456403000800000010
08a005c009300607000000fc020000ffffff00ffff040000002d01000008000000fa0206000800080000000000040000002d010100070000001b043406c4099c050c080e00000026060f0012004d7245640300080000005001a005c0033006070000001b043406c4039c054c010e00000026060f0012004d72456403000800
0000f006f000d00be001070000001b04e401d40bec00ec060e00000026060f0012004d7245640300080000005004600360068004090000001c0648004800840464065c034c040e00000026060f0012004d7245640300080000005001f0002004400207000000180444022404ec004c01040000002e011e0004000000020101
000f000000fb02a0ff0000000000009001000000000000002248656c760020040000002d0102000d000000320a8001ac020b000000446f63756d656e7420746f000d000000320ae001a6020c0000006265207075626c697368656413000000320a80012109180000006a61626265723a2f75736572732f646f632f696e7472
61790a000000320af0030105060000005265766965770b000000320a50043d0508000000646f63756d656e740b000000320a00067c0208000000486f757365446f630a000000320a0006bb08060000004d61737465720b00000026060f000c004d7245640100020000000000080000002503020020048001f00680010b0000
0026060f000c004d724564010002000000000008000000250302000009e001400560030b00000026060f000c004d7245640100020000000000080000002503020070058004a002a0050b00000026060f000c004d72456401000200000000000800000025030200c003d0051008d005040000002e0118000b000000320a5001
b004080000006d61696c2f7263700d000000320ad002b0070c000000506c61636520696e206f776e0c000000320a3003b00709000000776f726b2061726561000b000000320a6006e00408000000436865636b20696e0f000000fb02b0ff0000000000009001000000000000002248656c760020040000002d010300040000
00f001020013000000320ae004b00118000000506c61636520617070726f76656420646f63756d656e74200d000000320a4005b0010b000000696e20486f757365446f63000e00000026060f001200ffffffff0000080000000000de00ef00e0010e00000026060f001200ffffffff00000800000000006201ef00e0010700
0000fc0200007f3f0000ffff040000002d01020004000000f0010000040000000201020008000000fa02050000000000ffffff00040000002d01000004000000f00101000b00000026060f000c004d72456401000200000001000e00000024030500030086010300e001eb00e001eb008601030086010e00000026060f0012
00ffffffff00000800000000006201ef00890107000000fc020000bf7f3f00ffff040000002d01010004000000f00102000b00000026060f000c004d72456401000200000001000e0000002403050000008101ef008101ef008901000089010000810107000000fc020000bf7f0000ffff040000002d01020004000000f001
01000b00000026060f000c004d72456401000200000001000e000000240305001c00620100008101ef008101d20062011c0062010a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff0100000000000e00000026060f001200ffffffff0000080000004700de00a40071010e00000026060f
001200ffffffff0000080000006700de0087001b010e00000026060f001200ffffffff0000080000006700e20085001b0107000000fc020000bf7f3f00ffff040000002d01010004000000f00102000b00000026060f000c004d724564010002000000010050000000240326006a00ee006900f1006800f5006800f9006700
f8006700f9006700fd006800010168000301690004016a0003016b0004016c00130176001b0180001301820004018300040184000401850002018500fc008500f8008500f7008400f8008500f5008400f0008300ec008200e9008100e6007e00e5007b00e3007800e2007500e2007300e3007000e4006e00e5006c00e7006a
00ea006a00ee000e00000026060f001200ffffffff0000080000006700eb0082001b0107000000fc0200007f3f0000ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001007a00000024033b007200eb007100ef007000f1007000f4007000f6007000f7007100f8007200f800
7400f9007400f9007500fa007600fa007600fa007500fb007500fd0075000101740006017500070176000801760008017500080174000801740008017300070174000601740005017300fe007100fe007000fe007100fe006f00fe006e00ff006e0000016d0002016e0005016f000601700006017000080171001201730013
017400140176001401780014017b00130178001501770017017600180176001b016c0013016b0004016a00030169000401680003016700fe006700f9006700f8006800fa006a00ef007200eb000b00000026060f000c004d724564010002000000010026000000240311007900fa007a00f9007c00f9007d00f9007e00f900
8100fa008200fa008000fa008000fb007f00fc007f00fd008000fe007e00ff007c00fd007b00fd007a00fd007900fa000a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000007000000fc02000000000000ffff040000002d01010004000000f00102000b00000026060f000c
004d72456401000200000001007c00000024033c006700fa006700f8006700f4006700ef006800e9006900e6006a00e3006c00e2006e00e1006e00e0006e00e0006f00e0007100de007400de007600de007a00de007d00e0008000e2008100e4008300e5008200e5008400e6008300e6008500e7008500e8008500ea008700
ee008600f1008600f4008600f6008500fa008500f8008400f8008300fa008300fb008300ff008200f6008100f6008100f4008000f1008000ef008000ee008000ee007e00f0007a00f0007800ef007a00f1007500f0007000ef006e00ef006d00ee006c00f0006b00f3006b00f6006a00fa006a00fe006900fb006800fa0068
00f9006700fa000a00000026060f000a00ffffffff0100000000000e00000026060f001200ffffffff000008000000680012018500610107000000fc0200009fbfff00ffff040000002d01020004000000f00101000b00000026060f000c004d724564010002000000010012000000240307006c0012016800150177005301
850017018200130177001c016c00120107000000fc0200003f7fff00ffff040000002d01010004000000f00102000b00000026060f000c004d7245640100020000000100100000002403060074001b0170002201750020017c00220177001b0174001b010e00000026060f001200ffffffff0000080000006b001201820061
0107000000fc020000001f9f00ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001002200000024030f0076001b0173001e017500220172002f01720038017200430172005901770061017c0058017c0043017c0037017b002f017700210179001e0176001b0107000000fc02
00009fbfff00ffff040000002d01010004000000f00102000b00000026060f000c004d724564010002000000010016000000240309006c00120176001a0180001201820013017d00250176001b01700025016b0014016c0012010a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff010000
00000007000000fc020000bf7f3f00ffff040000002d01020004000000f00101000b00000026060f000c004d7245640100020000000100280000002403120064005c016c00540170005101790054017f0058017f00650179006501720065016e0064016b00620169006101680061016500620162006201600062015f006001
62005d0164005c010e00000026060f001200ffffffff00000800000061005c017d0071010b00000026060f000c004d7245640100020000000100280000002403120065005f016c005e0171005d0177005c017d0068017b006b0179006c0178006e0176006f0174006f01710071016f0071016c006f016b006e0168006e0165
006c016100690165005f010b00000026060f000c004d72456401000200000001000e0000002403050068005d016b005d0164006c0161006b0168005d010a00000026060f000a00ffffffff01000000000007000000fc0200005f5f5f00ffff040000002d01010004000000f00102000b00000026060f000c004d7245640100
02000000010074000000240338006c00120159001c01540020014f0030014f0034014e0036014c00400149004801480051014800570147005d01470062014a00640162006d016a005c01590053015c0048015e0055016100570166005a01690056016d00530170005001780054017c0056017c005501860056018e0056018f
004701910055019200590190005601860056017c0055017c006801a1006901a4006601a00045019f003e019d0038019b0037019c00330197001e0193001c0180001201810015018200190181001e01800025017d00330177004901700031016d0024016b0019016c0015016c0012010e00000026060f001200ffffffff0000
080000004d0015018b0055010e00000026060f001200ffffffff000008000000620015018b00530107000000fc0200003f3f3f00ffff040000002d01020004000000f00101000b00000026060f000c004d72456401000200000001001600000024030900680015016500210169002201640027017400500162002701670023
0162002301680015010b00000026060f000c004d724564010002000000010016000000240309008500180188002001830021018a002501770053018b002501850021018a002001850018010a00000026060f000a00ffffffff0100000000000b00000026060f000c004d724564010002000000010026000000240311005b00
3f015900430156004501570046015700490156004b0156004e01530051014f0053014d00550151005501550053015700530157005401590054015d0044015b003f010a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff0100000000000a00000026060f000a00ffffffff01000000000008
000000fa0206000800080000000000040000002d0101000b00000026060f000c004d72456401000200000000000800000025030200f0008001500180010b00000026060f000c004d724564010002000000000008000000250302005004f0039000e00104000000020101000f000000fb02a0ff000000000000900100000000
0000002248656c760017040000002d01040004000000f00103000d000000320ad00220010b000000436f7272656374696f6e730010000000fb021000070000000000bc02000000000102022253797374656d0000040000002d01030004000000f0010400040000002d01000004000000f001010007000000fc020100000000
000000040000002d01010004000000f0010200040000002701ffff040000002701ffff03000000000095051e68b838ff76fa8b46f82b46f2508b46fa0346f450ff76f8}}}}}
\par \pard \s2\qj\sb120 
\par For security reasons, doc is the only user that can access the documents in the master area using cvs.  All other users mu
st use tools that have been provided.  These tools are desribed in Appendix 1 and can be broken down into two categories, those that are cvs based and those that are catalogue based.  In addition, the tools check user security levels for access rights.  I
n the case of the cvs tools, access is given to all users who have cvs tools privileges.  For some of the catalogue tools, the access is dependent upon the security level of the document.
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab The Documentation Store
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 The documentation store resides on jabber in the /usr/users/doc/master directory under the {\b cvs} revision control system [1].
\par This store should always be accessed by using the revision control commands [1].  The {\b doc} user is the only user that has read and write access to the main repository.  Programs have been provided to give all other users read access (see Appendix 1).

\par There is a {\b checked out} version of the documentation store in the /usr/users/doc/HouseDoc directory which is the working area for the documentation department.  It is from here that the main repository can be amended.  Each time a document is {\b 
checked in} to the documentation store, the {\b makecat} program which resides in /usr/users/doc/bin is executed and creates a new catalogue of the documentation store.
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab The Catalogue
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 
The catalogue resides in /usr/users/doc/bin and its purpose is to represent the documentation store.  It contains the following information about each document and each field of information has been arbitarily set to 500 characters.  The presen
ce of some of the fields is compulsory and that of others is optional.
\par \pard \s2\qj\fi-360\li360\sb120 {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Document Number}. The document number, in the following format: CMP-PRJ-INI-YR-NUM.V [compulsory]
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Title}. The title of the document [compulsory]
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Subject}
. The subject of the document.  With documents produced by Microsoft Word for Windows, the subject is printed on the title page and is also used as a page footer throughout the document  [compulsory].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Author}. The full name of the original author of the document [compulsory].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Operator}. The name of the person who modified the document [optional].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Ke}{\b ywords}
. A list of keywords found in the document.  With documents produced by Microsoft Word for Windows $Id: jmw91004.rtf,v 1.1 1992/01/09 15:41:28 doc Exp $ is stored here for cvs purposes [optional except for $Id: jmw91004.rtf,v 1.1 1992/01
/09 15:41:28 doc Exp $].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Version}. The current version of the document [compulsory].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Comments}
. Comments to be stored with the document.  If the author wishes to express any security information, such as a directive that the document should not be altered by anyone but him/herself, this should be indicated here [optional].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Date}. The date associated with this version of the document [compulsory].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Pages}. The number of pages [optional].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b FileName}. The name of the file in which the document is stored [compulsory].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Abstract}. The abstract of the document [optional].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b State}. The state of the document. The state of the document is either DRAFT  or APPROVED [compulsory].
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Security}. The security of the document. There is currently PSL confidential [compulsory].  
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Read}{\b er}. The readership of the document [compulsory].  The different readership values are:
\par \pard \s2\qc\fi-360\li360\sb120 PSL General, PSL Itron Group, etc.
\par \pard \s2\qj\sb120 If any of the above information is not provided the fields remain blank.
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab The Tools
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 
A set of tools has been provided to allow user access to the documentation store and to interrogate the catalogue.  All executables are stored in /usr/users/doc/bin and all sources are stored in /usr/users/doc/catalogue/source or /usr/users/doc/scripts.  
Appendix 1 of this document describes the technical details of each of the tools.  The tools are broken down into two categories as shown below.  A security file is stored with these tools. It informs the tools of the access allowed for each user.  The fo
rmat of the security file is as follows:
\par \pard \s2\qc\sb120 user{\b |}access{\b |}access{\b |}access{\b \\}
\par user{\b |}access{\b |}access{\b |}access{\b \\}
\par \pard \s2\qj\sb120 In the format, the user is the logname of the user and access is a security level such as PSL Confidential.  A user can have any number of accesses.
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\f3\fs28\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab Cvs-based tools
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 
These tools are C programs that provide a system call to cvs commands.  The executables are executed under the doc user id to allow access to the master repository.  These tools only provide limited access though: no tools will modify t
he master repository have been provided.  The programs also check the security file which resides in /usr/users/doc/bin to check whether the user has cvs tools privileges. The names of these programs are prefixed by cvs, for example cvsdiff.
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\f3\fs28\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab Catalogue-based tools
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 
These tools rely on the presence of the catalogue in /usr/users/doc/bin.  The catalogue is used to search for information about the documents that is required to fulfil the user's request.  Some of the tools make checks for security,
 though the depth of these checks varies.  The names of these programs are prefixed by doc.
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 \page Appendix 1- Description of the tools
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 cvsco
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs co}
 and it will accept the same arguments as cvs co.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program checks out the latest versi
ons of the documents in the documentation store into a directory named HouseDoc in the current directory.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 cvsdiff
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs diff}
 and it will accept the same arguments as cvs diff.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program compares the differences 
between the checked out file and the file in the repository.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 cvslog
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs log}
 and it will accept the same arguments as cvs log.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program displays the revision log 
information of the given files.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 cvsstatus
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs status}
 and it will accept the same arguments as cvs status.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program displays three lines of
 information for each of the given files.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 cvsupdate
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs update}
 and it will accept the same arguments as cvs update.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program brings the current chec
ked out version uptodate with the repository.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 docfind
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program generated from {\b lex}
 that will output selected columns depending on conditions specified.  It will always display the document number column whether this is specified or not.  If no conditions are specified, all documents are selected.  The syntax of the command is as follow
s:
\par \pard \s2\qc\sb120 {\b docfind} field field ... [{\b where} field = value field = value ...]
\par \pard \s2\qj\sb120 [ ] is optional
\par Value is a string of characters.  For more complicated strings with spaces and punctuation it can be enclosed in quotes. For example, "Va lue!".
\par Docfind will search the catalogue to satisfy the request.  The format of the output is as follows:
\par \pard \s2\li1980\sb120 Heading | Heading | Heading .... \\\\
\par Value | Value | Value ... \\\\
\par Value | Value | Value ... \\\\
\par \pard \s2\qj\sb120 The output can be redirected to a file using the redirection command {\b >}.  Then the output can be printed as a latex document using the {\b cat2tex} program provided.  No security checks are made with this command.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 docget
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a program that gets the latest version of the document specified from the main repository.  The syntax of this command is as follows:
\par \pard \s2\qj\li1980\sb120 {\b docget} document_number
\par \pard \s2\qj\sb120 The format of the document_number is CMP-PRJ-INI-YR-NUM.V (see User Reference)
\par The program will check out the file including its path.
\par The command is a shell script, {\b docget} which in turn calls a lex program, {\b docgetexe}.  The program makes security checks.  It obtains 
the logname of the user and the user's security record, if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the document.
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\f3\fs28\lang2057 docprint
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a program that prints out the given document.  The syntax of this command is as follows:
\par \pard \s2\qj\li1980\sb120 {\b docprint} document_number
\par \pard \s2\qj\sb120 The format of the document_number is CMP-PRJ-INI-YR-NUM.V
\par The program check outs  all the files necessary to produce the document, and runs Latex on them and prints the document out.  All the extra files created during the process are then deleted.
\par The program makes security checks.  It obtains the logname of the user and the user's security record, if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the docume
nt.
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\f3\fs28\lang2057 docview
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a program that runs xdvi on the given document.  The syntax of this command is as follows:
\par \pard \s2\qj\fi1980\sb120 {\b docview} document_number
\par \pard \s2\qj\sb120 The format of the document_number is CMP-PRJ-INI-YR-NUM.V
\par The program check outs  all the files necessary to produce the document, and runs Latex on them and runs xdvi on the output file.  All the extra files created during the process are then deleted.
\par The program makes security checks.  It obtains the logname of the user and the user's security record if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the documen
t.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 docnumber
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This program returns the next document number to be used.  The syntax of the command is as follows:
\par \pard \s2\qj\li1980\sb120 {\b docnumber} number
\par \pard \s2\qj\sb120 (where number should be of the form: CMP-PRJ-INI-YR.)
\par The program searches the catalogue for the document with the largest number and will return to the user the next number. 
\par The command is a shell script, {\b docnumber} which in turn calls a lex program, {\b docnumberexe}
.  The shell script runs the docfind command to extract all documents with the given number.  These numbers are then sorted in ascending order and docnumberexe reads in all the numbers and increments the last one by one and outputs that as the next file n
umber.  A limit of 999 has been placed on the NUM part of the document number.
\par The program makes security checks.  It obtains the logname of the user and checks whether that user has a record in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 docuniq
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This program given a number will inform the user whether it is unique or not.  The syntax of the command is:
\par \pard \s2\qj\li1980\sb120 {\b docuniq} number
\par \pard \s2\qj\sb120 where number is of the form PSL-PRJ-INI-YR-NUM.V
\par The command searches the catalogue to see if another number similar to the one given can be found
\par The command is a shell script {\b docuniq} which in turn calls a lex program {\b docuniqexe}.  The program makes security checks.  It obtains the logname of the user and checks whether that user has a record in the security file.
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 cat2tex
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This program converts the catalogue or output produced from the {\b docfind} command into a latex document.  It uses the A4 landscape format and is printed by the following command on betty or jabber:
\par \pard \s2\qj\li1980\sb120 pstex -olandscape filename
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 makecat
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 
This program creates a catalogue from all the documents stored in the documentation store.  It scans each document in turn for information ( see the section on The Catalogue section 5, page 4) and outputs the information to a file called catalogue in /usr
/users/doc/bin on jabber.
\par {\b Makecat} will only scan tex files and rtf (rich text format) files.  It is executed automatically when a document is checked in using the {\b cvs ci} command.
\par \pard\plain \s254\sb480\keepn \b\f3\fs36\lang2057 Appendix 2 - Tests performed on tools
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 Cvs-based tools
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 {\plain \b\f3\lang2057 Test suite}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 testcvs.txt}}{\fldrslt #!/bin/csh
\par 
\par echo Test cvsco > cvsco.txt
\par Testcvsco >>& cvsco.txt
\par 
\par echo Test cvsdiff > cvsdiff.txt
\par Testcvsdiff >>& cvsdiff.txt
\par 
\par echo Test cvslog > cvslog.txt
\par Testcvslog >>& cvslog.txt
\par 
\par echo Test cvsstatus > cvsstatus.txt
\par Testcvsstatus >>& cvsstatus.txt
\par 
\par echo Test cvsupdate > cvsupdate.txt
\par Testcvsupdate >>& cvsupdate.txt
\par 
\par echo rm -r HouseDoc
\par rm -r HouseDoc
\par 
\par echo Finished testing
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testcvsco}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 cvsco.txt}}{\fldrslt Test cvsco
\par cvsco
\par Usage: cvs co [-Qqlfnp] [-c] [-r tag|-D date] modules...
\par cvsco abc
\par cvs: cannot find 'abc' - ignored
\par cvsco DOC
\par cvs co: Updating HouseDoc/DOC
\par cvsco HouseDoc
\par cvs co: Updating HouseDoc/DOC
\par cvs co: Updating HouseDoc/Trial
\par U HouseDoc/Trial/document.tex
\par U HouseDoc/Trial/dwm91004.tex
\par U HouseDoc/Trial/gihplkfs.rtf
\par U HouseDoc/Trial/makefile
\par cvs co: Updating HouseDoc/CAT
\par cvs co: Updating HouseDoc/ESP
\par cvs co: Updating HouseDoc/HEL
\par cvs co: Updating HouseDoc/HMS
\par cvs co: Updating HouseDoc/IED
\par cvs co: Updating HouseDoc/ITR
\par cvs co: Updating HouseDoc/PAT
\par cvs co: Updating HouseDoc/TIP
\par cvs co: Updating HouseDoc/TLS
\par cvs co: Updating HouseDoc/GEN
\par cvs co: Updating HouseDoc/TRN
\par cvs co: Updating HouseDoc/HBK
\par cvs co: Updating HouseDoc/HBK/diags
\par finished cvsco tests
\par \pard \li720 }}\pard\plain \li720 \f3\fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 {\plain \b\f3\lang2057 Testcvsdiff}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 cvsdiff.txt}}{\fldrslt Test cvsdiff
\par cvsdiff
\par cvs: there is no version here; do 'cvs checkout' first
\par cvsdiff abc
\par cvs: there is no version here; do 'cvs checkout' first
\par cvsdiff HouseDoc/Trial/dwm91004.tex
\par cvs: there is no version here; do 'cvs checkout' first
\par cd HouseDoc/Trial
\par cvsdiff dwm91004.tex
\par ===================================================================
\par RCS file: /users/doc/master/HouseDoc/Trial/dwm91004.tex,v
\par retrieving revision 1.6
\par diff -r1.6 dwm91004.tex
\par cd ../..
\par \pard \li720 }}\pard\plain \li720 \f3\fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 {\plain \b\f3\lang2057 Testcvslog}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 cvslog.txt}}{\fldrslt Test cvslog
\par cvslog
\par cvs: there is no version here; do 'cvs checkout' first
\par cvslog abc
\par cvs: there is no version here; do 'cvs checkout' first
\par cvslog HouseDoc/Trial/dwm91004.tex
\par cvs: there is no version here; do 'cvs checkout' first
\par cd HouseDoc/Trial
\par cvslog dwm91004.tex
\par 
\par RCS file: /users/doc/master/HouseDoc/Trial/dwm91004.tex,v
\par Working file: dwm91004.tex
\par head: 1.6
\par branch:
\par locks: strict
\par access list:
\par symbolic names:
\par comment leader: "% "
\par keyword substitution: kv
\par total revisions: 6;\tab selected revisions: 6
\par description:
\par tex doc
\par ----------------------------
\par revision 1.6
\par date: 1991/12/10 10:29:39;  author: doc;  state: Exp;  lines: +2 -184
\par Made the dwm file smaller
\par Added clean
\par ----------------------------
\par revision 1.5
\par date: 1991/12/02 15:17:06;  author: doc;  state: Exp;  lines: +3 -2
\par Added security
\par ----------------------------
\par revision 1.4
\par date: 1991/11/14 16:57:09;  author: doc;  state: Exp;  lines: +4 -2
\par got rid of INT and added state and reader
\par ----------------------------
\par revision 1.3
\par date: 1991/11/07 14:21:37;  author: doc;  state: Exp;  lines: +2 -1
\par *** empty log message ***
\par ----------------------------
\par revision 1.2
\par date: 1991/11/06 10:26:11;  author: doc;  state: Exp;  lines: +11 -7
\par trying out docprint
\par ----------------------------
\par revision 1.1
\par date: 1991/10/17 13:35:05;  author: doc;  state: Exp;
\par Initial revision
\par =============================================================================
\par cd ../..
\par \pard \li720 }}\pard\plain \li720 \f3\fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 {\plain \b\f3\lang2057 Testcvsstatus}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 cvsstatu.txt}}{\fldrslt Test cvsstatus
\par cvsstatus
\par cvs: there is no version here; do 'cvs checkout' first
\par cvsstatus abc
\par cvs: there is no version here; do 'cvs checkout' first
\par cvsstatus HouseDoc/Trial/dwm91004.tex
\par cvs: there is no version here; do 'cvs checkout' first
\par cd HouseDoc/Trial
\par cvsstatus dwm91004.tex
\par File:\tab dwm91004.tex
\par From:\tab 1.6\tab Wed Jan  8 11:14:48 1992 dwm91004.tex
\par RCS:\tab 1.6\tab /users/doc/master/HouseDoc/Trial/dwm91004.tex,v
\par 
\par cd ../..
\par \pard \li720 }}\pard\plain \li720 \f3\fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 {\plain \b\f3\lang2057 Testcvsupdate}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 cvsupdat.txt}}{\fldrslt Test cvsupdate
\par cvsupdate
\par cvs: warning: no CVS.adm directory found
\par cvs update: Updating HouseDoc
\par cvs update: Updating HouseDoc/DOC
\par cvs update: Updating HouseDoc/Trial
\par cvs update: Updating HouseDoc/CAT
\par cvs update: Updating HouseDoc/ESP
\par cvs update: Updating HouseDoc/HEL
\par cvs update: Updating HouseDoc/HMS
\par cvs update: Updating HouseDoc/IED
\par cvs update: Updating HouseDoc/ITR
\par cvs update: Updating HouseDoc/PAT
\par cvs update: Updating HouseDoc/TIP
\par cvs update: Updating HouseDoc/TLS
\par cvs update: Updating HouseDoc/GEN
\par cvs update: Updating HouseDoc/TRN
\par cvs update: Updating HouseDoc/HBK
\par cvs update: Updating HouseDoc/HBK/diags
\par cvsupdate abc
\par cvs: warning: no CVS.adm directory found
\par cvs: nothing known about abc
\par cvsupdate HouseDoc
\par cvs: warning: no CVS.adm directory found
\par cvs update: Updating HouseDoc
\par cvs update: Updating HouseDoc/DOC
\par cvs update: Updating HouseDoc/Trial
\par cvs update: Updating HouseDoc/CAT
\par cvs update: Updating HouseDoc/ESP
\par cvs update: Updating HouseDoc/HEL
\par cvs update: Updating HouseDoc/HMS
\par cvs update: Updating HouseDoc/IED
\par cvs update: Updating HouseDoc/ITR
\par cvs update: Updating HouseDoc/PAT
\par cvs update: Updating HouseDoc/TIP
\par cvs update: Updating HouseDoc/TLS
\par cvs update: Updating HouseDoc/GEN
\par cvs update: Updating HouseDoc/TRN
\par cvs update: Updating HouseDoc/HBK
\par cvs update: Updating HouseDoc/HBK/diags
\par cvsupdate HouseDoc/Trial
\par cvs: warning: no CVS.adm directory found
\par cvs update: Updating HouseDoc/Trial
\par cvsupdate HouseDoc/Trial/dwm91004.tex
\par cvs: warning: no CVS.adm directory found
\par cvs: nothing known about HouseDoc/Trial/dwm91004.tex
\par cd HouseDoc/Trial
\par cvsupdate dwm91004.tex
\par cd ../..
\par \pard \li720 }}\pard\plain \li720 \f3\fs20\lang2057 
\par \pard\plain \s253\sb360\keepn \b\f3\fs28\lang2057 Catalogue-based tools
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 {\plain \b\f3\lang2057 Test suite}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 testdoc.txt}}{\fldrslt #!/bin/csh
\par 
\par echo Testdocget > docget.txt
\par Testdocget >>& docget.txt
\par 
\par echo Testdocnumber > docnumber.txt
\par Testdocnumber >>& docnumber.txt
\par 
\par echo Testdocuniq > docuniq.txt
\par Testdocuniq >>& docuniq.txt
\par 
\par echo Testdocview > docview.txt
\par Testdocview >>& docview.txt
\par 
\par echo Testcat2tex > cat2tex.txt
\par Testcat2tex >>& cat2tex.txt
\par 
\par echo Testdocfind > docfind.txt
\par Testdocfind >>& docfind.txt
\par 
\par echo Testdocprint > docprint.txt
\par Testdocprint >>& docprint.txt
\par 
\par echo Finished testing suite
\par 
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testdocfind}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 docfind.txt}}{\fldrslt Testdocfind
\par docfind
\par No arguments entered
\par 
\par docfind [field field ...] [where field = value field = value ...]
\par 
\par Field is Title Subject Author Version Comments Date FileName Operator Number Pages Keywords Abstract State Security or Reader
\par 
\par docfind Title
\par File Number | Title \\\\
\par PSL----. |  \\\\
\par PSL----. |  \\\\
\par PSL-ITR-JMW-91-004.1 | Functional Specification \\\\
\par PSL-PAT-DWM-91-004.1 | Perihelion Application Toolkit \\\\
\par docfind askldjflsdk
\par Incorrect field entered to print
\par docfind Title Subject Author Number Operator Keywords Version Comments Date Pages FileName Abstract State Reader Security
\par File Number | Title | Subject | Author | Operator | Keywords | Version | Comments | Date | Pages | File Name | Abstract | State | Security | Reader \\\\
\par PSL----. |  |  |  |  |  |  |  | -- : |  | HouseDoc/Trial/Attic/docinfo.tex |  |  |  |  \\\\
\par PSL----. |  |  |  |  |  |  |  | -- : |  | HouseDoc/Trial/document.tex |  |  |  |  \\\\
\par PSL-ITR-JMW-91-004.1 | Functional Specification | GIHP Link | Judith M Wildman |  | Hello  there, What a nice day | 1 |  | 1991-9-24 14:19 | 1 | HouseDoc/Trial/gihplkfs.rtf |  |  |  |  \\\\
\par PSL-PAT-DWM-91-004.1 | Perihelion Application Toolkit | Database Architectual Design | D W More |  | Hello  there, What a nice day | 1 |  | 91-9-30 : | 1 | HouseDoc/Trial/dwm91004.tex |  | Draft | PAT Group |  \\\\
\par File Number | Title | Subject | Author | Operator | Keywords | Version | Comments | Date | Pages | File Name | Abstract | State | Security | Reader \\\\
\par PSL----. |  |  |  |  |  |  |  | -- : |  | HouseDoc/Trial/Attic/docinfo.tex |  |  |  |  \\\\
\par PSL----. |  |  |  |  |  |  |  | -- : |  | HouseDoc/Trial/document.tex |  |  |  |  \\\\
\par PSL-ITR-JMW-91-004.1 | Functional Specification | GIHP Link | Judith M Wildman |  | Hello  there, What a nice day | 1 |  | 1991-9-24 14:19 | 1 | HouseDoc/Trial/gihplkfs.rtf |  |  |  |  \\\\
\par PSL-PAT-DWM-91-004.1 | Perihelion Application Toolkit | Database Architectual Design | D W More |  | Hello  there, What a nice day | 1 |  | 91-9-30 : | 1 | HouseDoc/Trial/dwm91004.tex |  | Draft | PAT Group |  \\\\
\par docfind Title Subject Author where Author = m wild Subject = link
\par File Number | Title | Subject | Author \\\\
\par PSL-ITR-JMW-91-004.1 | Functional Specification | GIHP Link | Judith M Wildman \\\\
\par docfind Title FileName Abstract where Author = m wild Subject = link Abstract = End
\par File Number | Title | File Name | Abstract \\\\
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testdocget}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 docget.txt}}{\fldrslt Testdocget
\par docget
\par No file Number entered
\par docget CMP-PRJ-INI-YR-NUM.V
\par docget alkdjf
\par No files found of that number or access refused
\par docget PSL-PAT-DDD
\par No files found of that number or access refused
\par docget PSL-PAT-DDD-90-001.1
\par No files found of that number or access refused
\par docget PSL-PAT-DWM-91-004.1
\par File Name is HouseDoc/Trial/dwm91004.tex
\par cvsco HouseDoc/Trial/dwm91004.tex
\par U dwm91004.tex
\par docget PSL-PAT-DWM-91-004.12
\par No files found of that number or access refused
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testdocprint}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 docprint.txt}}{\fldrslt Testdocprint
\par docprint
\par No arguments entered: docprint CMP-PRJ-INI-YR-NUM.V
\par 
\par docprint lajdfaslk
\par Invalid number entered: format should be CMP-PRJ-INI-YR-NUM.V
\par docprint PSL-ITR-JMW-91-004.1
\par Permission denied to print file
\par docprint PSL-PAT-DWM
\par Invalid number entered: format should be CMP-PRJ-INI-YR-NUM.V
\par docprint PSL-PAT-DWM-91-004.1
\par file is tex,v
\par U makefile
\par cvsco HouseDoc/Trial/dwm91004.tex
\par U dwm91004.tex
\par cvsco HouseDoc/Trial/document.tex
\par U document.tex
\par gmake dwm91004.dvi
\par ls > dwm91004.ind
\par latex dwm91004
\par This is TeX, C Version 3.14t3
\par (dwm91004.tex
\par LaTeX Version 2.09 <7 Dec 1989>
\par \\@@input\{document.aux\}
\par (document.tex (/usr/local/lib/TeX/inputs/article.sty
\par Document Style `article' <16 Mar 88>.
\par (/usr/local/lib/TeX/inputs/art10.sty)) (/usr/local/lib/TeX/inputs/a4.sty)
\par (/usr/local/lib/TeX/inputs/makeidx.sty)
\par Writing index file dwm91004.idx 
\par No file dwm91004.aux.
\par )
\par No file c++.tex.
\par (/usr/local/lib/TeX/inputs/docinfo.tex) [1]
\par No file dwm91004.toc.
\par [3] [4] (dwm91004.ind) [5] (dwm91004.aux (c++.aux) (docinfo.aux)) )
\par Output written on dwm91004.dvi (4 pages, 3796 bytes).
\par Transcript written on dwm91004.log.
\par makeindex dwm91004
\par This is makeindex, portable version 2.4 [20-Mar-88].
\par Scanning input file dwm91004.idx...done (0 entries accepted, 0 rejected).
\par Nothing written in dwm91004.ind.
\par Transcript written in dwm91004.ilg.
\par latex dwm91004
\par This is TeX, C Version 3.14t3
\par (dwm91004.tex
\par LaTeX Version 2.09 <7 Dec 1989>
\par \\@@input\{document.aux\}
\par (document.tex (/usr/local/lib/TeX/inputs/article.sty
\par Document Style `article' <16 Mar 88>.
\par (/usr/local/lib/TeX/inputs/art10.sty)) (/usr/local/lib/TeX/inputs/a4.sty)
\par (/usr/local/lib/TeX/inputs/makeidx.sty)
\par Writing index file dwm91004.idx 
\par (dwm91004.aux (c++.aux) (docinfo.aux)))
\par No file c++.tex.
\par (/usr/local/lib/TeX/inputs/docinfo.tex) [1] (dwm91004.toc) [3] [4]
\par (dwm91004.ind) [5] (dwm91004.aux (c++.aux) (docinfo.aux)) )
\par Output written on dwm91004.dvi (4 pages, 3808 bytes).
\par Transcript written on dwm91004.log.
\par lptex dwm91004
\par [1] [3] [4] [5] 
\par Finished Testing docprint
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testdocview}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 docview.txt}}{\fldrslt Testdocview
\par docview
\par No arguments entered: docview CMP-PRJ-INI-YR-NUM.V
\par 
\par docview lajdfaslk
\par Invalid number entered: format should be CMP-PRJ-INI-YR-NUM.V
\par docview PSL-ITR-JMW-91-004.1
\par Permission denied to view file
\par docview PSL-PAT-DWM
\par Invalid number entered: format should be CMP-PRJ-INI-YR-NUM.V
\par Finished Testing docview
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testdocnumber}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 docnumbe.txt}}{\fldrslt Testdocnumber
\par docnumber
\par No number entered
\par docnumber CMP-PRJ-INI-YR
\par docnumber PSL-PAT
\par Invalid argument
\par docnumber laskdjfslk
\par Invalid argument
\par docnumber PSL-PAT-DWM-91
\par Last number is PSL-PAT-DWM-91-004.1
\par Your new number is PSL-PAT-DWM-91-005.1
\par docnumber PSL-PAT-DWM-91-004.1
\par Last number is PSL-PAT-DWM-91-004.1
\par Your new number is PSL-PAT-DWM-91-005.1
\par docnumber PSL-PAT-DWM-91-004.12
\par No numbers exist of this pattern (pattern maybe invalid)
\par docnumber PSL-PAT-DWM-91-005.1
\par No numbers exist of this pattern (pattern maybe invalid)
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\f3\lang2057 Testdocuniq}{\plain \b\f3\lang2057 
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs48 include c:}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 test}{\b\fs48 \\}{\b\fs48 \\}{\b\fs48 docuniq.txt}}{\fldrslt Testdocuniq
\par docuniq
\par No file Number entered
\par docuniq CMP-PRJ-INI-YR-NUM.V
\par docuniq alsdkjsldfj
\par Invalid number: format should be CMP-PRJ-INI-YR-NUM.V
\par No files found of that number.
\par docuniq PSL-PAT-INT
\par Invalid number: format should be CMP-PRJ-INI-YR-NUM.V
\par No files found of that number.
\par docuniq PSL-PAT-DWM-91-004.1
\par Files found of that number. Number cannot be used again.
\par docuniq PSL-PAT-DWM-91-005.1
\par No files found of that number.
\par docuniq PSL-PAT-DWM-91-005.12
\par No files found of that number.
\par \pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \f3\fs20\lang2057 
\par \pard \s14\qj\sb240 
\par }@


1.3
log
@Changed other fillin fields to BylineBold
@
text
@d13 1
a13 1
{\creatim\yr1991\mo12\dy10\hr13\min56}{\revtim\yr1992\mo1\dy7\hr11\min18}{\printim\yr1992\mo1\dy9\hr13\min12}{\version10}{\edmins513}{\nofpages18}{\nofwords69588}{\nofchars92217}{\vern16504}}
d25 3
a27 3
\par \pard \s3\qc\sb480 {\field\flddirty\fldlock{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 7, 1992}}
\par \pard\plain \s15\qc\sb480 \b\f3\fs28\lang2057 {\field\flddirty{\*\fldinst fillin "State:" \\d "DRAFT"}{\fldrslt DRAFT}}
\par \pard \s15\qc\sb480 {\field\flddirty{\*\fldinst fillin "Security:" \\d "PSL Confidential"}{\fldrslt PSL Confidential}}
d29 3
a31 3
\par }\pard\plain \s15\qc\sb480 \b\f3\fs28\lang2057 {\field\flddirty{\*\fldinst fillin "Readership:" \\d "FOR: PSL General"}{\fldrslt FOR: PSL General}}
\par \pard\plain \s3\qc\sb480 \f3\fs28\lang2057 {\field{\*\fldinst {\plain \f3\lang2057 fillin "Enter Perihelion Document Number [PSL-p}{\plain \f3\lang2057 roj-initials-year-num.ver]" }{\plain \f3\lang2057 \\}{\plain \f3\lang2057 d "PSL-DOC-"}}{\fldrslt 
{\plain \f3\lang2057 PSL-DOC-JMW-91-004.2}}}{\plain \f3\lang2057 
d93 1
a93 1
0400f8f80000f8ffffffffffffffffffffffffffffffffffffffffff01050000050000000d0000004d45544146494c4550494354008a320000a6e2ffffe806000008008a325a1d4623
d107 1
a107 1
00000102022253797374656d0000040000002d01020004000000f001010008000000fa02050000000000ffffff00040000002d01010004000000f0010000040000002701ffff040000002701ffff030000000000b83a288cda5e5f83ed028be51f5d4dca180090909045558bec1e8ed881ec260156c746fa0400}{\result {
d122 1
a122 1
00040000002d01020004000000f001010008000000fa02050000000000ffffff00040000002d01010004000000f0010000040000002701ffff040000002701ffff030000000000b83a288cda5e5f83ed028be51f5d4dca180090909045558bec1e8ed881ec260156c746fa0400}}}}}
d163 1
a163 1
0000fc020000ffff01050000050000000d0000004d45544146494c4550494354003a3400004ce7ffffa811000008003a34b4188621
d238 3
a240 3
\par For security reasons, doc is the only user that can access the documents in the master area using cvs.  All other users must use tools that have been provided.  These tools are desribed in Appendix 1 and can be broken down into
 two categories, those that are cvs based and those that are catalogue based.  In addition, the tools check user security levels for access rights.  In the case of the cvs tools, access is given to all users who have cvs tools privileges.  For some of the
 catalogue tools, the access is dependent upon the security level of the document.
d248 3
a250 2
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 The catalogue resides in /usr/users/doc/bin and its purpose is to represent the documentation store.  It contains the follow
ing information about each document and each field of information has been arbitarily set to 500 characters.  The presence of some of the fields is compulsory and that of others is optional.
d257 3
a259 2
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Ke}{\b ywords}. A list of keywords found in the document.  With do
cuments produced by Microsoft Word for Windows $Id: jmw91004.rtf,v 1.1 1992/01/09 15:41:28 doc Exp $ is stored here for cvs purposes [optional except for $Id: jmw91004.rtf,v 1.1 1992/01/09 15:41:28 doc Exp $].
d275 2
a276 2
Appendix 1 of this document describes the technical details of each of the tools.  The tools are broken down into two categ
ories as shown below.  A security file is stored with these tools. It informs the tools of the access allowed for each user.  The format of the security file is as follows:
d281 3
a283 3
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 These tools are C programs that provide a system call to cvs commands.  The executables are executed u
nder the doc user id to allow access to the master repository.  These tools only provide limited access though: no tools will modify the master repository have been provided.  The programs also check the security file which resides in /usr/users/doc/bin t
o check whether the user has cvs tools privileges. The names of these programs are prefixed by cvs, for example cvsdiff.
d285 3
a287 2
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 These tools rely on the presence of the catalogue in /usr/users/doc/bin.  The catalogue is used to 
search for information about the documents that is required to fulfil the user's request.  Some of the tools make checks for security, though the depth of these checks varies.  The names of these programs are prefixed by doc.
d291 2
a292 3
 and it will accept the same arguments as cvs co.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows ac
cess to the main repository.  This program checks out the latest versions of the documents in the documentation store into a directory named HouseDoc in the current directory.  For security checks, this program gets the logname of the user and checks whet
her that user has cvs privileges in the security file.
d294 3
a296 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs diff} and it will accept the same arguments as cvs diff.  The mode of the executable file has been set so that when it is executed, the user 
id becomes that of the doc user and hence allows access to the main repository.  This program compares the differences between the checked out file and the file in the repository.  For security checks, this program gets the logname of the user and checks 
whether that user has cvs privileges in the security file.
d298 3
a300 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs log} and it will accept the same arguments as cvs log.  The mode of the executable file has been set so that when it is executed, the user
 id becomes that of the doc user and hence allows access to the main repository.  This program displays the revision log information of the given files.  For security checks, this program gets the logname of the user and checks whether that user has cvs p
rivileges in the security file.
d303 2
a304 3
 and it will accept the same arguments as cvs status.  The mode of the executable file has been set so that when it is executed, the user id becomes that o
f the doc user and hence allows access to the main repository.  This program displays three lines of information for each of the given files.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges i
n the security file.
d310 3
a312 2
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program generated from {\b lex} that will output selected co
lumns depending on conditions specified.  It will always display the document number column whether this is specified or not.  If no conditions are specified, all documents are selected.  The syntax of the command is as follows:
d326 2
a327 3
\par The command is a shell script, {\b docget} which in turn calls a lex program, {\b docgetexe}
.  The program makes security checks.  It obtains the logname of the user and the user's security record, if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the doc
ument.
d333 2
a334 2
\par The program makes security checks.  It obtains the logname of the user and the user's security record, if it exists in the security file.  
Then it searches for a match between the accesses in the user's security record and the security level of the document.
d340 2
a341 3
\par T
he program makes security checks.  It obtains the logname of the user and the user's security record if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the document
.
d361 3
a363 2
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This program creates a catalogue from all the documents stored in the documentation store.  It scans each 
document in turn for information ( see the section on The Catalogue section 5, page 4) and outputs the information to a file called catalogue in /usr/users/doc/bin on jabber.
d368 1
a368 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 testcvs.txt}}{\fldrslt #!/bin/csh
d391 1
a391 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsco.txt}}{\fldrslt Test cvsco
d421 1
a421 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsdiff.txt}}{\fldrslt Test cvsdiff
d437 1
a437 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvslog.txt}}{\fldrslt Test cvslog
d488 1
a488 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsstatu.txt}}{\fldrslt Test cvsstatus
d504 1
a504 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsupdat.txt}}{\fldrslt Test cvsupdate
d556 1
a556 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 testdoc.txt}}{\fldrslt #!/bin/csh
d583 1
a583 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docfind.txt}}{\fldrslt Testdocfind
d617 1
a617 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docget.txt}}{\fldrslt Testdocget
d635 1
a635 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docprint.txt}}{\fldrslt Testdocprint
d698 1
a698 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 inc}{\b\fs28 lude c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docview.txt}}{\fldrslt Testdocview
d711 1
a711 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docnumbe.txt}}{\fldrslt Testdocnumber
d731 1
a731 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docuniq.txt}}{\fldrslt Testdocuniq
@


1.2
log
@Change State to BylineBold
@
text
@d8 1
a8 1
\b\f3\fs36\lang2057 \sbasedon0\snext14 heading 1;}{\s255\li720 \f3\fs20\lang2057 \sbasedon0\snext2 Normal Indent;}{\f3\fs20\lang2057 \snext0 Normal;}{\s2\qj\sb120 \f3\fs20\lang2057 \sbasedon0\snext2 Body;}{\s3\qc\sb240 \f3\fs28\lang2057 
d11 1
a11 1
\sbasedon4\snext11 FunctionItem;}{\s12\posx2880\absw5760 \f3\fs20\lang2057 \sbasedon11\snext12 FunctionData;}{\s13\absw8640 \b\f3\fs20\lang2057 \sbasedon12\snext13 EndItem;}{\s14\qj\sb240 \f3\fs20\lang2057 \sbasedon2\snext2 BodyTop;}{\s15\qc\sb240 
d13 1
a13 1
{\creatim\yr1991\mo12\dy10\hr13\min56}{\revtim\yr1992\mo1\dy7\hr11\min18}{\printim\yr1992\mo1\dy9\hr13\min12}{\version10}{\edmins509}{\nofpages18}{\nofwords69588}{\nofchars92217}{\vern16504}}
d25 7
a31 7
\par {\field\fldlock{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 7, 1992}}
\par \pard\plain \s15\qc\sb240 \b\f3\fs28\lang2057 {\field\flddirty{\*\fldinst fillin "State:" \\d "DRAFT"}{\fldrslt DRAFT}}
\par \pard\plain \s3\qc\sb480 \f3\fs28\lang2057 {\field{\*\fldinst {\b\fs36 fillin "Security:" }{\b\fs36 \\}{\b\fs36 d "PSL Confidential"}}{\fldrslt {\b\fs36 PSL Confidential}}}{\b\fs36 
\par }{\b 
\par }{\field{\*\fldinst {\b fillin "Readership:" }{\b \\}{\b d "FOR: PSL General"}}{\fldrslt {\b FOR: PSL General}}}{\b 
\par }{\field{\*\fldinst {\plain \f3\lang2057 fillin "Enter Perihelion Document Number [PSL-p}{\plain \f3\lang2057 roj-initials-year-num.ver]" }{\plain \f3\lang2057 \\}{\plain \f3\lang2057 d "PSL-DOC-"}}{\fldrslt {\plain \f3\lang2057 PSL-DOC-JMW-91-004.2}}}
{\plain \f3\lang2057 
d93 1
a93 1
0400f8f80000f8ffffffffffffffffffffffffffffffffffffffffff01050000050000000d0000004d45544146494c4550494354008a320000a6e2ffffe806000008008a325a1d4621
d163 1
a163 1
0000fc020000ffff01050000050000000d0000004d45544146494c4550494354003a3400004ce7ffffa811000008003a34b4185e30
d238 3
a240 3
\par For security reasons, doc is the only user that can access the documents in the master area using cvs.  All other users mu
st use tools that have been provided.  These tools are desribed in Appendix 1 and can be broken down into two categories, those that are cvs based and those that are catalogue based.  In addition, the tools check user security levels for access rights.  I
n the case of the cvs tools, access is given to all users who have cvs tools privileges.  For some of the catalogue tools, the access is dependent upon the security level of the document.
d248 2
a249 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 
The catalogue resides in /usr/users/doc/bin and its purpose is to represent the documentation store.  It contains the following information about each document and each field of information has been arbitarily set to 500 characters.  The presence of some 
of the fields is compulsory and that of others is optional.
d256 2
a257 3
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Ke}{\b ywords}
. A list of keywords found in the document.  With documents produced by Microsoft Word for Windows $Id: jmw91004.rtf,v 1.1 1992/01/09 15:41:28 doc Exp $ is stored here for cvs purposes [optional except for $Id: jmw91004.rtf,v 1.1 1992/01/09 15:41:28 doc E
xp $].
d259 2
a260 2
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Comments}. Comments to be stored with the document.  If the author wishes to express any security information, suc
h as a directive that the document should not be altered by anyone but him/herself, this should be indicated here [optional].
d273 2
a274 2
Appendix 1 of this document describes the technical details of each of the tools.  The tools are broken down into two categories as shown below.  A security file is stored with these tools. It informs the tools of the access allowed for each user
.  The format of the security file is as follows:
d279 3
a281 4
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 
These tools are C programs that provide a system call to cvs commands.  The executables are executed under the doc user id to allow access to the master repository.  These tools only provide limited access though: no tools wi
ll modify the master repository have been provided.  The programs also check the security file which resides in /usr/users/doc/bin to check whether the user has cvs tools privileges. The names of these programs are prefixed by cvs, for example cvsdiff.

d283 2
a284 3
\par \pard\plain \s14\qj\sb240 \f3\fs20\lang2057 
These tools rely on the presence of the catalogue in /usr/users/doc/bin.  The catalogue is used to search for information about the documents that is required to fulfil the user's request.  Some of the tools make checks fo
r security, though the depth of these checks varies.  The names of these programs are prefixed by doc.
d288 3
a290 2
 and it will accept the same arguments as cvs co.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program checks out the latest versi
ons of the documents in the documentation store into a directory named HouseDoc in the current directory.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
d292 3
a294 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs diff} and it will accept the same arguments as cvs diff.  The mode of the executable file has been s
et so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program compares the differences between the checked out file and the file in the repository.  For security checks, this program
 gets the logname of the user and checks whether that user has cvs privileges in the security file.
d296 3
a298 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs log} and it will accept the same arguments as cvs log.  The mode of the executable file has been 
set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program displays the revision log information of the given files.  For security checks, this program gets the logname of the us
er and checks whether that user has cvs privileges in the security file.
d300 4
a303 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs status} and it will accept the same arguments as cvs status.  The mode of the executable file has been set so that when i
t is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program displays three lines of information for each of the given files.  For security checks, this program gets the logname of the user and chec
ks whether that user has cvs privileges in the security file.
d305 3
a307 3
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program that makes a system call to {\b cvs update} and it will accept the same arguments as cvs update.  The mode of the executable file has been set so that when it is execut
ed, the user id becomes that of the doc user and hence allows access to the main repository.  This program brings the current checked out version uptodate with the repository.  For security checks, this program gets the logname of the user and checks whet
her that user has cvs privileges in the security file.
d309 2
a310 2
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This is a C program generated from {\b lex} that will output selected columns depending on conditions specified.  It will always display the document number column whether this is specified or not.
  If no conditions are specified, all documents are selected.  The syntax of the command is as follows:
d332 2
a333 2
\par The program makes security checks.  It obtains the logname of the user and the user's security record, if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the docume
nt.
d339 3
a341 2
\par The program makes security checks.  It obtains the logname of the user and the user's security record if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the documen
t.
d344 1
a344 1
\par \pard \s2\qj\li1980\sb120 {\b doc}{\b number} number
d348 2
a349 2
.  The shell script runs the docfind command to extract all documents with the given number.  These numbers are then sorted in ascending order and docnumberexe reads in all the numbers and increments the last one by one and outputs
 that as the next file number.  A limit of 999 has been placed on the NUM part of the document number.
d361 2
a362 2
\par \pard\plain \s2\qj\sb120 \f3\fs20\lang2057 This program creates a catalogue fro
m all the documents stored in the documentation store.  It scans each document in turn for information ( see the section on The Catalogue section 5, page 4) and outputs the information to a file called catalogue in /usr/users/doc/bin on jabber.
d697 1
a697 1
\par }\pard\plain \f3\fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docview.txt}}{\fldrslt Testdocview
@


1.1
log
@Initial revision
@
text
@d1 19
a19 18
{\rtf1\ansi \deff0\deflang1024{\fonttbl{\f0\froman Tms Rmn;}{\f1\fdecor Symbol;}{\f2\fswiss Helv;}{\f3\froman Palatino;}{\f4\fmodern Courier;}{\f5\froman ZapfChancery;}{\f6\fdecor ZapfDingbats;}{\f7\froman NewCenturySchlbk;}
{\f8\fdecor MT Symbol;}{\f9\froman Bookman;}{\f10\fdecor Fences;}{\f11\fswiss AvantGarde;}{\f12\fmodern Modern;}{\f13\fmodern MS LineDraw;}{\f14\froman Roman;}{\f15\fscript Script;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;
\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192;}{\stylesheet{\s230\li1440\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 \sbasedon0\snext0 toc 3;}{\s231\li720\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 \sbasedon0\snext0 toc 2;}{
\s232\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 \sbasedon0\snext0 toc 1;}{\s242\tqc\tx4320\tqr\tx8640 \scaps\fs20\lang2057 \sbasedon0\snext242 footer;}{\s243\tqc\tx4320\tqr\tx8640 \fs20\lang2057 \sbasedon0\snext243 header;}{\s244 \fs16\up6\lang2057 
\sbasedon0\snext0 footnote reference;}{\s245 \fs20\lang2057 \sbasedon0\snext245 footnote text;}{\s250\li567\ri567\sb120\sa120\keepn \b\lang2057 \sbasedon0\snext2 heading 5;}{\s251\sb120\sa120\keepn \ul\lang2057 \sbasedon0\snext2 heading 4;}{\s252\sb360 
\b\lang2057 \sbasedon0\snext14 heading 3;}{\s253\sb360\keepn \b\fs28\lang2057 \sbasedon0\snext14 heading 2;}{\s254\sb480\keepn \b\fs36\lang2057 \sbasedon0\snext14 heading 1;}{\s255\li720 \fs20\lang2057 \sbasedon0\snext2 Normal Indent;}{\fs20\lang2057 
\snext0 Normal;}{\s2\qj\sb120 \fs20\lang2057 \sbasedon0\snext2 Body;}{\s3\qc\sb240 \fs28\lang2057 \sbasedon0\snext3 Byline;}{\s4\qc \b\fs48\lang2057 \sbasedon0\snext2 Logo;}{\s5\fi-720\li720\sb240\tqdec\tx288\tx720 \fs20\lang2057 \sbasedon0\snext2 List;}{
\s6\qc \i\fs48\lang2057 \sbasedon0\snext6 Title;}{\s7\li567 \f4\fs20\lang2057 \sbasedon0\snext7 Code;}{\s8 \b\fs40\lang2057 \sbasedon0\snext0 Contents;}{\s9\qj\sb168\tx5954 \fs20\lang2057 \sbasedon2\snext9 FirstBody;}{\s10\qc\sb480\sa240 \b\lang2057 
\sbasedon4\snext10 FunctionHeader;}{\s11\absw2880 \b\fs20\lang2057 \sbasedon4\snext11 FunctionItem;}{\s12\posx2880\absw5760 \fs20\lang2057 \sbasedon11\snext12 FunctionData;}{\s13\absw8640 \b\fs20\lang2057 \sbasedon12\snext13 EndItem;}{\s14\qj\sb240 
\fs20\lang2057 \sbasedon2\snext2 BodyTop;}}{\info{\title The Documentation System}{\subject Technical Reference}{\author Judith Wildman}{\keywords $Id$}{\operator Judith Wildman}{\creatim\yr1991\mo12\dy10\hr13\min56}{\revtim\yr1992\mo1\dy7\hr11\min18}
{\printim\yr1992\mo1\dy9\hr13\min12}{\version10}{\edmins503}{\nofpages18}{\nofwords69588}{\nofchars92217}{\vern16504}}\paperw12242\paperh15842\margl1798\margr1798\margt1441\margb1441\gutter0 \widowctrl\ftnbj\ftnrestart {\*\template 
C:\\WINWORD\\DOCTEMP.DOT}\sectd \linex0\endnhere\titlepg {\header \pard\plain \s243\qc\tqc\tx4320\tqr\tx8640 \fs20\lang2057 
\par }{\footer \trowd \trgaph80\trleft-80 \cellx2880\cellx5760\cellx8640\pard\plain \s242\intbl\tqc\tx4320\tqr\tx8640 \scaps\fs20\lang2057 {\field{\*\fldinst {\plain \i\fs20\lang2057 subject}}{\fldrslt {\plain \i\fs20\lang2057 Technical Reference}}}{\plain 
\i\fs20\lang2057 \cell }\pard \s242\qc\intbl\tqc\tx4320\tqr\tx8640 {\field{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 9, 1992}}\cell \pard \s242\qr\intbl\tqc\tx4320\tqr\tx8640 Page {\field{\*\fldinst page}{\fldrslt 9}}\cell \pard\plain \intbl 
\fs20\lang2057 \row \pard\plain \s242\tqc\tx4320\tqr\tx8640 \scaps\fs20\lang2057 
\par }\pard\plain \s4\qc \b\fs48\lang2057 do{\f1\dn4 \'e3}s
\par \pard\plain \s6\qc\sb480 \i\fs48\lang2057 
d23 1
a23 1
\par \pard\plain \s3\qc\sb480 \fs28\lang2057 {\field{\*\fldinst author }{\fldrslt Judith Wildman}}
d26 2
a27 2
\par {\field{\*\fldinst {\b fillin "State:" }{\b \\}{\b d "DRAFT"}}{\fldrslt {\b DRAFT}}}{\b 
\par }{\field{\*\fldinst {\b\fs36 fillin "Security:" }{\b\fs36 \\}{\b\fs36 d "PSL Confidential"}}{\fldrslt {\b\fs36 PSL Confidential}}}{\b\fs36 
d30 8
a37 8
\par }{\field{\*\fldinst {\plain \lang2057 fillin "Enter Perihelion Document Number [PSL-p}{\plain \lang2057 roj-initials-year-num.ver]" }{\plain \lang2057 \\}{\plain \lang2057 d "PSL-DOC-"}}{\fldrslt {\plain \lang2057 PSL-DOC-JMW-91-004.2}}}{\plain \lang2057 

\par }\pard\plain \s8 \b\fs40\lang2057 \sect \sectd \sbknone\linex0\endnhere\titlepg {\header \pard\plain \s243\qc\tqc\tx4320\tqr\tx8640 \fs20\lang2057 
\par }{\footer \trowd \trgaph80\trleft-80 \cellx2880\cellx5760\cellx8640\pard\plain \s242\intbl\tqc\tx4320\tqr\tx8640 \scaps\fs20\lang2057 {\field{\*\fldinst {\plain \i\fs20\lang2057 subject}}{\fldrslt {\plain \i\fs20\lang2057 Technical Reference}}}{\plain 
\i\fs20\lang2057 \cell }\pard \s242\qc\intbl\tqc\tx4320\tqr\tx8640 {\field{\*\fldinst date \\@@ "MMMM d, yyyy"}{\fldrslt January 9, 1992}}\cell \pard \s242\qr\intbl\tqc\tx4320\tqr\tx8640 Page {\field{\*\fldinst page}{\fldrslt 4}}\cell \pard\plain \intbl 
\fs20\lang2057 \row \pard\plain \s242\tqc\tx4320\tqr\tx8640 \scaps\fs20\lang2057 
\par }\pard\plain \s8 \b\fs40\lang2057 \page Contents
\par \pard\plain \s232\ri720\tx360\tldot\tx8280\tqr\tx8640 \fs20\lang2057 {\field{\*\fldinst toc \\o 1-3}{\fldrslt 1.\tab Introduction\tab 3
d43 1
a43 1
\par \pard\plain \s231\li720\ri720\tx1260\tldot\tx8280\tqr\tx8640 \fs20\lang2057 6.1.\tab Cvs-based tools\tab 6
d45 2
a46 2
\par \pard\plain \s232\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 Appendix 1- Description of the tools\tab 7
\par \pard\plain \s231\li720\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 cvsco\tab 7
d59 2
a60 2
\par \pard\plain \s232\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 Appendix 2 - Tests performed on tools\tab 10
\par \pard\plain \s231\li720\ri720\tldot\tx8280\tqr\tx8640 \fs20\lang2057 Cvs-based tools\tab 10
d62 3
a64 3
\par \pard\plain \fs20\lang2057 }}\pard\plain \fs20\lang2057 
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 \page {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab Introduction
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This document describes the technical issues of Perihelion's documentation system.   Its purpose is to aid the maintenance of the system.  The documentation system comprises:
d68 5
a72 5
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab References
\par \trowd \trgaph108\trleft459 \cellx1593\cellx7263\pard\plain \s2\qj\sb120\intbl \fs20\lang2057 [1]\cell {\b cvs} (Concurrent Versions System) - a UNIX tool\cell \pard\plain \intbl \fs20\lang2057 \row \trowd \trgaph108\trleft459 \cellx1593\cellx7263
\pard\plain \s2\qj\sb120\intbl \fs20\lang2057 [2]\cell User reference to the documentation system{\b \cell }\pard\plain \intbl \fs20\lang2057 \row \pard\plain \s254\sb480\keepn \b\fs36\lang2057 {\field{\*\fldinst autonumlgl }{\fldrslt }}\tab The System

\par \pard\plain \s14\qj\sb240 \fs20\lang2057 Before explaining each element of the documentation system, the workings of the documentation system will be described as a whole.  
d77 2
a78 2
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 
\par \pard \s2\qc\sb120 {\pard\plain \s2\qc\sb120 \fs20\lang2057 {\object\objemb\rsltmerge\objw7336\objh4260{\*\objclass MSDraw}{\*\objdata 0103000002000000070000004d534472617700000000000000000000070000
d93 1
a93 1
0400f8f80000f8ffffffffffffffffffffffffffffffffffffffffff01030000050000000d0000004d45544146494c4550494354008a320000a6e2ffffe806000008008a325a1d461a
d126 1
a126 1
\par \pard \s2\qc\sb120 {\pard\plain \s2\qc\sb120 \fs20\lang2057 {\object\objemb\rsltmerge\objw7581\objh3586{\*\objclass MSDraw}{\*\objdata 0103000002000000070000004d5344726177000000000000000000c0110000
d163 1
a163 1
0000fc020000ffff01030000050000000d0000004d45544146494c4550494354003a3400004ce7ffffa811000008003a34b4188614
d238 5
a242 5
\par For security reasons, doc is the only user that can access the documents in the master area using cvs.  All other users must use tools that have been provided.  These tools a
re desribed in Appendix 1 and can be broken down into two categories, those that are cvs based and those that are catalogue based.  In addition, the tools check user security levels for access rights.  In the case of the cvs tools, access is given to all 
users who have cvs tools privileges.  For some of the catalogue tools, the access is dependent upon the security level of the document.
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab The Documentation Store
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 The documentation store resides on jabber in the /usr/users/doc/master directory under the {\b cvs} revision control system [1].
d247 4
a250 3
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab The Catalogue
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 The catalogue resides in /usr/users/doc/bin and its purpose is to represent the documentation store.  It contains the follow
ing information about each document and each field of information has been arbitarily set to 500 characters.  The presence of some of the fields is compulsory and that of others is optional.
d257 3
a259 1
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Keywords}. A list of keywords found in the document.  With documents produced by Microsoft Word for Windows $Id$ is stored here for cvs purposes [optional except for $Id$].
d261 2
a262 2
\par {\field{\*\fldinst SYMBOL 183 \\f "Symbol" \\s 10 \\h}{\fldrslt }}\tab {\b Comments}
. Comments to be stored with the document.  If the author wishes to express any security information, such as a directive that the document should not be altered by anyone but him/herself, this should be indicated here [optional].
d272 5
a276 4
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab The Tools
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 A set of tools has been provided to allow user access to the documentation store and to interro
gate the catalogue.  All executables are stored in /usr/users/doc/bin and all sources are stored in /usr/users/doc/catalogue/source or /usr/users/doc/scripts.  Appendix 1 of this document describes the technical details of each of the tools.  The tools ar
e broken down into two categories as shown below.  A security file is stored with these tools. It informs the tools of the access allowed for each user.  The format of the security file is as follows:
d280 12
a291 11
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\fs28\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab Cvs-based tools
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 
These tools are C programs that provide a system call to cvs commands.  The executables are executed under the doc user id to allow access to the master repository.  These tools only provide limited access though: no tools will modify the master repositor
y have been provided.  The programs also check the security file which resides in /usr/users/doc/bin to check whether the user has cvs tools privileges. The names of these programs are prefixed by cvs, for example cvsdiff.
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\fs28\lang2057 {\field{\*\fldinst AUTONUMLGL}{\fldrslt }}\tab Catalogue-based tools
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 
These tools rely on the presence of the catalogue in /usr/users/doc/bin.  The catalogue is used to search for information about the documents that is required to fulfil the user's request.  Some of the tools make checks for security, though the depth of t
hese checks varies.  The names of these programs are prefixed by doc.
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 \page Appendix 1- Description of the tools
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 cvsco
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a C program that makes a system call to {\b cvs co}
d294 19
a312 20
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 cvsdiff
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a C program that makes a system call to {\b cvs diff}
 and it will accept the same arguments as cvs diff.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program compares the differences 
between the checked out file and the file in the repository.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 cvslog
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a C program that makes a system call to {\b cvs log}
 and it will accept the same arguments as cvs log.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program displays the revision log 
information of the given files.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 cvsstatus
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a C program that makes a system call to {\b cvs status}
 and it will accept the same arguments as cvs status.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program displays three lines of
 information for each of the given files.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 cvsupdate
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a C program that makes a system call to {\b cvs update}
 and it will accept the same arguments as cvs update.  The mode of the executable file has been set so that when it is executed, the user id becomes that of the doc user and hence allows access to the main repository.  This program brings the current chec
ked out version uptodate with the repository.  For security checks, this program gets the logname of the user and checks whether that user has cvs privileges in the security file.
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 docfind
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a C program generated from {\b lex}
 that will output selected columns depending on conditions specified.  It will always display the document number column whether this is specified or not.  If no conditions are specified, all documents are selected.  The syntax of the command is as follow
s:
d321 2
a322 2
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 docget
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a program that gets the latest version of the document specified from the main repository.  The syntax of this command is as follows:
d326 5
a330 4
\par The command is a shell script, {\b docget} which in turn calls a lex program, {\b docgetexe}.  The program makes security checks.  It obtains 
the logname of the user and the user's security record, if it exists in the security file.  Then it searches for a match between the accesses in the user's security record and the security level of the document.
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\fs28\lang2057 docprint
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a program that prints out the given document.  The syntax of this command is as follows:
d336 2
a337 2
\par \pard\plain \s253\fi-360\li360\sb360\keepn \b\fs28\lang2057 docview
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This is a program that runs xdvi on the given document.  The syntax of this command is as follows:
d343 3
a345 3
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 docnumber
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This program returns the next document number to be used.  The syntax of the command is as follows:
\par \pard \s2\qj\li1980\sb120 {\b docnumber} number
d349 2
a350 2
.  The shell script runs the docfind command to extract all documents with the given number.  These numbers are then sorted in ascending order and docnumberexe reads in all the numbers and increments the last one by one and outputs that as the next file n
umber.  A limit of 999 has been placed on the NUM part of the document number.
d352 2
a353 2
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 docuniq
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This program given a number will inform the user whether it is unique or not.  The syntax of the command is:
d358 2
a359 2
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 cat2tex
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 This program converts the catalogue or output produced from the {\b docfind} command into a latex document.  It uses the A4 landscape format and is printed by the following command on betty or jabber:
d361 3
a363 4
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 makecat
\par \pard\plain \s2\qj\sb120 \fs20\lang2057 
This program creates a catalogue from all the documents stored in the documentation store.  It scans each document in turn for information ( see the section on The Catalogue section 5, page 4) and outputs the information to a file called catalogue in /usr
/users/doc/bin on jabber.
d365 4
a368 4
\par \pard\plain \s254\sb480\keepn \b\fs36\lang2057 Appendix 2 - Tests performed on tools
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 Cvs-based tools
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 {\plain \b\lang2057 Test suite}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 testcvs.txt}}{\fldrslt #!/bin/csh
d389 3
a391 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testcvsco}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsco.txt}}{\fldrslt Test cvsco
d419 3
a421 3
\par \pard \li720 }}\pard\plain \li720 \fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 {\plain \b\lang2057 Testcvsdiff}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsdiff.txt}}{\fldrslt Test cvsdiff
d435 3
a437 3
\par \pard \li720 }}\pard\plain \li720 \fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 {\plain \b\lang2057 Testcvslog}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvslog.txt}}{\fldrslt Test cvslog
d486 3
a488 3
\par \pard \li720 }}\pard\plain \li720 \fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 {\plain \b\lang2057 Testcvsstatus}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsstatu.txt}}{\fldrslt Test cvsstatus
d502 3
a504 3
\par \pard \li720 }}\pard\plain \li720 \fs20\lang2057 
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 {\plain \b\lang2057 Testcvsupdate}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 cvsupdat.txt}}{\fldrslt Test cvsupdate
d553 4
a556 4
\par \pard \li720 }}\pard\plain \li720 \fs20\lang2057 
\par \pard\plain \s253\sb360\keepn \b\fs28\lang2057 Catalogue-based tools
\par \pard\plain \s14\qj\sb240 \fs20\lang2057 {\plain \b\lang2057 Test suite}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 testdoc.txt}}{\fldrslt #!/bin/csh
d581 3
a583 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testdocfind}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docfind.txt}}{\fldrslt Testdocfind
d615 3
a617 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testdocget}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docget.txt}}{\fldrslt Testdocget
d633 3
a635 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testdocprint}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docprint.txt}}{\fldrslt Testdocprint
d696 3
a698 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testdocview}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docview.txt}}{\fldrslt Testdocview
d709 3
a711 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testdocnumber}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docnumbe.txt}}{\fldrslt Testdocnumber
d729 3
a731 3
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
\par \pard \s14\qj\sb240 {\plain \b\lang2057 Testdocuniq}{\plain \b\lang2057 
\par }\pard\plain \fs20\lang2057 {\field{\*\fldinst {\b\fs28 include c:}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 test}{\b\fs28 \\}{\b\fs28 \\}{\b\fs28 docuniq.txt}}{\fldrslt Testdocuniq
d747 1
a747 1
\par \pard\plain \s14\qj\li720\sb240 \fs20\lang2057 }}\pard\plain \s14\qj\li720\sb240 \fs20\lang2057 
@
