(IND\(INDENT\2)) (VFILL\|vfill&) =============================================================================== History: Edit Reason Author Created 31-Oct-89 Initial Version Andy Leslie 29-Jan-1990 Updated Andy Leslie 30-Jan-1990 Updated Andy Leslie 24-Feb-1990 Updated Andy Leslie 26-Feb-1990 The absolutely FINAL V1 update Andy Leslie =============================================================================== DOCUMENT PAN VMSREF POST/contents/index DOCUMENT PAN ONLINE.REF BOOKREADER/contents/index (Professional Adjunct to vaxNotes (PAN)\V1.0 User Guide) <ABSTRACT> <p> <center_line>(<EMPHASIS>(PAN IS FOR DIGITAL INTERNAL USE ONLY\BOLD)) <P> This manual describes the Professional Adjunct to Notes (PAN), a utility which provides added value features to those provided by Digitals standard VAXNOTES product. <P> Please use the LESLIE::PAN notes conference to provide feedback, bug reports etc both on PAN's functionality and this user guide. <p> When making error reports please execute the PAN SHOW VERSION command and include the information given therein in your report. <p><center_line>(<EMPHASIS>(©DIGITAL EQUIPMENT 1990\BOLD)) <ENDABSTRACT> <ENDTITLE_PAGE> <CONTENTS_FILE> <PREFACE>(8) <head1>(Why PAN?\Why) <P> The developers of PAN wanted to use Notes to store mail; and to be able to manipulate Notes and Notes conferences in various ways. <p> It provides many and varied ways of utilising features of VAXNOTES not always easily available under the standard interface. <NOTE>(IMPORTANT) Please note that <EMPHASIS>(PAN\bold) is <EMPHASIS>(NOT\bold) a replacement for VAXNOTES, it is an adjunct only. <ENDNOTE> <head1>(Comments, Suggestions, Questions & Bug Reports\Comments) <X>(Questions<XSUBENTRY>PAN notes conference) <X>(Comments<XSUBENTRY>PAN notes conference) <X>(Suggestions<XSUBENTRY>PAN notes conference) <X>(Feedback<XSUBENTRY>PAN notes conference) <X>(Bug Reports<XSUBENTRY>PAN notes conference) <X>(LESLIE::PAN<XSUBENTRY>PAN notes conference) <P> Please direct these to the <EMPHASIS>(LESLIE::PAN\bold) notes conference. <P>If you'd like another copy of this user guide, print out the appropriate file, supplied within the kit in the VMS saveset held at: <code_example> LESLIE""::SYS$PUBLIC:PAN010.A <endcode_example> <p> The PAN Development Team were Andy Leslie, Project Leader and writer; Peter Bailey Engineer and guru. <vfill> <ENDPREFACE> <ENDFRONT_MATTER> <CHAPTER>(Introducing PAN\Intro) <P>This chapter gives an overview of <EMPHASIS>(PAN\bold) and tells you how to set up your system to use it. The remaining chapters describe how to use <EMPHASIS>(PAN\bold), and the appendix gives a summary of the commands available. <HEAD1>(Overview\Overview) <P><EMPHASIS>(PAN\bold) allows you to: <LIST>(unnumbered) <LE> copy messages between VMS mail folders and notes conferences, optionally retaining original author/subject/datestamp details. PAN's Show Note command will show the person who actually wrote the note. <LE> copy a range of notes from one VMS notes conference to another (sometimes enabling the recovery of a partially corrupt notes conference), usually used for <emphasis>(shadowing) remote conferences on slow network links <LE> replace the body of a note in a notes conference with the contents of a text file, without changing the author and timestamp of the note or its seen/unseen status: PAN's Show Note command will show the person who actually wrote the note. <LE> delete a range of notes from a notes conference <le> manipulate notebook entries to change their name, class, filename and (un)seen map. <le> manipulate membership lists of conferences, including the copying of the membership list of one conference to another <le> create a conference from a dcl command line <le> show all details of a conference, whether in your notebook or not <le> modify the conference default moderator <le> modify notes in a conference <le> write a basenote or reply to a conference <le> extract notes to a file or multiple files <ENDLIST> <NOTE> To replace or delete notes, you must be a moderator of the conference and must have RMS READ and WRITE access to the conference that contains the note. This access is normally restricted to local conferences.<ENDNOTE> <HEAD1>(Getting Started\Getting_Started) <P>To set up <EMPHASIS>(PAN\bold) on your system, follow these step-by-step instructions. <LIST>(NUMBERED) <LE>Copy this file to a local directory: <code_example> LESLIE""::SYS$PUBLIC:PAN010.A <endcode_example> <le> Then use VMSINSTAL in the usual manner to restore the files and move the PAN.EXE file to SYS$SYSTEM: and PAN.HLB to SYS$HELP: <code_example> $ @SYS$UPDATE:VMSINSTAL PAN PAN010.A <endcode_example> <p> This will add the PAN verb to your system and place appropriate files in your system directories. <le>If you do not have write access to SYS$SYSTEM, restore all files to a local directory and execute from there subsequently. You can define a symbol to invoke PAN thus: <code_example> $ PAN =="$device:[directory]PAN" <endcode_example> <P>For example, if you copied the file PAN.EXE to MYDISK:[JONES.TOOLS], you would use this command: <code_example> $ PAN =="$MYDISK:[JONES.TOOLS]PAN" <endcode_example> <ENDLIST> <P>You are now ready to use <EMPHASIS>(PAN\bold). <CHAPTER>(Copying Mail to a Notes Conference\COPY_MAIL) <HEAD1>(Using the COPY MAIL Command\Using_COPY_MAIL) <X>(Notes<XS>copying from mail folders) <X>(COPY MAIL command) <X>(Mail messages<XS>copying to notes conferences) <X>(Copying<XS>mail to notes) <P>This chapter describes how to copy all the messages in one or more mail folders to a topic in a notes conference. To do this you use the COPY MAIL command. <LIST>(UNNUMBERED) <LE>select the mail folders whose messages you want to copy <p> If you are unsure about the mail folders that exist, use the following command to list them: <code_example> $ PAN DIRECTORY MAIL_FOLDERS {/DIR=mail-directory} <endcode_example> <LE>select the notes conference to which you want to copy these mail messages, and the destination topic in this conference <p> If you are unsure about the topics that exist, use the following command to list them: <code_example> $ PAN DIRECTORY CONFERENCE {note-range} {/CLASS=class} <endcode_example> <LE> show the author of the note as the sender of the mail messages to make it look like each note was entered by the user who sent the original mail message. PAN's Show Note command willshow the person who actually wrote the note. <ENDLIST> <P>For each mail message, the COPY MAIL command creates a reply to the selected topic, then copies the mail message (including its header) to that reply. <p> The format of the command COPY MAIL is: <code_example> $ PAN COPY MAIL MAILFOLDER CONFERENCE {/[NO]NOTEBOOK[=<Notebook-spec>]} {/TOPIC=n} {/NEWFOLDER=xx} {/SINGLE} {/BY_AUTHOR} {/TITLE} <endcode_example> <p>You may specify either an alternate notebook to the default by use of /NOTEBOOK=<Notebook-spec> or none at all, in which case the file specification of the conference must be complete. You must be a Moderator of the conference that you are attempting to alter. <P>For example, this command copies the messages in the mail folder MYFOLDER in the default mail directory to topic number 25 in the notes conference Conference_B, and moves the mail from the VMSMAIL folder MAILFOLDER to WASTEBASKET: <code_example> $ PAN COPY MAIL myfolder Conference_B /TOPIC=25 /NEWFOLDER=wastebasket <endcode_example> <p> This example utilises the /SINGLE switch. This creates a new topic for each mail message. <code_example> $ PAN COPY MAIL myfolder Conference_B /SINGLE <endcode_example> <p> This example utilises the /BY_AUTHOR switch. This creates a new topic per author of the mail messages in the MYFOLDER VMSMAIL folder. <code_example> $ PAN COPY MAIL myfolder Conference_B /BY_AUTHOR <endcode_example> <p> This example utilises the /TOPIC switch. This causes the specified mail messages to be appended to topic 25 in the Conference_B conference. <code_example> $ PAN COPY MAIL myfolder Conference_B /TOPIC=25 <endcode_example> <p> This example utilises the /TITLE switch. This causes the mail messages in the MYFOLDER VMSMAIL folder to be placed in a new topic entitled "PC Throughput rates" in the Conference_B conference. <code_example> $ PAN COPY MAIL myfolder Conference_B /TITLE="PC Throughput rates" <endcode_example> <CHAPTER>(Copying Notes and Keywords Between Conferences\Shadowing) <X>(Notes<XS>copying to another conference) <X>(COPY command) <X>(Copying<XS>notes to notes) <P>This chapter describes how to copy notes or keywords or both from one conference to another. <HEAD1>(Using the COPY NOTES Command\Using_COPY_NOTES) <P>To copy notes from one conference to another, use the COPY NOTES command, the format of which is: <CODE_EXAMPLE> $ PAN COPY NOTES conf1 {/[NO]NOTEBOOK[=<Notebook-spec>]} conf2 {/[NO]NOTEBOOK[=<Notebook-spec>]} {/CREATE} {/TOPIC=n} {/NEW} {/RANGE=nnn-pppp} {/SINCE=date} {/UNSEEN} {/SEEN} <ENDCODE_EXAMPLE> <p>You may specify either an alternate notebook to the default by use of /NOTEBOOK=<Notebook-spec> or none at all, in which case the file specification of the conference must be complete. You must be a Moderator of the conference that you are attempting to alter. <P>This command allows you to: <LIST>(UNNUMBERED) <LE>select which notes to copy <LE>select the destination conference <le> create the destination conference <LE> show the author of the note as the sender of the mail messages to make it look like each note was entered by the user who entered the original note in the source conference. PAN's Show Note command will show the person who actually wrote the note. <ENDLIST> <X>(Hidden notes) <X>(Notes<XS>hidden) <P>If the note in the source conference is hidden, an empty note is written to the target conference, unless you are a moderator of the source conference, when the target note is copied in full and is also hidden. <NOTE> When copying a large number of notes, or over a slow network link, it is adviseable to run the COPY NOTES command in batch mode as it can take a long time to run. <ENDNOTE> <CODE_EXAMPLE> $ PAN COPY NOTES Conference_A Conference_B <ENDCODE_EXAMPLE> <P>By default, the command copies all notes entered in the source conference since the COPY command was last used to access the target conference. You can use the /BEFORE and /AFTER qualifiers to specify a different time filter. For example, this command copies all notes entered Since 1 January 1990: <CODE_EXAMPLE> $ PAN COPY NOTES /SINCE=1-JAN-1990 Conference_A Conference_B <ENDCODE_EXAMPLE> <P>By default, the COPY command copies all notes entered during the specified period. To select particular notes only, use the /TOPIC qualifier: <CODE_EXAMPLE> $ PAN COPY NOTES /TOPIC=32 Conference_A Conference_B <ENDCODE_EXAMPLE> <P>Normally, the note id is retained when the note is copied. For example note 4.3 in the source conference is copied to note 4.3 in the target conference. <P>When you use the /TOPIC qualifier to copy one topic, you can use the /NEW qualifier to specify the number of the new topic in the target conference. For example, this command copies topic 4 in Conference_A to topic 10 in Conference_B: <CODE_EXAMPLE> $ PAN COPY NOTES /TOPIC=4 /NEW=10 Conference_A Conference_B <ENDCODE_EXAMPLE> <HEAD3>(Creating the Destination Notes Conference\Creating_destination_conf) <X>(Creating<XS>new notes conferences) <P> You can use the /CREATE qualifier to create the destination notes conference. Unless you have an existing Notebook entry for the new conference, you should specify the /NONOTEBOOK qualifier for the target conference. For example, the following command creates the notes conference NOTES$LIBRARY:NEW_PROJECT.NOTE with the creator as the sole member and moderator, and copies all the notes in Conference_B to it: <CODE_EXAMPLE> $ PAN COPY NOTES - _$ Conference_B NOTES$LIBRARY:NEW_PROJECT.NOTE /NONOTEBOOK /CREATE <endcode_example> <NOTE>When the source conference is a members-only conference, the target conference is created as a members-only conference.<endnote> <comment> <HEAD2>(Copying Keywords\Copying_Keywords) <X>(Keywords<XS>copying between conferences) <P>By default, the keywords associated with the selected notes are not copied. To copy keywords as well, use the /KEEP_KEYWORDS qualifier. <endcomment> <HEAD2>(Using Original Authorship Information\Impersonation) <X>(Usering Original Authorship Information<XS>copying notes between conferences) <P> If a moderator has RMS READ/WRITE access to the target conference, the original author name is preserved in the copied notes. PAN's Show Note command will show the person who actually wrote the note. <P>For example, this command creates a new conference, SHADOW, which is an exact replica of Conference_A: <CODE_EXAMPLE> $ PAN COPY NOTES Conference_A SYS$LOGIN:SHADOW/NONOTEBOOK /CREATE <ENDCODE_EXAMPLE> <HEAD2>(COPYing UNSEEN Notes\UNSEEN) <X>(Copying UNSEEN Notes <XS>copying unseen notes between conferences) <P> If you are copying notes from a remote conference to a local conference on a regular basis, you may wish to copy all UNSEEN notes. This is achieved via the /UNSEEN qualifier. Further, you may wish these notes to be marked as SEEN in your notebook entry for the original conference. <P>For example, this command copies unseen notes from Conference_A to SHADOW, marking them as seen in the notebook entry for Conference_A: <CODE_EXAMPLE> $ PAN COPY NOTES Conference_A SHADOW /UNSEEN /SEEN <ENDCODE_EXAMPLE> <CHAPTER>(Changing existing Notes\Changing_Notes) <X>(Notes<XS>replacing body text) <X>(SET NOTE/CONTENTS command) <X>(Replacing notes) <head1>(Using the SET NOTE/CONTENTS Command\Using_SET_NOTE_CONTENTS) <P>This chapter describes how to SET NOTE/CONTENTS the body of a note with the text in a file without changing the author, timestamp or seen/unseen status of the note. To do this, you use the SET NOTE/CONTENTS command: <code_example> $ PAN SET NOTE/CONTENTS conference note-id filespec <endcode_example> <NOTE> To use the SET NOTE/CONTENTS command, you must be a moderator of the notes conference and you must have READ and WRITE access to the file that contains the conference. Normally this access is restricted to local conferences. <ENDNOTE> <P>The original inspiration for this command was the desire to "lowercase" notes that had been <X>(Lower-casing notes) <X>(Notes<XS>lower-casing) entered in capitals, without resetting the note to be "unseen" or changing the original author and timestamp. PAN's Show Note command will show the person who actually wrote the note. <P>For example this command replaces note 4.7 with the contents of the file NEW_4.7_TEXT: <CODE_EXAMPLE> $ PAN SET NOTE/CONTENTS FUBAR 4.7 NEW_4.7_TEXT <ENDCODE_EXAMPLE> <P>If the note does not exist, you get an error message. <HEAD1>(Using the SET NOTE /HIDDEN Command\Using_HIDE) <X>(Hiding notes) <X>(SET NOTE/HIDDEN command) <X>(Notes<XS>hiding) <P>This section describes how to hide or reveal one or more notes from a notes conference. To do this, you use the SET NOTE/[NO]HIDDEN command: <code_example> $ PAN SET NOTE/[NO]HIDDEN conference note-id {/NOCONFIRM} <endcode_example> <p> This command requires that you are the author of the note or a Moderator of the conference in which the note resides. <p> For example this command sets note 1.0 hidden in the DECWINDOWS conference: <code_example> $ PAN SET NOTE/HIDDEN DECWINDOWS 1.0 /NOCONFIRM <endcode_example> <X>(Changing the datestamp of a note) <X>(SET NOTE/DATE command) <HEAD1>(Using the SET NOTE/DATE Command\Altering_Datestamps) <X>(Notes<XS>changing the datestamp) <P>This section describes how to change the datestamp of a specified note in a notes conference. To do this, you use the SET NOTE/DATE command: <code_example> $ PAN SET NOTE/DATE conference note-id datestamp <endcode_example> <p> For example this command shows how to change the datestamp of note 1.0 in the DECWINDOWS conference to 1-Jan-1990:10:00:00.00 <code_example> $ PAN SET NOTE/DATE DECWINDOWS 1.0 "01-JAN-1990:10:00:00.00" <endcode_example> <p> This command reuires that you are a Moderator of the affected conference and have RMS READ/WRITE access to the conference. <p> This command is usually for use when a system has had its system clock mis-set and this has affected readers unseen maps. <X>(Writelocking a note) <X>(SET NOTE/NOWRITE command) <HEAD1>(Using the SET NOTE/NOWRITE Command\Writelocking_Notes) <X>(Notes<XS>writelocking) <P>This section describes how to writelock a specified topic in a notes conference. To do this, you use the SET NOTE/NOWRITE command: <code_example> $ PAN SET NOTE/NOWRITE conference note-id <endcode_example> <p> For example this command shows how to writelock topic 1 in the DECWINDOWS conference. <code_example> $ PAN SET NOTE/NOWRITE DECWINDOWS 1.0 <endcode_example> <p> The SET NOTE /WRITE command can be issued in the same manner to unlock the topic and allow replies. <code_example> $ PAN SET NOTE/WRITE DECWINDOWS 1.0 /NOCONFIRM <endcode_example> <p> This command reuires that you are a Moderator of the affected conference and only applies to basenotes. <HEAD1>(Using the DELETE NOTES Command\Using_DELETE) <X>(Deleting notes) <X>(DELETE command) <X>(Notes<XS>deleting) <P>This section describes how to delete one or more notes from a notes conference. To do this, you use the DELETE command: <code_example> PAN DELETE NOTES /RANGE=(note-range[,...]) {/NOCONFIRM} conference <endcode_example> <NOTE> To use the DELETE command, you must be a moderator of the notes conference and you must have READ and WRITE access to the conference that contains the note. Normally this access is restricted to local conferences. <ENDNOTE> <P>Each <EMPHASIS>(note-range\bold) can be a topic number, a note id, or a range of topics or note ids, and can include the asterisk wildcard character. The parentheses surrounding the note ranges are optional if you supply only one note-range. For example this command deletes note 4.6 from the conference FUBAR: <CODE_EXAMPLE> $ PAN DELETE NOTES /RANGE=4.6 FUBAR <ENDCODE_EXAMPLE> <P>By default, the DELETE command prompts for confirmation before deleting each note. You can use the /NOCONFIRM qualifier to delete notes without confirmation. <P>The following command deletes notes 4.3 though 4.8 inclusive, all of the notes in topic 9, and all notes in topics 78 through 101 inclusive from the conference FUBAR. It prompts for confirmation before deleting each of these notes. <CODE_EXAMPLE> $ PAN DELETE NOTES FUBAR /RANGE=(4.3-4.8, 9.*,78-101) <ENDCODE_EXAMPLE> <CHAPTER>(Altering Conferences\Conference_Alteration) <X>(SET CONFERENCE command) <head1>(Altering a conference notice or title\conf_title_notice_alteration) <X>(Altering conferences) <p> To change the conference title or notice, issue the SET CONFERENCE command, the format of which is: <code_example> $ PAN SET Conference /[NO]NOTEBOOK[=<Notebook-spec>] /TITLE="title string" /NOTICE="Notice String" <endcode_example> <p>You may specify either an alternate notebook to the default by use of /NOTEBOOK=<Notebook-spec> or none at all, in which case the file specification of the conference must be complete. You must be a Moderator of the conference that you are attempting to alter. <p> The following command changes the title and notice of the DECWINDOWS notes conference: <code_example> $ PAN SET CONFERENCE DECWINDOWS/TITLE="NEW TITLE"/NOTICE="NEW NOTICE" <endcode_example> <X>(Altering conference default moderator) <head1>(Altering the default moderator of a conference \Moderator_alteration) <p> On occasions a System Manager or other designated employee with RMS READ/WRITE access to a conference may have to "break in" because for instance the last moderator has left the corporation. <p> In the case the SET CONFERENCE/MODERATOR command will be extremely useful. The format is: <code_example> $ PAN SET Conference /Moderator=node::user /[NO]NOTEBOOK[=<Notebook-spec>] <endcode_example> <p>You may specify either an alternate notebook to the default by use of /NOTEBOOK=<Notebook-spec> or none at all, in which case the file specification of the conference must be complete. <p> For example this command will set the default Moderator of the TEST notes conference to be FU::BAR. <code_example> $ PAN SET CONFERENCE TEST/MODERATOR=FU::BAR <endcode_example> The SET CONFERENCE /MODERATOR command <emphasis>(cannot\bold) be used in conjunction with the SET CONFERENCE /NOTICE or /TITLE commands. <CHAPTER>(Mending Broken Conferences\Repair) <X>(Repairing conferences) <X>(Mending conferences) <X>(Recovering corrupt conferences) <X>(Corrupt conferences) <P>To repair a notes conference with irrecoverable bad blocks, use the COPY command with the /CREATE and /TOPIC qualifiers to create a new conference and copy all the notes you can see to the new conference. <P>For example, if topic 70 is corrupted, copy topics 1-69 and topics 71-9999: <CODE_EXAMPLE> $ PAN COPY BROKEN_CONF /TOPIC=1-69 NEW_CONF /NONOTEBOOK /CREATE $ PAN COPY BROKEN_CONF /TOPIC=71-9999 NEW_CONF /NONOTEBOOK <ENDCODE_EXAMPLE> <CHAPTER>(Creating Conferences\Creation) <X>(Creating conferences) <P>To create a notes conference with PAN, use the CREATE command with the optional /TITLE, /NOTICE, /RESTRICTED and /INTRO_NOTE qualifiers to create a new conference, optionally setting the conference title and/or notice, and/or whether membership is to be restricted and/or a possible introduction note as topic 1. <P>For example, this command creates a new conference, Conference_B with title "My Title", Notice "My Notice", restricts it to joined members (only the creator by default) and writes the introduction note from a file called intro.note, with a title of Introduction. <CODE_EXAMPLE> $ PAN CREATE CONF SYS$LOGIN:Conference_B - _$ /TITLE="My Title" /NOTICE="My Notice" - _$ /INTRO_NOTE=(TITLE="Introduction",FILE=INTRO.NOTE) <ENDCODE_EXAMPLE> <note> When using the /INTRO_NOTE qualifier, both TITLE and FILE are mandatory. <endnote> <CHAPTER>(Manipulating conference memberships\MEMBERSHIPS) <X>(Copying membership) <X>(Adding members to a conference) <X>(Deleting members from a conference) <X>(Modifying access for members to a conference) <p> To copy from one notes conference to another, with PAN, use the COPY MEMBERS command. <P>For example, this command copies all members from CONF1 to CONF2: <CODE_EXAMPLE> $ PAN COPY MEMBERS CONF1 CONF2 <ENDCODE_EXAMPLE> <P>This command copies member ANDY from CONF1 to CONF2: <CODE_EXAMPLE> $ PAN COPY MEMBERS CONF1 CONF2 ANDY <ENDCODE_EXAMPLE> <p> To add a new member to a conference use the ADD MEMBER command. <p> For example, this command adds FU::BAR as a member of conference SNAFU: <CODE_EXAMPLE> $ PAN ADD MEMBER BAR /ACCESS=FU::BAR /MAIL_ADR=FU::BAR SNAFU <ENDCODE_EXAMPLE> <p> This command adds FU::BAR as a Moderator of conference SNAFU: <CODE_EXAMPLE> $ PAN ADD MEMBER BAR /ACCESS=FU::BAR /MAIL_ADR=FU::BAR SNAFU - _$ /MODERATOR <ENDCODE_EXAMPLE> <p> To change the access of a member, use the SET MEMBER command. <p> For example, this command changes the access of member BAR to being from node OPEN:: as well as FU::. <CODE_EXAMPLE> $ PAN SET MEMBER BAR OPEN::BAR SNAFU <ENDCODE_EXAMPLE> <p> To replace the access list of a member, use the SET MEMBER /REPLACE command. <p> For example, this command changes the access of member BAR to being from node OPEN:: instead of FU::. <CODE_EXAMPLE> $ PAN SET MEMBER BAR OPEN::BAR SNAFU /REPLACE <ENDCODE_EXAMPLE> <p> To delete a member, use the DELETE MEMBER command <p> For example this command deletes the access of member BAR from the SNAFU conference: <CODE_EXAMPLE> $ PAN DELETE MEMBER BAR SNAFU <ENDCODE_EXAMPLE> <head1>(Using files when manipulating memberships\membership_files) <p> You may use the <line> ADD MEMBER/FILE <emphasis>(file_name) <emphasis>(conf) and the <line> SHOW MEMBER/OUTPUT=<emphasis>(file_name) <emphasis>(conf) <line> commands to build distribution lists from conference memberships; also to utilise existing distribution lists to build conferemnce memberships. The record format utilised is: <line><line> MAIL::ADDRESS ! {access list or node list or both} <line><line> with qualifiers /moderator /Name = "member Name" <line> @FILE_NAME[.dis] is also allowed, to allow cascading of distribution lists <line> <p> The command <line> SHOW MEMBER/OUTPUT=<emphasis>(file_name) <line> writes the membership list into the filename given in a form directly usable by ADD MEMBER/FILE <file_name> <code_example> $ PAN SHOW MEMBERS/OUT=L.1 Conference_A $ PAN SHOW MEMBERS/OUT=L.2 Conference_B $ CREATE L.ALL @L.1 #L.2 ^Z $ PAN ADD MEMBERS/FILE L.ALL Conference_C <endcode_example> <p> This will copy the membership list from Conference_a to file L.1, the copy the membership list from Conference_B to file L.2. The CREATE command will create a conglomerate file that, when used with the PAN ADD MEMBERS/FILE command will add members from both conferences A and B to conference C. <CHAPTER>(Manipulating and updating Notebook entries \Entries) <X>(Add Entry) <X>(Set Entry) <X>(Delete Entry) <head1>(Adding an entry\Add_Entry) <p> To create a notebook entry, use the ADD ENTRY command. <code_example> $ PAN ADD ENTRY entryname {/FILENAME=node::conf} {/CLASS=class} <endcode_example> <P>For example, this command adds entry Work to class FUBAR with a filename of SNA::FU <CODE_EXAMPLE> $ PAN ADD ENTRY "Work" /FILENAME=SNA::FU /CLASS=FUBAR <ENDCODE_EXAMPLE> <head1>(Deleting a notebook entry\Delete_Entry) <p> To delete a notebook entry, use the DELETE ENTRY command. <code_example> $ PAN DELETE ENTRY entryname {/CLASS=class} <endcode_example> <P>For example, this command deletes entry Work from class FUBAR <CODE_EXAMPLE> $ PAN DELETE ENTRY "Work" /CLASS=FUBAR <ENDCODE_EXAMPLE> <head1>(Modifying an Entry\Set_Entry) <p> To modify a notebook entry, use the SET ENTRY command. <code_example> $ PAN SET ENTRY entryname {/FILENAME=node::conf} {/NAME=name} {/CLASS=class} <ENDCODE_EXAMPLE> <P>For example, this command moves entry Work to class BOHICA <CODE_EXAMPLE> $ PAN Set ENTRY "Work" /CLASS=BOHICA <ENDCODE_EXAMPLE> <P>This command modifies entry Work to be file MYNODE::WORK <CODE_EXAMPLE> $ PAN Set ENTRY "Work" /FILENAME=MYNODE::WORK <ENDCODE_EXAMPLE> <head1>(Updating an Entry\Updating_entries) <X>(Updating Notebook Entries) <p> To update the unseen map associated with one or more notebook entries, use the UPDATE command. <p> The format of the UPDATE command is <code_example> $ PAN UPDATE <conference> {/CLASS=<class>} {/ALL} <endcode_example> Asterisks may be used in place of specific conference and class names. The /ALL switch controls whether an update is carried out for conferences whose unsee count is not zero in your notebook. <p> For example, this command updates all entries that have zero unseen count in your notebook in class MAIN. <code_example> $ PAN UPDATE * /CLASS=MAIN <endcode_example> <p> This command updates all entries regardless of the current unseen count, using the /ALL switch. <code_example> $ PAN UPDATE * /CLASS=MAIN /ALL <endcode_example> <CHAPTER>(Obtaining details of conferences and Notebook entries \SHOW_CONF) <X>(Show Entry) <X>(Dir Entry) <p> To list details of one or more notebook entries, use the DIR NOTEBOOK command. <p> For example, this command lists all entries in class MAIN <code_example> $ PAN DIRECTORY NOTEBOOK * /CLASS=MAIN <endcode_example> <p> To show details of a note's author when the note in question has been copied from another conference, inserted from mail or had its contents replaced (via PAN) use the SHOW CONFERENCE /RANGE command. <code_example> $ PAN SHOW CONFERENCE FUBAR {/[NO]NOTEBOOK[=<Notebook-spec>]} {/RANGE=note-id} {/NOSYMBOLS} <ENDCODE_EXAMPLE> <p>You may specify either an alternate notebook to the default by use of /NOTEBOOK=<Notebook-spec> or none at all, in which case the file specification of the conference must be complete. You must be a Moderator of the conference that you are attempting to alter. <p> For example, this command will show details of note 1.0 in the FUBAR conference. <code_example> $ PAN SHOW CONF FUBAR/RANGE=1.0 Opening the notes conference Opening notebook entry FUBAR .............. Opening notebook entry FUBAR .............. Opening conference SNAFU::FUBAR .............. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Note 1.0 LESLIE::SYSTEM Introduction 43 lines Note changed by ....LESLIE::LESLIE <endcode_example> <p> To show details of a conference use the SHOW CONFERENCE command. <code_example> $ PAN SHOW CONFERENCE FUBAR {/[NO]NOTEBOOK[=<Notebook-spec>]} {/RANGE=note-id} {/NOSYMBOLS} <ENDCODE_EXAMPLE> <p>You may specify either an alternate notebook to the default by use of /NOTEBOOK=<Notebook-spec> or none at all, in which case the file specification of the conference must be complete. You must be a Moderator of the conference that you are attempting to alter. <P>For example, this command shows details of entry WORK <CODE_EXAMPLE> $ PAN Show Conference WORK Opening the notes conference Opening notebook entry WORK .............. Opening notebook entry Work .............. Opening conference LESLIE::WORK .............. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Unseen (estimate) = 3 Last update status = %SYSTEM-S-NORMAL, normal successful completion File = LESLIE::DKJ1:[NOTES$LIBRARY]WORK.NOTE;2 Title = Work Notice = <none> Topics = 61 Reply_Only = No Members Only = No Writelocked = No Server_Max_Item = 122 Topics and Replies = 9215 Format = 3 High_Uid = 40003E2B Created = 20-DEC-1989 20:16:27.39 Updated = 29-JAN-1990 10:16:08.17 Moderator = LESLIE::LESLIE Keyword Creation Restricted = Yes <ENDCODE_EXAMPLE> <note> Unless the /NOSYMBOLS qualifier is used, dcl symbols will be created for the information supplied about the specified conference(s) of the format PAN$filename_qualifier, as shown below: <code_example> PAN$WORK_FILE == "LESLIE::DKJ1:[NOTES$LIBRARY]WORK.NOTE;2" PAN$WORK_MEMBERS_ONLY == "No" PAN$WORK_MODERATOR == "LESLIE::LESLIE" PAN$WORK_NOTICE == "" PAN$WORK_PANCOPY_TIMESTAMP == "20-DEC-1989 20:15:12.54" PAN$WORK_TITLE == "Work" PAN$WORK_TOPICS == "61" PAN$WORK_UNSEEN_ESTIMATE == "3" PAN$WORK_WRITELOCKED == "No" <endcode_example> <endnote> <CHAPTER>(Using PAN to write a basenote or reply to a conference\Writing_notes) <p> You can use PAN to write basenotes or reply to existing notes by use of the WRITE and REPLY commands. <p> Usually this is because a user will want to make the entry in a conference via a batch job because of temporary inaccesibility. <p> The following is the format of the WRITE command <code_example> $ PAN WRITE entry-name /CONFERENCE=conference-name /FROM=file-name /HIDDEN /KEYWORD=(keyword-name,keyword-name...) /NOWRITE /TITLE="string" /UNSEEN <endcode_example> <p> The following is the format of the REPLY command <code_example> $ PAN REPLY entry-name note-id /CONFERENCE=conference-name /FROM=file-name /HIDDEN /KEYWORD=(keyword-name,keyword-name...) /TITLE="string" <endcode_example> <p> For example, the follwing command would write a note to the DECWINDOWS conference from a file called PAN.TXT, with a conference pointer for LESLIE::PAN and keywords USEFUL and UTILITY and the title PAN: the Professional Adjunct to vaxNotes" <code_example> $ PAN WRITE DECWINDOWS /FROM=PAN.TXT/CONF=LESLIE::PAN - /KEYWORD=("USEFUL",UTILITY")/TITLE="PAN: the Professional Adjunct to vaxNotes" <endcode_example> <CHAPTER>(Using PAN to extract notes from a conference\Extracting_notes) <p> You can use PAN to extract notes to a file. <p> Usually this is because a user will want to read a conference via a batch job because of temporary inaccesibility. <p> The following is the format of the EXTRACT command <code_example> $ PAN EXTRACT entry-name [note-range] /ALL /APPEND /AUTHOR=username /BEFORE=date-time /CLASS=class-name /CONTAINS="string" /HEADER /NOHEADER /LINE_LIMIT=n /KEYWORD=keyword-name /OUTPUT=file-spec /SEEN /SINCE=date-time /TITLE="string" /UNSEEN /UPDATE <endcode_example> <p> If the output file specification has an exclamation point in it (/OUTPUT="!AS.TMP", for instance), then PAN will close the and re-open a new output file for each entry. In addition, it will pass the output file specification through FAO, passing the entry name and a 0 as parameters. This allows you to get the output for each entry in a separate file. Since a 0 parameter is passed you can also use a date/time FAO specification (/OUTPUT="!AS!6%D.TMP"), and PAN will eliminate blanks, and convert hyphens to underscores. <p> !AS - code conference name into output filespec <p> !nAS - force conference name to be exactly <n> characters long <p> <p> !%D - code date and time into output filespec dd_mmm_yyyy_hh_mm_ss.c <line> NOTE that <.c> tries to become the version number <p> !11%D - code date and time into output filespec dd_mmm_yyyy <p> !6%D - code date into output filespec dd_mmm <p> <p> !+ - skip forward an argument (to pass over !AS name string) <p> !- - skip backward an argument <p> <p> "!AS.FOO" - <conf-name>.FOO <p> "!+!11%D.BAR" - dd_mmm_yyyy.BAR <p> "!+!6D.!-!-!AS" - dd_mmm.<conf_name> <p> The FAO directives <emphasis>(must\bold) be entered in UPPER-case. <CHAPTER>(Using an alternate notebook\alternate_notebook) <p> To utilise a nondefault notebook, simply add the qualifier /NOTEBOOK=<emphasis>(alternate_notebook_filespec) to your PAN command. <p> Normally, PAN will default to using either SYS$LOGIN:NOTES$NOTEBOOK.NOTE or whatever file the logical NOTES$NOTEBOOK is defined as. <CHAPTER>(Obtaining details of PAN\SHOW_VERSION) <p> To see what version you are running of PAN, use the following command: <code_example> $ PAN SHOW VERSION <endcode_example> <note> Please ALWAYS include the version of PAN that you are running in any bug reports.<endnote> <p> To see who the developers of this version of PAN were, use the following command: <code_example> $ PAN SHOW DEVELOPERS <endcode_example> <APPENDIX>(Command Summary\Cheat_Sheet) <X>(Command summary) <X>(Summary of commands) <P>This appendix gives the syntax of the <EMPHASIS>(PAN\BOLD) commands. <head1>(Mail\Mail_Commands) <p>$ PAN DIRECTORY MAIL_FOLDERS <ind>{/DIRECTORY=mail-directory) <p>$ PAN COPY MAIL <emphasis>(foldername) <emphasis>(conference) <ind> {/[NO]NOTEBOOK[=<Notebook-spec>]} <ind> {/TOPIC=n} <ind>{/NEWFOLDER=<emphasis>(newfoldername)} <ind> {/SINGLE} <ind> {/BY_AUTHOR} <ind> {/TITLE} <head1>(Members\Membership_Commands) <p>$ PAN COPY MEMBERS <emphasis>(conference1) {/[NO]NOTEBOOK[=<Notebook-spec>]} <emphasis>(conference2) {/[NO]NOTEBOOK[=<Notebook-spec>]} <ind>{/REPLACE} <p>$ PAN ADD MEMBER <emphasis>(member-name) <ind>/ACCESS=<emphasis>(node::user) <ind>/MAIL_ADR=<emphasis>(VAXmailaddress) <ind><emphasis>(Conference) {/[NO]NOTEBOOK[=<Notebook-spec>]} <p>$ PAN SET MEMBER <emphasis>(member-name) <ind>{/REPLACE} <ind>/ACCESS=<emphasis>(node::user) <ind>/MAIL_ADR=<emphasis>(VAXmailaddress) <ind><emphasis>(Conference) {/[NO]NOTEBOOK[=<Notebook-spec>]} <p> $PAN SHOW MEM/OUT=<emphasis>(filespec) <emphasis>(member-name) <emphasis>(Conference) <p> $PAN ADD MEM/FILE <emphasis>(filespec) <emphasis>(member-name) <emphasis>(Conference) <p>$ PAN DELETE MEMBER <emphasis>(member-name) <emphasis>(Conference) <ind>{/[NO]NOTEBOOK[=<Notebook-spec>]} <head1>(Notes\Notes_Commands) <p>$ PAN COPY NOTES <emphasis>(conference-1) {/[NO]NOTEBOOK[=<Notebook-spec>]} <ind><emphasis>(conference-2) {/[NO]NOTEBOOK[=<Notebook-spec>]} {/CREATE} <ind>{/TOPIC=n} <ind>{/NEW{=n}} <ind>{/RANGE=<emphasis>(nnn-pppp)} <ind>{/SINCE=<emphasis>(date)} <ind>{/UNSEEN} <ind>{/SEEN} <p>$ PAN SET NOTE/CONTENTS <emphasis>(conference) <ind><emphasis>(note-id) <ind><emphasis>(filespec) <p>$ PAN SET NOTE/[NO]HIDDEN <emphasis>(conference) <ind><emphasis>(note-id) <ind>{<emphasis>(/NOCONFIRM)} <p>$ PAN SET NOTE/DATE <emphasis>(conference) <ind><emphasis>(note-id) <ind><emphasis>(datestamp)} <ind>{/NOCONFIRM} <p>$ PAN SET NOTE/NOWRITE <emphasis>(conference) <ind><emphasis>(topic-id) <ind>{/NOCONFIRM} <p>$ PAN DELETE NOTES <emphasis>(conference) <ind> /RANGE=(<emphasis>(note-range)[,...]) <ind>{/NOCONFIRM} <head1>(Entries\Entry_Commands) <p>$ PAN ADD ENTRY <emphasis>(entryname) <ind>{/FILENAME=<emphasis>(node::conf)} <ind>{/CLASS=<emphasis>(class)} <p>$ PAN DELETE ENTRY <emphasis>(entryname) <ind>{/CLASS=<emphasis>(class)} <p>$ PAN DIRECTORY NOTEBOOK <emphasis>(entryname) <ind>{/CLASS=<emphasis>(class)} <p>$ PAN DIRECTORY CONFERENCE <emphasis>(conference) <ind>{<emphasis>(note-range)} <ind>{/CLASS=<emphasis>(class)} <p>$ PAN SET ENTRY <emphasis>(entryname) <ind>{/FILENAME=<emphasis>(node::conf)} <ind> {/NAME=<emphasis>(name)} <ind>{/CLASS=<emphasis>(class)} <p>$ PAN UPDATE <emphasis>(entry-name) <ind>{/CLASS=<emphasis>(class-name)} <ind>{/ALL} <Head1>(Conferences\Conference_Commands) <p>$ PAN SHOW CONFERENCE <emphasis>(conference) <ind>{/[NO]NOTEBOOK[=<Notebook-spec>]} <ind>{/RANGE=<emphasis>(note-id)} <ind>{/NOSYMBOLS} <p>$ PAN CREATE CONFERENCE filespec <ind>{/TITLE=<emphasis>(Conference Title) } <ind>{/NOTICE=<emphasis>(Conference Notice)} <ind>{/INTRO_NOTE=(TITLE=<emphasis>(topic title),FILE=<emphasis>(filespec))} <p>$ PAN SHOW CONFERENCE <emphasis>(conference) <ind>{/[NO]NOTEBOOK[=<Notebook-spec>]} <ind>{/RANGE=<emphasis>(note-id)} <ind>{/NOSYMBOLS} <head1>(Writing Notes\Write_notes_commands) <p> $ PAN WRITE entry-name <ind> /TITLE="string" <ind> {/CONFERENCE=conference-name} <ind> {/FROM=file-name} <ind> {/HIDDEN} <ind> {/KEYWORD=(keyword-name,keyword-name...)} <ind> {/NOWRITE} <ind> {/UNSEEN} <head1>(Writing Replies\Reply_command) <p> $ PAN REPLY entry-name note-id <ind> {/CONFERENCE=conference-name} <ind> {/FROM=file-name} <ind> {/HIDDEN} <ind> {/KEYWORD=(keyword-name,keyword-name...)} <ind> {/TITLE="string"} <head1>(Extracting Notes\Extract_Command) <p>$ PAN EXTRACT entry-name [note-range] <ind> /ALL <ind> /APPEND <ind> /AUTHOR=username <ind> /BEFORE=date-time <ind> /CLASS=class-name <ind> /CONTAINS="string" <ind> /HEADER <ind> /NOHEADER <ind> /LINE_LIMIT=n <ind> /KEYWORD=keyword-name <ind> /OUTPUT=file-spec <ind> /SEEN <ind> /SINCE=date-time <ind> /TITLE="string" <ind> /UNSEEN <ind> /UPDATE <Head1>(Altering conferences\SET_CONF_Command) <p> $ PAN SET CONFERENCE <emphasis>(conference-spec) <ind>{/[NO]NOTEBOOK[=<Notebook-spec>]} <ind>{/title="New title string"} <ind>{/notice="New notice string"} <P>$ PAN SET CONFERENCE /MODERATOR=<emphasis>(node::user) <Head1>(Miscellaneous Commands\Misc_Commands) <p>$ PAN SHOW VERSION <p>$ PAN SHOW DEVELOPERS <ENDAPPENDIX> <INDEX_FILE>