HyperNews Setup

Before filling out this form, skim through it, and then read the instructions on submitting at the end. Also, you should also carefully read the installation instructions on the HyperNews source page (see the source.html page that comes with the distribution you got since it might be different).

This form is for setting up or changing the configuration options that control how HyperNews version 1.9B5.7 operates at this site (union.ncsa.uiuc.edu). There are a few other optional customizations you may wish to make in the setup-lib.pl source - do so before submitting this form. All the configuration options are stored in a file called hnrc that is used by all the other HyperNews scripts.

Instead of running this form, you can edit hnrc and run setup.pl directly from a command line. More options are available there. Or you can use the short form to simplify the process. But read the documentation in this form in any case.

The default values for each option in the form come from the hnrc file or from setup-lib.pl. Both setup-form.pl and setup.pl look for hnrc in the HyperNews directory called $hnbin, currently "/usr/local/etc/httpd/cgi-bin/HyperNews". For compatibility with old versions of HyperNews, they also check $hnlib, currently "/usr/local/etc/httpd/cgi-bin/HyperNews/.scripts". (These directories are always computed from the URL used to access each script so you do not need to set them.)

An hnrc file has been found in /usr/local/etc/httpd/cgi-bin/HyperNews.

Each time you submit this setup form, the hnrc file will be changed in "/usr/local/etc/httpd/cgi-bin/HyperNews". The old version of this file will be moved to hnrc-old. If an error occurs, you can back up to this form (which will still have the values you used) to correct the problem and resubmit.

It is possible to install HyperNews multiple times at the same site, each time with different options. In fact, the .scripts directories of each may be linked to a single copy. If you do this, you may want to define separate document directories for each and protect them against direct http access except by administrators. All installations may share the same set of users and passwords, and a different group of users may be given access to each.

When filling in values for the following options, as a convenience, you can use the values of previously defined options (in the order presented in this list) just by using the variable name for the option. For example, $http is used several times below. Another variable that is available is $hndocs, which is the directory where the HyperNews articles headers and responses are stored, currently "/usr/local/etc/httpd/htdocs".


HyperNews URLs

$http is the URL prefix for your server; it is used in several other places below to generate URLs for documents and scripts. It can be a fixed value such as http://union.ncsa.uiuc.edu or a computed value using "$ENV{SERVER_NAME}" (which is "union.ncsa.uiuc.edu" for you) and $ENV{SERVER_PORT} (which is 80). Do not include a trailing "/".

If you have installed HyperNews in a subdirectory of /cgi-bin and you have configured your server to know that it contains CGI programs (e.g. with ScriptAlias), then select the following option to remove /cgi-bin from URLs.

Remove /cgi-bin prefix.
NO


HyperNews Documents Directory

$hndocs is the full path to the directory where your HyperNews article headers and responses are stored. For each article, a subdirectory will be created in $hndocs to store response headers. Response bodies will be stored there too (except when a URL is provided as the response body).

$hndocs may be the same as the httpd root document directory, or some subdirectory. If you use a subdirectory of the document root such as "hn", which is recommended, be sure the name is not the same as the name of the directory where the HyperNews scripts are stored or you and your server will be confused. Actually, $hndocs doesn't need to be accessible to the http server, just to the HyperNews scripts. But if you make it inaccessible to the server, make sure the icons are still accessible.

The user running your server is "httpd". This user must be able to write in the $hndocs directory. (Alternatively, the directory could be group writable by the group the user is in, "wsstaff"). You should create this directory yourself being sure to set the correct access mode. HyperNews will try to do it when needed but it will only succeed if the parent directory is also writable.

HyperNews documents directory full path ($hndocs):

$hnRootDoc is the document that is displayed if nothing else can be shown. This could be your top level list of HyperNews pages. You may specify this URL as either a hypernews path relative to $hndocs, or as any URL.

Root Document ($hnRootDoc):


Formatting Options

Header and footer text are included at the top and bottom of each article and response. These may be overridden (with URLs) on each article. This could be used to include a standard message or ISMAP, for example. If you put in anything, you probably want to separate it from the rest of the page with a <P> or <HR>.

Header Text ($headerText):

Footer Text ($footerText):

$bodytag is used to define the body tag at the beginning of the body of articles and responses. You could use this to give every page a background color or image. It defaults to a normal <BODY>.

Body Tag ($bodytag):

$globalDefaultOutlineDepth is the maximum number of levels of responses to display when viewing the responses outline on any page. It may be overridden on each article.

Default depth of the outline display ($globalDefaultOutlineDepth):


Icons

The icons directory ($hnicons) contains the icons used to show relationships between responses and what they are responding to. The mapping between relationships and icons is in $hnicons/icons-table, the default value of which is copied from /usr/local/etc/httpd/cgi-bin/HyperNews/.scripts/icons-table-dist - you should edit that to your liking before submitting or edit the actual table after that.

Icons directory full path ($hnicons):

Full URL for the same directory as $hnicons ($hniconsURL):

You only need to copy icons from the distribution once each time you install a new version of HyperNews, or not at all if you don't plan to use the distributed icons.

Copy Icons to $hnicons.
NO


Directory and File Modes

These variables specify the access mode bits for creating directories and files. We're not sure that we caught all the cases where these should be used, so let us know if you have any problems.

Directory File Mode ($hndirmode):

File Creation Mode ($hnfilemode):


People and Passwords

Administrators for HyperNews, who are given special powers beyond what normal users are permitted, are defined only during the setup process. @hnAdmin is the list of administrators for this HyperNews installation. (If you manually edit @hnAdmin in hnrc, you get to also make sure any additions are already members, and the .htAdmin file has the correct list.)

In addition to this list of administrators for all HyperNews data, each base article has an administrator (i.e. the owner) whose scope is limited to that base article and all responses to it. Only the Group administrators have administrative powers for the membership and reset password functions.

Each administrator in the list (comma or whitespace separated) should be a User ID (which may be an email address, if you allow it). Parens and quotes should not be used. E.g. liberte@ncsa.uiuc.edu, rmelo@ncsa.uiuc.edu. The first entry in the list will be given in error messages for users who need help.

HyperNews Administrators (@hnAdmin):


$hnPeople is the directory to store membership information files for each member (including administrators), one file for each member. The directory will also have one subdirectory per group.

People Directory ($hnPeople):

$hnPassword is the name of the password file.

Password File ($hnPassword):

$hnGroup is the name of the group of members who have access to documents via this particular installation of HyperNews. Each installation of HyperNews may now have a different group of users but all can share the same password file and personal info for each user. Group specific files are in the directory $hnPeople$hnGroup.

You can leave $hnGroup empty and then HyperNews will behave identically with earlier versions (this is the default for now). You can later define subgroups as well. If you want to specify a group name, the format is a path. E.g. /NCSA/SDG.

Group Name ($hnGroup):

There are several fairly complex reasons to rebuild your $hnPassword file and $hnGroup files. You should only need to do this once per installation, but do it at least once when you have finally installed the new version of HyperNews in case any new members might have been created in the interim. Passwords and group info are maintained redundantly thereafter in the membership information, the $hnPassword file, and the group specific files. If you specify a group above, then only the group file will be rebuilt.

Rebuild $hnPassword and $hnGroup files.
NO


Security Options

This version of HyperNews makes use of the internal security mechanism of NCSA's httpd and the W3C's CERN server. You can also probably make this work with Netscape's NetSite, and perhaps other servers, but it takes some independent work on your part (let me know if you do). Making use of this internal security mechanism permits the server to request authentication of users automatically, and browsers respond automatically if authentication has previously been done for the same "realm" - otherwise a dialog will pop up asking the user for their user ID and password. All this is accomplished by putting the restricted scripts in a securedir subdirectory with an access file.

If the internal security mechanism is different for your server, you could either turn off all security (which is probably dangerous), or attempt to use the "manual" security mechanism by setting the following option. This is not guaranteed to work in all cases, however, so check it out if you need it. In any event, manual security is not used to restrict reading - only commands (such as changing subscription or deletion) that have side effects.

Use Manual Security ($manualSecurity).
NO


Each of the commands or operations described in the following sections are controlled by a configuration variable. There are four possible values for each variable:

0. No One
The command is disabled. Actually, administrators will still be able to do it, but no URL will be advertised.
1. Anyone
Anyone can do it without authentication. But in most cases with this setting, if the user affected by an operation is a member, only that member may do it.

2. Members Only
Authentication is required. Administrators are members too. In other words, non-members cannot do it.

3. Administrators Only
A special check is done after authentication to see if the member is an administrator.

Users can become members via /HyperNews/edit-member.pl, but even that script may be restricted. Group administrators are only created by adding to the @hnAdmin list above. Group administrators may always perform any function. In addition, the owner of a base article is an administrator for the base article and all responses (this does not apply to the membership function).


Joining New Users

Who can join someone up as a new member of this HyperNews group? For all settings of this variable, once joined, only authenticated members may change membership information about themselves, except that Group administrators may always change anyone's information.
Disable Joining.
Anyone may join themselves.
Only members may join new members.
Only administrators may join new members. Once joined, members may edit their own membership info.

Resetting Passwords

Who may reset the password of a member?

The main purpose of allowing passwords to be reset is to deal with the situation where a user has forgotten their password. To avoid bothering administrators to reset passwords, the option is available here for anyone, or members only, to reset the password of any member. The new password is not displayed - it is only emailed, in the clear, to the person whose password has been reset. Email is not particularly secure, so you may wish to allow only administrators to reset passwords. Of course, email must be enabled for this to work - see Notification below.

As a precaution, no one, not even another authenticated administrator, may reset an administrator password, no matter what the reset option is. Instead, you have to change the password explicitly on the membership form.

Note that if you allow anyone to join themselves, then you should probably not allow members to reset passwords unless you are very trusting.

Disable Resetting.
No authentication required to reset member passwords.
Only members may reset member passwords.
Only administrators may reset member passwords.

Article Creation

Who may create new base articles or overwrite existing ones? The owner may be specified as different from the creator. The owner of a base article has administrative powers over just that base article and all its responses.

If an article is owned by a member, only that member, or an administrator may overwrite the article with a new version.

Disable Article Creation.
Anyone may create new articles without authentication.
Only members may create new articles.
Only administrators may create new articles.

Reading Articles and Responses

Who may read articles and responses?

If set to 2, all the other security variables are effectively set to level 2 or greater. (This may change in the future.)

Disable Reading.
Anyone may read without authentication.
Only members may read.
Only administrators may read - how boring - this is disabled for now.

Notification

Who may subscribe themselves to be notified by email of new responses? Once subscribed, only the user may unsubscribe if they are a member.

Disable Email Notification.
Anyone can change his/her own notification information. Anyone can change non-members notification information.
Only members can change their own notification information.
Only administrators may change notification information.


Adding Responses

Who may add a response to a page?
Disable Adding Responses.
Anyone may add new responses without authentication.
Only members may add responses.
Only administrators may add new responses.

Deleting Responses

Who may delete a response? Base articles may not be deleted.

Disable Deleting Responses
Anyone may delete responses by non-members; members may delete their own responses.
Only members may delete their own or non-members responses.
Only administrators may delete any responses.

Moving Responses

Who may move or copy responses? Moving also deletes the source responses. The ownership of responses to a response are not checked. Base articles may not be moved.

Disable Moving Responses.
Anyone may move non-member responses. Members may move their own.
Only members may move their own responses.
Only administrators may move responses.

Submitting

When you submit this form, the values you entered will be checked for several constraints, and then several things will be updated. $hnlib ("/usr/local/etc/httpd/cgi-bin/HyperNews/.scripts") must be writable by the server process when you submit in order for some of these things to be updated. Also $hnbin ("/usr/local/etc/httpd/cgi-bin/HyperNews"), $hnbin/securedir, and $hnbin/Admin (if they already exist) must be writable. As a precaution, Be sure to make them unwritable after you submit. If you want to avoid making these directories writable by the server process, instead run setup.pl directly from a command line.