LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Network Maintainer <EARNUCD@IRLEARN>
Tue, 21 Jul 87 19:25:50 GMT
text/plain (122 lines)
I've put together a VERY crude "to be improved when I have time"
LISTSERV-based bulletin board of the kind you suggest.  One of LISTSERV's
disks has READPW=ALL, and the list is set up for archiving to that disk.
A trivial exec provides user access.
 
I have not yet modified MAILBOOK to behave "better" when dealing with
a read-only disk, nor to keep high-water marks.
 
I attach my BBOARD EXEC, and a sample list.
 
I have supposed that this idea was of sufficiently wide interest to
justify a reply to the list;  please forgive me if you disagree.
 
-------------------- Included file BBOARD EXEC ------------------------
/*       BBOARD EXEC
 
         The format of this command is:
 
             BBOARD <listname> [ ( <options> [ ) ] ]
 
         where <listname>  is the name of a distribution list
                           maintained by LISTSERV@IRLEARN
 
               <options>   are not available yet
 
         The purpose of the program is to allow the user to browse
         through mail sent to <listname>.  This mail is presented in
         a MAILBOOK environment (see HELP CMS MAILBOOK), with a
         separate NOTEBOOK file for each month in which there was
         mail.
 
                                                                       */
 
parse arg listnames '(' options
if listnames = '' | listnames = '?' then signal explain
 
   public_disc = "LISTSERV 203"
   link_address = 203
   alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 
   makebuf
   'QUERY DISK ( STACK LIFO'
   modes=alphabet
   do while disc <> 'CUU'
      pull . disc mode .
      if disc <> 'CUU' then,
         modes=delstr(modes,pos(left(mode,1),modes),1)
      end
   dropbuf
 
   filemode=left(modes,1)
 
 
   'QUERY DASD ( STACK LIFO'
   discs=''
   do while queued()>0
      pull . disc .
      discs = discs disc
      end
 
 
   found=0
   do i=0 until found
      ix=d2x(i)
      if length(ix)=1 then ix='0'||ix
      ix='2'||ix
      if pos(ix,discs)=0 then found=1
      end
 
   cuu=ix
 
   'CP LINK' public_disc cuu 'RR'
 
   do i = 1 to words(listnames)
      listname = word(listnames,i)
      "ACCESS" cuu filemode||"/"||filemode
      "EXEC MAILBOOK" listname "*" filemode
      end
 
"RELEASE " filemode "(DET"
 
set cmstype rt
Exit
 
Explain:
  "HELP BBOARD"
  exit
-------------------- Included file BBOARD HELPCMS ----------------------
.cs 1 on
.fo
BBOARD
.sp
Use the BBOARD command to browse one or more Bulletin Boards.
These are public notebooks each containing messages relating to
a particular topic.  The bulletin boards are maintained by
LISTSERV, which periodically creates a new notebook for each topic
- usually once a month.
.sp
.cs 1 off
.cs 2 on
The format of the BBOARD command is:
.sp
.bx 1 13 79
.in 2
BBOARD      topic (topic ...)
.bx off
-------------------- Included file LASER-L LIST -----------------------
*
*  Laser Printer Information Distribution List
*
*  Review= Public    Subscription= Public       Send= Public
*  Notify= Yes       Ack= No                    Files= Yes
*  Reply-to= "[log in to unmask]",Respect
*  Notebook= Yes,G,Monthly,Public
*  Validate= All commands
*
*  Owner=  EARNUCD@IRLEARN UCD Postmaster (Niall O'Reilly)
*
*  Receives mail from ARPAnet LASER-LOVERS distribution list
*
*  List of subscribers omitted

ATOM RSS1 RSS2