ANU NEWS
Version V6.0

12 October 1990

Geoff Huston
Australian Academic and Research Network

Australian National University
Canberra, Australia

ANU NEWS is a computer-based conferencing system. As such, it has many  similarities to a normal electronic mail delivery system (E-Mail), as well as some major differences:

•	E-Mail is typically a person-to-person communication. In such a system a third person cannot view the mail contents, and the mail is essentially a transaction between the sender and recipient.

	This E-Mail model can be extended with the use of mailing lists. In this situation each user posts a mail item to a list of others, each of whom receive a copy of the mail. In this model the mail transaction is extended to include a group of users, but privacy is still intact to the extent that users who are not on the mail distribution list cannot participate in the mail conversation. The mailing list can be maintained on a central site, or each user may keep a copy of the list - the resultant functionality from the user viewpoint is essentially unchanged.

•	Bulletin boards take the mailing list model one step further by allowing all users to have the ability to view all postings, and all postings made by users are public to all other users of the bulletin board (this is a simplification of many bulletin boards, which commonly provide functionality which encompasses all these models of communication, and more). As with mailing lists, the bulletin board data can be held on a single central system (acting as a server for client systems), or each system in a network may hold a copy of the postings. In both cases the functionality is similar from the user viewpoint.

ANU NEWS is an implementation of such a bulletin board. ANU NEWS allows the user to view all postings made by other users of the news facility, and also allows the user to contribute to the conference by posting an item to the news system. 

Individual postings within the news system are termed items. Items are classified into a single hierarchy of newsgroups. All items of similar subject matter are logically grouped together for presentation within a newsgroup (analogous to the use of folders within a E-Mail application).

Unlike person-to-person E-Mail, all  items posted into news are (normally) readable by all users on the system, so the items in news are intended for general view, and all users of the local host may post items into any newsgroup. Typically, the local news host system is linked to a wider network of other news hosts, and the local host will receive news items that were posted on other hosts on the network, and local postings will also be sent through this wider network. This default public status of news items is qualified by the ability within ANU NEWS to configure restricted  newsgroups with an explicit readership list.

ANU NEWS implements the Internet Standard for Interchange of USENET Messages (Internet Request For Comment (RFC) 1036), and as such has many similarities with the Unixtm-based news software set distributed within the USENET. However ANU NEWS is not based on any port of this software to VAX/VMS. The application has been designed with the objective of implementing the required functionality of USENET news, using data and file structures that can be executed efficiently on a VAX/VMS system, and supporting a user interface which is based on the VAX/VMS user environment.

The implementation of the USENET standard under VAX/VMS implies that a VAX/VMS site can be configured into the global USENET news network, and will accept USENET news batches from neighbouring USENET sites, and generate correctly formatted news batches for transmission to adjacent USENET sites.

The ANU NEWS package also implements the Network News Transfer Protocol (NNTP), as documented in the Internet document RFC 977. The software distribution includes an implementation of an NNTP server, NNTP CLient and various utilities to enable news network transfers using NNTP.

This implementation can use both DECnettm and TCP/IP as the transport layer. With DECnet, the NNTP applications are implemented using an NNTP DECnet Object. With TCP/IP the implementation is configured to use the applicable Internet standard, TCP Port 119.  The implementation of ANU NEWS and NNTP also supports remote access using the TCP/IP protocols. The supported VAX/VMS implementation of TCP/IP include Multinettm, WIN TCP, Ultrix Connection, EXCELAN TCP and the Carnegie Mellon University (CMU) implementation of TCP/IP.

This allows a VMS/VMS system to interoperate with remote VAX/VMS or Unix hosts (or any other system which can support TCP/IP access) in either NNTP client or server roles using TCP/IP and DECnet. ANU NEWS can be configured to automatically access a NNTP server over DECnet or TCP, implementing a distributed news database.

The client configurations supported include a "diskless" client, where there is no local NEWS database, or in a caching mode, where a local database is used to refer to item texts stored on a remote system.

2.1 Invoking NEWS

To invoke an interactive session of NEWS, use the command   $ NEWS.

Restoring the Previous NEWS Session

When starting NEWS the context will normally be restored to the state of the previous exit from NEWS, re-establishing the previous final active newsgroup and selected item if applicable.

Checking for Unseen News Items

To check if there are new unseen messages in the news area additional qualifiers can be used with the NEWS command.  $ NEWS/SCAN will check the status of the local news database and will output a 1 line message if there are unseen items in the news database. The check of newsgroups only includes those newsgroups for which you want the NEWS software to check - the section in the following chapter on keeping track of newsitems indicates how this is done. If there are no unseen items, NEWS will exit without generating any output.

This command, $ NEWS/SCAN, may be placed in your LOGIN.COM to indicate that there is unseen news in a format consistent with VMS's new mail message.

A more verbose form of this scan for unseen items can be achieved with the command $ NEWS/ALLSCAN. The differences with the /ALLSCAN qualifier are that this directs NEWS to list those newsgroups which contain unseen items, and the number of such items in each newsgroup. Also if there are no unseen items then a status message is output indicating this. Again this command may be placed in your LOGIN.COM file.

You can also invoke NEWS on a conditional basis: if there are unseen items then NEWS will start an interactive NEWS session, and if there are no unseen items NEWS will immediately exit. The command format for this action is $ NEWS/UNSEEN.

NEWS Display Modes

NEWS can operate in either line or screen mode. Line mode is intended for use on printing terminals or within batch command procedures, and the user interface is more restrictive than screen mode. The command $ NEWS invokes a screen mode display if supported by the terminal device, and line mode otherwise. The command $ NEWS/NOSCREEN starts NEWS in line mode. As long as the terminal device supports screen mode display the display mode may be altered during a NEWS session [using the SCREEN and NOSCREEN commands].

NEWS uses the VAX/VMS SMG$ routines as the screen display manager. If a terminal device is not defined within the SMG$ tables, then NEWS will automatically enter line mode, and the SCREEN command is disabled.

2.2 The Structure of NEWS

NEWS items are stored within NEWSGROUPS (this is analogous to VMS MAIL, where mail items are stored within FOLDERS). All news items with a similar subject matter are normally contained in a single newsgroup.

Each news item within a newsgroup has a title and a sequence number. A directory of items within a newsgroup displays these titles and sequence numbers - the sequence number is used to select a particular item from within a newsgroup. News items contain other control information - these additional fields will be covered in the section on Posting news items.

When in NEWS you maintain an implicit 'context' within the NEWS database. This context is made up of three components:

•	The 'current' newsgroup is the newsgroup indicated by the cursor (when at the newsgroup directory level). This is the newsgroup which is 'opened' if you are at the newsitem directory or text display levels.

•	The 'current' newsitem  - which is relevant only if the screen display is either the newsitem directory (in which case the 'current' newsitem is indicated by the cursor) or newsitem text display.

•	The screen level - either a newsgroup directory, a directory of items within a newsgroup, or the text of a newsitem.

2.3 NEWS Screen Formats

There are three different screen display formats used in NEWS. They correspond to the context level of the user when running NEWS (Newsgroup directory, Newsitem directory and Newsitem text).

The top three lines on each display describe the current context level, and any other necessary information for that screen type.

At the base of all three screen formats is a three line window. The first line shows a command prompt -- commands are entered on this line. The second line is used to enter any additional parameters required for the command. The third line is used to display any status or error messages.

The next three pages display these screen formats and indicate the elements of each display.
NEWSGROUP Directory Screen

This screen display corresponds to the outer context level of NEWS. The screen displays the names of the newsgroups held on the system, the number of news items held in each newsgroup and the number of items that you have not read.

The top line displays the selection criteria of newsgroups: this may be all newsgroups, newsgroups in which you are registered, newsgroups with new items posted into them since a certain date, and so on. The line also displays the number of newsgroups which have been selected under these selection criteria.

The major section of the screen displays the newsgroup names, their sequence number, and additional control information.

The figure below explains the various fields shown on each entry in the directory screen.

In the leftmost field a selection cursor is displayed (-), indicating the current or selected newsgroup. The UP and DOWN commands, and the cursor vertical movement keys are used to move this selection cursor through the display. The remaining fields of each entry of the display are not alterable by the user.

NEWSGROUP Directory Entry Display

NEWS ITEM Directory Screen

The second context level is entered from the NEWSGROUP screen by pressing the select key (or using the 'SELECT' command). This screen corresponds to the second context level, when a newsgroup is 'opened' to display the news items currently stored within the newsgroup. An example screen is shown below:

NEWS ITEM Directory Entry Display

This display is similar to the newsgroup display, using 1 line to describe each newsitem. The screen shows the sequence number, news item title, date the news item was created on the local system, and the size of the news item. News items which you have not viewed are shown in bolded video. As with the newsgroup directory, a cursor is positioned in the leftmost columns of the screen, and the cursor can be moved within the screen by the up and down arrow keys. The cursor corresponds to the current or selected news item.
NEWS ITEM Text Display

The third context level is entered by the 'READ' command. This screen corresponds to the third context level, displaying the contents of the current news item.

The text is displayed in screen sized 'chunks', advancing through the text one page at a time. The base of the screen shows the current position within the text as a percentage of the total text size. The up and down arrow keys are also mapped in this mode, and move the display in single line movements in the relevant direction. The Prev-Screen and Next-Screen are also mapped to move the screen in page sized chunks either up or down. Lastly the commands UP and DOWN with a numeric parameter (e.g. DOWN 150) will move the specified number of lines. The underlying display buffer is 2000 lines in size, and once text rolls off the ``top'' of this display it cannot be presented back on the screen.

NEWS ITEM Text Display

Optionally you may use an editor (TPU by default, but you may choose another editor) in read-only mode to display the news item text. This will allow you to scroll up and down, search for strings, and use other editor search and display operations on the text. At any stage the text display can be aborted, and you may reset the screen display to either the news item or newsgroup display screen.

This is the first of three sections describing the user-level NEWS commands. This section describes those commands which are commonly used, and form the basic set of commands to use NEWS. The next section describes those commands which are used to change the NEWS environment, and the third section is a reference section for the user command set, describing in detail all user commands and their qualifiers.

As with VMS DCL commands, all NEWS commands and their qualifiers may be abbreviated to the minimum unique abbreviation.

3.1 Default Keypad Definitions

By default, the VT keypad is configured as follows:

 

The LK201 edit block is also defined in NEWS, with the key definitions as follows:

These default key mappings may be altered by the user - this is documented in the next section.

3.2 NEWS Display Commands

This set of commands enable you to move around the NEWS database.

DIRECTORY	The default action of NEWS is to display the newsgroup directory screen. This screen has a cursor in the left field, which may be moved using the arrow keys. The directory of newsitems within the 'pointed' or 'current' newsgroup may be obtained by the 'DIR/ITEMS' command.

	When the item screen display is displayed, the newsgroup directory may be displayed using the 'DIR/NEWSGROUPS' command.

	The set of newsgroups displayed in the newsgroup directory may be modified using qualifiers to the DIRECTORY command: DIR/ALL displays all newsgroups, DIR/REGISTER displays only those newsgroups in which you have registered a particular interest, and DIR/SINCE=date (e.g.: DIR/SINCE=TODAY) displays only those newsgroups which have received new postings since the data specified.

Cursor Vertical Movement Keys,
UP, DOWN The newsgroup and newsitem directory screens use a pointer in the left field of the display to indicate the 'current' newsgroup and newsitem. This pointer may be moved up or down using the UP or DOWN commands. These commands are bound to the arrow keys, so the more usual way of moving through the screen is via the arrow keys.

	Both commands may take a numeric parameter (e.g.: UP 18) to move a number of lines. On VT220-type terminals the PREV SCREEN and NEXT SCREEN are bound to the commands 'UP 18' and 'DOWN 18' respectively.

SELECT is similar to 'DIR/ITEMS' such that the command displays a newsitem directory of a newsgroup. However, SELECT has a number of qualifiers which make the selection of newsgroups more powerful.

	In particular, 'SELECT/NEW' selects the next newsgroup in which you have registered a particular interest which has received new newsitems.

3.3 Displaying NEWS text

READ  The most common method of displaying the contents of a newsitem is using the 'READ' command. This displays the news text on a page-by-page basis (in a similar fashion to the DCL 'TYPE/PAGE' command).

	By default, the 'current' newsitem is opened for display, but qualifiers may be used to combine movement of the 'current' newsitem and display: READ/NEXT combines the actions of the 'DOWN' and 'READ' commands. READ/NEW combines the actions of 'SELECT/NEW' (select the next unread newsitem as the current item) and 'READ'. READ/PARENT selects the parent newsitem (the item to which the current newsitem refers) for display. READ/FOLLOWUP selects the next followup newsitem (a posting which refers to the same subject as the current item) for display.

3.4 Posting Items to NEWS

There are two commands which allow the user to create a NEWS posting: POST and FOLLOWUP. POST implies that the item refers to a new subject which has not been discussed before: FOLLOWUP implies that the user is posting a followup item to the current item.

The default actions of POST and FOLLOWUP are to forward the item text as far as possible throughout the NEWS network. Background NEWS server processes are responsible for sending the item to all adjacent network neighbours. Normally the distribution of the item is restricted by the set of network nodes which wish to receive the newsgroups in which the newsitem is posted. Qualifiers may be used with these commands to restrict this distribution to a subset of the network (these qualifiers are described in the reference section).

POST   invokes a text editor to create a new newsitem (the text editor may be one of your choosing - see the chapter on customization). The NEWS system also prompts for the newsgroup or newsgroup list to which the item will be posted, and will also prompt for the title of the posting.

FOLLOWUP   is similar to POST, with the difference that the edit buffer is pre-loaded with the text of the current newsitem (the item to which you are posting the followup). This allows you to formulate your reply using fragments of the original posting to help other readers establish what you are replying to.

3.5 Deleting Newsitems

Deletion of newsitems is not normally a straightforward process - as the text of the original item may have already been forwarded to the wider news network, then deletion of a newsitem requires that a special deletion control message must be sent through the network to delete all copies of your posting.

CANCEL   This command deletes the 'current' newsitem. A check is performed to ensure that the item you are attempting to delete was actually posted by yourself before the deletion is performed. This command also generates a cancel control message which is forwarded throughout the net, which directs all remote nodes to delete this newsitems on your behalf.

3.6 NEWS Interface to MAIL

NEWS supports two commands which interface to VMS MAIL. This allows users to forward NEWS items to other users via MAIL and also to send direct person-to-person mail to the original poster of the newsitem.

FORWARD, MAIL   These two commands are synonyms: the 'current' newsitem is extracted and posted to the addresses you supply. By default the item text is loaded into an edit buffer for editing before sending the mail - this edit pass may be omitted by using the '/NOEDIT' qualifier with the command.

REPLY   This command extracts the From: address (or the Reply-To: address, if specified) from the current newsitem and invokes the editor to create a reply which will be directed to the sender of the newsitem.

	This command differs from the FOLLOWUP command in so far as your response to the original posting is a private response between you and the poster, whereas the FOLLOWUP command posts a public response through the NEWS network.

3.7 Extraction of Newsitems

Newsitems may be extracted from the NEWS database and kept as a local file, or printed.

EXTRACT   This command extracts the 'current' newsitem and makes a local copy into a file - you are prompted for a filename to write to.

PRINT   This prints the 'current' newsitem to a print queue.

3.8 Keeping Track of Newsitems

There are two ways in which NEWS can be used to help you read particular newsitems - the first is by the concept of 'read' and 'unread' newsitems and the second by the use of 'marks' to enable you to re-read newsitems at a later date.

NEWS maintains for each user a list of all newsitems which have been considered as 'read' - this is an aid when searching through the NEWS database for new items which have been posted. NEWS also maintains for each user a list of newsitems which have been 'marked' by that user, enabling the user to 'mark' a newsitem with any tag text, and later retrieve that newsitem by specifying that tag text.

This context information is contained in a user file, SYS$LOGIN:NEWSRC.; The file is updated every time NEWS is executed.

REGISTER, DEREGISTER  NEWS enables the user to mark particular newsgroups as being of particular interest. This marking, or 'registering', is used by the READ/NEW, SELECT/NEW, DIR/NEW and DIR/REGISTER commands to allow fast access to any new postings in the subset of 'registered' newsgroups.

	The 'current' newsgroup is added to this registered set by the REGISTER command, and can be removed from the set by the DEREGISTER command.

SKIP is used to mark a set of newsitems as having been 'read' without having to display the item text. The default action is to mark the current item as 'read' and move the pointer to refer to the next item.

	If the display is the newsgroup directory, then SKIP will mark ALL newsitems in the 'current' newsgroup as read.

	SKIP may also mark a range of newsitems as 'read' by using qualifiers with the SKIP command - these are documented in the reference chapter.

MARK, UNMARK  are used to associate tags with a newsitem. The common form of marking is the MARK the 'current' newsitem, and then retrieve that item at a later date by either the SELECT/MARK or READ/MARK commands. If a newsitem has been marked, then a line of the form ``Mark: ...'' is included in the header lines of the text display for that newsitem.

	A mark may be removed from a newsitem by the UNMARK command.

	Variants of this command allow the mark to have a text value, allowing the READ/MARK and SELECT/MARK commands to retrieve particular marked items according to a match on the supplied tag values.

3.9 HELP

HELP  is used to enter the on-line HELP documentation - this documentation is similar to the reference chapter in this document

3.10 EXITing NEWS

EXIT performs a normal exit from NEWS - the register file is updated to reflect all items read during this session, and any pending print requests are sent to a nominated print queue.

QUIT exits from NEWS without the associated update function of EXIT. This is a more graceful alternative to the Ctrl-Y exit.

It is possible to customise NEWS in a number of ways. This includes changing the definitions of keys on the terminal, and changing the editor invoked by NEWS to one of your choice. This chapter describes those commands and logical names which perform this customisation. Customization can be done using three mechanisms: setting your keypad, as described below, using the SET PROFILE command, and defining logical names. As there is some overlap in what these three methods can define the order of precedence is firstly any setting performed interactively overrides profile settings, which in turn override logical name settings. 

4.1 Key Definition

The default set of key mappings is given in the previous section. These defaults may be altered in two ways: using the DEFINE/KEY command to bind a news command to a key, or defining  the  logical  name  NEWS_INI  to a file containing a sequence of DEFINE/KEY lines (which will be executed  on startup of NEWS).

The DEFINE/KEY command is equivalent to it's VMS DCL counterpart - the command performs a mapping of the nominated key to a command string.

NOTE: that there are six keys which should not be DEFINED from the standard NEWS values: the four arrow keys and the PREV and NEXT SCREEN keys (This restriction is a reflection of an underlying problem with the VMS software used by NEWS).

4.2 NEWS Logical Names

There are a number of logical names which users may define to alter the behaviour of NEWS. All these logical names are intended to be defined on a pre process basis as process logical names. This would normally be configured within the LOGIN.COM file:

NEWS_INI   This can be defined as a file name which contains a set of DEFINE/KEY commands to change the default key binding of news.   e.g.:
		$ DEFINE NEWS_INI SYS$LOGIN:NEWSKPD.DEFS

NEWS_EDIT  This logical name can be used to link an editor to NEWS. The editor is used to generate new postings, and to edit forwarded mail, and (optionally) in readonly mode, to scan the item contents (READ/EDITOR).

	By default NEWS links the TPU editor to NEWS, using the value of the logical name TPUSECINI as the section to use. With V5 of VMS the NEWS software will also examine whether the logical name TPU$SECTION is defined and use that translation in a similar fashion to TPUSECINI.

	This logical name is used to either:
		•	Use the TPU editor with a section other than the default:
			$ DEFINE NEWS_EDIT "TPU/SEC=mysection"

		•	Use EDT as the configured editor:
			$ DEFINE NEWS_EDIT CALLABLE_EDT

		•	Call any other editor using a command procedure in a subprocess:
			$ DEFINE NEWS_EDIT "@dev:[dir]my_editor.com"
		and NEWS will then SPAWN the command:
			$ @dev:[dir]my_editor.com filename

		The next section shows an example my_editor.com command procedure.
NEWS_VIEW  This logical name is only required if you are using a local editor command procedure as NEWS_EDIT. In this case a second procedure is required which invokes the same editor in read_only mode:
			$ DEFINE NEWS_VIEW "@dev:[dir]my_reader.com"
	and NEWS will then spawn the command:
			$ @dev:[dir]my_reader.com filename

	When TPU or EDT is configured as the editor, then NEWS will automatically add the /READONLY to create a readonly version of the editor.

NEWS_SCANSIZE  NEWS will normally display the text of a newsitem on a page-by-page basis. When scanning through items it is often useful to only display the first few lines of an item, to decide whether to view the complete text.

	If the logical name NEWS_SCANSIZE is defined as a number (n), then the first n lines of each new item will be displayed, and you will be prompted if you wish to see more of this item. Commonly, a value between 8 and 12 is most useful.

MAIL_SIGNATURE   This logical name may be defined as the name of your mail signature file. If this logical name is defined, then the contents of this fill will be automatically appended to all postings and mailings made from within NEWS.

NEWS_DEFAULT_DIRECTORY   NEWS will normally remember the last newsgroup directory setting across invocations of the program (i.e. If you had executed DIR/NEW before exiting NEWS, then when you next run NEWS, the initial newsgroup directory state will be restored to DIR/NEW). It is possible to specify a constant initial directory state by defining this logical name as one of the strings:
			ALL 
			NEW
			REGISTER
			SINCE
			SINCE=vms_date

NEWS_POST_CC  This logical name directs NEWS to generate MAIL carbon-copies of NEWS postings. The logical name value is interpreted by NEWS as the name of a CC control file. This file consists of lines of the form:
		newsgroup   address

	The newsgroup name starts in column 1, and may be the name of a single newsgroup, or may specify a set of newsgroups by including the wildcard match character ('*'). The address is the address to receive a carbon copy of the posting. It is separated from the newsgroup name by at least 1 space character. The address may be a decnet or internet-format address.

	The interpretation of the file is such that any postings you make into any of the specified newsgroups will also generate mail to the matching addresses.

NEWS_PERSONAL_NAME   Sets the personal name string. This name is appended to your network address in all NEWS postings.

	If this logical name is not defined your VMS MAIL profile is examined to copy your MAIL personal name as your NEWS personal name.

4.3  NEWS_EDIT Command Procedures

An example command procedure to invoke an editor from NEWS is as follows:

 $ !
 $ ! Example command procedure to invoke an editor for NEWS
 $ !
 $ ! Inputs:
 $ !
 $ !     P1 = file name.
 $ !
 $ ! Note that this procedure is run in the context of a subprocess.
 $ ! LOGIN.COM is not executed.  However, all process logical names
 $ ! and DCL global symbols are copied.
 $ !
 $ ! The default directory is the same as the parent process
 $ !
 $ ! Note that this will only be invoked if the user has placed in
 $ ! LOGIN.COM (or similar)
 $ !     $ DEFINE NEWS_EDIT "@dev:[dir]NEWSEDIT_EXAMPLE.COM"
 $ !
 $ DEFINE /USER SYS$INPUT 'F$TRNLNM("SYS$OUTPUT")'
 $ IF P1 .EQS. "" THEN EXIT
 $ EDIT/EDT 'P1'
 $ EXIT

In connection with the definition of a personal profile the following message from Reg Quinton, <reggers@uwovax.BITNET> is relevant:

"Many new  users of ANU/NEWS (especially those  new  to  Vax/VMS) have great difficulty posting their first article.  The  problem  is that News assumes you know a bit about Vax/VMS already -- in  particular that you  know about the default editor.  This is often a faulty assumption  and naive users are rightly distressed when they find  themselves put  into  a strange editing environment. Composing text can, and should be, simpler than that!
 
"We have therefore defined a procedure for entered  text which easier to use (but without all  the power  of a  Vax/VMS  editor). We would encourage all beginning users to set their profile as follows:
 
        News> set profile/editor=@news_manager:noedit
 
"There are several other profile  setting discussed in both  the help system and  the manual.  If you  have set your profile   as above then  the "Post" command will use this procedure for composing your message -- the procedure will say
 
        Enter text, end with ^Z (Control-Z)
   -----
 
"You may  then enter  your  message a line   at a time   with the usual line editing features  of VMS.  You end  your text  with  a Control-Z character which is constructed by typing a `Z' while holding down the `Control' key.
 
"Once you have learned an editor on the Vax/VMS environment you can then set your profile accordingly, for example
 
        News> set profile/editor=emacs

In addition the following command procedure has been submitted:

news_manager:noedit.com
 
$ ! The most primitive editor for news -- read from your console
$ !
$ ! Reg Quinton <reggers@uwovax.BITNET>; 1-Aug-89
$ !
$ if p1 .eqs. ""
$ then
$       write sys$output "Oops .... missing parameter"
$       exit
$ else
$       write sys$output "Enter text, end with ^Z (Control-Z)"
$       write sys$output "-----"
$       copy sys$command 'p1'
$ endif

$ NEWS

The $ NEWS command is the VMS DCL command to invoke NEWS.

Format:
       $ NEWS [news command]

Command Parameters

news command
If as command is given with NEWS, then this command is executed. Normally if this parameter is used then only that command is executed, and control is passed back to the calling environment. A Compile-time switch can alter this behaviour, such that interactive execution of NEWS will continue following a initial command parameter.

For example, the VMS DCL command:

    $ NEWS POST/NEWSGROUP=local.messages/SUBJECT="Weekly Msgs" weekly.msg

posts the file weekly.msg into NEWS, into newsgroup local.messages, with the title "Weekly Msgs", then returns to DCL.

Command Qualifiers

/ALLSCAN
/ALLSCAN is a more verbose form of the /SCAN action. The difference is that this qualifier directs NEWS to list the names of those newsgroups which contain unseen items, and the number of such items in each newsgroup. Also if there are no unseen items then a status message is output indicating this. Again this command may be placed in your LOGIN.COM file, but it should be noted that /SCAN is more efficient in execution than /ALLSCAN.

/CLASS=classname
Within NEWS collections of newsgroups may be grouped together under a common label, or class.  Newsgroups may belong to a number of classes, and classes are defined by both the user, the local news manager, and by NEWS itself. An initial active class of newsgroups at startup time may be specified by this qualifier.

/NETPROTOCOL=protocol
This qualifier is used in conjunction with the /NETSERVER protocol to specify the network protocol to use to contact the remote NEWS server. The valid protocol values are:

	DECNET		to use the DECnet protocol
	
	TCP			to use the locally configured default TCP/IP implementation.
  -or-
	CMUTCP		to use the CMU implementation of TCP/IP for VMS
	WINTCP		to use the WIN TCP implementation of TCP/IP for VMS
	MULTINETTCP	to use the Multinet implementation of TCP/IP for VMS
	UCX			to use the Ultrix Connection implementation of TCP/IP for VMS
	IPCUCX		to use the Ultrix Connection implementation of TCP/IP for VMS (Socket I/O)
	EXCELAN		to use the EXCELAN implementation of TCP/IP for VMS

/NETSERVER [=nodename ]
/netserver=nodename
/netserver
/nonetserver
NEWS can be invoked using either a local database of news items, or can use the network to contact a remote NEWS server. A session using a remote server can be initiated by specifying the network name of the remote server node. The name is either a DECnet node name, a TCP/IP name, or a TCP/IP network address.

/READONLY
/READONLY invokes a read-only session of NEWS. In this mode the POST, FOLLOWUP and CANCEL commands (and their synonyms) are disabled and NEWS items may only be viewed in the NEWS session.

/SCAN
NEWS can be invoked to check if there are unseen items in the NEWS area, then exit to DCL. The /SCAN qualifier directs NEWS to check the status of the news database and will output a 1 line message if there are unseen items in the news database. The check of newsgroups only includes those newsgroups for which you want the NEWS software to check - registered newsgroups. If there are no unseen items, NEWS will exit without printing a message. This command may be placed in your LOGIN.COM to write out a message that there is unseen news, in a format consistent with VMS's new mail message.

/SCREEN
/SCREEN	Default
/NOSCREEN
This qualifier is used to determine whether the initial state of NEWS is configured to drive a terminal screen or a hardcopy device. The /NOSCREEN qualifier is used for hardcopy interactive sessions or Batch or Detached execution of the NEWS program. Normally NEWS will automatically configure itself by interrogating the SMG terminal capabilities file and setting screen mode if possible.  /NOSCREEN forces line mode irrespective of the terminal capabilities.

See Also  the SCREEN and NOSCREEN commands

/UNSEEN
NEWS can also be invoked on a conditional basis: if there are unseen items then NEWS will start an interactive NEWS session, otherwise NEWS will immediately exit.
ADD ENTRY

ADD ENTRY is used to add newsgroups into classes.

Format:
      ADD ENTRY [newsgroup]

ADD ENTRY is used to add a newsgroup into a set of related newsgroups (referred to as a class). This set of newsgroups is defined and maintained by the user (and held in the user's NEWS profile area). Classes  are a user tool to allow the user to group a number of related newsgroups together in a single set. This grouping is on a user-by-user basis in general, although there are facilities to allow system defined classes, and news does also support a number of pre-defined classes which newsgroups are assigned to automatically. Classes are specified as single words, as defined by the user.

Normally the specified newsgroup is added to the current class (if a class is currently selected). The /CLASSES qualifier may be used to specify the set of classes in which the newsgroup is to be entered. Note that if the newsgroup is currently a member of a class (or classes), the classes specified in this command are interpreted as additions to the current class set.

See Also:    SHOW ENTRY, MODIFY ENTRY, DELETE ENTRY, SET CLASS, SHOW CLASS, DIRECTORY/CLASS

Command Qualifiers:

/CLASSES [=(class-name [,...]) ]
This qualifier determines the classes to which the specified newsgroup is to be added. If this qualifier is not used, then the current class is used as the default value. If a class of the specified name does not exist, it is created by this command.

The qualifier value may be a list of class names, in which case the newsgroup is added to all such named classes.

The class names specified as qualifier values may also contain wildcard characters (%,?,*), in which case the newsgroup will be added to all classes with matching names.
ADD FILE

ADD FILE is a NEWS MANAGEMENT command. ADD FILE is NOT supported under a diskless client execution.

Format:
    ADD FILE filename

ADD FILE is used to load articles into the local NEWS database. This command is normally used to load network news batches onto the local node (whereas locally generated news is POSTed into NEWS by the user who is executing the POST command).  If the node is defined as a NEWS network routing node, this command also generates the batch files to send to the adjacent NEWS nodes. 

ADD FILE scans an input file and breaks the file into one or more articles. Each article is composed of a number of header lines and an article body. 

The software takes into account that the file may have been delivered by the remote NEWs feed node using mail as the delivery mechanism: in such a case NEWS will attempt to recognise the difference between the additional mail headers added to the file by the mailing process, and discard these mail headers, and process the remaining NEWS header and body.

ANU NEWS will also generate local headers for any headers not included in the input file, which can be used to advantage to add VMS Mail mail items and/or folders into NEWS - for example:
    MAIL> set folder tcpip
    MAIL> extract/all tcpip.news
    MAIL> exit
    $ NEWS add file tcpip.news/news=local.mail_list.tcpip

Additionally NEWS will recognise the NEWS mail-encapsulation in common use where the NEWS item is distinguished from MAIL-added text by the use of  the character 'N' in column 1 of the NEWS part of the mail message, and perform automatic stripping as necessary.

ADD BATCH is a synonym for the ADD FILE command.

Command Parameters

filename 
	is the name of a file to scan. The name may contain standard VMS wildcard characters to specify a group of files, or may also be a comma separated list of file names.

Command Qualifiers: 

/ACCEPT
/ACCEPT
/NOACCEPT	Default
By default all items posted to Moderated  Newsgroups required an "Approved:" header line before local NEWS systems can accept the item. Without this header line the item is either junked (stored in newsgroup "junk") or rejected.

/ACCEPT instructs the ADD FILE command to accept (on the local system only) unapproved postings to moderated newsgroups.

/CREGRP
/CREGRP
/NOCREGRP	Default
The default action of the ADD command is to only accept items into newsgroups which already exist on the system, rejecting all other newsgroups. This qualifier directs NEWS to automatically create any new newsgroups which are specified in the item headers which do not already exist on the local system.

The reason for the default action of /NOCREGRP is that "checkgroups" control messages normally flow through the net, controlling which newsgroups are valid for a participating NEWS site. These control messages will auto-configure your node if you are receiving a network news feed. Note also that each newsgroup is configured as a connected subnet of nodes which accept the newsgroup. If you attempt to join a newsgroup without a direct connection to the related subnet, than all local postings to the newsgroup in question will be rejected by adjacent nodes, and not reach the remainder of the newsgroup's readership. For this reason /CREGRP is not recommended.

/DELETE
/DELETE
/NODELETE	Default
This qualifier directs NEWS to delete the input file after the contents have been added to NEWS.

/DEFNEWSGROUP=newsgroup
The default newsgroup qualifier directs the NEWS parser to supply a default newsgroup to scanned items other than the default newsgroup of junk. This newsgroup default is only  used when the scanned item does not contain a header line "Newsgroups: ...". This qualifier may be used when attempting to push received personal mail items into newsgroups. The most common use is in the site distribution of mailing-lists. A "dummy" mail address is used to receive the mailing list, and the ADD command is used to push the extracted mail items into a local newsgroup for local site distribution. (Note that this is slightly different than the /NEWSGROUP qualifier, which is used to override any scanned "Newsgroups: ..." line. The /NEWSGROUPS qualifier is the recommended  method of pushing mail into NEWS.

/EXECUTE
/NOEXECUTE	Default
/EXECUTE=<execute-switch> 
The standard for USENET news messages defines a number of 'control' messages, designed to assist all sites in running a common set of newsgroups across the USENET. Various control messages are designed to delete all occurrences of a particular newsgroup on all systems, create new newsgroups, or compare the 'standard' list of newsgroups against the local set of newsgroups.

The default action of NEWS is to not to create or delete newsgroups - if a control message indicates that a newsgroup should be created or deleted, a DCL command file to perform the action is sent to the local mail address of 'USENET'. (This action is acceptable within the relevant standard). This corresponds to the default qualifier value of /NOEXECUTE.

If /EXECUTE is specified without  any execute switch value specified, then newsgroup creation messages are executed immediately, without the requirement for approval by the local news manager. In the case of newsgroup deletion ("rmgroup" or a "checkgroups" message) the default action of /EXECUTE is to set the newsgroups which are to be removed to a 1 week retention period. The action can be manually selected by the qualifier setting of /EXECUTE=RETAIN.

This default action of /EXECUTE may be modified by specifying /EXECUTE=LOCAL, in which case any such newsgroups which are marked for deletion by incoming control deletion messages are set to /LOCAL status.

The last possible switch setting, /EXECUTE=DELETE, immediately deletes all newsgroups which as marked for deletion by incoming  control messages. 

In all cases a log of the actions performed will be posted to the local mail address USENET.

/JUNK
/JUNK	Default
/NOJUNK
/JUNK  instructs the ADD FILE command to place any part of the input file which cannot be correctly parsed, or any news item which is filtered by the NEWS.SYS file, or where there are no local newsgroups to hold the item, into the local newsgroup ``junk''. This newsgroup is intended as a short-term storage area where the items can be scanned, and the database altered if necessary to accept such items. 

/NOJUNK instructs the ADD FILE command to reject all items which cannot be added to the local NEWS database. 

/MODERATOR
This qualifier allows a newsgroup Moderator to insert items into the moderated newsgroup (Using this qualifier it is not necessary to have local news management privileges, but the user MUST be the moderator of the newsgroup to which the items will be added. This differs from the POST command in so far as the original submitter's address is preserved. This qualifier is documented in more detail in the section on moderated newsgroups. 

/NETFEED
/NETFEED	Default
/NONETFEED
The ADD command is commonly used to process a network feed of NEWS - this implies that the ADD FILE command should also generate the necessary batch files for subsequent transmission to any downstream sites. /NETFEED instructs the ADD FILE command to use the information in the NEWS.SYS and NEWS.DISTRIBUTION files to generate the batch feed files as required. /NONETFEED bypasses the generation of a network feed in the ADD command.

/NEWSGROUP=newsgroup
This directs the NEWS parser to place all items into the nominated newsgroup (regardless of whether the item contains a "Newsgroups:" header line). This qualifier is useful when converting messages from a mailing list into a newsgroup: 

	MAIL> set folder CMU_TCPIP
 	MAIL> extract/all tcp.mail
 	MAIL> delete/all
 	MAIL> exit
	$ NEWS/NOSCREEN
	NEWS> add file tcp.mail/news=anu.tcpip

/NOCONTROL
This qualifier directs the NEWS parser to ignore any directive that may be contained in "Control: .." headers.

/RETRY
When a network feed news item is rejected by the local node an attempt is made to place the item into the "junk" newsgroup. This rejection may take place for a number of reasons, but the primary one is that the local filters (newsgroup and distribution filters), as specified in the NEWS.SYS file, have rejected this item.                                    

You may wish to make changes to the NEWS.SYS file and retry adding the item. Normally such an attempt would be rejected, as the Path: name now contains the local node name, and this is regarded as a loop in the news. /RETRY directs the ADD command to ignore the Path: line when checking the news item for addition into the local node.
ADD MARKER

ADD MARKER places a mark on the current news item.

Format:
    ADD MARKER  [marker-name    [item-number  ] ]

ADD MARKER places a mark against the current newsitem. This item can be selected at a later stage by the READ/MARK or SELECT/MARK commands, or printed by the PRINT/MARK command.

If no marker-name value is specified then the default mark value, "mark" is used.  A marker name is a string (more usually a single user-defined word). If no item number is specified, the mark is placed against the current item. Families of related items may be "marked" with the same mark name.

See Also:   MARK, UNMARK, CLEAR MARK, DELETE MARKER

Command Parameters:

marker-name
is a text string of the mark value. Any string may be specified as a mark value.

item-number
is specified to mark an item other than the current item.  The news item number is used.
ADD MEMBER

ADD MEMBER is a NEWS MANAGEMENT command. ADD MEMBER is not supported within the diskless client execution environment.

Format:
    ADD MEMBER username

ADD MEMBER adds a new user to the membership list of a restricted access newsgroup. Membership of the newsgroup grants the username read access to the newsgroup, and by default also grants write access. 

The username may include wildcard characters (?,%,*) to include a set of related usernames, or may be an identifier name. If either of these specifications are used it is advised not to include the /MAIL or /NODES parameters to the command. 

The newsgroup must have been set as a restricted access  newsgroup for this command to be executed, and the user must be either the local News Manager, or the moderator  or local supervisor of this newsgroup. 

Command Parameters

username
is normally the name of an individual username, but an identifier may be specified instead, granting all users who own that identifier the access rights associated with that identifier.

Command Qualifiers:

/MAIL=mail-address
Specifies a mail address for this member. The address format may be either a VMS MAIL or an internet format address. 

/PRIVILEGES=priv-list
Format: 
    ADD MEMBER username /PRIVILEGES=(SUPERVISE    [, WRITE | NOWRITE]  )

Associates privileges with this username.

SUPERVISE allows the user to delete any newsitem, add and delete members of the restricted newsgroup and unconditionally write to the newsgroup. 

WRITE implies explicit WRITE access to the NEWSGROUP. This is the default for all newsgroup members.

NOWRITE implies read-only access to this newsgroup.
ANSWER

ANSWER is used to post a reply to a news item back into NEWS. 

Format:
    ANSWER [item-number ]

The followup item posted by the ANSWER command will reference the news item you are following up as the parent of the new posting.

The command FOLLOWUP is equivalent to ANSWER.

The editor is invoked to form the new posting, with the edit buffer preloaded with the text of the original item. The default editor is the TPU editor, but this is user definable - see the section on customisation to specify a different editor to use.

NEWS will fill in all defaulting news headers, and will prompt for all header items which are non-defaulting (the subject line and the newsgroups to post the item into).

If the newsgroups for the posting are moderated newsgroups, the posting is automatically re-directed as mail to the moderator address, and NOT posted back to NEWS.

See Also FOLLOWUP, REPLY, POST

Command Parameters

item-number
is the number of the item to which the response is directed. It no item-number is given as a command parameter, the current item is used as the basis of the followup posting.

Command Qualifiers:

/EXTRACT
/EXTRACT		DEFAULT
/NOEXTRACT
This qualifier causes NEWS to pre-load the edit buffer with the contents of the posting to which the followup is addressed. The original posting is enclosed in quotation characters 

/HEADERS
/HEADERS
/NOHEADERS	Default
Answer will normally prompt for the subject of the posting, and a list of newsgroups to post the item into. All other header lines of the news item text will be filled with null values.

The /HEADERS qualifier will force prompting for optional components of the item header. These fields are:

Summary:   A one line summary of the contents of the posting.

Reply-To:   The (internet) mail address for REPLYing to the item - used if replies are to be sent to a mail address OTHER than yourself (as the originator of the item.

Distribution:   A (comma separated) list of keywords designed to limit the distribution of a news item to a subset of the network. These keywords are site specific, but commonly include the keyword "local" (do not forward to the net!).

Followup-To:   The list of newsgroups where followup postings are to be sent. This is used to move a discussion to another newsgroup.

Keywords:   A few relevant, pithy keywords which should indicate to other readers if the item is of interest.

Expires:  A date to indicate the end of the useful life of the information in the message. NEWS will reject expirations greater than 12 months as being too outlandish.

/SELF
This directs NEWS to send a self copy through VMS MAIL.

/ROT13
This qualifier directs NEWS to use the rot13 encryption algorithm on the body of the text before posting.
ATTACH

ATTACH to another VMS process

Format:
    ATTACH  [process-name ]

Attaches your terminal to the parent process, or a specified sub-process.

See Also  SPAWN

Command Parameters

process name
This command takes one optional parameter, a process-name. If no process-name is specified, the terminal is attached to the parent process of the current process.

Command Qualifiers

/PARENT
Attach to the parent process which spawned the NEWS task.
BACK

BACK reads the previous item in a newsgroup.

This command is equivalent to the command READ/BACK. The command may be modified by specifying one of the parameters listed below.

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
BACK REPLY

BACK REPLY locates and displays the parent item of the current response.

The command is equivalent to READ/PARENT, displaying the previous entry in the same conversation stream as the current item.

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
BACK NOTE

BACK NOTE is a synonym for the BACK and READ/BACK commands.

BACK/TOPIC is a synonym for BACK/NOTE

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
BOTTOM

BOTTOM sets the didplay (and the current pointer) to the base of the display.

This command shifts the current display to the base of the dicectory or text. In the case of newsgroup or newsitem directory screens the current pointer is set to the last item in the directory.

This command is bound by default to the key GOLD DOWN-ARROW  (the key sequence PF1, DOWN-ARROW).
CANCEL

CANCEL  deletes the current newsitem from NEWS.

This command inspects the address of the sender of the newsitem, and will only perform the deletion if the sender's address matches that of the user (i.e. if you were the original poster of the item).

In the case that you are a local newsgroup supervisor or the newsgroup's moderator, or the local news manager, then you can CANCEL any posting originating from the current node within the newsgroup.

As well as deleting the local copy of the newsitem, a 'cancel' control news message is sent through the news network to ensure that all copies of the item, held on all connected NEWS nodes, are also deleted.
CLEAR KILL

CLEAR KILL  removes active kill filters.

Format:
    CLEAR KILL   [tag ]

CLEAR KILL removes the kill filters with the matching tag from the kill filter set. If no tag value is specified then ALL kill filters are cleared. The optional tag  command parameter is the name of the associated tag value of the kill filter.

See Also KILL, SHOW KILL, MODIFY KILL
CLEAR MARK

CLEAR MARK  removes news item marks.

Format:
    CLEAR MARK [tag ]

CLEAR MARK removes all marks of the specified tag from the mark list. If no tag value is specified then ALL marks are cleared. Otherwise only the specified tag value (a user supplied string value) is cleared. The wildcard character ('*') can be used in the tag field to clear a set of related tags.

See Also  ADD MARKER, MARK, UNMARK
CLEAR MESSAGES

CLEAR MESSAGES  clears the VMS message buffer.

CLEAR MESSAGES clears the VMS message buffer. All terminal broadcast messages are stored in this buffer if broadcast trapping is enabled. Additionally all NEWS informational and error messages are also placed in this buffer. 

See Also  SHOW MESSAGES
CLOSE

CLOSE closes the current newsgroup, and the display is reset to the directory list of newsgroups.
COPY

COPY is only supported if the current item is a personal mail item (See OPEN/MAIL).

Copy places a copy of the current mail item into the nominated mail folder.

Format:
    COPY folder

Command Parameters

folder
is the name of the destination mail folder for the copy operation.
CLOSE MAIL

CLOSE MAIL  closes the open mail file, and removes the "private" newsgroups which are associated with each folder of the user's mail file.

CLOSE/MAIL  is an alternate format of the same command.
COMPRESS

COMPRESS  compresses your personal mail file. You must have opened your mail file within NEWS by the OPEN/MAIL command prior to using this command.
CREATE NEWSGROUPS

CREATE NEWSGROUPS is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

There are two equivalent commands to this command: CREATE CONFERENCE and CREATE GROUPS.

Format:
    CREATE NEWSGROUPS newsgroup

CREATE NEWSGROUPS is used to create new newsgroups on the local node.

The Newsgroup parameter is the name of the newsgroup to create. If the newsgroup does not exist on the local node, then the user is prompted to confirm that the newsgroup should be created. 

This parameter can also specify a comma separated list of newsgroup names to create. In the case of a list of names the qualifiers used (if any) refer to ALL newsgroups in the list (positional qualifiers are NOT supported in this release). 

Command Qualifiers

/APPROVAL
/APPROVAL   Default
/NOAPPROVAL
Moderated newsgroups require an Approved: header in all postings in order to be accepted by each local NEWS site. This approval requirement can be removed by specifying the /NOAPPROVAL qualifier with the newsgroup.

/CONFIRM
/CONFIRM   Default
/NOCONFIRM
Normally NEWS will require confirmation in order to create new newsgroups. The /NOCONFIRM qualifier overrides this requirement.

/HOLD=n
This qualifier specifies the retention period (in days) of the Newsgroup. This retention period is defined as the period over which no new items were posted to the newsgroup, after which the newsgroup is automatically deleted. If not specified, the system default value (normally 60 days) is used.

If the value /HOLD=* is used, the newsgroup will NOT be automatically deleted.

/IGNOREEXPIRES
/IGNOREEXPIRES
/NOIGNOREEXPIRES	Default
NEWS items may contain an optional Expires: header specifying the date that the item should be retained until. By default NEWS will accept the Expires: headers, with a maximum retention period of 1 year and a minimum of 3 days.

The system default retention periods can override any Expires: header on a newsgroup-by-newsgroup basis using the /IGNOREEXPIRES qualifier.

/ITEMHOLD=n
This qualifier specifies the default retention period (in days) of the items within this newsgroup. All news items will remain on the system for the specified period, after which they will be automatically deleted. If not specified the system default value (normally 14 days) is used. Note that the SET ITEM command can be used to alter the retention period for an individual news item.

If the value /ITEMHOLD=* is used, NO items within the newsgroup will be automatically deleted.

/LOCAL
Newsgroups are defined by default to be Network newsgroups - A network newsgroup is created in response to a network-wide "newgroup" control message, and is deleted in response to a network-wide "rmgroup" or "checkgroups" message.

Newsgroups which are local to a this site, or local to a domain within the wider network are created with the /LOCAL qualifier. This ensures that the newsgroup will not be deleted by the network control messages.

/MAILLIST
/MAILLIST=address
This qualifier sets the newsgroup as a mailing list newsgroup.This is very similar to setting a moderated newsgroup with a number of alterations in the support of the newsgroup to act as an interface between the local news system and a mailing list.

The changes from the moderator model in order to support the mapping of mailing lists into NEWS require the dropping of the Approval: item header requirement for incoming items, and a forwarding of all local postings to the mapped newsgroup to the mailing list address without the normal NEWS headers.

The address used with this qualifier is the address of the mailing list.

/MODERATOR=address
/MODERATOR=address
/MODERATOR
/NOMODERATOR
This qualifier creates a moderated newsgroup. No user may post news items directly into a moderated newsgroup (unless the user is the actual moderator of the newsgroup). Any items posted into such newsgroups are redirected into the mail systems, and are mailed directly to the moderator for approval. 

The moderator address should be specified in the internet format (user@node.site.domain) - not DECnet format (the translation from internet addresses to the equivalent DECnet addresses is handled internally by NEWS). 

/RESTRICT
This qualifier creates a restricted newsgroup. A restricted newsgroup is one where read and write access to the newsgroup is restricted to a specific list of members. The membership of the newsgroup is determined by the ADD MEMBER, DELETE MEMBER and MODIFY MEMBER commands. 

/TITLE="title-string"
Newsgroups may be created with a title string. This title is displayed in the head of a newsgroup directory, and is intended as a (short) description of the newsgroup. The string length is restricted to 124 characters. 

/WRITE
/WRITE	Default
/NOWRITE
By default all newsgroups are writeable by all users (there is a qualification to this assertion - a set of newsgroups can be setup as read-only by use of the NEWS_NETPOST/NEWS_NONETPOST identifiers - the newsgroup set refers to the /NOLOCAL newsgroups).

A newsgroup can be setup as a read-only newsgroup by the command:

    CREATE NEWSGROUP name/NOWRITE

Once a newsgroup has been set as /NOWRITE only those users with write permission can post to this newsgroup (see ADD MEMBER to grant write permission to a username).

/SERVER=node
Newsgroups may be linked to a remote NEWSSERVER via the NNTP network protocol. The presence of a remote server for a newsgroup implies that the local site need not keep the text files of all items within a newsgroup on local storage -- when a user on the local system reads an item, the remote server passes a copy of the text on demand.

This configuration can be used to reduce the overall storage demands for NEWS if a number of NNTP-connected systems are all running NEWS. One system may be nominated as the server for a number of client nodes, or a number of systems can be used to serve subsets of the total newsgroup set to the clients (i.e. a node may be configured as a client for some newsgroups, and a server for other newsgroups).

This qualifier requires a node name as a value -- this name is the node name of the remote server.

/CACHE  				(/SERVER=node   required also)
	/CACHE	DEFAULT
	/CACHE=n
	/NOCACHE
The /CACHE qualifier is used in conjunction with the /SERVER qualifier.  /CACHE is the default value. 

If a newsgroup is served from a remote system, then it is not necessary to keep local copies of the text of news items for the retention period of the news item record - as the server node will retain all items for the full period. If a newsitem is served from a remote system, and a local user requests to view the contents of that item, the server system copies the text of the item into the local user's scratch area. By default, a copy of this text is also placed in the local NEWS database, so that further requests to read the item do not need to access the remote server.

By default, the local text is deleted after 2 days, and any subsequent requests to view the text of the item will result in a remote server request for the item text. This text retention period can be set to n days using the /CACHE=n  qualifier value. 

This retention of the local copy can be inhibited by using the /NOCACHE qualifier -- in such a case all requests to view the item will generate remote server requests. 

/INQUIRE 				 (/SERVER=node   required also)
This command is used in the context of a client NEWS system adding newsgroups into the client database to match those held by the client's server system. The command allows the client system to import all, or a subset, of the newsgroups held on a news server node. The command requires the /SERVER and /PROTOCOL qualifiers as well (and if they are not specified, then the user will be prompted to supply the values). 

The action of the command is to request the full list of newsgroups on the target server node. All newsgroups which do not already exist on the local node are then created, subject to confirmation by the user for each new newsgroup. The attributes of the created newsgroups are set to the server and protocol values as given in the command.

The newsgroup list specified in the command line is the pattern to match when looking for new newsgroups. The following examples illustrate the use of pattern specification. 

To import all newsgroups defined on the node "unixnode", using the TCP transport, the command would be:
   NEWS> CREATE NEWSGROUP */SERVE=unixnode/PROTO=TCP/INQUIRE

To import all newsgroups within the tree "anu.*" from the node "vmsnode", using DECnet:
   NEWS> CREATE NEWSGROUP anu.*/SERVE=vmsnode/PROTO=DECNET/INQUIRE

/INQUIRE also supports an additional qualifier, "/SINCE=date", which restricts the search on the remote system to those newsgroups created since the specified date.

/PROTOCOL=protocol  		(/SERVER=node   required also)
Specifies a protocol to be used to access the NNTP SERVER node. The values for this qualifier are DECNET, CMUTCP, WINTCP' or MULTINETTCP'. They indicate the transport protocol used to carry the NNTP traffic between this client and the server node. 

/SINCE=date-time 			 (/SERVER=node/INQUIRE   required also)
This command is used in conjunction with the /INQUIRE qualifier to restrict the search for new newsgroups on the server to those created since the specified time. 

/UPDATE 				(/SERVER=node   required also)
/UPDATE	Default
/NOUPDATE
This qualifier is used in conjunction with the /SERVER qualifier, and directs NEWS to load the created newsgroup with the contents of the NNTP server database immediately.
CROSSPOST

CROSSPOST allows the user to copy an item from one newsgroup to another.

CROSSPOST copies the current item into another newsgroup (or newsgroups). This is equivalent to the command sequence of EXTRACT followed by POST/NOEDIT. The original headers of the item are re-edited by this command to record the user performing the crosspost.

The command will prompt for the target newsgroup to crosspost the current item to.

The command can also be used to transfer mail items into NEWS by selecting the mail item (after performing an OPEN/MAIL), then CROSSPOSTing this item to newsgroups. The reverse is NOT possible - news items cannot be CROSSPOSTed into private MAIL folder newsgroups.
DEFINE/KEY

DEFINE/KEY is used to make key / command bindings.

Format:
     DEFINE/KEY key-name equivalence-string

This command associates an equivalence string and a set of attributes with a key on the terminal keyboard.

Command Parameters

key-name
The key-name  parameter specifies the name of the key that you are defining. The following table  gives  the  set of key  names  in  column  one.  The remaining three columns indicate the key designations on the keyboards for the three different types  of  terminals  that  allow  key  definitions. 

NOTE: that the arrow keys and the PREV SCREEN and NEXT SCREEN keys should not be re-defined from their default defined values.
 	Key-name	LK201	VT100-type	VT52

 	PF1	PF1	PF1	[blue]
 	PF2	PF2	PF2	[red]
 	PF3	PF3	PF3	[gray]
	PF4	PF4	PF4	-
	KP0,KP1...KP9	0,1...9	0,1...9	0,1...9
 	PERIOD	.	.	.
 	COMMA	,	,	n/a
 	MINUS	-	-	n/a
 	ENTER	Enter	ENTER	ENTER
 	E1	Find	-	-
 	E2	Insert Here	-	-
 	E3	Remove	-	-
 	E4	Select	-	-
 	HELP	Help	-	-
 	DO	Do	-	-
 	F17...F20	F17...F20	-	-

The equivalence-string  specifies the string which is to be processed  when  you press  the key. If the string contains any spaces, enclose the equivalence string in quotation marks. 

Command Qualifiers

/ECHO
Determines whether or not the equivalence  string  is  displayed  on your screen  after the key has been pressed.  The default is /ECHO. You cannot use /NOECHO with the /NOTERMINATE qualifier.

/PROTECT
Determines whether or not the key definition can be changed or deleted once the definition is performed. /NOPROTECT is the default.

/IF_STATE=(state-name,...)
Specifies a list of one or more states, one of which must be in effect for the key definition to be in effect. If you omit the /IF_STATE qualifier or use /NOIF_STATE, the current state is used. The state name is an alphanumeric string. States are established with the /SET_STATE qualifier or the SET KEY command. If you specify only one state name, you can omit the parentheses. By including several state names, you can define a key to have the same function in all the specified states.

/LOCK_STATE
Specifies that the state set by the /SET_STATE qualifier remain in effect until explicitly changed. If you use the /NOLOCK_STATE qualifier, the state set by /SET_STATE is in effect only for the next definable key that you press or for the next read terminating character that you type.

The default is /NOLOCK_STATE. The /LOCK_STATE qualifier can only be specified with the /SET_STATE qualifier.

/SET_STATE=state-name
Causes the specified state-name to be set when the key is pressed. The state name can be any alphanumeric string.

If you omit the SET_STATE qualifier or use /NOSET_STATE, the current state that was locked remains in effect. If you have not included this qualifier with a key definition, you can use the SET KEY command to change the current state.

/TERMINATE
Specifies whether or not the current equivalence string is to be terminated (that is, processed) when the key is pressed. The default is /NOTERMINATE, which allows you to press other keys before the equivalence string is processed. Pressing RETURN has the same effect as using /TERMINATE.

The /NOTERMINATE qualifier allows you to create key definitions that insert text into command lines, after prompts, or into other text that you are typing.
DELETE

DELETE is a NEWS MANAGER command. This command is not supported when running NEWS as a diskless client.

DELETE is used to delete newsgroups and/or newsitems from the local database. If the screen is currently displaying the newsgroup directory, the DELETE command deletes the current newsgroup (DELETE NEWSGROUP). If the newsitem directory is displayed on the screen, DELETE removes the current newsitem (DELETE NEWSITEM). 
DELETE ENTRY

DELETE ENTRY removes a newsgroup from a user-defined class.

Format:
    DELETE ENTRY newsgroup

DELETE ENTRY is a user command, used to change the membership of a user class. The newsgroup parameter is the name of the newsgroup to remove. This newsgroup is removed from the current class (or the class specified by the /CLASS qualifier.

To delete an entire class, use the value "*" for the newsgroup parameter.

Command Qualifiers

/CLASS=class-name
Specifies the class from which the newsgroup is to be removed.

To remove a newsgroup from all classes use the value "*'' as the class-name value. 
DELETE NEWSGROUP

DELETE NEWSGROUP is a NEWS MANAGEMENT command. DELETE NEWSGROUPS is not supported when NEWS is configured as a diskless NNTP client.

Format:
    DELETE NEWSGROUP  newsgroup-list

This command deletes newsgroups from the local NEWS database. The command may only be used by the local NEWS manager. Any newsitems held within the specified newsgroups are also deleted. 
                        
DELETE GROUPS may also be used to delete newsgroups.
           
If no newsgroup names are specified, then the current newsgroup is deleted. Otherwise the newsgroups are specified as a list of names, separated by commas. The '*' wildcard character may also be used to specify a set of newsgroups. 

Command Qualifiers

DELETE NEWSGROUP/CONFIRM

This qualifier directs NEWS to prompt for confirmation for each newsgroup to delete. This value is on by default, and is removed by the "/NOCONFIRM" qualifier. 
DELETE NEWSITEM

DELETE NEWSITEM is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
    DELETE NEWSITEM  newsitem-list

    DELETE NEWSITEM/IDENTIFIER="message-identifier"

This command deletes newsitems from the current newsgroup from the local NEWS database. The command may be used by the local NEWS manager, or by the local supervisor of a newsgroup.

DELETE ITEMS and DELETE NOTE may also be used to delete newsitems.

By default the current newsitem is deleted. A list of note numbers may be specified as a command parameter. The format of this list is a list of numbers, and/or ranges (start # - end#), the keywords "first", "last", "all", "." (current item) and  "*" (all items). 

For example, to delete items 3 through to 10, 20 and 22 to 25 the command is:
	DELETE NEWSITEM 3-10,20,22-25

To delete all items in a newsgroup the  command is:
	DELETE NEWSITEM *

Command Qualifiers

/CONFIRM
This qualifier directs NEWS to prompt for confirmation for each newsgroup to delete. This value is on by default, and is removed by the "/NOCONFIRM" qualifier. 

/IDENTIFIER="message-id"
The /IDENTIFIER qualifier is used to select a news item with a specified message identifier string. The format is  /IDENTIFIER="message-id". Note that the identifier value includes the '<' and '>' characters. If /IDENTIFIER is used, this excludes the use of a set of news item numbers in the command. 
DELETE MARKER

DELETE MARKER removes a user marking tag.

Format:
    DELETE MARKER [tag ]

DELETE MARKER removes all marks of the specified tag from the mark list. If no tag value is specified then ALL marks are cleared. Otherwise only the specified tag value is cleared. The wildcard character ('*') can be used in the tag  field to clear a set of related tags.

See Also  CLEAR MARK, MARK, UNMARK
DELETE MEMBER

DELETE MEMBER is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
    DELETE MEMBER username

This command deletes the specified username entry from the access list of the current newsgroup.
DEREGISTER

DEREGISTER removes the current newsgroup from the user's registered set.

Format:
    DEREGISTER  [newsgroup ]

This command removes your registration from a newsgroup. The newsgroup may either be specified as a parameter to the command, or, if not specified, the current newsgroup is deregistered.

The parameter to the command is the name of the newsgroup to deregister. If no newsgroup name is specified, the current newsgroup is deregistered.

See Also  REGISTER, DIR/REGISTER, DIR/NEW, SELECT/NEW

Command Qualifiers

/ALL
	The /ALL qualifier removes registration tags from all newsgroups.
DIRECTORY

DIRECTORY displays a list of the local newsgroups, or a list of all news items within the selected newsgroup.

In screen mode this command is used to move between newsgroup and newsitem displays, and also to select some subset of the full newsgroup set to display on the screen.

In line mode, this command, by default lists all the news items in the currently selected newsgroup, on a page by page basis, displaying the item number, creation date and item title.

Command Qualifiers

/ALL
This command resets the newsgroup directory to display all newsgroups held on the local system.

/CLASS=class-name
Sets the current class to that specified by this qualifier. All other directory qualifiers listed here are prefixed by the condition that the newsgroups must be members of the current class. To remove a class selection condition use the class name "*". 

/ITEMS
This opens the 'current' newsgroup and displays the newsitem for that newsgroup. This command is equivalent to the basic 'SELECT' command.

/NEW
This command sets the newsgroup directory screen to only display those newsgroups in which you are registered, and there are unread newsitems within those newsgroups.

/NEWSGROUPS
This command moves the context of NEWS to the newsgroup directory screen. This command is equivalent to the 'NEWSGROUP' command.

/REGISTER
This command sets the newsgroup directory screen to only display those newsgroups in which you are registered.

/RESET
This clears the internal memory copy of the NEWS database, and reads a new copy of the database from the master index files into memory.

This command is not normally used -- it is relevant only in those situations where a background process is adding or deleting news items to the database, and the user encounters 'file not found' errors when attempting to access item files.

/SINCE=date
This command sets the newsgroup directory screen to only display those newsgroups in which new items have been entered since the date specified. The date is given in VMS time format: e.g. DIR/SINCE=22-FEB.

/UNREGISTERED
This command sets the newsgroup directory screen to only display those newsgroups in which you are not registered.
DISPLAY

DISPLAY invokes the NEWS display routines to display the contents of a VMS file.

Format:
    DISPLAY filename

Invokes the NEWS screen displayt routines to display a VMS file. On exit from the display routines, NEWS is resumed. Any file may be specified to the command.
DOWN

DOWN moves the selection cursor down the screen.

Format
    DOWN [number ]

In screen mode this moves the current pointer down one line. The command has an optional numeric parameter, the number of lines to move down.

If no number is specified, 1 is the default value. This command is bound to the down arrow key on the terminal. The command 'DOWN 18' is bound to the 'next screen' key in the terminal.

See Also  UP
EDIT

EDIT invokes the editor to edit a VMS file.

Format:
    EDIT filename

Invokes the Editor to edit a VMS file. On exit from the editor, NEWS is resumed. Any file may be specified to the command.
EXIT

EXIT from NEWS.

Ctrl-Z is also interpreted as EXIT.

On exit from NEWS a new register file is written out to SYS$LOGIN. This file, "newsrc", contains the list of registered newsgroups, read/unread newsitems, the marked item list and the kill filter lines.

The context file is used to determine which news items are unread, and is also used to re-establish context on the next invocation of NEWS. The next invocation of NEWS will restore the screen displays to the state at which the 'EXIT' command was entered. On exit any pending print requests are released into the print queues. 

See Also QUIT
EXTRACT

EXTRACT writes a NEWS item to a VMS text file. It is a synonym for SAVE.

EXTRACT is a synonym for SAVE. The parameters to the EXTRACT command are similar to that of the SAVE command, with the only difference being that the optional output file name is specified to Extract as the first command parameter rather than as a qualifier. This command format is retained for compatability with previous versions of NEWS.

Format:
    EXTRACT  [output-file   [item-range ] ]

Command Parameters

output-file
specifies the name of the file to save to.

Default value if not specified:

The default value is to extract the item into the subdirectory [.NEWS-EXTRACTS] of the system login directory, and the filename is based on the newsgroup of the extracted item. The subdirectory is created automatically.

e.g. Extracting items from the newgroup "news.software.anu-news" will append to the output file

	SYS$LOGIN:[NEWS-EXTRACTS]NEWS_SOFTWARE_ANU-NEWS.LIS

item-range
specifies the range of item numbers to save. The default is to save the current item.

Command Qualifiers

/DIRECTORY=option
This qualifier modifies the EXTRACT command to extract into a file a directory listing of all newsgroups, or of all newsitems within a newsgroup instead of printing a newsitem. 

The options available with this qualifier are:

EXTRACT/DIRECTORY=NEWSGROUPS  prints a directory listing of all newsgroups. GROUPS is an alternative option value for this action.

EXTRACT/DIRECTORY=NEWSITEMS prints a directory listing of the current newsgroup. ITEMS and NOTES are alternative option values for this action.

/NEWSGROUPS=(group-list )
Specifies the newsgroups for which the directory mode is to apply. By default the current newsgroup is used.

/ALL
Specifies that all items in the current newsgroup are to be extracted to the specified file.

/APPEND
Appends the items to the specified file. If the file does not exist, it is created. /APPEND is the efault value if no output file is specified, and /NODEFAULT is the default is an explicit name is given.
         
/AUTHOR=mailaddress
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be saved. This qualifier is a synonym for /FROM.

/BEFORE=date-time
Specifies that only those items (selected from the specified item-range) postmarked before the specified date are to be saved.

/FROM=mailaddress
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be saved. This qualifier is a synonym for /AUTHOR.

/HEADER
	/HEADER	Default
	/NOHEADER
	Specifies whether or not to include the full item headers in the saved text.

/MARKER [=(tag-list ) ]
	Specifies that only those items marked with one of the specified tag values are to be saved.

/ROT13
Applys ROT13 encryption to the extracted item body.

/SEEN
Marks the extracted item as seen.

/SINCE=date-time
	Specifies that only those items (selected from the specified item-range) postmarked after the specified date are to be extracted.

/SUBJECT="string "
	Extract only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /TITLE.

/TITLE="string "
	Extract only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /SUBJECT.

/UNREAD
	Extract only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNSEEN.

/UNSEEN
	Extract only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNSEEN.
FILE

FILE is only supported if the current item is a personal mail item (See OPEN/MAIL). MOVE is a synomyn for FILE.

FILE shifts the current mail item into the nominated mail folder.

Format:
    FILE folder

Command Parameters

folder
is the name of the destination mail folder for the copy operation.
FOLLOWUP

FOLLOWUP is used to post a reply to a news item back into NEWS. 

Format:
    FOLLOWUP [item-number ]

The followup item posted by the FOLLOWUP command will reference the news item you are following up as the parent of the new posting.

The command ANSWER is equivalent to FOLLOWUP.

The editor is invoked to form the new posting, with the edit buffer preloaded with the text of the original item. The default editor is the TPU editor, but this is user definable - see the section on customisation to specify a different editor to use.

NEWS will fill in all defaulting news headers, and will prompt for all header items which are non-defaulting (the subject line and the newsgroups to post the item into).
                    
If the newsgroups for the posting are moderated newsgroups, the posting is automatically re-directed as mail to the moderator address, and NOT posted back to NEWS.

See Also ANSWER, REPLY, POST

Command Parameters

item-number
is the number of the item to which the response is directed. It no item-number is given as a command parameter, the current item is used as the basis of the followup posting.

Command Qualifiers:

/EXTRACT
/EXTRACT		DEFAULT
/NOEXTRACT
This qualifier causes NEWS to pre-load the edit buffer with the contents of the posting to which the followup is addressed. The original posting is enclosed in quotation characters 

/HEADERS
Answer will normally prompt for the subject of the posting, and a list of newsgroups to post the item into. All other header lines of the news item text will be filled with null values.

The /HEADERS qualifier will force prompting for optional components of the item header. These fields are:

Summary:   A one line summary of the contents of the posting.

Reply-To:   The (internet) mail address for REPLYing to the item - used if replies are to be sent to a mail address OTHER than yourself (as the originator of the item.

Distribution:   A (comma separated) list of keywords designed to limit the distribution of a news item to a subset of the network. These keywords are site specific, but commonly include the keyword "local" (do not forward to the net!).

Followup-To:   The list of newsgroups where followup postings are to be sent. This is used to move a discussion to another newsgroup.

Keywords:   A few relevant, pithy keywords which should indicate to other readers if the item is of interest.

Expires:  A date to indicate the end of the useful life of the information in the message. NEWS will reject expirations greater than 12 months as being too outlandish.

/SELF
This directs NEWS to send a self copy through VMS MAIL.

/ROT13
This qualifier directs NEWS to use the rot13 encryption algorithm on the body of the text before posting.
FORWARD

FORWARD invokes VMS MAIL, to send a copy of the current news item via mail to another user. 

FORWARD and MAIL are equivalent.

See Also MAIL

Command Qualifiers

/HEADERS
By default the news item header lines are stripped off the item text before it is mailed. This qualifier loads the item header lines into the mail buffer as well as the body of the text.

/MEMBERS
If the newsgroup is restricted to a set of members, then specifying FORWARD/MEMBERS, personal mail is sent to all members of the restricted newsgroup.

/NOEDIT
By default, FORWARD invokes the editor to allow the item text to be edited before mailing the item. This qualifier sends the news text to the mailer without modification. The default editor is the TPU EDT emulator, but this is user definable - see the chapter on customisation of NEWS.

/SELF
Sends a copy of the message back to yourself, as well as those on the /TO list.

/SUBJECT="subject "
Specifies  the  subject  of  the message for the heading. If the qualifier is not specified, the user is prompted for the /SUBJECT value.

/TO=user
Specifies the address of the users to receive the mail. The address format may be either local VMS Mail format:
	user ::node   or  protocol_handler%"protocol_specific_address_string "
or Internet format::
	user@fully_domain_qualified_node_name 
The user address may be a single address, or a list of users. Note that if you specify a reference to a distribution list, the distribution list should only include VMS Mail format addresses. If this qualifier is not specified, the user is prompted for the /TO value.
HELP

HELP invokes the interactive help display.

This command invokes the VMS help processor, with the NEWS help library loaded. The  command  can  be  used  with additional command parameters to specify the NEWS command on which you want the help displayed.
KILL

KILL  allows the user to filter out all messages of a particular type from being displayed.

KILL filters are used in conjunction with processing of the READ/NEW command, allowing user-specified types of items to be automatically marked as seen without displaying the item text, and causing the READ/NEW process to search for the next unseen item. This enables the user to skip messages whose subject, or sender, are of no particular interest. 

The KILL filter works on four possible attributes of an item for a match with the filters:
	the newsgroup name,
	the subject line,
	the sender's address, and
	any other single item header line. 

Of these attributes, only the newsgroup name and a minimum of one of the remaining three filters need be specified. If more than one item attribute is specified then the logical AND of the filters is the result of the filter). Thus it is possible to filter all postings by a particular sender in all newsgroups, or filter a conversation stream from a particular newsgroup, or filter all postings from a particular sender within a specified conversation stream. 

The KILL command adds entries to the kill filter list. Removing kill filters is performed by the CLEAR KILL command, and existing kill filters can be edited using the MODIFY KILL command. 

The KILL command has three qualifiers: /SUBJECT, /FROM and /HEADER. The /SUBJECT qualifier directs NEWS to add the current item's subject line to the kill filter set, and the /FROM directs NEWS to add the current item's "From:" line to the kill filter set. The /HEADER qualifier takes a text pattern as a value, and matches the pattern against a header line. This header line value is taken as the filter value. 

The command will then prompt for the set of newsgroups to which this filter will be applied. The default value is the current newsgroup, however more newsgroups may be specified using wildcard notation ('*') or a list of newsgroups. 

See Also SHOW KILL, MODIFY KILL, CLEAR KILL

Command Qualifiers

/FROM
Add the current item's From: address to the kill filter set.

/SUBJECT
Add the current item's Subject line to the kill filter set.

/HEADER="text "
The /HEADER qualifier takes a text pattern as a value, and matches the pattern against a header line. This header line value is taken as the filter value.  For example, to kill all items with the same set of keywords as the current item the command would be:
		KILL/HEADER="keywords:"

This command will read the current item, extract the keywords header line, and use this line as a kill filter.
LAST

LAST  displays the last item in the current newsgroup.

If the screen is currently at the newsgroup level, LAST will select (and  open) the last newsgroup in the displayed set. This is equivalent to the command seuqence "BOTTOM" followed by "OPEN". 

If the screen is currently as the newsitem level, LAST will display the last message in the current newsgroup. In this case the command is equivalent to "READ *", displaying the next item in the currently open newsgroup.

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
MAIL

MAIL invokes VMS MAIL, to send a copy of the current news item via mail to another user. 

FORWARD and MAIL are equivalent commands

See Also REPLY

Command Qualifiers

/TO=user
Specifies the address of the users to receive the mail. The address format may be either local VMS Mail format:
	user ::node   or  protocol_handler%"protocol_specific_address_string "
or Internet format::
	user@fully_domain_qualified_node_name 
The user address may be a single address, or a list of users. Note that if you specify a reference to a distribution list, the distribution list should only include VMS Mail format addresses. If this qualifier is not specified, the user is prompted for the /TO value.

/SUBJECT="subject "
Specifies  the  subject  of  the message for the heading. If the qualifier is not specified, the user is prompted for the /SUBJECT value.

/NOEDIT
By default, NEWS invokes the editor to allow the item text to be edited before mailing the item. This qualifier sends the news text to the mailer without modification. The default editor is the TPU EDT emulator, but this is user definable - see the chapter on customisation of NEWS.

/SELF
Sends a copy of the message back to yourself, as well as those on the /TO list.
                
/HEADERS
By default the news item header lines are stripped off the item text before it is mailed. This qualifier loads the item header lines into the mail buffer as well as the body of the text.
MARK

MARK  records a user marker against the current item.

Format:
    MARK [tag ] [item-number ]

MARK places a mark against the current newsitem. This item can be selected at a later stage by the READ/MARK or SELECT/MARK commands.

If no tag value is specified then the default tag, "mark" is used. Any tag value may be specified - tag values are words (no space characters) of less than 80 characters in length.

If an item number is specified then the specified item is marked, rather than the default of the current item.

See Also  UNMARK, CLEAR MARK
MODIFY ENTRY

MODIFY ENTRY alters the user-defined classes to which the current newsgroup is assigned.

Format:
    MODIFY ENTRY newsgroup/CLASS=(class-list )

Command Qualifiers

/CLASSES=(class-list)
Specifies a new list of classes to which the specified newsgroup is assigned.
MODIFY KILL

MODIFY KILL  allows editing of currently active kill filters

Format:
    MODIFY KILL tag

MODIFY kill allows existing kill filters to be edited. The kill filter with the nominated tag is displayed, then each of the four filter attributes (sender, subject, newsgroup and header line pattern) can be edited (using the command line editor functions). 
                     
If all four attributes are cleared then the filter is deleted.

See Also   KILL, SHOW KILL, CLEAR KILL
MODIFY MEMBER

MODIFY MEMBER  is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
    MODIFY MEMBER username

This command allows a newsgroup moderator, or the local NEWS manager to modify an entry in the membership list of a restricted newsgroup.

Command Qualifiers

/MAIL="mail-address "
Sets or changes the e-mail address of the user.

/NAME=new-username
Modifies the username of the entry.

/PRIVILEGES=(new-priv-list )
Sets the user's newsgroup-privileges to the specified values. The values are: SUPERVISE (grant local supervision privilege), WRITE (allow write access to a write-protected newsgroup) and NOWRITE (disallow write access).
MOVE

MOVE is only supported if the current item is a personal mail item (See OPEN/MAIL). FILE is a synomyn for MOVE.

MOVE shifts the current mail item into the nominated mail folder.

Format:
    MOVE folder

Command Parameters

folder
is the name of the destination mail folder for the copy operation.
NEWSGROUPS

NEWSGROUPS  displays the newsgroup directory.

In screen mode this pops the display stack back to the newsgroup directory screen from the newsitem or news text display screens. This command is a synonym of the 'DIR/NEWSGROUPS' command.
NEXT

NEXT  displays the next item in the current newsgroup.

The command is equivalent to READ/NEXT, displaying the next item in the currently open newsgroup.

The commands NEXT NOTE and NEXT TOPIC are synonyms for the command NEXT

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
NEXT REPLY

NEXT REPLY  displays the next item in the current newsgroup within the same conversation stream as the current item.

The command is equivalent to READ/FOLLOWUP, displaying the next item in the currently open conversation stream.

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
NEXT UNSEEN

NEXT UNSEEN  displays the next unseen item in the current newsgroup.

The command is equivalent to READ/NEW.

Command Qualifiers

/HEADER
	Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
	Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
	Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
NOSCREEN

NOSCREEN  turns off screen mode and enters line command mode.

See Also SCREEN
OPEN

OPEN selects the current newsgroup and displays a directory of items held in the newsgroup.

Format:
    OPEN [newsgroup ]

OPEN changes newsgroup context to the nominated newsgroup.  If no newsgroup is given, the command selects the 'current' newsgroup. Otherwise the specified newsgroup is opened. For example, "OPEN test" opens newsgroup 'test'.

Command Qualifiers

/NEW
This qualifier is used to  select  the  next registered  newsgroup which contains unseen news items. If the current newsgroup contains unread items, then no action is performed.

/MAIL
This qualifier directs NEWS to read your personal mail file and create a set of private newsgroups which correspond to each of the folders in your mail file, of the form "username.mail.foldername". This allow you to use the NEWS interface to read, reply and maintain your personal mail. As well as the NEWS commands there are a number of additional commands specifically referring to mail folders: CLOSE/MAIL, MOVE and FILE, COPY and PURGE.

The command OPEN MAIL is equivalent to OPEN/MAIL.

/MARK=tag
This command moves the current item pointer to the NEXT newsitem marked with the specified tag value. If no tag value is specified than the next item marked with any tag is used.
POST

POST  allows the user to post a new item into NEWS.

Format:
    POST [filename ]

POST is used to post a new news item into NEWS. By default, the editor is invoked to form the new posting. The default editor is TPU, but this is user definable - see the chapter on customisation to specify a different editor to use.

NEWS will fill in all defaulting news headers, and will prompt for all header items which are non-defaulting (the subject line and the newsgroups to post the item into).

If the newsgroups for the posting are moderated newsgroups, the posting is automatically re-directed as mail to the moderator address, and NOT posted directly to NEWS.

If a filename is specified, the editor is loaded with the text of the specified file, otherwise the editor is invoked to create a new file.

See Also   FOLLOWUP, REPLY, FORWARD

Command Qualifiers

/EDIT
The default action is to call the editor to create the posting. If you specify a file as a parameter to the POST command, and also specify the qualifier /NOEDIT , no call is made to the editor.

/CONTROL="string"
/CONTROL is a NEWS Manager privileged qualifier. The string specified as the value of this qualifier is inserted into the posting as a "Control:" header line argument. 

/HEADERS
Post will normally prompt for the subject of the posting, and a list of newsgroups to post the item into. All other header lines of the news item text will be filled with default values.

The /HEADERS qualifier will force prompting for optional components of the item header. These fields are:
Summary:   A one line summary of the contents of the posting.

Reply-To:   The (internet) mail address for REPLYing to the item - used if replies are to be sent to a mail address OTHER than yourself (as the originator of the item.

Distribution:   A (comma separated) list of keywords designed to limit the distribution of a news item to a subset of the network. These keywords are site specific, but commonly include the keyword "local" (do not forward to the net!).

Followup-To:   The list of newsgroups where followup postings are to be sent. This is used to move a discussion to another newsgroup.

Keywords:   A few relevant, pithy keywords which should indicate to other readers if the item is of interest.

Expires:  A date to indicate the end of the useful life of the information in the message. NEWS will reject expirations greater than 12 months as being too outlandish.

/NEWSGROUPS =newsgroup-list
This qualifier specifies the list of newsgroups to receive the posting. If this qualifier value is not specified, the user is prompted for the newsgroups. The list is a comma separated list of newsgroup names.

/ROT13
	Specifies that the body of the posting will be encrypted using ROT13 on posting to NEWS.

/SELF
A copy of your posting is mailed to yourself via VMS MAIL.

/SUBJECT="subject-string "
Specifies  the  subject  of  the message for the heading. If not specified, the user is prompted for the /SUBJECT value.
PRINT

PRINT submits selected newsitems to a VMS print queue.

Format:
    PRINT [item-range ]

By default the print job is only submitted at the end of the NEWS session, but this can be altered, by specifying the /NOWAIT qualifier, to an immediate print job submission.

If no item-range is specified the current newsitem is submitted for printing.

There are three qualifier sets: qualifiers which affect the print mode, qualifiers which select the items and their print formats, and the standard VMS print job qualifiers. 

Print mode is by default to print newsitem contents (item mode). The /DIRECTORY qualifier is used to select directory mode, where NEWS directory listings may be printed.

If the item mode is used then the default is to print the current newsitem. This behaviour may be altered by selecting a range of items, with selection criteria also applied by qualifiers.

Command Parameters

item-range
Specifies one or more items to be printed. The item-spec is the item number in the current newsgroup. If you  specify  two  or more  items,  separate the item numbers with either commas or plus signs.  The PRINT command concatenates the items into a  single print  job  and by default, gives the job the name of the first file specified.

A range of items can be specified by separating the start and end numbers by a minus. All items within the current newsgroup can be specified by a '*'.

For example, to print items 3 through to 10, 20 and 22 to 25 the command is:
	PRINT 3-10,20,22-25

Command Qualifiers

/WAIT
/WAIT	Default
/NOWAIT
Specifies whether the job is to be submitted at the end of the current NEWS session (/WAIT) or printed immediately (/NOWAIT).

/DIRECTORY=option     [mode qualifier]
This qualifier modifies the PRINT command to print a directory listing of all newsgroups, or of all newsitems within a newsgroup instead of printing a newsitem. 

The options available with this qualifier are:

PRINT/DIRECTORY=NEWSGROUPS  prints a directory listing of all newsgroups. GROUPS is an alternative option value for this action.

PRINT/DIRECTORY=NEWSITEMS prints a directory listing of the current newsgroup. ITEMS and NOTES are alternative option values for this action.

/NEWSGROUPS=(group-list )    [directory mode qualifier]
Specifies the newsgroups for which the directory mode is to apply. By default the current newsgroup is used.

/ALL      			[item mode qualifier] 
Selects all news items in the current newsgroup for printing. 

/AUTHOR=mailaddress   	[item mode qualifier] 
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be printed. This qualifier is a synonym for /FROM.

/BEFORE=date-time 		[item mode qualifier] 
Specifies that only those items (selected from the specified item-range) postmarked before the specified date are to be printed.

/CONFIRM       		[item mode qualifier] 
/CONFIRM
/NOCONFIRM	Default
As with the normal VMS /CONFIRM qualifier semantics, this qualifier  controls whether a user confirmation request is issued before each individual  item print operation  to confirm that the operation should be performed on that item.

When the system  issues  the  prompt,  you  can  issue  any  of  the following responses:

	YES		NO		QUIT
	TRUE	FALSE	<CTRL/Z>
	1		0
			<RET>
	ALL

You can use any combination of upper- and lowercase letters for word responses.  Word responses can be abbreviated to one or more letters (for example, T, TR, or TRU for TRUE).  Affirmative answers are YES, TRUE, and 1.  Negative answers are NO, FALSE, 0, and <RET>.  QUIT or CTRL/Z indicates that you want to stop  processing  the  command  at that  point.   When  you  respond with ALL, the command continues to process, but no further prompts are given.  If you type  a  response other than one of those in the list, the prompt will be reissued.

/FROM=mailaddress    	[item mode qualifier] 
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be printed. This qualifier is a synonym for /AUTHOR.

/HEADER  	 		[item mode qualifier] 
	/HEADER	Default
	/NOHEADER      
Specifies whether or not to include the full item headers in the printed text.

/MARKER [ =(tag-list ) ]  	[item mode qualifier] 
Specifies that only those items marked with one of the specified tag values are to be printed.

/SEEN      			[item mode qualifier] 
Marks the printed item as seen.

/SINCE=date-time    		[item mode qualifier] 
Specifies that only those items (selected from the specified item-range) postmarked after the specified date are to be printed. You can specify either an absolute time or a combination of absolute and delta times. You  can  also use  the  keywords  TODAY,  TOMORROW,  and YESTERDAY.

/SUBJECT="string "     	[item mode qualifier] 
Print only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /TITLE.

/TITLE="string "     		[item mode qualifier] 
Print only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /SUBJECT.

/UNREAD      		[item mode qualifier] 
Print only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNSEEN.

/UNSEEN      		[item mode qualifier] 
Print only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNREAD.

/AFTER=date-time    	[VMS print qualifier]
/AFTER=time
/NOAFTER
Requests that the job will be held in the print queue until after the specified time. You can specify either an absolute time or a combination of absolute and delta times. If the specified time has already passed,  the  job  is  queued  for printing immediately.

/BURST= {ALL | ONE } 	[VMS print qualifier]
/BURST=ALL
/BURST=ONE
/NOBURST
Controls whether a burst page is printed preceding a file.  A  burst page  precedes  a  flag  page  and  contains  the  same information. However, it is printed over the perforation between the  burst  page and the flag page.  The printing on the perforation makes it easy to see where individual print jobs or individual files within a  single print job begin.

When you specify /BURST, you need not specify  /FLAG;  a  flag  page automatically follows a burst page.

If the /BURST qualifier  can take either of two keywords:  ALL or ONE.  The ALL keyword indicates that each file in the  job  will  be preceded  by  a burst page and flag page.  The ONE keyword indicates that a burst page will apply only to the first  copy  of  the  first file in the job.

Use the /[NO]BURST qualifier to  override  the  installation-defined defaults that have been set for the printer queue you are using.

/CHARACTERISTICS=(charactistic-values  [,...] ) 	[VMS print qualifier]
Specifies one or more characteristics desired for printing the files. If   you   specify   only  one  characteristic,  you  can  omit  the parentheses.  Characteristics can refer to such things as  colour  of ink.  Codes for characteristics can be either names or values from 0 to   127   and   are    installation-defined.     Use    the    SHOW QUEUE/CHARACTERISTICS command to see which characteristics have been defined for your system.  Use the SHOW  QUEUE/FULL  command  to  see which characteristics are available on a particular queue.

A  print  job  can  execute  on  a  printer  queue  only   if   each characteristic  specified  with  the PRINT command is also specified for that particular printer queue.  If you specify a  characteristic that  has  not been specified for that particular printer queue, the job remains in a pending status.  (In order for your job  to  print, the  system  manager  should  stop  the queue, physically change the characteristics of the printer, and restart  the  queue,  specifying the new values listed in the /CHARACTERISTICS qualifier.)

Specification of a characteristic  for  a  printer  queue  does  not prevent  jobs  that  do  not  specify that characteristic from being executed.

/COPIES=n       		[VMS print qualifier]
	Specifies the number of copies of each item to be printed (from 1 to 255).

/FEED       			[VMS print qualifier]
/FEED (default)
/NOFEED
Controls whether the PRINT command automatically inserts form  feeds when  it nears the end of a page.  Use of the /FEED qualifier causes the PRINT command to insert a form feed when the printer reaches the bottom  margin  of  the  form.   The number of lines per form can be reset by the /FORM qualifier.  You can suppress this automatic  form feed  (without affecting any of the other carriage control functions that are in place) by using the /NOFEED qualifier.

The   /[NO]FEED   qualifier   may   be   used   to   override    the installation-defined  defaults  that  have  been set for the printer queue you are using.

/FLAG= { ALL | ONE }  	[VMS print qualifier]
/FLAG=ALL
/FLAG=ONE
/NOFLAG
Controls whether a flag page is printed preceding a file.  The  flag page contains the name of the user submitting the job, the job entry number, and other information about the file being printed.

The /FLAG qualifier  can take either of two keywords:  ALL or ONE.  The ALL keyword indicates that each file in the  job  will  be preceded by a flag page.  The ONE keyword indicates that a flag page will apply only to the first copy of the first file in the job.

Use the /[NO]FLAG qualifier  to  override  the  installation-defined defaults that have been set for the printer queue you are using.

/FORM=form      		[VMS print qualifier]
Specifies the name or number of the form that you want for the print job.

Specify the form type using a numeric value  or  alphanumeric  name. Form types can refer to the print image width and length or the type of paper.  Codes for form types are installation-defined.   You  can use the SHOW QUEUE/FORM command to find out the form types available for your system.   Use the  SHOW QUEUE/FULL  command to find out the name of the mounted form and the default form for a particular queue.

If you specify a form whose stock is different from the stock of the form mounted on the  queue,  your job is placed  in a  pending state until the stock of the mounted  form of  the  queue is set  equal to the stock of  the form  associated with the job.  (In  order to have your job print, the system manager should stop the queue, physically change the paper stock on the output device,  and restart  the queue specifying the new form type as the mounted form.)

/HOLD      			[VMS print qualifier]
	HOLD the request in the print queue until manually released with a /RELEASE or /NOHOLD qualifier specified with the SET QUEUE/ENTRY command.

/JOBCOUNT=n      		[VMS print qualifier]
	Specifies the number of repeat prints of the job. The maximum value is 255 and the default value for this parameter is 1.

/LOWERCASE      		[VMS print qualifier]
	Specifies that the job is to be printed on a dual case printer. By default the print job may be queued to an uppercase only printer and printed in uppercase. /LOWERCASE forces the job to be printed on a lowercase printer..

/NAME=job-name      	[VMS print qualifier]
Specifies a job name for the submitted print job. The qualifier defines a name string to identify the job. The name string can  have from  1  to  39  characters.  The job name is used in the SHOW QUEUE command display and is printed on the flag page for the job. If you do not specify /NAME, the name string defaults  to  the  file name of the first, or only, file in the job.

/NOTE="job-note "     	[VMS print qualifier]
Attaches a note to the submitted print job. This allows you to specify a message to appear on the flag  page for the job. The string can contain up to 255 characters.

/NOTIFY     	 		[VMS print qualifier]
	Requests VMS to broadcast a message to all terminals at which you are loggerd in notifying you when the print job has been completed.

/OPERATOR="operator request "	[VMS print qualifier]
	Tags the print job with an operator request. This allows you to specify a message to be sent to the  operator. The string  can  contain  up  to  255  characters. When the job begins execution, the printer queue pauses and the message is transmitted to the operator.

/PARAMETERS=(param-list ) 	[VMS print qualifier]
Specifies job print parameters. There are from one to eight optional parameters to be passed to the job.  Each parameter can include up to 255 characters. If you specify only one parameter, you can omit the parentheses. The commas delimit individual parameters.  To  specify  a  parameter that  contains  any  special  characters  or delimiters, enclose the parameter in quotation marks.

/PASSALL       		[VMS print qualifier]
	Specifies whether the job is to be printed in "raw" mode. In PASSALL mode the symbiont bypasses all formatting and sends the output IO call to the print driver with format suppressed.  All qualifiers affecting formatting, as well as the   /HEADER,   /PAGES,   and /PAGE_SETUP qualifiers, will be ignored.

/PRIORITY=priority      	[VMS print qualifier]
	Specifies the print job priority. The priority value must be in  the  range  of 0 through 255, where 0 is the lowest priority and 255 is the highest. You need VMS privileges OPER or ALTPRI to specify a value higher than the SYSGEN parameter MAXQUEPRI (which may or may not be greater than the default print priority as specified by the SYSGEN parameter DEFQUEPRI).

/QUEUE=queue-name       	[VMS print qualifier]
	Specifies a print queue other than the default queue, SYS$PRINT, for printing.

/RESTART			[VMS print qualifier]
/RESTART (default)
/NORESTART
Specifies whether the job can restart after a crash or a STOP/QUEUE/REQUEUE command.

/SETUP=setup-modules      	[VMS print qualifier]
Specifies setup modules for the print job. This qualifier calls for the specified modules to be extracted from  the  device control  library and copied to the printer before a file is printed. By default, no device control modules are copied.

Note that the module names are not checked for  validity  until  the time  that  the file is actually printed.  Therefore, PRINT/SETUP is susceptible to typing errors and other mistakes, and is  recommended only for experimental setups.

/SPACE     			[VMS print qualifier]
/SPACE
/NOSPACE 	Default
Controls whether output is to  be  double-spaced.   The  default  is /NOSPACE, which results in single-spaced output.

/TRAILER= { ALL |ONE }	[VMS print qualifier]
/TRAILER=ALL
/TRAILER=ONE
/NOTRAILER
Controls whether a trailer page is printed at the  end  of  a  file. The   trailer  page  displays  the  job  entry  number  as  well  as information about the user submitting the job and  the  files  being printed.

The /TRAILER qualifier  can take either of two keywords: ALL or ONE.  The ALL keyword indicates that each  file  in  the  job will  be preceded by a trailer page.  The ONE keyword indicates that a trailer page will apply only to the last copy of the last file  in the job.

Use the /[NO]TRAILER qualifier to override the  installation-defined defaults that have been set for the printer queue you are using.

pecifies whether a trailer page is to be printed for the job.
PURGE

PURGE empties your mail wastbasket, if you have opened your mailfile within NEWS. (see OPEN/MAIL).

Command Qualifiers

/RECLAIM
Force mail to reclaim buckets in the mail index file.

/STATISTICS   (used with /RECLAIM)
Display statistics of reclaimed buckets in the indexed file.
QUIT

QUIT exits from news without updating the user's news register file. Thus, no changes are made to the set of unread items, nor are any changes made to the set of marked news items (this is a more graceful means of Ctrl-Y).

See Also  EXIT
READ

READ displays the contents of news items.

Format:
	READ newsitem_number

By default this command reads the next item from the current selected  newsgroup, and displays the item on the screen page-by-page.

The actions of READ can be modified by giving a Newsitem  number,  which will display that item.

Command Parameters
            
newsitem_number
This parameter may be either the number of a news item, a '.' (to re-read the most recently displayed item from the start), or  '*'  (to  read  the last item in the group).

Command Qualifiers

/BACK
This qualifier is equivalent to the /LAST qualifier. When reading a news item this command causes the remainder of the text display to be skipped, and the previous item to be displayed.

/EDITOR
This qualifier will use an editor in read-only mode to view the newsitem. This is  useful when it is required to scroll up and down through the item text, or extract a part of the text into a file. The default editor is the TPU editor, but this is user definable - see the chapter on customisation of NEWS.

/FOLLOWUP
This command scans the current newsgroup for the next newsitem with a subject field which matches that of the current newsitem subject (within the current newsgroup). In this way the responses (if any) to the current newsitem can be viewed. 

/HEADER
Normally  NEWS  will  suppress  the  display  of  all  network routing headers. This qualifier produces a full display of the item  contents including mail header lines.

/IDENTIFIER="id "
All NEWS items are identified by a unique message identification string. (This identifier can be displayed using the READ/HEADER command, and noting the Message-Id: ... line).

An item to be displayed can be selected by providing the identifier of the item. e.g.:
	READ/IDENTIFIER="<243@csc.anu.oz>"

/LAST
When reading a news item this command causes the remainder of the text display to be skipped, and the previous item to be displayed.

/MARKER=tag
This command displays the text of the NEXT newsitem marked with the specified tag value. If no tag value is specified than the next item marked with any tag value is used.

/NEW
This  command  will  display the next unread NEWS item from the set of registered newsgroups. This may cause an implicit SELECT of a different newsgroup to obtain the next unread item.

/NEXT
When reading a news item this command causes the remainder of the text display to be skipped, and the next item in sequence in the newsgroup to be displayed.

/PARENT
NEWS items may reference a previous item that has been posted. In such a case the text of the item commonly begins with the line:
        In article <message-id>, <user address> writes:

When a news item references previous items, the header includes the identifier of the parent item. READ/PARENT will display the parent item referenced by the current item.

/PREV
NEWS maintains a history of the last 10 items read. READ/PREV pops the most recent item index off this history stack and displays the item. Repeated calls to READ/PREV will continue to pop the stack until the history stack is emptied.

/ROT13
Some news items are posted using a basic encryption method (rot13). This qualifier uses the decryption algorithm to display the message contents.

/SUBJECT=string
READ will display the item which contains the specified string as a substring. /TITLE is a a synonym for /SUBJECT.

/TOPIC
READ will display the oldest posted newsitem in the same conversation stream as the current item. The oldest item will be original posting in the conversation stream if the original item is still retained on the system. 

/TPU
This qualifier is equivalent to the /EDITOR qualifier. This qualifier will use an editor in read-only mode to view the newsitem. This is  useful when it is required to scroll up and down through the item text, or extract a part of the text into a file. The default editor is the TPU editor, but this is user definable - see the chapter on customisation of NEWS. 
REFRESH

RERESH repaints the screen. This command is (by default) bound to the Ctrl-W key.
REGISTER

REGISTER add newsgroups into the user register file.

Format:
    REGISTER [newsgroup-name ]

Adds newsgroups into the user's register file. Registering into a newsgroup implies that NEWS will automatically keep track of which items in the newsgroup have been read, and the user can view only the unread news items with repeated READ/NEW commands.

See Also   DEREGISTER

Command Parameters
            
newsgroup-name
The newsgroup-name parameter specifies the name of the newsgroup to register. If the parameter is not specified, the current newsgroup is added to the register file.

Command Qualifiers

/ALL
This qualifier will register  the  user  for  ALL  newsgroups  on  the system. On a system with a high quantity of network news this must be considered a brave act!

/BEFORE=date-time
Registers all newsgroups which were created before the specified time.

/CONFIRM
/CONFIRM
/NOCONFIRM	Default
Prompt for confirmation before registering each newsgroup.

/LOCAL
Registers all newsgroups which are defined as LOCAL newsgroups.

/NETGROUPS
Registers all newsgroups which are defined as NETWORK newsgroups (i.e. the complement of /LOCAL).

/NEW
This  qualifier  will  register the user for all newsgroups created on the system since the last time a REGISTER/ALL or REGISTER/NEW command was  given. Thus, the user is automatically registered into all recent newsgroups, and can then elect to deregister from some of those newsgroups.

/PRIORITY=n
This qualifier assigns a read priority to the newsgroup. This is particularly useful if you are registered in a number of newsgroups, and would like to view new items (using READ/NEW) in a particular order of newsgroups. The value is a number (between 1 and 255), increasing with priority.

For example, if you have new items in net.a and net.b and the priority of net.b is greater then net.a, unread items in net.b will be displayed first (when using READ/NEW.

/RECORD
Record the current time as the most recent register time. This will alter the behaviour of the next REG/NEW command such that the /NEW qualifier will only select newsgroups which have been created after this command was executed. 

/RECORD is the default with the /NEW qualifier  - /NORECORD is the default with all other qualifiers. 

/SINCE=date-time
Registers all newsgroups which were created since the specified time.
REPLY

REPLY posts  a  MAIL reply directly to the sender of a news item. This is used to respond directly to the poster of an item without the item appearing on the net.

News will pre-load the edit buffer with the text of the item to which the reply is being sent, then invoke the editor. The default editor is the TPU EDT emulator, but this is user definable - see the section on customisation of NEWS.

Optionally the command takes a single parameter, the number of a news item to respond to (to select other than the current item).

On a normal exit from the editor the item is posted via VMS Mail to the sender (The sender's address is mapped into the equivalent VMS Mail address by site specific address transformation rules).

 See Also  FORWARD, FOLLOWUP

Command Qualifiers

/HEADERS
By default the news item headers are stripped off the item text before it is mailed. This qualifier loads the item header lines into the mail buffer as well as the body of the text.

/SUBJECT="mail-subject "
This specifies the subject header of the mail reply. If not specified, NEWS will prompt for a "Subject:" field for the mail.

/SELF
This is a mail qualifier which will forward a copy of the outgoing mail item back to the sender.
REPOST

REPOST allows the user to recall a previous posting made by the user, edit the item text, and post the altered text back to NEWS.

This command is equivalent to the command sequence of EXTRACT, CANCEL, EDIT and POST.

The command refers to the current news item, and a check is performed to ensure that the user was the poster of the item before proceeding.

 See Also  POST, FOLLOWUP, WRITE
SAVE

SAVE extracts a news item into a text file.

Format:
    SAVE  [item-range ] 

Command Parameters

item-range
specifies the range of item numbers to save. The default is to save the current item.

Command Qualifiers

/FILE=-output-file-name
/FILE specifies the name of the file to save to.

Default value if not specified:

The default value is to extract the item into the subdirectory [.NEWS-EXTRACTS] of the system login directory, and the filename is based on the newsgroup of the extracted item. The subdirectory is created automatically.

e.g. Extracting items from the newgroup "news.software.anu-news" will append to the output file

	SYS$LOGIN:[NEWS-EXTRACTS]NEWS_SOFTWARE_ANU-NEWS.LIS

/DIRECTORY=option
This qualifier modifies the EXTRACT command to extract into a file a directory listing of all newsgroups, or of all newsitems within a newsgroup instead of printing a newsitem. 

The options available with this qualifier are:

SAVE/DIRECTORY=NEWSGROUPS  prints a directory listing of all newsgroups. GROUPS is an alternative option value for this action.

SAVE/DIRECTORY=NEWSITEMS prints a directory listing of the current newsgroup. ITEMS and NOTES are alternative option values for this action.

/NEWSGROUPS=(group-list )
Specifies the newsgroups for which the directory mode is to apply. By default the current newsgroup is used.

/ALL
Specifies that all items in the current newsgroup are to be extracted to the specified file.

/APPEND
Appends the items to the specified file. If the file does not exist, it is created. /APPEND is the efault value if no output file is specified, and /NODEFAULT is the default is an explicit name is given.
         
/AUTHOR=mailaddress
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be saved. This qualifier is a synonym for /FROM.

/BEFORE=date-time
Specifies that only those items (selected from the specified item-range) postmarked before the specified date are to be saved.

/FROM=mailaddress
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be saved. This qualifier is a synonym for /AUTHOR.

/HEADER
	/HEADER	Default
	/NOHEADER
	Specifies whether or not to include the full item headers in the saved text.

/MARKER [=(tag-list ) ]
	Specifies that only those items marked with one of the specified tag values are to be saved.

/ROT13
Applys ROT13 encryption to the extracted item body.

/SEEN
Marks the extracted item as seen.

/SINCE=date-time
	Specifies that only those items (selected from the specified item-range) postmarked after the specified date are to be extracted.

/SUBJECT="string "
	Extract only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /TITLE.

/TITLE="string "
	Extract only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /SUBJECT.

/UNREAD
	Extract only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNSEEN.

/UNSEEN
	Extract only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNSEEN.

SCREEN

SCREEN sets the screen-mode display.

This  enters  NEWS  screen  display  mode (the default mode). This command is normally given sometime after a NOSCREEN command.

See Also NOSCREEN
SEARCH

SEARCH displays items containing a target search string.

Format:
    SEARCH [target string ]

This  command  directs  NEWS  to  locate  a  newsitem  which  contains a specified text string.  The next item which contains the  text string is displayed on the screen. Repeated calls to SEARCH  (without specifying a text string) will locate successive occurrences in other news items that are in the specified newsgroups.

The search is usually case-insensitive,  but this may be  reversed (made case sensitive) by specifying a mixed-case string  (i.e. upper case only and lower case only target  strings are case-insensitive).  To specify a mixed-case string you must enclose  the string in  " characters (e.g. SEARCH "String").

By default the search is conducted as a literal search. There are two variations on this search. Firstly a target string can be specified which includes the wildcard characters "*" and "%" to match any string and any single character string respectively. Secondly a target string can be specified which includes both wildcard characters and closures. The default search type (if not literal) is specified as a PROFILE setting, and individual searches can be specified using qualifiers.

A number of strings can be specified simultaneously, which returns success only if all of the strings are located in the item. The strings are delimited by the "&" character.

As this involves examining the contents of all specified item files, this command may take a reasonably long time. The search may be interrupted by pressing the RETURN key. This will call up a NEWS input prompt, and the search may either be resumed (with another RETURN) or a new command may be given.

When the item is displayed, the target string will be displayed in reverse video at each occurrance within the displayed text.

Command Parameter

target string
The string to search for. The string may be enclosed in " " characters to specify an arbitrary string. If no target string is specified, the search is resumed using the previous target string, and the previous item selection set.

Command Qualifiers

/ALL
This qualifier specifies that all items in the current newsgroup are to be searched. (rather than commencing at the current item.

/AUTHOR=mailaddress
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be SEARCHed. This qualifier is a synonym for /FROM.

/BEFORE=date-time
Specifies that only those items (selected from the specified item-range) postmarked before the specified date are to be SEARCHed.

/EDIT
This qualifier will use an editor in read-only mode to view the newsitem. This is  useful when it is required to scroll up and down through the item text, or extract a part of the text into a file. The default editor is TPU, but this is user definable - see the section on customisation. 

/FROM=mailaddress
Specifies that only those items (from the specified item-range) posted from the specified mail address are to be SEARCHed. This qualifier is a synonym for /AUTHOR.

/HEADER
Normally  NEWS  will  suppress  the  display  of  all  news control header lines. This qualifier produces a full display of the item  contents including such header lines.

/LITERAL
The target string as specified is interpreted literally, and a simple text search is conducted.

/MARKER [=tag-list ]
As an alternative item specifier to /NOTERANGE, this qualifier selects all strings with the specified mark value to be searched for the target string. The tag list may be either a single tage value of a list of values. wildcards may be used to specify a set of tags to use. The default action is to search all marked items.

/NEWSGROUPS=newsgroups
By default the search is limited to the current newsgroup. This can be modified by specifying the newsgroups which should be searched.

The wildcard character ('*') may be used to include a set of newsgroups. A number of newsgroups may be specified with the usual list notation (comma separated list).

For example:
    SEARCH/NEWSGROUPS=(aus.*,anu.*) "Wombats"

/NODISPLAY
If this qualifier is used, the screen directory will be positioned on the item which contains the target string, but item text will not be displayed. The default action is to display the item text automatically.

/NOTERANGE
By default all items starting at the current item are scanned for the target string. A list of item numbers, or a list of item ranges to search may be specified by using this qualifier. e.g.
	SEARCH string/NOTERANGE=5,10-40

/PATTERN
The target string as specified is interpreted as a search pattern with wildcards and closures.

A pattern is the concatenation of the following elements:
c	literal character c
?	any single character except end-of-line
%	start of line
$	end of line
[...]	character class (any of the included characters)
[^...]	negated class (all but the included characters)
*	closure (zero or more occurrences of the previous pattern)
@c	escaped character (e.g., @%, @[ )

Character classes consist of zero or more of the following elements:
c	literal character c
c1-c2	range of characters
^	if at beginning then negated character class
@c	escaped character

/SINCE=date-time
	Specifies that only those items (selected from the specified item-range) postmarked after the specified date are to be SEARCHed.

/SUBJECT="string "
	SEARCH only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /TITLE.

/TITLE="string "
	SEARCH only those items (selected from the specified item-range) which contain the specified string within the item subject line. This qualifier is a synonym for /SUBJECT.

/UNREAD
	SEARCH only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNSEEN.

/UNSEEN
	SEARCH only those items (selected from the specified item-range) which have not been read. This qualifier is a synonym for /UNREAD.

/WILDCARD
The target string as interpreted with "*" characters denoting any string and "%" denoting any single character.
SELECT

SELECT selects a new current newsgroup.

Format:
    SELECT [newsgroup ]

SELECT  changes newsgroup context to the nominated newsgroup.  If no newsgroup is given, the command selects the 'current' newsgroup. Otherwise the specified newsgroup is opened.

For example, "SELECT test" opens newsgroup "test".

Command Qualifiers

/NEW
This qualifier is used to  select  the  next registered  newsgroup which contains unseen news items. If the current newsgroup contains unread items, then no action is performed.

No newsgroup parameter is required with this qualifier.

/MARK [=tag ]
This command moves the current item pointer to the NEXT newsitem marked with the specified tag value. If no tag value is specified than the next item marked with any tag is used.
SEND

SEND creates and sends a mail message from within NEWS.

Format:
    SEND  [file-name ]

SEND will, by default, prompt for the To: address and Subject line, and invoke the editor to create the MAIL message.

You can send a mail message to the author of the current news item you're reading by using the /AUTHOR qualifier, and you can send a mail item to all members of a restricted newsgroup by using the /MEMBERS qualifier. 

You can also pre-load the edit buffer with the text of the message you're reading by using the /EXTRACT qualifier.

Command Qualifiers

/AUTHOR
Directs SEND to address the mail to the address of the user who posted the message you are currently reading. 

/EDIT
	/EDIT		default
	/NOEDIT
/EDIT is the default value of this qualifier, which directs SEND to call the editor to assemble the mail message. /NOEDIT bypasses this call to the editor. 

/EXTRACT
Directs SEND to load the edit buffer with the text of the item you are currently reading.

/HEADERS
Used with /EXTRACT, this qualifier directs NEWS to load all message headers into the message buffer. Otherwise a subset of the message headers are included into the edit buffer.

/QUOTE="quote string "
	/QUOTE=">"		Default
	/QUOTE="string "
	/NOQUOTE
Used with /EXTRACT, this qualifier is used to alter the quote character used to delimit the original item in the edit buffer. By default the original item is loaded using the "> " string at the start of each line 1 to indicate included text. Using /QUOTE="string", an arbitrary string may be used as the quotation string. Using /NOQUOTE includes the item text verbatim. 

/MEMBERS
If the current newsgroup is configured with a membership list then the mail message will be addressed to all members of this list.

/SELF
By default a copy of the mail message will NOT be sent to yourself. The /SELF qualifier overrides this default. 

/SUBJECT="subject text "
SEND will normally prompt for the subject line of the mail message. The /SUBJECT qualifier is used to supply a subject string to the procedure. 

/TO="user-address  [,...] "
SEND will normally prompt for the address(es) to send the mail. These addresses may be specified using a command line parameter.
SET ACCESS

SET ACCESS is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
    SET ACCESS newsgroup

SET ACCESS allows the local news manager to define a VMS access control list to control read and write access to a newsgroup via the VMS ACL mechanisms. 

SET ACCESS invokes the VMS ACL Editor to allow the local news manager to define or modify the access control list associated with the newsgroup. The access control list is placed on the matching directory in the NEWS data area. 
SET BROADCAST_TRAPPING

SET BROADCAST_TRAPPING controls the setting of terminal broadcast message trapping.

Format:
    SET BROADCAST_TRAPPING 
    SET BROADCAST_TRAPPING ON

    SET NOBROADCAST_TRAPPING
    SET BROADCAST_TRAPPING OFF

NEWS by default has broadcast trapping enabled. All broadcast messages to the terminal are trapped by NEWS, and displayed at the base of the screen, in order to avoid overwriting of parts of the screen.

This trapping may be disabled by specifying BROADCAST_TRAPPING OFF or NOBROADCAST_TRAPPING
SET CLASS

SET CLASS sets the current newsgroup selection class.

Format:
    SET CLASS class-name

This command modifies the current directory selection criteria to display those newsgroups which have been entered into the specified class. 

To turn off class selection criteria, use the class name "*" as the specified class.

See Also   DIRECTORY/CLASS
SET DISPLAY

SET DISPLAY is used to set display functions of NEWS.

With this release of NEWS only one display setting is modifiable: SCANSIZE.

Command Qualifiers

/ALLITEMS
This command directs NEWS to display all items in all newsgroups. This command is similar to SHOW ALLITEMS except that the command refers to all newsgroups rather than only the current newsgroup.

/SCANSIZE=n
SCANSIZE determines the number of lines to display of the first page of an item text. When using a low speed terminal, it is often helpful to only display the first few lines of the item to determine whether to view the remainder of the item text. This parameter can also be specified as a logical name "NEWS_SCANSIZE".

/UNSEENITEMS
This command directs NEWS to display only the unseen items within each newsgroup. This command differs from SHOW UNSEENITEMS in that it refers to all newsgroups rather than the current newsgroup.

/UNSEENSTACK
This command directs NEWS to display those items following the first unseen items in every newsgroup. This command differs from SHOW UNSEENSTACK in that it refers to all newsgroups rather than the current newsgroup.
SET HISTORY

SET HISTORY is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
    SET HISTORY
    SET HISTORY ON

    SET NOHISTORY
    SET HISTORY OFF

NEWS normally maintains a history file of recent message identifiers which have been held on the local system. This file is referred to whenever a new item is added into NEWS to ensure that the item has not already been held on this system, so as to avoid looping news items in the NEWS network.

This history function can be disabled by the SET NOHISTORY or SET HISTORY OFF commands. It will remain disabled until explicitly re-enabled by the NEWS manager. 
SET ITEM

SET ITEM is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

SET ITEM modifies the newsgroup retention attributes of news items.

Format:
     SET ITEM item-num/HOLD=n
                 
This requires the number of a newitem (or defaults to the current newsitem). Only one qualifier is associated with this command, /HOLD.

Command Qualifiers

/HOLD=days
This command qualifier defines the retention period for news items The value of the qualifier is specified in days.

If a 0 value is given, this indicates  that  a  higher  level  (newsgroup based) default  value should  be  used.

If a value of '*' is given, this indicates that the retention is permament - the item will never be automatic ally deleted by the SKIM command.
SET LINE_EDITING

SET LINE EDITING sets the cursor movement keys to line edit mode.

Format:
    SET LINE_EDITING
    SET LINE_EDITING ON

    SET NOLINE_EDITING
    SET LINE_EDITING OFF

By default VMS NEWS disables the cursor keys line editing functions. The up and down arrow cursor keys are bound to the UP and DOWN commands.

VMS line editing may be enabled with the SET LINE_EDITING. In this case the keypad key 5 is bound to the UP function, and keypad 2 is bound to the DOWN function, and the arrow cursor keys perform the normal line editing functions. 
SET MAIL

SET MAIL  sets your VMS MAIL personal profile settings.

Format:
    SET MAIL profile-parameter  [profile-value ]

This command allows you to alter any of the VMS MAIL profile parameters, by specifying a profile parameter and optionally a profile value.

Command Parameters

profile-parameter
The parameters which can be set in this way are:

auto-purge     	auto purge of the wastebasket on close of mail
noauto-purge     	auto purge of the wastebasket on close of mail disabled

cc_prompt      	prompt for CC: postings on forward, reply or send
nocc_prompt      	no prompt for CC: postings on forward, reply or send

copy_self copy_param	Automatic posting of mail to self on forward, reply or send
    where copy_param is one of:
send	copy to send on send
nosend	no copy to self on send
reply	copy to self on reply
noreply	no copy to self on reply
forward	copy to self on forward
noforward	no copy to self on forward

form form_name     	set default print form to nominated value
noform      	use system default print form

forward forward-address	set mail forwarding address to given address
noforward        	disable mail forwarding address

personal_name "personal_name "	set personal name to be used in postings to given value
nopersonal_name  disable personal name

queue queue_name	set default print queue to nominated queue
noqueue          	reset default print queue to SYS$PRINT
SET MANAGER

SET MANAGER is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
    SET MANAGER 
    SET MANAGER ON

    SET NOMANAGER
    SET MANAGER OFF

A user who holds the NEWS management identifier (the translation of the system logical name NEWS_MGR_ID) is identified to NEWS as a local news manager, and can execute all the local management commands.

These manager privileges can be disabled by the SET NOMANAGER command, and enabled at a later stage by the SET MANAGER command. Note that on startup manager privileges are enabled by default if you have been granted the relevant identifier.
SET NEWSGROUP

SET NEWSGROUP is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

SET NEWSGROUP modifies  the control attributes of a newsgroup. control attributes include the lifetime of items on the local system, newsgroup moderator addresses, and whether the newsgroup is served from a remote NNTP server. 

Newsgroups are automatically deleted from the NEWS system if the last new item in the newsgroup was posted to the group more than n days previously. There are three levels of default for this value: A global compile-time constant (defined in the file NEWSSITE.H, normally 60 days), which may be overridden by a dynamic global value (SET NEWSGROUP default/HOLD=n days), which may be overridden for individual newsgroups by a dynamic newsgroup specific value (SET NEWSGROUP name/HOLD=n days). The value is specified in units of days, but there is an additional value, '*' which specifies that the newsgroup is not to be automatically deleted.

Newsitems records are automatically deleted once they have remained on the system for a set number of days. This retention period has fours levels of default: A global compile-time constant (defined in the file NEWSSITE.H, normally 30 days), which may be overridden by a dynamic global value (SET NEWSGROUP */ITEMHOLD=n days), which may be overridden for specific newsgroups by a dynamic newsgroup default value (SET NEWSGROUP name/ITEMHOLD=n days), which may be overridden for individual news items (SET ITEM number/HOLD=n days). The value is specified in units of days, but there is an additional value, '*' which specifies that the newsgroup is not to be automatically deleted.

Format:
     SET NEWSGROUP /qualifiers

     SET NEWSGROUP  newsgroup-name  /qualifiers

     SET NEWSGROUP  DEFAULT /qualifiers

If no newsgroup name is given with the command the command assumes the name of the 'current' newsgroup. If the newsgroup is specified as 'default' then the attributes referred to by this command are the system defaults. 

The qualifiers accepted for the global default ('default') are /ITEMHOLD, /HOLD, /KEEPREQUEST and /FILEHOLD and in the case where a particular newsgroup is named, /MODERATOR and /SERVER. 

Command Qualifiers

/APPROVAL
/APPROVAL   Default
/NOAPPROVAL
Moderated newsgroups require an Approved: header in all postings in order to be accepted by each local NEWS site. This approval requirement can be removed by specifying the /NOAPPROVAL qualifier with the newsgroup.

/HOLD=days
This command qualifier defines the retention period for newsgroups. The value of the qualifier is specified in days.
                        
If a 0 value is given, this indicates  that  a  higher  level  default  value should  be  used. If a value of '*' is given, this indicates that the retention is permanent - the newsgroup will never be automatically deleted by the SKIM command. 

/IGNOREEXPIRES
/IGNOREEXPIRES
/NOIGNOREEXPIRES	Default
NEWS items may contain an optional Expires: header specifying the date that the item should be retained until. By default NEWS will accept the Expires: headers, with a maximum retention period of 1 year and a minimum of 3 days.

The system default retention periods can override any Expires: header on a newsgroup-by-newsgroup basis using the /IGNOREEXPIRES qualifier.

/ITEMHOLD=days
This command qualifier defines the default retention period  for  news items within a newsgroup. The value of the qualifier is specified in days.

If a 0 value is given, this indicates that a higher level default value should be used. If a value of '*' is given as the value for days, this indicates that the default newsitem retention is permanent.

/LOCAL
/LOCAL
/NOLOCAL
Newsgroups are defined by default to be Network newsgroups - A network newsgroup is created in response to a network-wide "newgroup" control message, and is deleted in response to a network-wide 'rmgroup" or "checkgroups" message. 

Newsgroups which are local to a this site, or local to a domain within the wider network are created with the /LOCAL qualifier. This ensures that the newsgroup will not be deleted by such network control messages.

/MAILLIST
/MAILLIST=address
/NOMAILLIST
This qualifier sets the newsgroup as a mailing list newsgroup.This is very similar to setting a moderated newsgroup with a number of alterations in the support of the newsgroup to act as an interface between the local news system and a mailing list.

The changes from the moderator model in order to support the mapping of mailing lists into NEWS require the dropping of the Approval: item header requirement for incoming items, and a forwarding of all local postings to the mapped newsgroup to the mailing list address without the normal NEWS headers.

The address used with this qualifier is the address of the mailing list.

/MODERATOR
/MODERATOR=address
/MODERATOR
/NOMODERATOR
This command sets the newsgroup as a moderated newsgroup, or clears the moderator condition.
    
Only the moderator of a moderated newsgroup may post items into that newsgroup - all other users who attempt to post to a moderated newsgroup will have the news posting intercepted and re-directed as e-mail to the moderator address. 

The value of the /MODERATOR is an internet-style address of the moderator. In the case where no address is given, backbone addressing is assumed (i.e. the default address as specified in the MAILPATHS file). 
           
The /NOMODERATOR qualifier is used to clear the moderator condition.

/NOTICE="string "
/NOTICE="notice string "
/NONOTICE
Newsgroups may be tagged with a notice string. This notice message is displayed as part of the newsgroup directory heading, and is intended to hold current status messages about the newsgroup. The notice string is limited to a maximum size of 124 characters. 

/RESTRICT
Sets the newsgroup as a restricted access newsgroup. Making the newsgroup restricted limits the access to the newsgroup to those users who are entered as "members" of the newsgroup (see ADD MEMBER). Users who are not listed as members of the newsgroup cannot read or write into this newsgroup. 

/TITLE="string "
Newsgroups may optionally have a title string. This title is displayed in the head of a newsgroup directory, and is intended as a (short) description of the newsgroup. The string length is restricted to 124 characters. 

/WRITE
/WRITE
/NOWRITE
By default all newsgroups are writeable by all users. A newsgroup can be setup as a read-only newsgroup by the command:  SET NEWSGROUP name/NOWRITE

Once a newsgroup has been set as /NOWRITE only those users with write permission can post to this newsgroup (see ADD MEMBER to grant write  permission to a username). 

/SERVER=node
/SERVER=node
/NOSERVER
Newsgroups may be linked to a remote NEWSSERVER via DECNET. The presence of a remote server for a newsgroup implies that the local site need not keep the text files of all items within a newsgroup on local storage -- when a user on the local system reads an item, the remote server passes a copy of the text on demand.

This configuration can be used to reduce the overall storage demands for NEWS if a number of decnet-connected systems are all running NEWS. One system may be nominated as the server for a number of client nodes, or a number of systems can be used to serve subsets of the total newsgroup set to the clients (i.e. a node may be configured as a client for some newsgroups, and a server for other newsgroups).

This qualifier requires a node name as a value -- this name is the node name of the remote server.

/CACHE
/CACHE=3	Default
/CACHE=n
/NOCACHE
The /CACHE qualifier is used in conjunction with the /SERVER qualifier.

If a newsitem is served from a remote system, and a local user requests to view the contents of that item, the server system copies the text of the item into the local user's scratch area. By default, a copy of this text is also placed in the local NEWS database, so that further requests to read the item do not need to access the remote server.

This retention of the local copy can be inhibited by using the /NOCACHE with the SET command -- in such a case all requests to view the item will generate remote server requests.

/PROTOCOL=protocol
The /PROTOCOL qualifier is used in conjunction with the /SERVER qualifier. Valid values for this qualifier are "DECNET" or "TCP". The default value is "DECNET".

If a newsgroup is served from a remote system, then either DECNET or TCP may be used to access the remote system. This qualifier sets the protocol to use when performing the remote access.

/UPDATE
/UPDATE	Default
/NOUPDATE
This qualifier is used in conjunction with the /SERVER qualifier, and directs NEWS to load the created newsgroup with the contents of the NNTP server database immediately.

SET PROFILE

SET PROFILE modifies the user profile settings associated with NEWS.

Format:
    SET PROFILE /qualifiers

SET PROFILE is used to define a usage profile for NEWS. The profile may contain the specification of the editor to use with NEWS, the default action of the OPEN command, the class to be selected on NEWS startup, the personal name to use with all postings, a set of qualifiers to use with all PRINT commands, and a startup DIRECTORY setting.

Many of these settings can also be defined using logical names (see the chapter on customization of NEWS). The PROFILE settings take precedence over any such logical name settings.

Command Qualifiers

/AUTOMATIC [={DIRECTORY | UNSEEN}]
This controls the default action of the OPEN and SELECT commands. By default the OPEN (and SELECT) command displays the directory of the opened newsgroup. By specifying UNSEEN, the first unseen item will be displayed when the OPEN or SELECT command is executed.

/BROADCAST_TRAPPING
/BROADCAST_TRAPPING
/NOBROADCAST_TRAPPING
This qualifier directs NEWS to start with terminal broadcast trapping enabled or disabled. When enabled all broadcast messages are displayed via a trap routine in the message area at the base of the screen.

/CLASS=classname
/CLASS=classname
/NOCLASS		Default
By default NEWS will startup with the same selection conditions as were used when NEWS last exited. You can specify a class to select on startup by using the /CLASS qualifier.

The values of the classname are either a valid class name, or the string "MAIN". MAIN indicates that no class selection should be used, and all newsgroups should be included in the directory selection conditions.

The default behaviour can be restored by using the /NOCLASS parameter.

/DIRECTORY=directory-type
	/DIRECTORY=directory type
	/NODIRECTORY		Default
NEWS will normally retain the directory context across invocations of the program (i.e. If you had executed DIR/NEW before exiting NEWS, then when you next run NEWS, the initial newsgroup directory state will be restored to DIR/NEW).

It is possible to specify a constant initial directory state by defining a value for this qualifier as one of the strings:
 	ALL      NEW      REGISTER      SINCE=date

If a profile value is specified then this value will override that of the logical name NEWS_DEFAULT_DIRECTORY.

/DISPLAY=(display-list)
The display attributes which can be set in this list are:

     [NO] LINES		For NNTP diskless clients this directs NEWS to request the line counts of each item.
				(If the NNTP remote server is running ANU NEWS, LINES is automatically selected)

     [NO] POSTMARKS	For NNTP diskless clients this directs NEWS to request and display the post date of each item.
				(If the NNTP remote server is running ANU NEWS, POSTMARKS is automatically selected)

     ALLITEMS	This directs NEWS to display item entries for all items as the default display setting for all newsgroups.

     UNSEENITEMS  	This directs NEWS to display item entries for only those items which are UNSEEN. This command sets this display mode as the default mode for all newsgroups.

     UNSEENSTACK  	This directs NEWS to only display the subset of items starting with the first unseen items (and to display all subsequent seen and unseen items). This command sets this display mode as the default mode for all newsgroups.

/EDITOR=editor
/EDITOR=editor
/NOEDITOR
This qualifier is used to link an editor to NEWS. The editor is used to generate new postings, and to edit forwarded mail, and (optionally) in readonly mode, to scan the item contents (READ/EDITOR).

By default NEWS links the TPU editor to NEWS, using the value of the logical name TPUSECINI (or TPU$SECTION, depending on the version of VMS used) as the section to use.

The value of this qualifier may be one of:
•	EVE (or TPU) to use the TPU emulator with either the EVE section, or the section as defined by the appropriate TPU logical name.
•	EDT to use the callable EDT interface
•	CALLABLE_xxx to invoke a callable editor directly (mapping the editor into your execution space)
•	A file specification (including the '@' start character) which specifies a spawned command procedure to use as the editor for NEWS.

/KEYDEFS=filename
/KEYDEFS=filename
/NOKEYDEFS
This command instructs NEWS to read in a custom set of key definitions for NEWS to be read in from the nominated file. The format of the file is a set of DEFINE/KEY commands.

/LINE_EDITING
/LINE_EDITING
/NOLINE_EDITING
This qualifier directs NEWS to define the cursor keys as line editing keys (up/down arrows scroll through the command line recall stack, and left/right arrorws move within the command line) at startup. In this case the keypad keys '5' and '2' map into the NEWS cursor up and down commands. The mode is reset by the /NOLINE_EDITING qualifier

/LOCSIGNATURE=filename
/LOCSIGNATURE=filename
/NOLOCSIGNATURE
This command requests NEWS to automatically append the contents of the nominated file to all postings that you make to local (non-network) newsgroups. This file is intended to contain signature information giving your network address, etc., and allows you to tailor two signature files: one for network-wide postings, and another for local postings.

/NEWREGISTER [=newsgroup-pattern-list ]
/NEWREGISTER
/NEWREGISTER=newsgroup-pattern-list
/NONEWREGISTER				Default
By default you will NOT be automatically registered for any new newsgroups which are created on the local system from time to time

By specifying /NEWREGISTER you will be registered for each new newsgroup immediately after it is created on the local system. 

You can also specify a pattern, or a list of patterns to match against for automatic registration. For example, to only register new newsgroups created in the hierarchies comp.* and aus.* the command is: 

    SET PROFILE/NEWREGISTER="comp.*,aus.*"

The automatic registration action can be turned off by the qualifier /NONEWREGISTER 

/ORGANIZATION="organisation string "
/ORGANIZATION="organization string"
/NOORGANIZATION
This customizes your postings with an Organization: header set to the value specified in the string. If this profile setting is turned off, then the system default (if any) will be used instead.

/PERSONAL_NAME="personal name string "
	/PERSONAL_NAME="personal-name-string "
	/NOPERSONAL_NAME
Sets the personal name string. This name is appended to your network address in all NEWS postings.

If not specified as a PROFILE entry, the logical name NEWS_PERSONAL_NAME is used (if defined), and if there is no logical name your VMS MAIL profile is examined to extract your MAIL personal name.

/PRINT="print-qualifiers-string "
/PRINT="print-qualifiers-string "
/NOPRINT
Sets the default print qualifiers for all NEWS PRINT commands. The qualifiers used may be any valid NEWS print qualifier string (See the section describing the PRINT command).

/RCFILTER
/RCFILTER
/NORCFILTER
By default all accessible newsgroups are displayed in a full newsgroup  directory display. The number of newsgroups can be restricted by the  command SET PROFILE/RCFILTER. This instructs NEWS to only use those  newsgroups as entered in the NEWSRC file.

To reduce the number of newsgroups displayed in the directory listing: run NEWS and enter the command  "SET PROFILE/RCFILTER", then exit NEWS and then edit the NEWSRC file, deleting those lines referring to newsgroups you wish to remove from the display.

/RCORDER
/RCORDER
/NORCORDER	Default
By default all newsgroups are displayed within the newsgroup directory screen in alphabetical order. By specifying SET PROFILE/RCORDER, newsgroups are ordered as shown in the NEWSRC. file. To change the directory display order: run NEWS and enter the command  "SET PROFILE/RCORDER", then exit NEWS and then edit the NEWSRC file, altering the order of entries as required

/SCANSIZE=n
When browsing through news items it is often too time consuming to see the full first page off every news item, and it is often faster to see only the first few lines and then deciding whether to view more of the item.

This command configures NEWS to show only the first n lines of the item and then return to the prompt to see if you wish to display more of the texct, or pass on to the next item.

/SEARCH
/SEARCH=LITERAL	Default
/SEARCH=WILDCARD
/SEARCH=PATTERN
By default the SEARCH command will search for literal text, and if you  wish to use wildcards or patterns in the search text the search has to be  explicitly qualified. The default search type can be altered with this  command.

/SIGNATURE=filename
/SIGNATURE=filename
/NOSIGNATURE
This command requests NEWS to automatically append the contents of the nominated file to all postings that you make. This file is intended to contain signature information giving your network address, etc.

/TEMPORARY
If specified, the PROFILE changes given are only effective for the current NEWS session.
SET SEEN

SET SEEN  marks items within the currently selected newsgroup as "seen". This can be altered by specifying one of the following qualifiers.

Command Qualifiers

/POINTER
This command marks all newsitems up to (and including) the 'current' item as having been viewed by the user.

/BEFORE=vmsdate
This command marks all items in the current newsgroup which were postmarked by the local system before the date specified as having been viewed by the user.

The date format is the standard VMS date-time format; e.g. SET SEEN/BEFORE=22-FEB. TODAY and YESTERDAY are accepted as valid date strings.

/FOLLOWUP
All newsitems in the current newsgroup with a subject field the same as the current newsitem will be marked as read.

This command is used to skip entire conversation streams: all newsitems with related subject fields will be marked as having been read.
SET SUPERVISOR

SET SUPERVISOR is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

SET MODERATOR is a synonum for SET SUPERVISOR.

Format:
    SET SUPERVISOR
    SET SUPERVISOR ON

    SET NOSUPERVISOR
    SET SUPERVISOR OFF

NEWS allows two types of supervision/moderation of a newsgroup:

•  The USENET model of moderation is one where all postings into a moderated newsgroup are intercepted and mailed directly to the e-mail address of the moderator of the newsgroup. The moderator's responsibility is to approve the posting and place it into the newsgroup with an approval stamp. A USENET moderator is identified by a match of the user's e-mail address with the list of moderator addresses. Such a moderator is more accurately called a posting approval Moderator. 

VMS NEWS also has a second level of supervision of a newsgroup, which effectively allows a subset of the NEWS Manager's privileges to be given to a nominated user (or users), with the privileges effective only for in relation to a particular newsgroup. Such a Local Supervisor can control the membership list for a restricted newsgroup by adding, altering and removing member records, and cancelling messages that were posted from the local system into the controlled newsgroup.

Users who have such local supervisor privileges do not have such privileges enabled at the start of the session: the privileges are enabled by the SET SUPERVISOR command for all locally moderated newsgroups. A user who is nominated as a posting approval Moderator is automatically configured as a VMS NEWS local supervisor if the posting approval Moderator's mail address is located on the local node. 
SHOW ALLITEMS

SHOW ALLITEMS  directs the news display manager to include all items in the currently selected newsgroup to be displayed in the newsitem directory screen. This command is used to override the default profile setting, and to override any previous show setting made for this newsgroup.

Note that this command only affects the current newsgroup.

See Also   SHOW UNSEENSTACK, SHOW UNSEENITEMS
SHOW CLASSES

SHOW CLASSES  command lists all user defined class names, and also lists the newsgroup names which have been assigned to each class. The currently selected class is marked with an asterisk.
SHOW CONFERENCE

SHOW CONFERENCE newsgroup-name  displays the status and configuration information for the specified newsgroup. This information includes the current item count, the default retention time settings, the markers placed within the newsgroup and the classes into which the newsgroup has been added, as well as the relevant NNTP server information if the newsgroup is configured as NNTP-served.

The newsgroup name be be abbreviated to a unique substring, and wildcards  ('*', '%') may be used to list the attributes of a number of newsgroups.

This command is equivalent to SHOW ENTRY.
SHOW ENTRY

SHOW ENTRY displays newsgroup settings.

Format:
    SHOW ENTRY newsgroup-name

Displays the status and configuration information for the specified newsgroup. This information includes the current item count, the default retention time settings, the markers placed within the newsgroup and the classes into which the newsgroup has been added, as well as the relevant NNTP server information if the newsgroup is configured as NNTP-served.

The newsgroup name be be abbreviated to a unique substring, and wildcards ('*', '%') may be used to list the attributes of a number of newsgroups.
SHOW HISTORY

SHOW HISTORY displays the history setting. This is a NEWS management command. This command is not supported when running NEWS in a diskless client configuration.

Displays the status of the history file setting (whether on or off), and if off, then the time and user who last turned off the histroy file.
SHOW ITEM

SHOW ITEM displays the control settings of a news item.

Format:
    SHOW ITEM [item-num]

SHOW ITEM displays the retention settings for the current or specified newsitem.
SHOW KILL

SHOW KILL  displays the user's current kill filter set.

Kill filters are used in the processing of the READ commands when selecting unseen items for display. In the process of selection, unseen items are passed to the kill filter, and if a match with a kill filter is found, the item will be marked as seen, and the search for the next unseen item will resume.

The commands which invoke the kill filters are READ/NEW and READ/NEW/FOLLOWUP
SHOW LINECOUNTS

SHOW LINECOUNTS  is a NEWS diskless client command.

With the client version of NEWS it must be noted that every piece of information displayed on the directory screens does take additional time to extract from the NEWS server. For this reason both the linecount and postmark date of news items aret not displayed by default within the news item directory screens.

To display the line counts of all newsitems within the current newsgroup then the command SHOW LINECOUNTS will request this information from the server for the current newsgroup. This function can be enabled automatically by the command SET PROFILE/DISPLAY=LINECOUNTS.
SHOW MAIL

SHOW MAIL  displays the user's VMS MAIL profile settings.

Format:
    SHOW MAIL [profile-entry ]

SHOW MAIL displays your personal VMS Mail profile settings. Without a profile-entry parameter, all profile settings are displayed in a display  screen. Otherwise the individual profile entry is displayed in the dialog  window at the base of the display.

Command Parameters

profile-entry
This parameter may either be "all" (the default), or one of:

auto-purge     	auto purge of the wastebasket on close
cc_prompt      	prompt for CC: postings on forward, reply or send
copy_self	Automatic posting of mail to self on forward, reply or send
form           	default print form
forward        	mail forwarding address
new_mail_count 	count of unread new mail
personal_name  	personal name to be used in postings
queue          	default print queue
SHOW MARKER

SHOW MARKER  displays the user's set of markers of items.

Format:
    SHOW MARKER [tag-value ]

SHOW MARKER displays a listing of the set of marked newsitems. If no tag value is specified, then all mark tag values are displayed. If a tag is used then only those tag values which match the tag (using wildcard matching) are displayed.

See Also  MARK, UNMARK, CLEAR MARK
SHOW MEMBER

SHOW MEMBER lists the attributes of a member of the currently selected (restricted access) newsgroup. This command is not supported when running NEWS as a diskless client.

Format:
    SHOW MEMBER [username ]

This command lists the attributes of a member of the currently selected newsgroup. If the newsgroup is a public access newsgroup then there is no associated membership list, and a status message is displayed.

The listing displays the username of the member, the user's privileges with respect to this newsgroup and their mail addresses (if not that of their local username).

If /ALL is not specified, and no username is given, NEWS will prompt for a username.

Command Qualifiers

/ALL
List the attributes of all members of a newsgroup.

/MODERATOR
List the attributes of all members who have moderator privilege with respect to this newsgroup.
SHOW MESSAGES

SHOW MESSAGES displays all broadcast messages and NEWS diagnostic messages in a message display buffer.

All NEWS diagnostic messages, and all terminal broadcast messages (if Broadcast trapping is enabled) are placed in a message buffer. This command displays the contents of this buffer on the screen.

See Also  CLEAR MESSAGES
SHOW MODERATOR

SHOW MODERATOR displays the mail address of the moderator of a moderated newsgroup. The newsgroup referred to by this command is the currently selected newsgroup.
SHOW NEWSGROUP

SHOW NEWSGROUP displays the control settings for a newsgroup.

Format:
    SHOW NEWSGROUP [newsgroup-name ]

    SHOW NEWSGROUP DEFAULT

SHOW NEWSGROUP displays the control attributes of the current or specified newsgroup. The control attributes include the retention settings, server settings and moderator address.

The command SHOW NEWSGROUP DEFAULT displays the global default settings.
SHOW NOTE

SHOW NOTE displays the control information of a news item.

Format:
    SHOW NOTE [item-number ]

This command displays the header lines of the current (or nominated note if an item number is specified with the command. As well as the supplied header lines, the display also shows the local postmark time, and the local expiration date of the item.
SHOW POSTMARKS

SHOW POSTMARKS  is a NEWS NNTP diskless client command.

With the client version of NEWS it must be noted that every piece of onformation displayed on the directory screens does take additional time to extract from the NEWS server. For this reason both the linecount and postmark date of news items aret not displayed by default within the news item directory screens.

To display the postmark dates of all newsitems within the current newsgroup then the command SHOW POSTMARKS will request this information from the server for the current newsgroup. This function can be enabled automatically by the command SET PROFILE/DISPLAY=POSTMARKS.
SHOW PROFILE

SHOW PROFILE displays the current profile settings

The display includes the default editor, the default class on startup, the NEWS personal name, default qualifiers for the PRINT command, OPEN default action and the startup directory setting. Note that PROFILE entries are at a higher precedence than the logical names which also define your NEWS profile.

See Also  SET PROFILE
SHOW SUPERVISOR

SHOW SUPERVISOR displays the usernames of all local supervisors of the current newsgroup, and also displays the mail address of the approval moderator of the newsgroup (if the newsgroup is a moderated newsgroup). The newsgroup referred to by this command is the currently selected newsgroup.
SHOW UNSEENITEMS

SHOW UNSEENITEMS  directs the news display manager to include only unseen items in the currently selected newsgroup to be displayed in the newsitem directory screen. This command is used to override the default profile setting, and to override any previous show setting made for this newsgroup.

Note that this command only affects the current newsgroup.

See Also   SHOW ALLITEMS, SHOW UNSEENSTACK
SHOW UNSEENSTACK

SHOW UNSEENSTACK  directs the news display manager to include only those items following the first unseen item in the currently selected newsgroup to be displayed in the newsitem directory screen (this display includes both seen and unseen items following the first unseen item). This command is used to override the default profile setting, and to override any previous show setting made for this newsgroup.

Note that this command only affects the current newsgroup.

See Also   SHOW ALLITEMS, SHOW UNSEENITEMS
SHOW VERSION

SHOW VERSION  displays the software version and creation date of the local NEWS software.

The command has no parameters or qualifiers.

The command VERSION is a synonym for SHOW VERSION

See Also:  V ERSION
SKIM

SKIM is a NEWS MANAGEMENT command. This command is not supported when running NEWS as a diskless client.

Format:
        SKIM   [newsgroup list ]

SKIM checks aspects of the news database for internal  consistency,  and also enforces news item and newsgroup expiry time limits. 

By  default  the  command will assume the qualifiers:
     /ITEMS 		(check all news items),
    /NEWSGROUPS 	(check all newsgroups),
    /SERVED 		(check all remote servers for consistency with the local database),
    /DIRECTORIES 	(check all directories in the database area),
    /HISTORY 		(skim the history file) and
    /FILES 		(check all item text files).

Any of these phases can be bypassed by using the /NOphase  qualifier with the SKIM command. 

SKIM will take considerable resources to execute. To reduce the time taken for SKIM, the following qualifier settings are recommended on a daily basis:

	SKIM/NOVERBOSE/ITEMS/NEWSGROUPS/NODIRECTORIES/NOFILES/NOFILECHECK

and on a weekly basis:

	SKIM/NOVERBOSE/ITEMS/NEWSGROUPS/DIRECTORIES/FILES/NOFILECHECK

Command Parameters:

newsgroup list
Skim optionally accepts a newsgroup list  parameter. If this parameter is omitted, then all newsgroups are checked by SKIM, otherwise only those newsgroups listed in the parameter list are checked. The parameter is formatted as a comma separated list of newsgroup names. Wildcard characters (*, ?) may be used in the list - e.g.     NEWS> SKIM aus.*,anu.*

Command Qualifiers:

/DIRECTORIES
NEWS stores news items in a directory tree, where each directory matches a newsgroup: for example all items in the newsgroup aus.fred are stored in the directory NEWS_DEVICE:[AUS.FRED]. When a newsgroup is deleted, the associated directory is not deleted immediately. 

The SKIM/DIRECTORIES phase scans all directories in the NEWS area, and deletes all directories which do not match currently defined newsgroups. 

/FILECHECK
This qualifier is used in conjunction with the /ITEMS skim phase.

The default action of the SKIM is to attempt to open each item file, and make the necessary corrections to the database if the file cannot be accessed. If the NEWS database extends to many thousands of items this open operation will take up a large amount of CPU time. 

The check can be omitted by specifying the /NOFILECHECK qualifier, which will speed up the SKIM run by a considerable factor. 

/FILES
By default the action of the SKIM command includes SKIM/FILES. In this phase of the skim, SKIM examines every nnn.ITM file (newsitem text file) in the news database, purging  all back  versions  of any file, and deleting any .ITM  files which have no corresponding entry in the item database.

This action can be bypassed using the /NOFILES qualifier on the SKIM command.

/HISTORY [=n]
NEWS maintains a history file of the previous n days, storing all newsitem message identifiers in this file. This file is used to correctly implement the "cancel" and "supersedes" news header control lines, and to detect long period loops in the NEWS distribution. 

This phase of SKIM removes all entries from the history file which are older than 45 days. If a value is given with this qualifier, then this value is used as the retention period of the history file.

/ITEMS
By default the action of the SKIM command includes SKIM/ITEMS. In this phase  of SKIM, the procedure checks all current newsitems held in the local database.  If the item has been held for longer than the locally set retention period, then the item is deleted, or if the text file cannot be opened the item is deleted.

The items to be deleted can optionally be archived using the /ARCHIVE qualifier.

This action can be bypassed using the /NOITEMS qualifier with the SKIM  command.

/NEWSGROUPS
By default, the action of the SKIM command includes SKIM/NEWSGROUPS. In this phase of SKIM, each newsgroup is checked, updating the newsitem count for the newsgroup, and deleting any newsgroup which has had no new items posted within the newsgroup retention period (see SET NEWSGROUP/HOLD=n for more information on newsgroup retention).

This action can be bypassed using the /NONEWSGROUPS qualifier on the SKIM command.

/SERVED
By default, the action of the SKIM command includes SKIM/SERVED.

In this phase of skim, SKIM collects the item identifiers of all newsitems whose text is held on remote NEWS NNTP-Server nodes. SKIM connects to the remote server and collects all item update information from the remote item database. Following this remote interrogation, the local item database is updated to match the data stored on the remote node.

This action can be bypassed using the /NOSERVED qualifier on the SKIM command.

/VERBOSE
Skim will normally output messages indicating the skim action during each phase. These messages can be suppressed with the /NOVERBOSE qualifier. 

/ARCHIVE=filename
By default the value of this qualifier is /NOARCHIVE.

This qualifier can be used in conjunction with the /ITEMS qualifier to archive a copy of every item that is to be deleted from the News database. The items are stored using batch format (items are delimited by a line of the form "#!rnews <size>. The items are appended to the archive file until the archive file reaches 250k bytes in size, when a new version of the archive file is opened.

This is not a terribly useful archive format, and some kind of compressed library format which could be directly access by NEWS would be more useful. Such a change to the archive format may be implemented in a future version of NEWS.
SKIP

SKIP is used to mark individual newsitems or all newsitems within a newsgroup as having been read by the user without viewing the item texts.

If the screen is displaying the newsitem directory, then SKIP marks the 'current' newsitem as read, and advances the newsitem pointer to the next newsitem.

If the screen is displaying the newsgroup directory screen, or the /NEWSGROUP qualifier is specified, then ALL newsitems within the 'current' newsgroup are marked as having been read.

See Also:  UNREAD, UNSKIP, SET SEEN

Command Qualifiers:

/ALL
This qualifier will mark ALL news items in ALL newsgroups as having been read by the user.

/POINTER
This command marks all newsitems up to (and including) the 'current' item as having been viewed by the user. This qualifier may only refer to the current newsgroup. (/UPTO is a synonym for /POINTER).

/BEFORE=date
This command marks all items in the current newsgroup which were created on the local system before the date specified as having been viewed by the user.

This qualifier may also be used with the /ALL qualifier to mark all items in all newsgroups, created before the specified date, as having been viewed.

The date format is the standard VMS date-time format; e.g. SKIP/BEFORE=22-FEB. TODAY and YESTERDAY are accepted as valid date strings.

/FOLLOWUP
All newsitems in the current newsgroup with a subject field the same as the current newsitem will be marked as read.

This command is used to skip entire conversation streams: all newsitems with related subject fields will be marked as having been read.

/NEWSGROUP
This qualifier will mark ALL items in the current newsgroup as read. If the screen is displaying the newsgroup directory then /NEWSGROUP is the default action - if the screen is displaying the newsitem directory then /NONEWSGROUP is the default action, and only the current item will be marked
SPAWN

SPAWN spawns a VMS subprocess

Format:
    SPAWN [command-string]

Spawn a DCL level subprocess from NEWS (using LIB$SPAWN). $ LOGOUT from the subprocess returns to NEWS.

See Also:  ATTACH

Command Parameters

command-string
If command string  is specified, then this command is executed and then control is passed back to NEWS.

Command Qualifiers

/INPUT=file-specification
Specifies an input file containing one or more DCL command strings to be executed by the spawned subprocess. If you specify a command string along with an input file, the command string is processed before the commands in the input file. Once processing is complete, the subprocess is terminated.

/LOGICAL_NAMES
/LOGICAL_NAMES	Default
/NOLOGICAL_NAMES
Specifies that the logical names of the parent process be copied to the subprocess.  When you do not want the subprocess to use the logical names of the parent process, enter the /NOLOGICAL_NAMES qualifier. The default is /LOGICAL_NAMES.

/OUTPUT=file-spec
Identifies the output file to which the results of the SPAWN operation are written. You should specify an output other than SYS$OUTPUT whenever you specify the /NOWAIT qualifier to prevent output from being displayed while you are specifying new commands. If you omit the /OUTPUT qualifier, output is written to the current SYS$OUTPUT device.

/PROCESS=subprocess-name
Specifies the name of the subprocess to be created. The default name of the subprocess is USERNAME_n.

/SYMBOLS
/SYMBOLS	Default
/NOSYMBOLS
Determines whether the system passes DCL global and local symbols to the subprocess. The default is /SYMBOLS.

/WAIT
Controls whether the system waits until the subprocess is completed before  allowing more commands to be specified. The /NOWAIT qualifier allows you to specify new commands while the specified subprocess is running. If you specify /NOWAIT, you should also use /OUTPUT to direct the output to a file rather than displaying it on the screen to prevent your terminal from being used by more than one process simultaneously.
TOP

TOP sets the didplay (and the current pointer) to the top of the display.

This command shifts the current display to the start of the directory or text. In the case of newsgroup or newsitem directory screens the current pointer is set to the first item in the directory.

This command is bound by default to the key GOLD UP-ARROW (the key sequence PF1, UP-ARROW).
TOPIC

TOPIC displays the original topic of the current item.

This command refers to conversation streams, where each posting in a conversation contain explicit references to the preceding articles in the same conversation.

TOPIC attempts to follow this chain of reverse references back to the original posting at the head of these backward references, or if this posting is no longer available, locates the oldest item in the conversation and display it.

TOPIC is a synonym for READ/TOPIC

See Also: READ

Command Qualifiers:

/HEADER
Directs NEWS to display all header lines of the newsitem. By default only the subject line, sender address and date of the item are shown in the display.

/EDITOR
Use a callable editor in read-only mode to display the newsitem. By default this is the TPU editor, but this may be altered by the NEWS_VIEW logical name. See the chapter on customizing NEWS for details. For compatibility with previous versions of NEWS, /TPU is equivalent to /EDITOR.

/ROT13
Some newsitem are posted using rot13 encryption. This qualifier decrypts the newsitem for display.
UNMARK

UNMARK is used to clear MARK Tags.

Format:
    UNMARK [tag]

UNMARK clears the mark from the current news item. If a tag is specified with the command, then only those tag values will be cleared. If no tag is specified, then all tags will be removed from the item. The tag may be specified using wildcard characters.

See Also:     MARK, CLEAR MARK, SHOW MARK
UNREAD

UNREAD  marks the current item as unseen.

The current item will be marked with the unread flag, and will be displayed at a later stage by the READ/NEW command (if the item is in a registered newsgroup). This command is useful to mark items for re-reading at a later stage.

Command Qualifiers:

/ALL
	This qualifier causes all items in the current newsgroup to be marked as unseen.
UNSKIP

UNSKIP undoes the result of the most recent SKIP or SET SEEN command.

NEWS will store the identification label of all items marked as seen by the most recent SKIP or SET COMMAND. UNSKIP will reset all such items back to unseen status.
UP

UP  is a cursor movement command, normally bound to the cursor movement keys.

Format:
    UP [number]

In screen mode this moves the cursor up one line. The command has an optional number parameter of the number of lines to move up.

This command is bound to the up arrow key on the terminal (unless line-edit mode is set), and the command UP 18 is bound to the PREV SCREEN key. UP is also bound to Keypad 5.
UPDATE

UPDATE is used to update the NEWS directories with the details of any recent postings.

Format:
    UPDATE [newsgroup]

When NEWS is invoked it takes a snapshot of the local NEWS database, and presents this snapshot in a directory format to the user. If another user posts to NEWS, or the NEWS transport system reads in a news batch during your session your local copy of the database summary is not updated.
     
UPDATE clears the image section which maps the database and reads in a new copy of the database snapshot, including any changes made since your session was started.

Command Parameters:

newsgroup
If newsgroup is specified then the update function is performed on that newsgroup only.
VERSION

VERSION  displays the software version and creation date of the local NEWS software.

The command has no parameters or qualifiers.

The command VERSION is a synonym for SHOW VERSION

See Also:  SHOW VERSION
WRITE

WRITE  is synonymous to the POST command.

Format:
    WRITE   [filename]

WRITE is used to post a new news item into NEWS. By default, the editor is invoked to form the new posting. The default editor is TPU, but this is user definable - see the chapter on customisation to specify a different editor to use.

NEWS will fill in all defaulting news headers, and will prompt for all header items which are non-defaulting (the subject line and the newsgroups to post the item into).

If the newsgroups for the posting are moderated newsgroups, the posting is automatically re-directed as mail to the moderator address, and NOT posted directly to NEWS.

See Also:    ANSWER, FOLLOWUP, FORWARD, POST, REPLY

Command Parameters:

filename
If filename is specified in the command, the editor is loaded with the text of the specified file, otherwise the editor is invoked to create a new file.

Command Qualifiers:

/EDIT
The default action is to call the editor to create the posting. If you specify a file as a parameter to the WRITE command, and also specify the qualifier /NOEDIT , no call is made to the editor.

/CONTROL="string"
/CONTROL is a NEWS Manager privileged qualifier. The string specified as the value of this qualifier is inserted into the posting as a "Control:" header line argument. 

/HEADERS
Write will normally prompt for the subject of the posting, and a list of newsgroups to post the item into. All other header lines of the news item text will be filled with default values.

The /HEADERS qualifier will force prompting for optional components of the item header. These fields are:

Summary:   A one line summary of the contents of the posting.

Reply-To:   The (internet) mail address for REPLYing to the item - used if replies are to be sent to a mail address OTHER than yourself (as the originator of the item.

Distribution:   A (comma separated) list of keywords designed to limit the distribution of a news item to a subset of the network. These keywords are site specific, but commonly include the keyword "local" (do not forward to the net!).

Followup-To:   The list of newsgroups where followup postings are to be sent. This is used to move a discussion to another newsgroup.

Keywords:   A few relevant, pithy keywords which should indicate to other readers if the item is of interest.

Expires:  A date to indicate the end of the useful life of the information in the message. NEWS will reject expirations greater than 12 months as being too outlandish.

/NEWSGROUPS=newsgrouplist
This qualifier specifies the list of newsgroups to receive the posting. If this qualifier value is not specified, the user is prompted for the newsgroups. The list is a comma separated list of newsgroup names.

/ROT13
	Specifies that the body of the posting will be encrypted using ROT13 on posting to NEWS.

/SELF
	If specified a copy of your posting is mailed to yourself via VMS MAIL.

/SUBJECT="subject string"
	Specifies the subject of the message for the heading. If not specified, the user is prompted for the subject string.

This section describes how moderated newsgroups are configured and maintained.

A moderated newsgroup is one where posting to the newsgroup is barred to all users other than the nominated moderator. Only the moderator may post new items into the newsgroup, and only the original sender, the moderator and the local system manager may post a cancel referring to an item in a moderated newsgroup.

Where users attempt to post to a moderated newsgroup, the posting is automatically re-directed to the newsgroup moderator address as mail addressed to the moderator's address.

Management of Moderated Newsgroups

The local news manager is responsible for defining moderated newsgroups, and also specifying the address of the moderator. The management commands are the SET NEWSGROUP and the CREATE commands, specifying the qualifier /MODERATOR, with the moderator's address as the value of this qualifier. 

Some network-wide newsgroups are also moderated newsgroups. This is managed by the "checkgroups" control message, which specifies which newsgroups are moderated (but note that this message will not specify the actual moderator address). 

The local specification of moderated newsgroups is held in two areas of the NEWS database: each newsgroup descriptor contains a flag indicating whether the newsgroup is moderated or not, and a second file (the MAILPATHS file) contains the addresses of all newsgroup moderators. 

The format of the "mailpaths" file, containing the moderated newsgroup names, and the internet address of the moderator. However this file does not contain a comprehensive list of newsgroup moderators for the network-defined newsgroups: when examining the support structures for the USENET news network, one of the relevant aspects of the network is the presence on the net of a number of "backbone" sites. These backbone sites contain an up-to-date list of the moderators of all network newsgroups, and are also configured to forward all moderated newsgroup postings on to the correct moderator. The scheme used in addressing the moderator via a backbone site is one where a posting to the moderated newsgroup "comp.animals" (say) is directed to the address "comp-animals@<backbone_node>". The reserved newsgroup name "backbone" matches all newsgroups, and the address may contain the string "%s", which requires the actual newsgroup name to be substituted, with '_' replacing all '.' characters in the newsgroup name. The scan of the file is first match found. 

Once the "mailpaths" file is initialized with the backbone entry, all further modifications to the file can be performed within NEWS, using the SET NEWSGROUP command. 

POST

The POST command will normally re-direct all postings to a moderated newsgroup to the moderator (as mail).

However if the user's internet address (built by using the logical name translation of NEWS_ADDRESS in the format "<username>@<news_address>") matches the moderator address, the posting is allowed, and the posted item is marked as "Approved" so that the item will be distributed correctly through the network. 

ADD FILE/MODERATOR

This is a variant of the ADD FILE command, and is the method whereby a newsgroup moderator may add new items into the newsgroup. This differs from the POST command in so far as the "From:" address is preserved as the original submitter when using the ADD command, whereas POST assumes the posting was originated by the moderator.

If the original submitter posted to a number of moderated newsgroups, then the procedure will request confirmation to forward the item to the next moderator in turn, or if the item is already approved by all other moderators the posting will then be placed in all the moderated newsgroups specified by the original submitter.

Other optional qualifiers to the ADD command are documented in the command reference section of this manual, and are available with the /MODERATOR qualifier. 

CANCEL

The CANCEL command is also altered by a moderated newsgroup, in so far as the moderator of the newsgroup may issue the CANCEL command (as well as the original submitter).

NNTP_XMIT is a utility used to send news items from the local system to a remote system using the NNTP transfer protocols. The actual protocol used is the local system sending "ihave" messages to the remote system notifying that system of locally held message identifier strings, to which the remote system will either respond with a "please send me" string to receive the actual text of the relevant item, or a rejection indicating that it already has the item. This utility essentially makes the local system is the active partner in the transfer.

The list of message identifier strings is set up by NEWS itself when performing both ADDing of NEWS batch files or local POSTing of news items. In either case the NEWS.SYS file is consulted, and if the system flag is 'n' or 'nx', then the message identifier string is appended into the message file for each relevant remote system.

The message identifier files are, by default, organised as sequential text files with one identifier string per line. In most cases this should be adequate, but where the NEWS traffic level is high, or the remote system is connected with a low bandwidth line, there may be contention on this file between the NEWS writer and the NNTP_XMIT reader. In such cases the 'nx' flag should used in the NEWS.SYS file, and a shared access RMS indexed file is used to store the message identifier strings.

Installation

NEWS_FILES:[NEWS_DIST]NNTP_XMIT.EXE is created by the NEWSBUILD procedure. The installation procedure is to copy this file to the news_manager area, and ensure that the protection (or ACLs) on the .EXE file are such that only the NEWS_MANAGER account may execute the program. The NEW_MANAGER account login.com should also contain the entry:
	$ NNTP_XMIT :== $ NEWS_MANAGER:NNTP_XMIT

Execution

The execution of NNTP_XMIT should be using a procedure such as:
	$ ! Obtain SYSPRV to allow reading of all NEWS item files
	$ SET PROC/PRIV=SYSPRV
	$ NNTP_XMIT command parameters

Command Parameters

$ NNTP_XMIT [-s] [-x] [-t decnet-task] node protocol id-file [log-file] [debug-file]

-s		optional parameter
	-s is used in conjunction with the DECnet protocol to specify that stream input routines should be used instead of record-based input calls. This is only relevant when connecting to a remote NNTP server running on an Ultrix platform over DECnet. For remote VMS systems, this option is not required.

-x		optional parameter
	-x is used to specify that the id-file is an RMS indexed file (corresponding to the 'nx' flag in the NEWS.SYS file entry.. If not specified sequential text read functions will be used to read the file.

-t decnet-task	optional parameter
	-t is used to specify the remote DECnet object string. By default NNTP_XMIT will attempt to connect to the defined task for the remote node. For remote Ultrix DECnet NNTP servers the parameter  -t NNTP=  should be used. The parameter is not consulted if the TCP protocol is selected.

node			required parameter
	node is used to specify the name of the remote system. In the case of DECnet this is normally the DECnet nodename, and in the case of TCP, the TCP node name. An IP address may be used instead of a node name.

protocol	required parameter
	protocol is used to specify the transport protocol to use. This keyword may be either DECNET or TCP. In the case of TCP, normally NEWSBUILD will determine which of the supported TCP implementations (Multinet, WIN or CMU) has been loaded into the local system, and will use this as the default TCP protocol automatically. The keywords MULTINET, WIN and CMU may be used instead of TCP. In the case of TCP the NNTP_XMIT process will attempt to connect to remote TCP port 119 (the remote NNTP_server port).

id-file		required parameter
	id-file is the full filename of the message-identifier file to use as input to the NNTP_XMIT process.

log-file		optional parameter
	log-file is the name of a file to which will be appended a one line summary of the activity of the NNTP_XMIT process on completion. This summary will list the number of identifiers offered to the remote system, the number accepted, rejected, and the number of local lookup failures.

debug-file	optional parameter
	debug file is the name of a file which will receive a full traffic log of NNTP_XMIT. This file will expand quite rapidly when processing a large batch of identifiers, so the parameter should be used only in a controlled testing environment.

Alternatively the command parameters may be specified using a conventional VMS qualifier syntax:

$ NNTP_XMIT/NODE=node/PROTOCOL=proto/IDFILE=idfile[/LOGFILE=log]
       [/TASK=task][/DEBUGFILE=dbgfile][/INDEXID][/STREAM]

Logical Name Environment

There are two logical names which are consulted by NNTP_XMIT:

NEWS_node_TASK

	This logical name is translated if the DECnet protocol is selected, and no -t command parameter is used. If this logical name is defined, then the translation is used as the task string. If no such logical name exists, then the default string of "TASK=NNTP" is used. e.g.

	  	$ DEFINE NEWS_EMU_TASK    "NNTP="

	will cause NNTP to use the object string "NNTP=" when connecting to node EMU.

NEWS_STOP

	If defined as a /SYSTEM/EXEC logical name, NNTP_XMIT will not run, and the process will stop as soon as this name is defined during execution (see the next section).

Actions

NNTP_XMIT will establish a NNTP connection to the remote system, and then commence a sequence of "ihave" messages to the remote server. The remote server will respond with either a send text or a reject response.

This process will continue until:

a) 	the input identifier file is fully read, or

b)  5,000 message identifiers are offered to the remote system (this number is a compile time constant, NNTP_MAX_OFFER in NNTP_XMIT.C), or

c) 	the logical name 'NEWS_STOP" is defined on the local system as a /STSTEM/EXEC logical name, or

d)	the remote or local system terminates the transport link.

There are two ways in which NNTP_XMIT manages the identifier file:

Sequential files (the default reader) are opened in read mode, and a second work file NNTP_pid.tmp is opened in the same directory in write mode. If an item cannot be locally read, then the text will be written to this temp file for a subsequent retry. If the transfer is terminated before complete reading of the input file, all unoffered message identifier strings are then written into this work file. On exit the original input file is deleted, and the work file is renamed to the original input file name.

With indexed files, NNTP_XMIT makes a sequential pass thorough the file. All offers (i.e. remote acceptance or remote rejection) are followed by deletion of the corresponding record from the identifier file. 

Compilation constants

NNTP_MAX_OFFER
	The maximum number of items to offer to the remote system in any single execution pass. Distribution setting is 5000.

CLIENT_TIMER
	The maximum time which the local system will wait for remote data before terminating the link on a timeout. The distribution value is 250 (seconds).

RESP_TIMER
	The maximum time to wait when "pinging" the remote system to check that it is still alive. The distribution value is 30 (seconds).

Examples

	$ nntp_xmit wombat.bush.au tcp news_manager_dev:[ihave_wombat]wombat.idx -
	 _$ news_manager:nntpxmit.log

The above command will contact the remote system wombat.bush.au using tcp.

$ nntp_xmit emu decnet -s -t "NNTP=" news_manager_dev:[ihave_emu]emu.ids -
 _$  news_manager:nntpxmit.log

The above command will use DECnet to contact the remote Ultrix NNTP server over DECnet

$ nntp_xmit koala decnet news_manager_dev:[ihave_koala]koala.ids news_manager:nntpxmit.log

      The above command will use DECNET to contact a remote VMS NNTP server.

NNTP_XFER is a utility used to retrieve news items from a remote system to the local system using the NNTP transfer protocols. The actual protocol used is the local system sending "newnews" messages to the remote system requesting that system to transmit the message identifier strings of remote held items, to which the local system may respond with a subsequent sequence of "article" requests to retrieve those items not held locally. This utility essentially makes the local system is the active partner in the transfer.

The list of message identifier strings returned is not filtered: all message identifiers of both remote local and remote network news items are returned. It is left to the local NEWS system to apply a local filter to all articles returned by NNTP_XFER while adding these items into the local NEWS database.

Installation

NEWS_FILES:[NEWS_DIST]NNTP_XFER.EXE is created by the NEWSBUILD procedure. The installation procedure is to copy this file to the news_manager area, and ensure that the protection (or ACLs) on the .EXE file are such that only the NEWS_MANAGER account may execute the program. The NEWS_MANAGER account login.com should also contain the entry:
	$ NNTP_XFER :== $ NEWS_MANAGER:NNTP_XFER

Execution

The execution of NNTP_XFER should be using a procedure such as:
	$ ! Obtain SYSPRV to allow reading of all NEWS item files
	$ SET PROC/PRIV=SYSPRV
	$ NNTP_XFER command parameters

Command Parameters

$ NNTP_XFER -n node -p proto [-l log] [-d days] [-h hours] [-t task]
            [-g group] [-s] [-o]

-n node		required parameter
	node is used to specify the name of the remote system. In the case of DECnet this is normally the DECnet nodename, and in the case of TCP, the TCP node name. An IP address may be used instead of a node name.

-p protocol	required parameter
	protocol is used to specify the transport protocol to use. This keyword may be either DECNET or TCP. In the case of TCP, normally NEWSBUILD will determine which of the supported TCP implementations (Multinet, WIN or CMU) has been loaded into the local system, and will use this as the default TCP protocol automatically. The keywords MULTINET, WIN and CMU may be used instead of TCP. In the case of TCP the NNTP_XMIT process will attempt to connect to remote TCP port 119 (the remote NNTP_server port).

-l log		optional parameter
	log is the name of a file to which will be appended a one line summary of the activity of the NNTP_XFER process on completion. This summary will list the number of identifiers offered to the remote system, the number accepted, rejected, and the number of local lookup failures.

-d days		optional parameter
	days  is used to specify that NNTP_XFER should request all message identifiers that were added to the remote system in the period days days before the most recent NNTP_XFER call to this remote system and the current time. If the parameter is set to 0, then only those identifiers added since the last call (plus 1 hour) will be returned. i.e. if the last call to node was at 10:00 am Wednesday, a parameter of -d 0 will request all messages added since 10:00 am Wednesday, and a parameter of -d 1 will request all messages added since 10:00am Tuesday.

	This is not as straightforward as it sounds, as VMS always uses local time, whereas some Unix systems assume all NNTP dates are GMT dates. Also when working across timezones some fine adjustment is also needed to compensate for the time difference.

-h hours	optional parameter
	hours  specifies the additional hours to add onto the time search in the same fashion as days.

-t task		optional parameter
	task  is used to specify the remote DECnet object string. By default NNTP_XMIT will attempt to connect to the defined task for the remote node. For remote Ultrix DECnet NNTP servers the parameter  -t NNTP=  should be used. The parameter is not consulted if the TCP protocol is selected. The default value is "TASK=NNTP"

-g group		optional parameter
	group  is used to specify the newsgroup to be searched on the remote system. If the parameter is omitted then all newsgroups on the remote system are searched. The group parameter may either contain the name of a single group, or a list of newsgroups delimited by a comma. The "8" wildcard character may be used, as well as the '!' character to exclude spcific newsgroups from the resultant wildcard expansion. The default value used is "*".

-s			optional parameter
	-s is used in conjunction with the DECnet protocol to specify that stream input routines should be used instead of record-based input calls. This is only relevant when connecting to a remote NNTP server running on an Ultrix platform over DECnet. For remote VMS systems, this option is not required.

-o		optional parameter
	-o is used to echo all NNTP traffic to the screen. This option is only used for debugging purposes.

Alternatively the command parameters may be specified using a conventional VMS qualifier syntax:

$ NNTP_XFER/NODE=node/PROTOCOL=proto[/LOGFILE=log][/DAYOFFSET=days]
       [/HOUROFFSET=hours][/TASK=task][/GROUPS=group][/STREAM][/DEBUG]

Logical Name Environment

There is one logical name which is consulted by NNTP_XFER:

NEWS_node_TASK

	This logical name is translated if the DECnet protocol is selected, and no -t command parameter is used. If this logical name is defined, then the translation is used as the task string. If no such logical name exists, then the default string of "TASK=NNTP" is used. e.g.

	  	$ DEFINE NEWS_EMU_TASK    "NNTP="

	will cause NNTP to use the object string "NNTP=" when connecting to node EMU.

Actions

NNTP_XFER will first open status files. All file names used by NNTP_XFER use the remote node name as a part of the file name. When constructing filenames, all '.' characters in the remote node name are replaced by '-' characters.
e.g. connecting to "wombat.bush.au" will result is a set of files of the form: news_manager:*wombat-bush-au*.*

The files used are:

NEWS_MANAGER:NNTP_node.LASTCALL. This file contains the time of the previous successful execution of NNTP_XFER to this node.

NEWS_MANAGER:NNTP_node.IDS. This is a work file used by NNTP_XFER

NEWS_MANAGER:NNTP_node_partno.BATCH  are output files generated by NNTP_XFER.

In the case that the -g parameter is specified the "node" component of the abovce filenames is expanded to the string "node_group-parameter".

NNTP_XFER establishes a connection to the remote system, and then looks for any existing .IDS files which refer to the remote node. If any are found, then NNTP_XFER will read the file (containing a list of message identifiers, and retrieve the text of the items, placing them into the output files.

The second phase is establishing the date and time of the last successful NNTP_XFER run, and requesting the remote system to transfer the message ids of all new items which were loaded since the specified time (the "newnews" NNTP command). The output of this is placed in a .IDS output file. The NNTP connection with the remote system is terminated at the end of this phase.

The third phase of NNTP_XFER reads the .IDS file created from the previous phase, and attempts to locate the message identifiers on the local data base. All items that are not held locally are placed in a new version of the .IDS file. On completion of this phase the previous version of the .IDS file is deleted.

In the final phase contact is reestablished with the remote system, and all identifiers in the .IDS file are passed to the remote system to collect the corresponding texts. (using the "article" NNTP command). On successful completion the .IDS file is deleted, and all collected texts are in NNTP *.BATCH files in NEWS_MANAGER.

The .LASTCALL file is updated, and the program exits.

The output BATCH files can then be processed by the NEWS ADD command for inclusion into the local database.

Compilation constants

MAX_BATCH_SIZE
	NNTP_XFER appends each collected item into a batch file. A new version of the file is created once the size of the file exceeds the specified size (in bytes). The distribution code sets this constant to 250000.

MAX_RESTART_ATTEMPT
	NNTP_XFER will stay connected for considerable periods, particularly if there are low speed links between two systems, and the link may be broken by the underlying TCP software. NNTP_XFER will attempt to restart a broken connection, which often is sufficient. To stop these restart attempts continuing indefinitely, NNTP_XFER will only restart a link a certain number of times. The distribution code sets this constant to 20.

CLIENT_TIMER
	The maximum time which the local system will wait for remote data before terminating the link on a timeout. The distribution value is 250 (seconds).

RESP_TIMER
	The maximum time to wait when "pinging" the remote system to check that it is still alive. The distribution value is 30 (seconds).

Examples

	$ nntp_xfer -n wombat.bush.au -p tcp -l news_manager:nntpxfer.log

	This command will contact the remote system wombat.bush.au using tcp.

$ nntp_xmit -n emu -p decnet -s -t "NNTP=" -l news_manager:nntpxfer.log -g animals.*

	This command will use DECnet to contact the remote Ultrix NNTP server over DECnet for newsgroups matching "animals.*"

$ nntp_xmit -n koala -p decnet -l news_manager:nntpxfer.log

	This command will use DECNET to contact a remote VMS NNTP server.

NNTP_CLIENT is a utility used to test reachability to a remote NNTP server. The program attempts to establish an interactive session with the remote server, allowing the user to send NNTP commands to the server. In the case of a connection made over TCP, this is equivalent to a telnet  session to the remote NNTP port; telnet/port=119. There is no direct equivalent with DECnet.

Installation

NEWS_FILES:[NEWS_DIST]NNTP_CLIENT.EXE is created by the NEWSBUILD procedure. The installation procedure is to copy this file to the news_manager area.

Execution

The execution of NNTP_CLIENT is by simple invocation with the RUN command:
	$ RUN NNTP_CLIENT

Command Parameters

There are no command line parameters to NNTP_CLIENT. The program prompts for all required settings.

	$ RUN NNTP_CLIENT
	Node: enter  DECnet nodename,  TCP /IP  node name,  or  TCP/IP   address
	Channel: (DECNET, TCP)? [DECNET]: enter DECNET or TCP

If a DECNET channel is selected the following additional DECnet parameters are required by NNTP_CLIENT:

	Decnet objects are commonly of the form:
		TASK=NNTP	used by most VMS NNTP server implementations
		NNTP=		used by Ultrix NNTP servers
		NEWS=		used by some VMS NNTP server implementations
	Decnet Object string? [TASK=NNTP] : enter task string,  or use default value
	Use DECnet stream input calls (normally only with Ultrix NNTP server)? [N]: Y or N

Actions

Following the prompts, NNTP_CLIENT attempts to connect to the remote server, and if successful this should result in a "200" response from the server. This is of the general form:

	200 NNTP server ready

At this stage valid NNTP commands may be entered (see RFC977 for a description of NNTP commands). The program will exit when the remote system drops the connection (after an entered quit command, or a ^Y input.

The program is a constructed from two simple reader / writers, using asynchronous signals. One process accepts user input records and sends the complete record to the NNTP server , while the second process assembles complete server output records and displays them on the local screen.

NEWS management is a two level hierarchy: management of individual newsgroups can be set as the responsibility of various local newsgroup managers (or local supervisor), while overall management of NEWS is the responsibility of a news manager. 

NEWSGROUP MANAGEMENT

A user is nominated as a local newsgroup manager using the ADD MEMBER command, granting the specified user "MODERATE" privilege. The user can then access newsgroup management commands by first enabling the privilege using the SET MODERATOR command. 

A newsgroup moderator can modify the access list of a newsgroup (ADD MEMBER, DELETE MEMBER, MODIFY MEMBER) and can also cancel any local postings made into the managed newsgroup (CANCEL). The management domain of a local newsgroup manager does not extend outside the local system, and all operations accessible to the local newsgroup manager only affect the local node. 

NEWS MANAGEMENT

NEWS managers are identified to NEWS by holding a site-specific identifier. A user with this identifier can access all newsgroups regardless of access restrictions, and can issue all management commands, including local newsgroup management commands. All management commands check to determine whether the user is a NEWS manager before executing the command. 

The news manager normally controls the execution of the batch jobs which update and skim off the local NEWS database (ADD and SKIM commands), and manage attributes of the local database (SET commands). All these commands are documented in the command reference section of this document, with a note to the effect that the command is a NEWS MANAGEMENT command. 

The responsibility of the local NEWS manager also includes that of the maintenance of the various site-specific control files. The files and their function are documented in the sections describing the NEWS distribution set and NEWS installation.

The software is distributed in source and executable formats. The executables for V6.0 were compiled and linked using VAX/VMS V5.3 and VAX 11 C V3.1.

There are four savesets which make up the full distribution:
	NEWS_V60_SRC.BCK
	NEWS_V60_OBJ.BCK
	NEWS_V60_DIST.BCK
	NEWS_V60_DOC.BCK

The following is an annotated directory listing of the NEWS V6.0 distribution file sets:

11.1  SRC Distribution

The SRC kit contains the sources to the NEWS package. The files in that kit are as follows.

VMS system definition files:

UAF.H	Definition of the SYSUAF record contents (from UAFDEF). Used by ARBITRON.C.

Other system definition files are used from sys$library - these files are part of the VAX 11 C package (Release 3.0 or later), and are also part of the GNU C package.

NEWS utility definition files. These are the common include files added to the start of all NEWS source code modules. Together they implement a consistent compile-time environment for all modules that are used to build NEWS:

NEWSDEFINE.H		Constant and macro definitions.

NEWSEXTERN.H		External variable definition for source modules, and function profile definitions.

NEWSINCLUDE.H	Include file set for all source modules.

NEWSSITE.H		NEWS compile-time constants - may be altered to suit local requirements.

NEWSVARIABLES.H	NEWS global variables definition module.

The following set are the C sources to the main NEWS program. The modules are split on the basis of the commands that each module implements:

NEWS.C			NEWS entry point and outer control loop.

NEWSADD.C		Add command routines.

NEWSCALLEDIT.C	Interface to a customizable callable editor

NEWSCLASSES.C		Class support routines

NEWSCONFIGS.C		Configuration support routines

NEWSCONTROL.C	Routines to interpret network Control: messages

NEWSDELETE.C		Delete command routines.

NEWSDIR.C			Directory command routines.

NEWSDISPLAY.C		Display item text on screen.

NEWSDIST.C		Routines to manage the news network configuration files.

NEWSEXTRACT.C	Extract/Print command routines.

NEWSFILES.C		File manipulation routines

NEWSFORWARD.C	Forward/Reply/Mail command routines.

NEWSHELP.C		Help command routines.

NEWSKILL.C		Kill routines

NEWSLOCK.C		System lock support

NEWSMOD.C		Moderated newsgroup support routines

NEWSMODE.C		Set terminal mode routines.

NEWSPOST.C		Post/Followup command routines.

NEWSPROFILE.C		Profile support routine

NEWSRC.C			Routines to read and write the NEWS profile file

NEWSREAD.C		Read command routines.

NEWSREGISTER.C	Register/Deregister command routines.

NEWSREMCLIENT.C	Utility routines to access remote NNTP Server.

NEWSRTL.C			Common utility routines used by both NEWS and NNTP.

NEWSSEARCH.C		Search command routines.

NEWSSELECT.C		Select command routines.

NEWSSETSHOW.C	Set and Show command routines, plus create newsgroup support.

NEWSSITE.C		Loading site specific logical name values.

NEWSSKIM.C		Skim command routines.

NEWSSKIP.C		SKIP command routines.

NEWSUTILITY.C		Various utility routines for NEWS.

NEWSV58_UPGRADE.C	Conversion routines to build NEWS V5.8/9 from pre V5.8 NEWS versions. 

NEWSV60_UPGRADE.C	Conversion routines to build NEWS V6.0 from V5.8/9 NEWS versions. 

NEWSVMSMAIL.C	Routines to open a mail file for reading by NEWS

ADD_TRANSFORM.C	Translation from internet address format to one acceptable to VMS MAIL.

The NEWS command language definition file:

NEWSCMD.CLD	NEWS command language definition file (NEWS uses the CLI parser command parsing).

The source modules for the NNTP implementation:

NNTP_CLIENT.C		Interactive access to remote NNTP server.

NNTP_DEC.C		DECNET driver for NNTP server.

NNTP_DECM.C	DECNET driver for NNTP server, supporting multiple clients on a single server process.

NNTP_SERVER.C	Source for NNTP NEWS Server object.

NNTP_TCPCMU.C	TCP driver for NNTP server, for the CMU/Tek implementation of TCP/IP for VMS.

NNTP_TCPWINMULTINET.C	TCP driver for NNTP server for Multinet and WIN TCP/IP implementations.

NNTP_TTY.C		TTY (interactive access) driver for NNTP server.

NNTP_XFER.C		NNTP client to transfer NEWS items from a remote node to the local node.

NNTP_XMIT.C		NNTP client to transfer NEWS items to a remote node from the local node.

NEWGRPFILE.C		Maintenance program for news.groups file

NEWITMFILE.C		Maintenance program for news.items file

NEWS On-line help library source:

NEWS.HLP			Help library source.

Compilation and link files:

NEWSBUILD.COM	DCL command procedure to perform a make of NEWS executables

OPTIONS_C_LINK.OPT	Link options commands

OPTIONS_C_MULTINETLINK.OPT	Link options command file with Multinet support.

OPTIONS_C_UCXIPCLINK.OPT		Link options command file with UCX IPC socket support.

Additional utilities (Included within the NEWS distribution - the VMS port of these utilities were performed by Lenny Glassman (Arbitron), and  Earle Ake (INPATHS).

ARBITRON.C		NEWS usage information gatherer.

INPATHS.C			NEWS flow information gatherer.

11.2  OBJ Distribution

The OBJ distribution contains the object library modules and the "dummy" object files used in the BUILDNEWS command procedure. Note that many of the OBJ files are actually text files - these files are used only to determine the date and time of the last change to the corresponding module within the object library files, and hence do not need to contain the actual compiled object code. To save space the BUILDNEWS.COM procedure replaces the object file with an object marker file following the change to the object library file.

The individual .OBJ files are not listed here. The two object library files are:

NEWS_LIBRARY.OLB	Object modules compiled with OPT and NODEBUG

NEWS_LIBRARYD.OLB Object modules compiled with NOOPT and DEBUG

11.3   DIST Distribution

This distribution contains the executables and the associated DCL command procedures, control template files, and with release information.

Release information:

AAAREADME.TXT	Introductory documentation and license form

NEWS.DOC			The ascii plain text verion of this file

Executable files. All executables in this release have been compiled and linked under VMS V5.3-1.

NEWS.EXE			The NEWS application

NNTP_DEC.EXE		NNTP server, DECnet transport

NNTP_DECM.EXE	NNTP server, DECnet transport, multithreaded server.

NNTP_TCPCMU.EXE	NNTP server, CMU/Tek TCP/IP transport.

NNTP_TTY.EXE		NNTP server, interactive interface.

NNTP_CLIENT.EXE	NNTP interactive client (test utility).

NNTP_XFER.EXE		NEWS network transport utility, NNTP protocols.

On-line HELP file:

NEWS.HLB			On-line help library for NEWS.

Template files. All the files in the next list are site-specific template files, which MUST be edited before installing on the local system. Each of these files contains detailed descriptions of how the file is to be edited, and what aspects of NEWS are controlled by the contents of the files.

MAILPATHS	Template of the control file used to generate the internet-format addresses of moderators of newsgroups.

NEWS.DISTRIBUTION	Template of news distribution control file -- used to determine the network routing of newsitems between adjacent news network neighbours.

NEWS.SYS	Template of the control file used to determine which newsgroups and distribution keywords are accepted by the local NEWS site, and which newsgroups and distribution keywords are accepted by the local node's adjacent NEWS network neighbours.

SETUP_LOG_EXAMPLE.COM	Template file for NEWS logical name definitions.

NEWSSKIM.COM	Template automatic news management routine (designed for periodic execution in a batch stream).

NEWSADD.COM	Component of NEWSSKIM which handles addition of network batches and distribution to downstream sites.

NEWSDAILY.COM	Component of NEWSSKIM which performs expiration of items and internal consistency checks on the news database.

NEWSPACK.COM	Component of NEWSSKIM which calls CONVERT to compress the RMS indexed files.

NEWS_ADDRESS.CNF	Template file for translation rules to map internet-style addresses to a form acceptable to the local VMS MAIL system.

NEWS_POST.CC	Template file for the automatic generation of carbon copies of all local postings.

NEWS_POST.DEFAULTS	Default header definition file for local postings.

NNTP_FEED.COM	Template for passing NEWS distributions to adjacent nodes using the NNTP protocols.

NNTP_ACCESS.NEWS	Template for NNTP permissions file to control NNTP access to the local node.

NEWS.ALIASES	Template of local news newsgroup alias definitions -- used to create a local aliases for a network newsgroup name.

NEWSEDIT_EXAMPLE.COM	Template file for invoking an editor from NEWS (other than callable TPU or callable EDT).

The following are user-contributed files which have been added into this distribution:

ADDNEWS.COM	Alternate NEWS batch add script

NEWSSKIM_ALT.COM	Alternate template file for NEWS management operations.

DCLNEWS.HLP	DCL-level help file for NEWS.

11.4   DOC Distribution

NEWS.LATEX	LaTeX source of this document.

FILES.TEX	Component of NEWS.LATEX - description of distribution files and installation procedures

MGR.TEX	Component of NEWS.LATEX - description of management commands.

USER.TEX	Component of NEWS.LATEX - description of user commands.

RFC977.DOC	News Network Transfer Protocol standard.

NEWS-STANDARD.DOC	Usenet news standard (pre-RFC1036).

NEWS-STANDARD.ANNOTATED	Standard, annotated with capabilities and exceptions related to this version of VMS NEWS.

RFC1036.DOC	USENET News standard.

The following section describe the necessary steps to install NEWS on a system. Note that where possible these steps should be performed in the order as given in this text.

NOTE: NEWS is shipped with object and executable files included, but these files were built using VMS V5.3-1. If you are running a different version of VMS then minimally you will need to re-link the NEWS object files 

12.1 Loading NEWS files

1.	Load the source files (*.C, *.H, *.HLP, *.CLD, *.OPT and NEWSBUILD.COM files) into the directory device:[dir.news.news_src]. This set of files corresponds to the SRC backup saveset of the distribution. The latter two directory names, NEWS and NEWS_SRC are critical when using the supplied DCL newsbuild.com routine.

2.	Create the directory device:[dir.news.news_build]. Load the contents of the OBJ backup saveset into this directory.

3.	Create the directory device:[dir.news.news_dist]. Load the EXE backup saveset into this directory.

4.	Create the directory device:[dir.news.news_doc]. Load the DOC backup saveset into this directory.

12.2 Compiling and Linking NEWS

One command procedure performs both the compile and link phases of NEWS. The procedure works on the revision date-time of the file to determine whether any files require re-compilation before linking.

The procedure will also automatically include support for WIN TCP if certain WIN definition files are located on the system. Check the code in newsbuild.com for details of this. 

Execute the newsbuild command procedure:

    $ SET DEF device:[dir.NEWS.NEWS_SRC]
    $ @NEWSBUILD

This procedure creates a new set of .EXE files in the NEWS_DIST directory which are used in the following installation steps.

12.3 NEWS User Accounts

Add an account for a NEWS manager (NEWSMGR if you'd like a username suggestion). This account is used to execute the housekeeping batch jobs (such as newsskim.com if you are using it). It is also used as the account for the network feeds to adjacent NEWS sites, and therefore should have proxy entries to adjacent DECnet nodes' NEWS manager accounts if more than one node will be running NEWS on the DECnet. 

The account normally requires SYSPRV to execute some of the functions associated with the 'housekeeping' batch jobs. The account may also need a reasonable disk quota if you are anticipating a large amount of network news flowing through your system, and you make this account own the news posting directories.

12.4 NEWS Logical Names

It is intended that much of the local tailoring of NEWS is performed by logical name translations. For this reason the logical name structure is important when installing NEWS - please read this section carefully.

NOTE: It is important that these names be defined before running NEWS for the first time.
                            
The distribution set includes the following file: setup_log_example.com

	$ ! SETUP_LOG_EXAMPLE.COM
	$ !
	$ ! Logical name definition template - this will need to be altered to
	$ ! match local site requirements
	$ !
	$ ! Author:
	$ !     G Huston
	$ !       Computer Services Centre
	$ !       Australian National University
	$ !
	$ ! Version:
	$ !     V1.0    17-Jul-1986
	$ !     V2.0    16-Jul-1987
	$ !     V4.3    12-Jan-1987     GIH
	$ !     V5.2    26-Apr-1988     GIH
	$ !     V5.6     3-Nov-1988     GIH
	$ !     V5.7     3-Jan-1989     GIH
	$ !      -  Added entries for rnews and newsmail mail addresses
	$ !
	$ !**********************************************************************
	$!
	$! root of news tree
	$!
	$ DEFINE/SYSTEM/EXEC NEWS_ROOT ANUDISK:[NEWS]
	$ DEFINE/SYSTEM/TRANS=(conc)/EXEC NEWS_DEVICE CSC3$DUB0:[NEWS.]
	$!
	$! News manager accounts must own this identifier
	$!
	$ DEFINE/SYSTEM/EXEC NEWS_MGR_ID NEWSMANAGER
	$!
	$! the node address is the internet address of the node
	$!
	$ DEFINE/SYSTEM/EXEC NEWS_ADDRESS "CSC3.ANU.OZ"
	$!
	$! the node name is either the decnet node name, or cluster decnet alias
	$!
	$ DEFINE/SYSTEM/EXEC NEWS_NODE CSC3
	$!
	$! The "work directory" for news - normally sys$login of the
	$! news manager account
	$!
	$ DEFINE/SYSTEM/EXEC NEWS_MANAGER ANUDISK:[NEWS_MGR]
	$ DEFINE/SYSTEM/TRANS=(conc)/EXEC NEWS_MANAGER_DEV CSC3$DUB0:[NEWS_MGR.]
	$!
	$! Timezone,Organisation definition
	$!
	$ DEFINE/SYSTEM/EXEC NEWS_TIMEZONE "+1000"
	$ DEFINE NEWS_ORGANISATION "CSC, Australian National University"
	$!
	$! Mail addresses; these could also be setup as mail forwarding addresses
	$!
	$ DEFINE/SYSTEM NEWSMAIL NEWSMGR
	$ DEFINE/SYSTEM RNEWS NEWSMGR
	$ DEFINE/SYSTEM USENET NEWSMGR

NEWS_ROOT, NEWS_DEVICE
	Both names point to the news files root directory. Both must be defined in exec mode. The news data files are placed in a tree descending from this root - i.e. newsgroup 'aus.wanted' has text files residing in the area news_device:[aus.wanted]. The Index files and Help file are placed in the news_root: directory.

NEWS_MGR_ID
	Translates to the identifier name which must be granted to any users who require the management functions of NEWS (delete newsgroup, create newsgroup, etc). The name must be defined in exec mode to stop unauthorized users tinkering with NEWS.

NEWS_ADDRESS
	Translates to the internet address of the host node. This is typically of the form "node.domain.part". The address is used to generate the Internet-format "From" address in all postings from this node.

NEWS_NODE
	Translates to the local node name. This is made a logical name to allow a cluster to operate as a single logical node, using a cluster alias. All nodes in a cluster should use the same value of NEWS_NODE. This logical name is also used in the "Path:" header as the local node name.

NEWS_ORGANIZATION (or NEWS_ORGANISATION)
	Translates to the name of the organisation. This is to help in identifying the person posting the message to other users on the net. Users may use a process level logical name to overide this system value.

NEWS_TIMEZONE
	Translates to the local timezone code. If not defined then NEWS will assume (incorrectly in almost all cases!) that the local timezone is "GMT".

NEWS_MANAGER, NEWS_MANAGER_DEV
	This is the work directory of the NEWSMGR account. All temporary files used in news maintenance are placed here. NEWS_MANAGER_DEV is the equivalent area, defined as a concealed device.

NEWSMAIL, RNEWS
	These are mail address aliases to allow this node to communicate to adjacent NEWS nodes. They should be defined as the username of the NEWS manager account. An alternative is to use MAIL management utilities to add add an entry for the addresses "NEWSMAIL" and "RNEWS" with a forwarding address to the NEWS manager account (NEWSMGR).

USENET
	This is a mail alias for the local news manager. As above, this may either be a logical name or a mail forwarding address.

There are a number of additional logical names which are optional.

NEWS_HELPLIB
	NEWS will by default search for the online help file, NEWS.HLB, in the areas NEWS_ROOT: and SYS$HELP: (in that order). If you wish to place the NEWS.HLB file in some other area, then use the logical name NEWS_HELPLIB to define the full name of the help file.

	For example:
		$ DEFINE/SYSTEM NEWS_HELPLIB    LOCAL:[HLP]NEWS.HLB

NEWS_PATHNAME		optional
	This logical name is used to determine the value to place in the "Path:" header. If not specified the value of the logical news_address is used.

12.5 Global DCL Symbols

In the system login command script add a symbol for NEWS:
	$ NEWS :== $ location:NEWS

12.6  Install NEWS.EXE

Copy NEWS.EXE to the location as specified by the DCL symbol for NEWS with world RE access. Then install the image with SYSPRV:

	$ COPY NEWS.EXE location:NEWS.EXE/PROT=W:RE
	$ INSTALL
	INSTALL> ADD location:NEWS.EXE/OPEN/HEAD/SHARE/PRIV=SYSPRV
	INSTALL> EXIT

SYSPRV is required to ensure that users who post news items end up NOT owning the actual news text files, and also is required to successfully initialise the indexed files on the first-time execution of the program. For most of the time NEWS runs with SYSPRV disabled.

12.7  Initial Environment

If you are configuring NEWS with a local database then:

1.	Using AUTHORIZE, create the news management dentifier (the value of the logical name NEWS_MGR_ID), and grant the identifier to the user(s) who will be responsible for the management of NEWS.

	Note that the NEWSMGR (news management) account must be granted this identifier ion order to correctly process incoming network news feeds.

2.	Create the directories that have been defined by the logical names NEWS_MANAGER and NEWS_ROOT. Ensure that the directories are group and world accessible.

	Optionally: Add a propagation ACL to the NEWS_ROOT directory to allow those users whom you wish to use news to access the item files.

3.	Copy NEWS.HLB to NEWS_ROOT: and allow world read access to this file.

	Note that for the installation of the NNTP client systems NEWS_ROOT: may not be defined, or in any case you may wish to place this file elesewhere on the system. You may optionally place NEWS.HLB in the system help area, as SYS$HELP:NEWS.HLB, or use the system level logical name NEWS_HELPLIB to point to another location where you have placed NEWS.HLB.

If you are configuring NEWS as a diskless NNTP Client then:

1.	Copy NEWS.HLB to SYS$HELP:NEWS.HLB and allow world read access to this file.

	Note that for the installation you may wish to place this file elesewhere on the system. You may optionally use a the system level logical name NEWS_HELPLIB to point to where you have placed NEWS.HLB. i.e. $DEFINE/SYSTEM NEWS_HELPLIB dev:[dir]NEWS.HLB

12.8  NEWS Control Files

There are six control files -- these files should be read, and then edited to match the local site requirements. Each file contains comments as to the function and format of the file.

NEWS.SYS
	This file determines which newsgroups you will accept, and which newsgroups your network neighbours will accept. The edited version of news.sys should be copied to NEWS_MANAGER:. Include the entries "local", "junk", "control".

NEWS.DISTRIBUTION
	This file determines how news is distributed through your node. If you are an 'end-node' for NEWS, then this file should be empty, otherwise the file must be defined. The edited version of news.distribution should be copied to NEWS_MANAGER:.

NEWS.ALIASES
	This file defines local aliases for newsgroups. If you wish to define local aliases, edit this file and copy the edited version to NEWS_MANAGER:.

MAILPATHS
	This file defines the internet addresses of ALL moderators for moderated newsgroups. The edited version of mailpaths should be copied to NEWS_MANAGER:.

NEWSSKIM.COM
	Modify this file to suit your requirements. See comments in the code. Then copy the edited file to NEWS_MANAGER:. This file is responsible for the collection and distribution of news items to remote sites.

NEWS_ADDRESS.CNF
	Read this file, and also read the file add_transform.c. If you are using a local PMDF mail handler, then the default action may be suitable. Otherwise you will need to edit this file, and copy it to NEWS_MANAGER:.

NEWS_POST.DEFAULTS
	Read this file and decide if it is relevant. If so then edit the file and place a copy it to NEWS_MANAGER:.

NEWS_POST.CC
	Read this file, and decide if it is relevant. Where unmoderated newsgroups are fed from a mailing list, then postings into the newsgroup may not be sent back to the central mailing list address. You can place entries into this file to force cross mailings of local postings back to the mailing list address. If necessary, edit this file and copy it to NEWS_MANAGER:. 

12.9  First Time Execution of NEWS

Once ALL the above steps have been completed, login to an account which has SYSPRV and has the NEWS_MGR_ID identifier, and run NEWS.EXE.

The first time execution will create the files: news_root:news.groups and news_root:news.items, and also create the authority file, news_manager:news.license.

Please read the news_manager:news.license file, edit it as instructed, and return it to the address shown in the file.

This almost completes the installation of NEWS - the remaining task is the creation of the necessary newsgroups. Use the CREATE/LOCAL command and create the newsgroups "control" and "junk". If you are on the USENET news network, obtain a copy of the most recent "checkgroups" posting relevant to your area of the USENET. Examine the newsgroup names in this posting and add the root names (e.g. "net" from "net.wombats") of the relevant newsgroups to your local acceptance filter in news_manager:news.sys. Once news.sys has been edited, pass this  checkgroups posting to NEWS by using the ADD command with the /EXECUTE qualifier. This wil automatically load the local NEWS files with the applicable network newsgroups.

V5.9 - V6.0 Upgrade

The only change in V6.0 over V5.9 is a change in a previously unused field within the news.groups indexed file as the first used news item number (to speed up the NNTP Server code). When installing NEWS V6.0 install the NEWS program first, and perform a SKIM pass. Then install the NNTP server code following the completion of the SKIM pass. This is optional, and if not done in this order then the NNTP server will lie about the first used news item number in each newsgroup (which is exactly what Unix versions of the NNTP server currently do!).

V5.8 - V5.9 Upgrade

There were no changes to the NEWS file in this version, so that no particular upgrade actions were required.

V5.7 - V5.8 Upgrade

The first time NEWS V5.8 is executed on a system which has been running NEWS V5.2 through V5.7, then NEWS will attempt to perform the upgrade to V5.8 automatically. Note that this upgrade phase requires that the local NEWS manager account execute the upgrade, so ensure that this account is the first account to use V5.8.

The automatic upgrade coverts the file news_root:newsgroups.v50 to a new internal record format, and saves the new format as news_root:news.groups. Similarly the file news_root:newsitems.v50 is converted to news_root:news.items. While this conversion is being performed NEWS will display it's progress on the screen. The conversion phase completes with the display of the advice to delete the .v50 files. Following this the upgrade is complete.

If you were running NEWS V5.4 or NEWS V5.6 then delete the file news_root:history.dat.

There are three node types with respect to NEWS NNTP: Server nodes, where the node acts as a server for remote clients, Client-only nodes, which access one or more server nodes over NNTP, and Server/Client nodes, where some newsgroups are served from remote NNTP servers, and this node also acts as an NNTP server for remote client nodes. 

14.1   NNTP Access File

For NNTP servers you may wish to set up an access permission file. By default any remote system is allowed to connect to the NNTP service. Access can be restricted using an access permission file.

The access file is news_root:nntp_access.news. If this file exists, the NNTP server will consult this file before accepting a remote client connection request.

The format of this access file is one entry per line (with the comment delimiter character as '#'). Each line contains up to four fields, delimited by blanks:

	a - 	remote host name (or "default")		REQUIRED

	b - 	read / transfer permission field		REQUIRED
		      read	   # read and transfer permission
		      xfr	   #  no read - transfer only permission
 		      noread	   #  no read, no transfer permission
		(the minimum abbreviation is 1 character)

	c - 	post permission field				OPTIONAL
		    post	   #  post access
		    nopost 	   #  no post access    [default]
		(the minimum abbreviation is 1 character)

	d - 	newsgroup access list				OPTIONAL
This is a comma separated list. Access is granted only to those newsgroups listed in the entry. Wildcard characters '*' and '%' and '?' are supported in the list, and specific negation, using the '!' character prefix, is also supported. There is an implicit inclusion of sub-newsgroups within each entry. For example the entry "wombat" will match against "wombat" and also "wombat.singles", "wombat.hairy.wild", and so on. 

For example:    

  alpha   read    nopost              # read access, all groups
  beta    read    post    *,!alpha    # read and post to all but alpha groups
  gamma   xfr     post                # read, transfer, post to all groups
  default read    nopost  *

The relevant line in the permissions file is selected using the remote host name. The NNTP driver code has support for identification of the remote host name and remote user;

•	For the DECNET single channel driver, the remote user is retrieved using the logical name translations of SYS$REM_NODE and SYS$REM_ID.

•	For the DECNET multi channel driver the remote host name is set to the value "DECNET", and the remote user to "NNTP". I have yet to check that the NCP connection block holds the correct remote task identification.

•	For the CMU-TEK , Multinet and WIN TCP drivers the remote host is correctly passed to the server, but the remote user is passed as the constant value "NNTP"

As well as the permissions, the NEWS  access.news  individual newsgroup access lists are now supported by the NNTP server process. The remote user and host names are used to look up the access.news file before allowing the NNTP server access to a restricted newsgroup. This behaviour is consistent with the NEWS definition of a restricted newsgroup.

14.2  NNTP  Installation

To install the NNTP NEWS servers, then follow the steps as shown for the network types below.

You can check the operation of the NNTP server by running the NNTP_CLIENT program (this program implements an interactive interface to a remote NNTP server). Running NNTP_CLIENT and specifying the remote node name and transport protocol should initiate an interactive session with the remote NNTP server. The welcome message should appear, and you should then obtain a reasonable response to the "HELP" command. The "QUIT" command will exit from the remote server. 

Once NNTP is installed on the server and client newsgroups can then be set as NNTP-served newsgroups (see the documentation on the SET command for details).

14.2.1 Common Logical Name Environment

NEWS_GMT_OFFSET

NNTP uses the value of this logical name to convert from local time to the equivalent GMT time. The format of the number is a signed timestring in VMS delta time format.

For example, Canberra, Australia, is 10 hours ahead of GMT. The following logical name definitions are equivalent:
  $ DEFINE/SYSTEM NEWS_GMT_OFFSET "+10:00:00"
  $ DEFINE/SYSTEM NEWS_GMT_OFFSET "10:00:00"
  $ DEFINE/SYSTEM NEWS_GMT_OFFSET "10:00"
  $ DEFINE/SYSTEM NEWS_GMT_OFFSET "10"

[Note that you'll need to change the value of the logical name for daylight saving.]

14.2.3  DECNET Server and Client Nodes

1.	Copy NNTP_DEC.EXE to a location accessible to the DECNET account (or define a new account used for runnning NNTP in a mannar analagous to the VMS V5 network applications accounts).

2.	Use the INSTALL utility to install NNTP_DEC.EXE with SYSPRV.

3.	In the DECNET (or special purpose) account, create the file NNTP.COM  with the following contents:

  $ ! NNTP.COM - executed in response to an incoming connect
  $ ! to "TASK=NNTP"
  $ RUN device:[directory]NNTP_DEC

There is a variant of NNTP_DEC, called NNTP_DECM. This program is configured to accept multiple incoming DECNet connections to the NNTP object, and service all such connections from a single NNTP process. The installation instructions are the same as the NNTP_DEC instructions, except that the executable referred to in the INSTALL  and  NNTP.COM  is NNTP_DECM.EXE. Also to create a permanent DECnet object, NNTP_DECM.EXE must be installed with SYSPRV and SYSNAM.

Note that these installation instructions allow remote systems to connect to the NNTP using the task specification: "TASK=NNTP". This is compatible with the task specification of the NNTP process supported under Ultrix.
 
You can connect the NNTP executable to a known object number and name if desired using object definition within DECnet's NCP utility (this process is not documented here), to allow incoming connection task specification strings of the form "NNTP=" and so on. If the remote system is an ANU NEWS VMS system, then the logical name NEWS_decnet-server-name_TASK can be used to specify the required task connection string on the remote system.

14.2.4 CMU TCP NNTP Server and Server/Client Nodes

1.	Copy nntp_tcpcmu.exe to a location accessible to the SYSTEM account (this example uses tcp$system).

2.	In sys$manager:internet.config insert the following lines:

 ; Define the well-known ports we support and their servers
 ; WKS:port:procname:imagename:status:privs:priority:queuelimit
 ;
 WKS:119:NEWSRV:TCP$NEWSRV:NETWRK:NETMBX,TMPMBX,SYSPRV,PHY_IO:4:5

3.	In sys$manager:ip_startup.com insert the following line:

 $ define/system tcp$newsrv tcp$system:nntp_tcpcmu.exe

14.2.5  WIN TCP NNTP Server and Server/Client Nodes

1.	Copy nntp_tcpwin.exe to twg$tcp:[netdist.serv]

2. 	Add the following block to twg$tcp:[netdist.etc]servers.dat

    # NNTP
    service-name    NNTP
    program         TWG$TCP:[NETDIST.SERV]:nntp_tcpwin
    socket-type     SOCK_STREAM
    socket-options  SO_ACCEPTCONN | SO_KEEPALIVE
    socket-address  AF_INET , 119
    working-set     200
    maxservers      5
    INIT            TCP_Init
    LISTEN          TCP_Listen
    CONNECTED       TCP_Connected
    SERVICE         Run_Program

3.	Add the following line to twg$tcp:[netdist.etc]services.

    NNTP    119/tcp    #NNTP NEWS Server

4.	Stop/Id on the INET_SERVERS process and restart it by running  @twg$tcp:[netdist.misc]inetserv

14.2.6  Multinet TCP NNTP Server and Server/Client Nodes

1.	Copy nntp_tcpwinmultinet.exe to multinet:nntp_server.exe

2. 	Invoke the Multinet services configure program:

    $ MULTINET CONFIGURE/SERVER
	SERVER-CONFIG> add nntp
	[Adding new configuration entry for service "NNTP"]
	Protocol: [TCP]  TCP
	TCP Port number: 119
	Program to run: MULTINET:NNTP_SERVER.EXE
	[Added service NNTP to configuration]
	[Selected service is now NNTP]
	SERVER-CONFIG>

3.  Restart thje Multinet Server driver using the "restart" command

This section describes some hints as to how to feed new postings from a VMS NEWS site to an adjacent non-VMS system (commonly a Unix system). There are two basic approaches: Using the NNTP network protocol and TCP/IP on VMS, or using a VMS/Unix mailer.

15.1  NNTP-based NEWS feeds

The NNTP approach uses the "ihave/sendme" protocol described in the NNTP standard. The following changes have to be applied:

•  Modify NEWS.SYS on the VMS system:

    unixnode:world,inet,arp,anu,canb,comp,sci,rec,news,misc,soc,talk,aus,alt:N:\
    NEWS_MANAGER_DEV/[IHAVE_UNIXNODE]COLLECT.IDS

The relevant entry now specifies that the VMS system will append the message identifiers to the specified file, rather than placing the entire message text into the posting area (the 'N' flag in the SYS entry specifies message identifier transmission).

•  In the Skim command procedure on VMS, the following commands are used to invoke NNTP:
 
    $ Distribute:
    $   write sys$output "Copy items to other sites"
    $   set on
    $   nntp_xmit :== $ news_manager:nntp_xmit
    $Search_1:
    $   nodedir = f$search("news_manager:ihave_*.dir",2)
    $   If nodedir .eqs. "" Then goto abort
    $   node = f$parse(nodedir,,,"NAME","SYNTAX_ONLY") - "IHAVE_"
    $   senddir = "news_manager_dev:[ihave_" + node + "];"
    $   savedfiles = senddir - ";" + "*.*;*"
    $   node = node + "::;"
    $Search_2:
    $   file = f$search(savedfiles,3)
    $   If file .eqs. "" Then goto search_1
    $   on error Then goto no_copy_2
    $   nntp_xmit 'node tcp 'file
    $   delete 'file
    $No_copy_2:
    $   goto search_2

•	If the VMS system does not feed to additional systems then no further changes are necessary (i.e. the VMS system is a logical end-node in the news network topology). However if the VMS system does relay network batches (i.e. a routing node with respect to the NEWS network), then you will need to modify the configuration file  NEWS_MANAGER:NEWS.DISTRIBUTION to ensure that news batches are forwarded correctly through this VMS  node to all adjacent nodes.

15.2   Mail-based NEWS feeds

The second approach is based on the existance on a mail link between the two systems.

•	On the VMS system you will need to define two mail destinations: newsmail and rnews. These mail destinations are used by the Unix system as the default mail destination of forwarded news batches. If the news manager username is NEWSMGR then the following logical names need to be defined on the VMS system:

    $ DEFINE/SYSTEM NEWSMAIL NEWSMGR
    $ DEFINE/SYSTEM RNEWS NEWSMGR

•	The VMS NEWS.SYS file requires the entry:

    unixnode:world,inet,arp,anu,canb,comp,sci,rec,news,\
    misc,soc,talk,aus,alt:BN:\
    NEWS_MANAGER_DEV/[POST_UNIXNODE]NEWS.BATCH

The 'B' flag indicates the news item texts are to be stored in the post area, and the 'N' transmission flags indicate that the the mail format uses leading 'N' characters in the mail body to delineate the news batch from the mail headers.

•	In the Skim command procedure on VMS, the following commands need to be inserted:

    $Distribute:
    $    write sys$output "Copy items to other sites"
    $    set on
    $Search_1:
    $    nodedir = f$search("news_manager:post_*.dir",1)
    $    If nodedir .eqs. "" Then goto Exitlabel
    $    node = f$parse(nodedir,,,"NAME","SYNTAX_ONLY") - "POST_"
    $    senddir = "news_manager_dev:[post_" + node + "];"
    $    savedfiles = senddir - ";" + "*.*;*"
    $    node = node + "::;"
    $Search_2:
    $    file = f$search(savedfiles,2)
    $    If file .eqs. "" Then goto Search_1
    $    on error then goto No_copy_2
    $    mail 'file' in%"""rnews@"node'"""
    $    delete 'file
    $No_copy_2:
    $    goto search_2

•	On the Unix system an entry needs to be inserted in the aliases file:

    rnews: "|/usr/lib/news/uurec"

Variants of these approaches are possible, such a mailing the 'ihave' list of message-ids to the unix site, and then having the Unix site respond with 'sendme' control messages back to the VMS system using mail (or any other means of message transfer) as the message transport. The comments in the distributed version of NEWS.SYS contain additional information on how to set up such distribution mechanisms.

Additional notes which haven't been put in the correct place yet (or even finished for that matter!)

Compilation Settings

JUNKNODOT

	#define JUNKNODOT	0

The USENET news standard states that items are only passed between nodes within the USENET as long as the item has been posted to at least one newsgroup within the USENET hierarchy. This is expressed by stating that all items must be posted to newsgroups which contain at least one period ('.') in the newsgroup name. The implicit assumption made in the standard is that all local (non-network) newsgroups are non-hierarchy newsgroups ("local", "general", etc), while all network newsgroups have at least one period.

If JUNKNODOT is set to 1, then the prerequisite that all incoming items must be posted to hierarchy newsgroups (which contain periods i their names), is enforced by the ADD command processor. The distribution value of 0 implies that this requirement is not enforced by NEWS.

NEWGROUP_REG

	#define NEWGROUP_REG	0

This compiler constant is the default register value for new newsgroups. With a value of 0 users are not automatically registered into new newsgroups. With a value of 1, new newsgroups are automatically registered in new newsgroups (strictly speaking the value for automatic registration is between 1 and 255, but using a value higher than 1 is not recommended). Note that if a user specifies preferred new newsgroup action by the SET PROFILE/NEWREGISTER command, then the user profile setting overrides the NEWGROUP_REG setting.