Once established, a user's identity and access control level is used to control document access, assess charges, and provide identity information to services which require it (e.g., electronic mail).
User's identities are transparently maintained throughout their virtual "session" by encoding the user's name (in plaintext) and an expiration timestamp (encrypted) into an authentication cookie or "nonce" which is placed in all anchor URLs. HTML documents and script outputs contain tokens which are replaced this nonce when accessed.
The nonce is verified by a CGI script during at each access, and a nonce becomes invalid once the timestamp expires. If the script is given an invalid nonce, it presents users with the login/password screen. This permits users to store URLs in personal hotlists, share them with others, or continue a session beyond the administrator-specified session limit.
Access control levels are encoded in the filenames of documents and scripts. There is no need for compartmentalized access control except in the bulletin board subsystem.
In the electronic mail subsystem, incoming and outgoing mail are delivered by normal UNIX mail (/bin/mail and sendmail). When the subsystem is accessed, CGI scripts split the contents of a user's incoming mailbox into individual per-message files for easy manipulation.
In the bulletin board subsystem, newsgroups are browsed and articles are read and posted via CGI scripts which access a standard nntp server (inn). For NCMS, the newsgroups are local; however, the subsystem works just ass well for Usenet newsgroups.
Provide a forms-based search and retrieval interface, Enable searching of single or multiple databases, Support search options such as free text, boolean and fields, Source selection and source content descriptions, Highlighting of search words in returned documents, Insertion of navigation icons in returned documents, Interface to order entry subsystem from search results listing.
The document subsystem accesses local WAIS databases using the commercial product from WAIS, Inc. It does not use Z39.50. Forms are provided for formulating free-text and field-oriented queries, with boolean operators, and searching across one or more databases. CGI scripts execute the queries on the selected databases and format the returned headlines for browsing and selection by the user. When a document is selected, CGI scripts retrieve and format the document for viewing, highlighting search terms, linking multipart documents with navigation icons, and beautifying WAIS's search results summary. For documents which represent items which are orderable from the physical library collection, the results are presented as an order form instead of a normal document.
In order to make the system easy to use, document, and support, "navigation icons" are provided within document content rather than relying on the navigation controls of various browsers. At the top of each page, a row of icons traces the user's descent into subsystems by representing each level of the subsystem with a new icon. These icons as a graphical representation of the user's location in the system, and they are active hyperlinks which can be used to move easily about the subsystem.
The system features an integrated help system. On each document are two help icons, one for general system-wide help and one for help on the current page.
Administrative documentation as well as user-level documentation is provided online in hypertext format. NCMS members, staff, and system administrators are provided with a single, common user interface to the NCMS WWW server.