Yapp Online Users Guide
Help for Yapp Sysops

Basic Information: [Interface] [Directories and Files]
Admin Functions: [Create Forums] [Delete Forums] [Mailing List Forums]
Config Functions: [Variables and RC Files] [Template Mods] [Web Interface]
Even though forum hosts can perform many of the typical Yapp maintenance functions, most likely few will ever venture beyond creating topics and modifying ulists. Like any other finely-tuned system, Yapp will run best if someone takes on the system operator responsibility.

The Yapp sysop need not be a UNIX guru or Perl wizard, though the sysop should be comfortable with moving around and modifying files in a UNIX environment. While more and more of the administrative functions are being put into a web interface, all functions are available from a command line interface. And sometimes it's just easier to edit the file directly.

It may be helpful to understand that Yapp started life as a command line conferencing system. Yapp was meant to duplicate the interface and expand the capabilities of the Picospan conferencing system. This functionality can be found in the shareware Yapp 2.3 version. Later, Yapp was modified in version 3.0 to take advantage of the web browser interface.

For the command line interface, Yapp configuration is performed by the cfadm account, which is typically set on the system as "yapp".

When operating in the web environment, configuration is performed by the Yapp sysop account. This account should be created via the normal Yapp registration process immediately after software installation. Yapp recognizes the sysop account upon login and makes available (through Yapp script conditionals) certain configuration functions not available to the normal user or host.

NOTE: the terms "forum" and "conference" are interchangeable and setting a global preference is one of the basic configuration options.

Directories and Files
Though there are other miscellaneous directories and files found in Yapp, these are the ones you will become most familiar with as the sysop. This is the top level listing for the yapp/ directory:
bin/           confs/         etc/           www/             yapp.conf
 bbs*           confname/      passwd         rc              conflist
 cfcreate*       config        .htpasswd      rc.yapp-bin     desclist
 cfdelete*       ulist                        home/           errorlog
                 _1                           templates/      
                 _2                           cgi-bin/
bin/ - location of Yapp binaries
bbs* - main Yapp program
cfcreate* - conference creation program
cfdelete* - conference deletion program

confs/ - location of conference directories
confname/ - specific conference directory; the directory name is the name of the conference
config - file containing conference configuration info
ulist - user list; listing of usernames allowed access to restricted (private) conference
_1, _2 - specific topic files; responses are stored as text

etc/ - location of Yapp user authentication files
passwd - file containing username, real name, and e-mail address
.htpasswd - file containing username and encrypted password

www/ - location of configurable Yapp templates, variables and scripts
rc - default variable configuration file
rc.yapp-bin - system specific variable configuration file; this file is automatically generated when sysop makes a web-interfaced configuration change
home/ - location of user directories
templates/ - location of web page template files
cgi-bin/ - location of Yapp scripts
public/ - scripts for public "read only" and newuser registration functions
restricted/ - scripts for registered user functions; user access to this directory requires webserver authentication

yapp.conf - file containing basic configuration options and bbs file paths
conflist - file containing conference file paths
desclist - file containing conference short descriptions
errorlog - log file for Yapp generated errors

Creating Forums
When a forum is created, the following things happen:

There are three methods for creating forums:
  1. From a Yapp prompt, logged in as cfadm - type the command cfcreate
  2. From a UNIX prompt, logged in as cfadm - run the command cfcreate
    located in yapp/bin/
  3. From a Yapp web interface, logged in as sysop - use the conditional
    Create a Forum link on the forum listing page

In each case, you will be prompted for the following information:

Short Name
The forum name; in acceptable UNIX file name format.
One Line Description
The description that is displayed in the forum listing page.
Conference Directory
The subdirectory created by Yapp to contain the conference (forum) related files. The default is the Short Name.
The login IDs of the forum fairwitnesses, otherwise known as "hosts". The cfadm or sysop accounts need not be listed as these are automatic hosts for all forums.
Conference Type
Describes the type of access permitted for this forum. The value is stored in the conference config file and can only be changed by the cfadm or sysop account. The value can be set numerically (by adding the code values for each feature) or by a combination of keywords.
Type          Code    Keyword      Description
PUBLIC         0      public       public forum
PRESELECT      4      ulist        restricted to user list (ulist file)
PASSWORD       5      password     requires additional password (secret file)
PARANOID       6                   requires both ulist and secret files
PROTECTED      8      protected    public, except topic files are mode 600
READONLY       20     readonly     non-ulist may read, not post
READPASS       21                  non-secret may read, not post
READPARA       22                  non-ulist or secret may read, not post
MAILLIST      #+64    maillist     mailing list forum
REGISTERED    #+128   registered   registered mailing list forum
NOENTER       #+256   noenter      only hosts may enter new topics

Deleting Forums
Deleting a forum is the logical inverse of creating one, the difference being that the cfdelete command is used instead, with the forum name as the argument. If no argument is entered, you will be prompted for one. There is no web interface for this function.

A forum cannot be deleted until any existing topics have been removed via the kill command.

Mailing List Forums
If the conference type includes the 'maillist' flag, then the conference is linked to a mailing list. Usually, this is a two-way link so that mail to the list appears in the conference and responses in the conference are posted to the list. See the Yapp Manual entry on security for more information on the maillist flag.

The mailing list address used to post responses is specified on line 6 of the conference configuration file. If you wanted to create a conference linked to the Yapp mailing list, the following would be on line 6 of the Yapp conference config file:


The file bbsdir/maillist specifies which incoming mail addresses go to which conference. (This is necessary because multiple incoming addresses may actually be the same list.)
The first line of the bbsdir/maillist file should be the string "!<hl01>".
The second line should contain the directory of the default conference which, if it matches a conference name, will collect mail which doesn't match anything else. If it isn't a conference name, excess mail will be lost.
The remaining lines should consist of an email address, a colon, and a conference name. A conference may have multiple entries in order to send multiple addresses to the same conference:


Make sure the email address of the cflist mail alias is on the appropriate mailing list so that you receive responses.

To be placed on the Yapp conference email list, send email to:


Ask to be placed on the Yapp conference list, and include the email address of the alias you created to receive mail. ("yapp@umich.edu" is a mailing list maintained at an X.500 directory server. Fingering it will give the current list of members.) Once the email address is added to the mail list of interest, your bi-directional link will be complete.

Variables and RC Files
The ability to configure the "look and feel" in many different ways is a major feature of the Yapp web interface. Much of the the configuration is managed through the use of variables contained in rc files. These variables are used by the Yapp scripts and templates when generating the HTML output. There are typically two such files, found in bbsdir/www. The generic rc file is contained in the original distribution. Once a change is made using the web interface, a rc.yapp-bin file is generated containing the local modifications. Further changes can be made using the sysop accessible configuration page, or by modifying the files directly from the UNIX command prompt while logged in as cfadm.

You may notice that some variables are duplicated in both files. It is important to note that when Yapp looks for variable values, it searches rc.yapp-bin first. If the the variable is not found, then the basic rc file is searched. So, if changes are made manually they should be made to the rc.yapp-bin file, leaving the base rc alone.

Template Modifications
In combination with the Yapp scripts and variables, the templates are used to produce the HTML output. All templates are found in bbsdir/www/templates. Templates can contain variables, conditional statements and straight HTML code (examples: browse, read_header, read_footer). Modifications to the templates are done by editing the files directly from the UNIX prompt while logged in as cfadm. For now, there is no web interface for editing templates.

Editing the templates has the greatest effect on the "look and feel" of the web interface. Understand though, that changes to templates are system-wide. For any given Yapp setup, there is only one "main" or "browse" page that is used throughout all conferences and topics.

Web Interface Configuration
When a user logs in as "sysop", an additional link appears on the Main Menu page as: This link takes you to a System Customization form with the current values displayed for review and modification. Items that can be configured from this interface include:

Back to: Main Index