- Overview
- 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.
- Interface
- 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/
public/
restricted/
- Descriptions
- 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:
- A specific forum directory is created in
yapp/confs/
- A
config
file is created in the forum directory
- A path entry is added to
conflist
- The description is added to
desclist
- There are three methods for creating forums:
- From a Yapp prompt, logged in as cfadm - type the command
cfcreate
- From a UNIX prompt, logged in as cfadm - run the command
cfcreate
located in yapp/bin/
- 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
.
Fairwitnesses
- 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:
yapp@umich.edu
- 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:
- !<hl01>
- lost
- yapp@umich.edu:yapp
- cseg@zip.eecs.umich.edu:cseg
- cseg@dip.eecs.umich.edu:cseg
- cseg@quip.eecs.umich.edu:cseg
- amber@hagar.ph.utexas.edu:amber
- oberon@amber.uchicago.edu:amber
- mlist-amber@nntp-server.caltech.edu:amber
- 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:
-
yapp@armidalesoftware.com
- 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:
- machine hostname (for script redirects)
- welcome page URL
- system specific names for conferences, topics and hosts
- standard HTML headers and footers
- conference and topic list formats
- topic and response header formats
- button links and formats