       SPOOL Sub-System                                              Page    1



       Subject:    SPOOL Sub-System.

       Release:    24.0.0

       Date:       February 7, 1994










       Introduction.
+      _____________


       Further enhancements have been made to the Spooler system, for  release
       at Rev 24.  These changes incorporate

           a) the introduction of new functionality and
           b) fixes to known problems.


        1  New Functionality.
+          __________________

      1.1  NEW & EXPANDED SPOOL OPTIONS
+          ____________________________


     1.1.1 -KEEP
           Job goes into KEPT state after printing.


     1.1.2 -HOLD
           Job stays in Q  but  doesn't  print.   If  HOLD  lifetime  on  your
           installation is not configured as infinite, you are advised for how
           long the job will be HELD.
           For SPOOL (new job):
                     May not be given with -RUSH.
           For SPOOL -MODIFY:
                     If encountered  on  the  command  line  while -RUSH is in
                     effect, cancels -RUSH.
                     [In  general,   SPOOL   -MODIFY   processes    apparently
                     conflicting options  in command line order, such that the
                     last one to be encountered stands].


     1.1.3 -ReMove
           For SPOOL (new job):
                     Is the default and has no effect, except it precludes the
                     specification of -KEEP or -HOLD.
           For SPOOL -MODIFY:
                     Removes job's Disposition if it had one.  Job becomes  an


       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    2



                     immediate candidate  for  printing except for disposition
                     KEEP with -DEFER, when the Defer time stands.


     1.1.4 -DeLete
           For SPOOL (new job):
                     May be given with -NO_COPY if user himself has  D  access
                     to file.   User's responsibility to ensure Despooler also
                     has D access.  File will  be  deleted  once  printing  is
                     complete (not after PROP -DROP or SPOOL -CANCEL.  However
                     it will  be  deleted  if  spooled -HOLD, and the optional
+                       ____
                     installation-defined HELD lifetime expires).  Allows  the
                     use of -KEEP or -HOLD with -NO_COPY.
                     Has no effect if -NO_COPY not used.
           For SPOOL -MODIFY:
                     May be  given  to  a -NO_COPY job which hasn't started to
                     print yet if user himself has D access to  file.   User's
                     responsibility &c., as above.
                     For a  job which was not submitted with -NO_COPY, cancels
                     -No_DeLete (q.v.) if this was in force.  If the  job  was
                     KEPT, it  gets  a  fresh  KEPT lifetime from the time the
                     SPOOL -MODIFY was issued;  similarly if it was HELD.   If
                     it was  HELD and the installation default is to HOLD jobs
                     forever then that still happens (so -NDL has no effect in
                     this case).


     1.1.5 -No_DeLete
           For SPOOL (new job):
                     Is the default if -NO_COPY is also given.  In the absence
                     of -NO_COPY, implies -KEEP unless -HOLD / -KEEP  actually
                     given.  If  -HOLD,  the  job  will  be HELD indefinitely;
                     else after printing it will be KEPT indefinitely.
           For SPOOL -MODIFY:
                     Cancels the -DELETE of a -NO_COPY -DELETE job.  If such a
                     job had a Disposition, a -REMOVE (q.v.) is  forced.   The
                     job  becomes  a  candidate  for  printing  straight  away
                     (except -KEEP -DEFER as previously):   SPOOL  -CANCEL  if
                     this doesn't  suit.   In the absence of -NO_COPY, implies
                     -KEEP for a job without a disposition.  Subsequently  the
                     job will be HELD / KEPT indefinitely, as above.


     1.1.6 -RUSH (existing option)
           For SPOOL (new job):
                     May not be given with -HOLD.
           For SPOOL -MODIFY:
                     If encountered  on  the  command  line  while  the  job's
                     disposition is  HELD  or KEPT, the disposition is changed
                     to KEEP (for immediate printing).
                     [In  general,   SPOOL   -MODIFY   processes    apparently
                     conflicting options  in command line order, such that the
                     last one to be encountered stands].



       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    3



     1.1.7 -DEFER (existing option)
           The Defer mechanism is used by the Disposition system to keep  HELD
           and KEPT jobs in the queue until lifetime expiry.
           The net  effect  of  using -DEFER on a HELD or KEPT job is that the
           job will be dropped from the  queue  at  or  some  time  after  the
           nominated time.
           For SPOOL (new job):
                     If given  with -HOLD, overrides the installation default.
                     This includes the case where the default would have  HELD
                     the job forever.
                     The  combination  of  -HOLD,  -DEFER  and  -NO_DELETE  is
                     rejected.
           For SPOOL -MODIFY:
                     If encountered  on  the  command  line  while  the  job's
                     disposition is  HELD  or  KEPT,  the  job's  expiry  date
                     (i.e. lifetime) is changed appropriately.   In  addition,
                     if -NO_DELETE was in effect then it is cancelled.
                     [In   general,  SPOOL   -MODIFY   processes    apparently
                     conflicting options in command line order, such that  the
                     last one to be encountered stands].


     1.1.8 -NO_DEFER (existing option)
           The Defer mechanism is used by the Disposition system to keep  HELD
           and KEPT jobs in the queue until lifetime expiry.
           The net effect of using -NO_DEFER on a HELD or KEPT job is that the
           job will  be dropped from the queue as soon as a matching despooler
           can get to it.
           For SPOOL (new job):
                     Not available.
           For SPOOL -MODIFY:
                     If encountered  on  the  command  line  while  the  job's
                     disposition is HELD or KEPT, the job's expiry date is set
                     to the  time now, so it becomes a candidate for immediate
                     removal from the Spool Queue.  In addition, if -NO_DELETE
                     was in effect then it is cancelled.
                     This differs from doing a SPOOL -CANCEL, because  if  the
                     job   was  -NO_COPY  -DELETE  then  the  delete  will  be
+                                                                     ____
                     attempted.


     1.1.9 -KEPT
           Instructs SPOOL -LIST to show KEPT jobs only.  This  is  the  exact
           reverse of the default, which is to show all jobs except those that
+                                                            ______
           are KEPT.


     1.1.10 -BOTH
            Instructs SPOOL  -LIST  to  show  "both"  KEPT  and  normal  jobs;
            i.e. show all jobs in the queue.






       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    4



     1.1.11 -ON <node> -NOTIFY (Combination previously disallowed)
            For SPOOL (new job):
                      This is now accepted.  The despooler  printing  the  job
                      will attempt  to  send a message to the originating user
                      on completion.

                                                   Note
+                                                  ____
                           The Despooler may not be able to send the  message.
                           Where the  Network has Force User Validation (FUV),
                           the message send will fail if  the  despooler  does
                           not  have  an  ARID  to  the  originator's  system.
                           Network topography may also preclude success:  if a
                           user on system "A" spools to the  queue  on  system
                           "B" whence  the  job is picked up by a despooler on
                           system "C", the message send will  fail  if  system
                           "C" is  not  configured  to see system "A", even in
                           the absence of FUV.

            For SPOOL -MODIFY:
                      The combination was previously accepted, and would  have
+                                     ___                          _____
                      been effective  if the original job was not spooled with
                      the -ON option.  It will now be effective even when  the
                      last-mentioned condition does apply.
+                                              ____


     1.1.12 -CANCEL -HOLD
            Converts a job  to  the  HELD  state,  even  if  it  is  currently
            printing.  With -ALL, HOLD's all the user's jobs that are not HELD
            or KEPT already.



























       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    5



      1.2  NEW PROP OPTIONS
+          ________________


     1.2.1 -Kept_LIFE
           [hours] Define default lifetime of jobs in KEPT state.


     1.2.2  -Held_LIFE
           [hours] Define default lifetime of jobs in HELD state.


     1.2.3 -RePorT_LIFE
           Report the current lifetime settings.


     1.2.4 -FORWARD [n<1>]
           Skips the current print job forward the number of  pages  specified
+                                      _______
           (opposite of  PROP -BACK).  There is no limit to how many pages can
           be skipped, (and no error reported if skip off end of job).


     1.2.5 -Cmpr_FREQ [n<5>]
           Causes Primos  (SP$MGR)  to  set  its  threshold  to   the   number
           specified.  When  a  search of the queue for work (for a Despooler)
           finds this number of dead entries or gaps, the queue is compressed.
           Prior to Rev 24.0 this was a constant, 5.  5 is still the value  at
           Primos coldstart,  and  the  default  if no value is given with the
           -CFREQ option.  -CFREQ needs Rev 24.0 Primos to function.


     1.2.6 -RePorT_FREQ
           Reports the current threshold setting in use  by  Primos  (SP$MGR).
           When a  search  of  the queue for work (for a Despooler) finds this
           number of dead entries or gaps, the queue is compressed.  Prior  to
           Rev 24.0 this was a constant, 5.  This option needs Rev 24.0 Primos
           to function.


     1.2.7 -COMPRESS
           Causes Primos (SP$MGR) to do an immediate queue compression.  These
           are normally done automatically, when a search  of  the  queue  for
           work (for  a Despooler) finds the configured number of dead entries
           or gaps, the default for this number being 5.   This  option  needs
           Rev 24.0 Primos to function.












       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    6



     1.2.8 -ON <node>
           Any user may issue the following PROP commands -ON <node>:-

              1.2.8.1 -STATus [-ALL]

              1.2.8.2 <env> -DISPlay

              1.2.8.3 <env> -VeriFY

              1.2.8.4 -RePorT_SIZE

              1.2.8.5 -RePorT_LIFE

              1.2.8.6 -RePorT_FREQ

              The only requirement is that in an environment with  Force  User
              Validation (FUV),  the  user  must  have  a  Remote Id on <node>
              (i.e. have done an ARID -ON <node>).  Any valid Remote  Id  will
              suffice.

                                           Note
+                                          ____
                   If the ACL on SPOOL* has been changed from its default such
                   that the access to $REST is reduced, then it  may  be  that
                   some options will not work with some ARIDs.

              Members of  .SPOOL_ADMINISTRATOR$  may  additionally  issue  the
              following PROP commands -ON <node>:-

              1.2.8.7 <env> -START

              1.2.8.8 <env> -STOP

              1.2.8.9 <env> -RESET [new env]

              1.2.8.10 <env> -HANG

              1.2.8.11 <env> -LineUp [n<4>]

              1.2.8.12 <env> -CONTinue

              1.2.8.13 <env> -ABORT

              1.2.8.14 <env> -DROP

              1.2.8.15 <env> -REStart

              1.2.8.16 <env> -BACK [n<1>]

              1.2.8.17 <env> -FORWARD [n<1>]

              1.2.8.18 <env> -SUSpend





       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    7



              1.2.8.19 <env> -RELease

              1.2.8.20 -MAX_size

              1.2.8.21 -MIN_size

              1.2.8.22 -Kept_LIFE [hours]

              1.2.8.23 -Held_LIFE [hours]

              1.2.8.24 -WAKEup [-POLL <node>]

              1.2.8.25 -COMPRESS.

           Except for -CONTINUE, all the commands in this group that  take  an
           <env> expect an acknowledgement from the nominated despooler.  When
           -ON is  used,  the local PROP waits for this acknowledgement, since
           it will not be sent to the user's terminal process  but  rather  to
           his NPX  slave on the the remote node.  This wait can be terminated
           by Control-P (^P), even if breaks are inhibited.

           Alternatively, the wait can be suppressed altogether by  specifying
           -NO_WAIT (-NW).  The acknowledgement wil not be seen, of course.

           With the exception of -COMPRESS, the commands in this second  group
           are executed  by  having PROP invoked on the remote system.  At the
           terminal, the user  will  see  the  banner  from  the  local  PROP,
           followed by  the  banner and output from the remote PROP.  Then the
           local PROP will wait if an acknowledgement  is  expected  from  the
           despooler, as detailed above.

                                        Notes
+                                       _____

                In an environment with Force User Validation (FUV),  the  user
                must have a sufficiently privileged ARID to the remote system.

                Users who are not members of .SPOOL_ADMINISTRATOR$  may  still
+                             ___                                   ___
                be able  to  issue  "PROP <env> <action> -ON <node>" when they
                have RX access to <env> (or their ARID has this access  in  an
                FUV environment).  This is dependent on 2 factors:-

                1) They must have ALURW access to the remote SPOOL*.

                2) The local installation manager must  have  granted  them  X
                access to SPOOL*>NPX.RUN.


     1.2.9 -WAKEup [-POLL <node>]

           This option causes a despooler to poll the specified node  straight
           away.  If  no <node> is specified, the queue on the local system is
           checked for work (polled).

           This applies even if -ON (q.v.)   is  used,  to  wake  a  despooler


       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    8



           running on  some other node:  the node where the request originated
           is the one that is polled, in the absence of -poll.

           The command can take  one  of  the  the  -NOW,  -FINISH  and  -IDLE
           options.  Unlike  other  commands  that can take these options, the
           default for -WAKEUP is -NOW.  The effect of  these  is  limited  to
           governing at what point the "time to try this node" variable inside
           the despooler  is reset to 0.  The acknowledgement is delayed until
           this is done.

           The zeroising of the "time to try  this  node"  variable  does  not
           guarantee that it will be tried as soon as the current print job is
           finished, since other candidate nodes may be considered first.











































       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page    9



      1.3  NEW KEYWORDS FOR CREATE_CONFIG_LIST
+          ___________________________________


     1.3.1 EXPIRY_TIME                  width 5
           Show the time of day when a HELD or KEPT job will be  dropped  from
           the queue.   If the job is -NO_COPY -DELETE, the original file will
           then be deleted.

           If the job is never to be dropped, the time is  shown  as  "**:**".
+                        _____
           This is  the  default for HELD jobs in the absence of action by the
           installation manager.  The -NO_DELETE option to SPOOL also has this
           effect.

                                        Note
+                                       ____
                If the installation default HELD lifetime  is  finite  or  the
                KEPT lifetime  is  more  than  the initial system default of 1
                day, you  will  probably  want  to  use   EXPIRY_DATE_VAR   in
                conjunction with EXPIRY_TIME, or in preference to it.


     1.3.2 EXPIRY_DATE_VAR              width 2 to 32
           Show the date on which a HELD or KEPT job will be dropped from  the
           queue.  If the job is -NO_COPY -DELETE, the original file will then
           be deleted.

           If the  job  is  never  to  be  dropped,  the  date  is  shown   as
+                           _____
           "Never expires".  This  is the default for HELD jobs in the absence
           of action by the installation manager.  The  -NO_DELETE  option  to
           SPOOL also has this effect.

                                        Note
+                                       ____
                Unlike the case with most variable length items, a '$' is  not
+                                                                          ___
                inserted should  the  length  allowed  for  EXPIRY_DATE_VAR be
                insufficient.  The full date looks like "21 September 93",  so
                that 15  characters  will  always  suffice  (at  least  in the
                English language, where September is the  longest  month).   A
                6-character field  will  always  be  unambiguous, for example:
                "23 Jun" (compare with "$23 Ju").


     1.3.3 DISPOSITION                  width 5
           same as STATE except that only dispositions (and DEL  for  -NO_COPY
           -DELETE) are  shown.   The  STATE field shows "S.Dfr" or "Print" in
           preference to these.


     1.3.4 REAL_USER_NAME_32            width 32
           REAL_USER_NAME_16            width 16
           REAL_USER_NAME_VAR           width 2 to 32
           Same as USER_NAME except the ALIAS is never shown.  What appears is
           always the login name of the process that  submitted  the  request;
           however this  may  simply  be  a  remote  user's ARID if a file was
           spooled -ON (i.e. -ON this node, from another).
+                                ____



       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   10



      1.4  NEW & EXPANDED ENVIRONMENT DIRECTIVES
+          _____________________________________


     1.4.1 TCP/IP ...  -LHC [n]

           The new -LHC option to the TCP/IP directive specifies  the  Primary
           LHC, i.e. the LHC which the Despooler will try to use first.


     1.4.2 PDN

           The format of the PDN directive is unchanged;  however the  address
+                                                                      _______
           argument may  now  be either a numeric address (as prevoiusly) or a
           configured Primenet Node Name.

           If a despooler or PROP -VFY encounters a  non-numeric  address,  it
           verifies that  it  is  a known Primenet Node Name by calling X$STAT
           with key XI$PTX.  Providing this returns no  error,  the  despooler
           makes XLCONN  calls  using  the  supplied  address  but with XK$NAM
           instead of XK$ADR.

           A PROP <env> -VFY -ON <node> may fail, if the  target  address  was
           visible from  <node>  but not from the system on which the PROP was
           issued.

           (PROP -VFY does no validation of numeric addresses because  all  it
           could do  would be to actually place a call.  Verifying that a name
           is configured can be done within Primos).


     1.4.3 REMIDS

           REMIDS (full form:  REMOTE_IDS)  is  a  new  environment  directive
           which avoids  the  Primos  limitation that a process may have up to
           only 16 remote id's (colloquially known as ARID's).  Format:

               REMIDS <path_name>

           <path_name> defines the location within the file system of  a  file
           to contain  Remote  ID's  to  be used when polling or fetching work
           from other network nodes.  Use  of  this  file  avoids  the  normal
           Primos limit  of  16  remote  ID's per process.  It also allows the
           remote ID's to be more tightly ACL'd, if this is a concern.

           For the REMIDS file  to  be  useful,  SPOOL*>DESPOOL.CPL  must  not
           itself add 16 remote ID's;  any that it does add will stay with the
           despooler for  its  lifetime  (whereas ID's from the file are added
           and removed as required).

           REMIDS nominates an ASCII file.  There is one line in the file  for
           each system.   Items in each line must be in the order given below,
           and may be seperated by one or more spaces,  and  /  or  one  comma
           (same rules  as  for  Primos  command lines).  Unnecessary trailing
           fields may be ommitted (e.g.  Project Id), and null fields followed


       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   11



           by non-null ones may be specified by a  pair  of  commas.   Comment
           lines may start '* ' or '/*'.  '/*' comments are allowed at the end
           of data  lines.   Blank lines are ignored.  Lines should not exceed
           160 characters, else truncation will occur.

           The order of items in a line is:

               NODE NAME, USER NAME, PASSWORD, PROJECT ID.

           A PROP <env> -VFY -ON <node> may fail, if the <path_name>  argument
           is not  an  absolute  pathname, because PROP will then first search
           for the file on the local system rather than  the  -ON  one.   PROP
           -VFY will  also  fail  if  the  relevant disk is not visible on the
           local system.


     1.4.4 HEADER ...  -SET_PORTRAIT|-SET_LANDSCAPE

           Sets the orientation of header and trailer pages.  In  the  absence
           of action  to  the contrary, the rest of the document will print in
           the same  orientation.   Typically  though,  the  environment  will
           contain a  SET_<orientation>  -DEFAULT,  to  fix the orientation of
           spool requests which don't themselves set it.

           Example
+          _______

           For landscape headers and  portrait  text,  include  the  following
           three directives:-

               HEADER 1 -SET_LANDSCAPE
               SET_LANDSCAPE
               SET_PORTRAIT -DEFAULT



     1.4.5 POLL_RATE ...  -QSCAN [n]

           The new -QSCAN option to the PLRAT directive changes the  order  in
           which requests from multiple queues are serviced.  Normally, when a
           despooler finishes  printing  a  request  from  a  remote queue, it
           checks the same queue for more spool requests that it can  process.
           With -QUEUE_SCAN,  it  will check the next queue after it has taken
           <n> requests from the current one (so the  queues  are  "scanned").
           The default is to take 1 request.












       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   12



      1.5  SPOOL -LIST
+          ___________


     1.5.1 State field shows disposition, and/or that job is -NO_COPY -DELETE.


     1.5.2 -DET display shows disposition on a seperate line, therefore does
           not include  it  in  the  Options  display.   For   HELD   /   KEPT
           dispositions, the expiry date-time is shown.


     1.5.3 -DELETE (with -NO_COPY) and -NO_DELETE options appear on the option
           line.


     1.5.4 Defer time field stays blank for HELD or KEPT jobs.


      1.6  CHANGES TO ATTRIBUTE FILES
+          __________________________


     1.6.1 .DEFAULT_DEFAULT.

           One group of  attributes  in  SPOOL*>ATTRIBUTES>DEFAULT  ATTRIBUTES
           (also   project  and  user  files)  may  start   with   the     new
           ^.DEFAULT_DEFAULT. control record.

           The function of  .DEFAULT_DEFAULT. is  to  give  a  single  default
           attribute to  a  job  spooled with no attributes at all, but not to
           force an extra default on any other job  (which  might  be  spooled
           with an  attribute  from a different group in the attributes file).

           In other words, .DEFAULT_DEFAULT. acts  the  same  as  .NO_DEFAULT.
           *unless* no  attributes  at all are given in the SPOOL command.  In
           this  case,   the   first   entry   in   the   group   headed    by
           .DEFAULT_DEFAULT. is used.

           Clearly, it  makes   little   sense   to   have   more   than   one
           .DEFAULT_DEFAULT.  in  an  attribute  file.   However  if this does
+                                                                         ____
           happen, the last directive will be used.


      1.7  CHANGES TO DISTRIBUTION UFD
+          ___________________________


     1.7.1 Print Handler Source

           PRINTRONIX.PLP and NEC.PLP are now distributed in SPOOL*>SOURCE  as
           samples of how to write a print handler.

           The increase in size of SOURCE is partly  offset  by  ensuring  all
           files in it are SAM (previously they were mostly DAM).




       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   13



       2  Problems fixed - User Visible
+         _____________________________

          All fixes  were  carried  forward  from   the   last   Spooler   RRS
          (23.4.0.R15).

          A number of other problems were  fixed,  as  detailed  below.   SPAR
          numbers are  not given:  some fixes address many SPAR's while others
          had no SPAR to start with.  Most of the relevent  SPAR's  have  been
          closed, however.



          - Customised SPOOL -LIST display  of  OPTIONS  had  extra  space  at
            front.  Users  may  need  to  realign their headers - but an extra
            character is now displayable.

          - Defer time in customised SPOOL -LIST display was showing submittal
            time if there was no defer time.

          - Customised SPOOL -LIST display now  shows  the  same  under  User,
            Filename, and  State as the built-in BRIEF display.  I.e. username
            may be ALIAS, file name may be the -AS name.   If  you  did  SPOOL
            -OPEN without -AS, field is blank.

          - For a SPOOL -OPEN request, the customised SPOOL -LIST  display  of
            the pathname  now  shows  the  attach  point  at SPOOL -OPEN time.
            Additionally the pathname ends with '>', since it is the  pathname
            of a UFD.

          - There was an unintended bias in the node scan to those at start of
            ENV file - fixed.

          - In the TCP/IP despooler:  if connect time out on 1 LHC,  will  try
            the next  until all tried.  (Only on initial connect - once a path
            is established, it is used for the lifetime of the despooler).

          - PROP -BACK now works on jobs submitted -NOF &c, which  don't  have
            any form  feeds,  also get count pages printed, % printed, can use
            -TO / -FROM &c.

          - If a FTN mode job is suspended, will stay as a FTN mode  job  when
            released.

          - If a job spooled -NIF is suspended, don't  lose  first  form  feed
            after release.

          - PROP -BACKUP commands are reported correctly in the LOG file.

          - -CLOSE_SOCKET no longer causes the despooler to fail.

          - -FACING_BANNER copes with ^014 (parity-low  FF).   ^014  is  still
            treated as  a  normal character if FACING_BANNER is not in the ENV
            (e.g. PostScript).



       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   14



          - An unwanted blank page is no longer output after a -TO job.

          - -TO or -FROM with -NIF gives the wanted pages.

          - -FROM with -NIF doesn't sometimes give unwanted page 1.

          - SPOOL command will not lose ^P (quit).

          - SPOOL CMDNC0>CONFIG -SWO will not give "File not found".

          - Restore Rev19 functionality:  SPOOL -ON will produce a banner with
            *your* name (unless you used -ALIAS), not your ARID.

          - Increased the line length  in  input  file  to  Create_Config_List
            again, to 512 this time.
+           _____

          - After a PROP -BACKUP of > 20 pages during a multiple  copy  print,
            the next  copy  will  start at page 1 (or the user-specified -FROM
            page), not the page backed up to.
+                  ___

          - It will be much faster to do a SPOOL -LIST -AT <attribute(s)> (and
            / or -USER <name>), when this command only selects a  few  entries
            from a large queue.
            This is  achieved by passing the SPOOL -LIST selection criteria to
            Primos, which returns blocks of 10 or so entries for evaluation by
            the SPOOL -LIST code.  The enhancement ensures that entries, which
            do not meet the selection criteria, are not returned.
            It will also be possible to have many KEPT entries in  the  queue,
            without any  major impact on the performance of SPOOL -LIST.  (The
            default is for SPOOL -LIST not to show KEPT jobs).

            As an example, 1/25th the CPU usage has been recorded by  a  SPOOL
            -LIST -AT  <xxx>  which  returned  1  entry from a queue with 1030
            entries.  (80 seconds -> 3.2 seconds on a 2655 system).

          - TCP/IP Despooler will no longer loop  on  a  PROP  -STOP  or  PROP
            -RESET when  the  LTS is refusing connection requests (due perhaps
            to paper out).
            For PostScript, prevent the handler waiting 30 minutes for an  ETX
            when this happens.

          - -TO and -FROM can now be used with PostScript.


       3  Problems Fixed - Not User Visible.
+         __________________________________

          None.

       4  Outstanding Problems.
+         _____________________

          None.





       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   15



       5  Permanent Restrictions.
+         _______________________

          None.

       6  Environment.
+         ____________

          The Rev 24.0.0 Spooler sub-system will execute successfully ONLY  on
          environments running  Primos  Rev  24.0 or higher.  It can run, with
          reduced functionality, on systems at Primos  between  Rev  23.2  and
          23.4.

       7  Installation and Build Procedures.
+         __________________________________

          For users that have custom  printer  handlers,  accounting  packages
          (SP$ACT), or  job  headers  (SP$HDG),  a recompile of these programs
          MUST be performed to avoid OUT_OF_BOUNDS$ conditions.


          A.  Ensure that any Pre-Rev 21 spool queues on all local  disks  are
              empty.  Rev 21 format queues should also be emptied.


          B.  Once the queues are empty, shutdown any active despoolers.


          C.  Unless OAS is being used, delete all local  SPOOLQ  directories.
              If OAS  is being used then delete all files in the SPOOLQ except
              L.TYPE.  This is required by OAS.


          D.  For Pre-Rev21 spool sites, delete PROP.SAVE and SPOOL.SAVE  from
              CMDNC0.


          E.  For Pre-Rev21 spool sites, delete S$2167  and  S$4000  from  the
              SYSTEM directory.


          F.  If your PRIMOS.COMI file executes SHARE  commands  directly,  to
              initialize   the  (Pre-Rev  21)  Spooler  then   remove    these
              references.  If your PRIMOS.COMI file does not  already  contain
              the command,

              CO SYSTEM>SPOOL.SHARE.COMI 7

              then insert  it at the appropriate spot.  If unsure of placement
              of share procedures see the System Administrators Guide.


          G.  The top level directories SPOOL_QUEUE*, SPOOL_DATA*  and  SPOOL*
              should exist.   If they do not, create them.  (If multiple spool
              data  partitions    are    to    be    used,    set    up    the
              SPOOL_QUEUE*>DATA_PARTITIONS file as described in the Operator's
              Guide to the Spooler Sub-system).  Then run the supplied utility


       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   16



              SYSTEM>SPOOL.INSTALL_ACL.  This  will set ACL's for SPOOL_QUEUE*
              and SPOOL_DATA* as follows:

              .SPOOL$$:ALL $REST:NONE.

              and for SPOOL* the ACL's should be:

              .SPOOL_ADMINISTRATOR$:ALL  SYSTEM_ADMINISTRATOR:ALL   SYSTEM:ALL
              $REST:LUR


          H.  Use EDIT_PROFILE to add/modify users who  are  to  have  spooler
              administration rights.   These  users  must  have  the ACL group
              ".SPOOL_ADMINISTRATOR$".  The  user  SYSTEM  must  be   in   the
              .SPOOL_ADMINISTRATOR$ ACL group.


          I.  Set up the despooler  environment  files  as  described  in  the
              Operator's Guide  to  the  Spooler  Sub-system.  You can use the
              CONVERT_ENV utility program in SPOOL* to help with this task.


          J.  Set up the optional SPOOL_QUEUE*>FULL_LIST_USERS  control  file,
              if required, as described in the Operator's Guide to the Spooler
              Sub-system.


          K.  Set up the optional attributes files, if required, as  described
              in the Operator's Guide to the Spooler Sub-system.


          L.  If you wish the SPOOL -LIST -ALL command  to  report  queues  on
              other systems  in  a  network,  set up the SPOOL*>QUEUES file as
              described in the Operator's Guide to the Spooler Sub-system.


          M.  If your system  involves  a  network  spanning  multiple  naming
              spheres, edit  SPOOL*>DESPOOL.CPL  to  include  appropriate ARID
              commands at the indicated point.


          N.  Edit  the   (system   default   entrypoint   search-list)   file
              SEARCH_RULES*>ENTRY$.SR to include SP$LIB.RUN.


          O.  If you wish to use the print-out distribution addressing feature
              of the Rev 21.0 Spooler, generate a file of user  addresses,  as
              described in the Operator's Guide to the Spooler Sub-system.


          P.  Issue the  command     CO SYSTEM>SPOOL.SHARE.COMI     from   the
              system console, to set up segment access for the Spooler.




       Rev 24.0.0                                             February 7, 1994


1


       SPOOL Sub-System                                              Page   17



          Q.  Issue the command    PROP -COLDSTART,  either  from  the  system
              console,  or  as  a  spooler  administrator.   This  initializes
              various Spooler data-bases.


          R.  Issue the  usual    PROP environment_name -START    command   to
              start all  configured  printers.  These commands may be inserted
              in the SPOOL.SHARE.COMI file, which will be executed  each  time
              the   machine  is  re-booted/coldstarted,  thus  automating  the
              startup procedure.


          S.  When setting up an environment file for a QMS  printer  set  the
              pad character  of the format instruction to zero (ie.  -PAD_CHAR
              0 ).  This will enable  the  QMS  printer  to  fill  and  adjust
              correctly when printing.


          T.  If you use a QUME printer of type OAS then edit the  appropriate
              environment  file(s)  to  contain  the  line  MAP  OAS  QUME_MAP
              -DEFAULT.



































       Rev 24.0.0                                             February 7, 1994


