This document provides definitions of some of the terms used in Backtalk
and its documentation.
Much of the terminology used in Backtalk is inherited from Marcus Watts'
Picospan conferencing system.
- Accounts
-
Accounts, or login IDs, are assigned to each Backtalk user.
Each account is protected by a password to ensure only that user can
use it.
Normally these Backtalk accounts are completely distinct from any real
Unix accounts that may be on the host machine.
Having a Backtalk account on such a system would give the user no access
to any part of the system except the Backtalk conferences.
In this normal case, accounts are created using the Backtalk
makeacct program.
Users can change their passwords, edit other settings,
or delete their own accounts through Backtalk.
Conference administrators can perform all these
functions on any user's account.
It is possible to configure Backtalk to use the real Unix accounts on the
host computer as Backtalk accounts. This is normally done on systems
where administrators want to give users a choice of either using Backtalk
or using the Yapp or Picospan
tty-based conferencing systems, since users must have Unix accounts
to access the latter.
If Unix accounts are used, account administration is done through the
standard Unix administration tools, not through Backtalk.
- Administrator
-
Conference administrators are those users who have access to the Backtalk
Administration account.
This is a special account
whose name is compiled into Backtalk and
which has a large number of special powers.
Normally a conference administrator would also have access to the Unix
account under which Backtalk runs, so they can directly edit configuration
files and such.
However, all normal administrative functions can be performed through the
web.
Normally the administrator account is not used for day-to-day conferencing
even by the conference administrators.
They should switch over to that account
only to perform administrative functions.
Administrators have the powers of fairwitnesses
in all conferences.
They can kill,
censor, hide,
and retitle items even on systems
where fairwitnesses are denied those powers.
Administrators can also reassign fairwitnesses, and
open or close conferences.
It is the administrators alone who can create and destroy conferences.
Administrators also can create, destroy, validate
and invalidate
user accounts on most Backtalk installations.
They can also change the passwords of other users.
Obviously the conference administration job is one that should be filled
by a trustworthy and capable person.
- Anonymous Users
-
Normally all Backtalk users must establish their identity through some
authentication scheme, but Backtalk can be
configured to allow users who have not identified themselves to have read-only
access to the conferences.
These anonymous users cannot post,
and because they do not have participation files,
Backtalk will not remember for them which items they have already seen.
If there is a shy list installed, anonymous users will not
be able to read responses entered by users on that list.
- Apache HTTP Daemon
-
Apache is a modular HTTP daemon distributed by the
Apache group. Though Backtalk can be used with any standard HTTP daemon,
Apache has several features that make it ideal for use with Backtalk.
First, it supports using dbm files for
password database.
For systems with large numbers of users,
this can mean much faster authentication than the standard flat files.
Second, the Backtalk distribution includes an optionally installable
external authentication module for Apache.
Together with our pwauth program, this provides a
simple and secure method for authenticating real Unix accounts even on
Unix systems where passwords are hidden in a shadow database and can
thus not be read by the HTTP daemon itself.
Apache is available from the Apache web
page.
- Authentication
-
Authentication is the process by which users establish their identity to
Backtalk.
Backtalk can be set up to allow limited access to
anonymous users, but to participate fully users
must authenticate.
Authentication allows Backtalk to reliably tag all postings with the name
of the author. It also helps Backtalk maintain individual information
about each user in the user databases.
Normally authentication is done using the standard authentication methods
built into all modern web browsers.
The first time the user accesses a
Backtalk page he or she
will be asked to give a login name and password in a little
pop-up box on his screen.
This authentication process is handled entirely by the host system's
HTTP Daemon and the user's web browser and is based
on the information in the password file.
- .Backtalk File
-
The .backtalk file, kept in the user's home directory,
contains all sorts of information and switch settings.
It is a tag file and is the catch-all place for
miscellaneous user information.
On most systems
it contains the publicly readable biographical information
(email address, phone number, life story, etc) displayed when users
ask for information about the user.
On systems where real Unix accounts are used, that information is
taken preferentially from the user's .plan file.
It is used to keep option settings on all installations.
There is also a ``dflt.backtalk'' file kept in the bbs directory where the
system administrator can store default values for user who don't set there
own.
- Backtalk Script Language
-
Backtalk is an interpretor which follows the
instructions in a script.
The Backtalk script language is actually a very powerful programming language
which includes such facilities as loops, conditionals, user-definable
functions, recursion, multi-dimensional arrays, and global and local
variables.
It is designed for very rapid execution.
It is not, however, very readable or easy for beginners to understand.
Backtalk's language is an stack-based RPN language, very
similar in syntax to Postscript.
A full description of the Backtalk Script Language can be found in the
Language Manual.
- Binary Files
-
To improve performance, Backtalk automatically compiles all
script files into binary files which can be loaded and
executed much more efficiently.
The Backtalk compiler makes this translation.
A binary file has the same name as its corresponding script file, except
that the ``.bt'' suffix is replace with a ``.bb'' suffix.
- Browsers
-
A web browser is a program for accessing documents on remote systems and
formating HTML documents for display.
There are hundreds of web browsers around, but the best known are Netscape,
Microsoft Explorer, Mosaic and Lynx.
All users must use a web browser to access Backtalk.
Unfortunately, browsers aren't very well standardized.
Backtalk can automatically recognize which types of features some of the
more common browsers have by looking them up in its browser database.
This allows Backtalk scripts to adapt to the capabilities of a particular
user's browser.
- .Cflist File
-
The .cflist file, kept in the user's home directory,
maintains his hot-list of favorite conferences.
Backtalk allows him to quickly browse through these conferences in the
given order.
There is also a ``dflt.cflist'' file kept in the bbs directory which the
system administrator can set to a conference list to be used for all users
who do not define their own .cflist files.
- CGI Programs
-
Programs which are designed to be run from a HTTP daemon,
and which generate HTML output are called ``CGI programs.''
Backtalk, the confutil program
and the makeacct programs are all CGI programs.
On most systems, all CGI programs must be installed under a system
directory called cgi-bin.
- Cgi-bin Directory
-
The cgi-bin directory is the standard place to keep CGI
programs on Unix systems.
Where exactly this directory is in the Unix directory tree seems to
vary wildly from one system to the next. It is usually defined
in the HTTP daemon configuration file called ``httpd.conf,''
however the location of that file also varies wildly from system to the next.
Normally Backtalk will be installed not in the cgi-bin directory itself, but
in a subdirectory of the cgi-bin directory, usually called ``pw''. This
subdirectory will also contain a file called
``.htaccess'' which tells the HTTP daemon that users
must be authenticated
before running the programs in that directory.
The makeacct program, on the other hand, will usually
be installed directly in the cgi-bin directory, since you want users without
accounts to be able to request accounts.
Often a link to Backtalk will be installed in the cgi-bin directory to
allow anonymous users to have read-only access to
the conferences.
A link to Backtalk may also be installed in a subdirectory of cgi-bin called
``adm.'' The ``adm'' directory would have a .htaccess file which points
to the same password database as the one in ``pw'' but has a different
keyword. This is used primarily when a
administrator wants to switch from his personal
account to the administration account.
Most web browsers are very reluctant to let a user
change authentications, so running an apparently different copy of of
Backtalk which happens to have a different keyword in its .htaccess file
will fool the browser into letting you re-authenticate.
- Closed Conferences
-
Normally all authenticated
users will have access to each conference.
But conferences can be set up so that only a limited subset of the
users may fully participate.
Other users may be completely banned from accessing the conference,
or may have read-only access to it.
(The latter type of conference is sometimes called a
fishbowl conference.)
Access to a closed conference may be limited either by a list of which
users may join, by a password that must be given to join, or both.
The list of users and the password are maintained by the
fairwitnesses of the conferences.
- Command-Line Administrative Tools
-
Though all Backtalk user administration tasks can be done
through the web interface, it is sometimes useful to be able to perform
these functions from Unix shells. Backtalk includes a set of command-line
administrative programs that can help with this:
- btmkuser - create a user account.
- btpasswd - change a user's password.
- btrmuser - delete a user account.
- btvalid - validate or
invalidate a user account.
- Compiler
-
The Backtalk Compiler (btc) preprocesses Backtalk
scripts into binary files which
can be executed much more quickly then the original scripts.
You don't normally need to compile Backtalk scripts yourself. Backtalk will
do so all by itself, as needed.
To explain more precisely what it does, we need to get a bit more technical
than this glossary normally does, but lets have at it anyway....
It converts the original free-format text file into
a compact fixed-format binary file, stripping out all comments and white
space as it does so.
It binds names of built-in functions and system variables so they do
not have to be looked up in the system dictionary at run time.
Some Backtalk variables are constants,
whose names are known to the system at compile time.
The compiler removes all constants from the program
and replaces them with their values
so they do not have to be evaluated at run time.
If you are applying built-in functions to constant arguments,
Backtalk will often be able to evaluate them at compilation time.
This mechanism enables conditionally compiled instructions to be included in
Backtalk scripts, making it easy to write efficient scripts that behave
differently on different system configurations.
The compiler can also insert copies of other script files
that your script calls directly into the binary,
so that the other file doesn't have to be found and loaded at run time
(this can result in binary files being bigger than the source files).
Binary files are written in an architecture independent format, so that they
can be shared between different types of computers.
- Confer Conferencing System
-
``Confer'' is the name of a conferencing system written in 1975 by
Robert Parnes at the University of Michigan in Ann Arbor.
It was a predecessor to the Picospan and
Caucus conferencing systems.
Confer pioneered many of the design features in Backtalk.
- Conferences
-
A Backtalk conferencing system may have any number of conferences on it.
A Conference is a forum for discussing some broad subject area.
Conferences correspond roughly to newsgroups or mailing lists,
but are differently structured.
Each conference has a short name,
like ``cooking'', ``internet'' or ``chess.''
One or more people are assigned to
fairwitness the conference.
Users may enter items into the conference,
each of which would have some narrower subject.
Only the conference administrator can
create new conferences.
- Confutil
-
The confutil program is a small CGI program used by Backtalk's
web-based conference administration tools.
These allow the Backtalk administrator
to create and delete Backtalk conferences.
- DBM Files
-
Most modern Unixes have support for some form of dbm database.
These are specially designed to allow finding specific entries in very
large databases very quickly, without having to search the whole database.
Backtalk can be configured to use dbm files for various parts of its
user database.
This can significantly improve performance on systems with thousands of
users.
- Erasing Responses
-
Backtalk makes it possible to erase or censor individual
responses.
Depending on the configuration, the power to erase responses may be allowed
to the user who posted it, or to the fairwitness
of the conference it was posted in.
Administrators can always erase
responses.
Backtalk can be configured to save a copy of any erased response in a file
not normally accessible through Backtalk. This make it possible to
recover inappropriately censored text.
- External Authentication
-
External authentication
is a feature supported by one of the
Apache HTTP daemon's contributed modules.
With external authentication, the HTTP daemon does not check the
validity of a login/password combination itself. Instead it runs another
program which is given the login and password, and returns a flag telling
if the authentication is good or not.
This is used in Backtalk installations where real Unix accounts are used
to run the pwauth program.
- Fairwitnesses
-
This is the title Backtalk uses to describe the person or persons
``in charge'' of a conference.
Other systems use the names ``host'' or ``moderator'' to mean the same thing.
Fairwitnesses oversee a particular conference and work to maintain a suitable
tone and atmosphere. They have various special powers over their conferences.
Only a fairwitness can enter the first item in a conference.
Only fairwitnesses can link
items from other conferences into their conference.
They can edit the conference login screens and may
be able to adjust other conference-specific settings.
Depending on how Backtalk is set up,
fairwitnesses may have the power to
kill, retitle,
freeze or
retire items.
They may be able to hide and erase
responses.
In closed conferences,
the fairwitness can maintain the list of users who may access the conference,
or the secret password through which must be given to access the conference.
Backtalk inherits the rather odd name ``fairwitness'' from
Picospan, which lifted it from Robert Heinlein's novel
Stranger in a Strange Land, where it means something different.
- Fishbowl Conferences
-
A fishbowl conference is a closed
conference which anybody can read,
but which only a limited number of users can post to.
(Incidentally,
a lot of Backtalk's conference reading code evolved from a program
called bbsread that Jan Wolter wrote long ago to simulate fishbowl
conferences in the Picospan environment.)
- Flavors
-
Backtalk can support a wide range of different
user interfaces.
When a choice of different interfaces is installed on a Backtalk system,
they are called ``flavors.''
Currently the major flavors of Backtalk are vanilla,
and pistachio.
We expect to develop a richer variety of flavors in the future, but at this
time the underlying architecture of Backtalk is still evolving, and keeping
a large number of interfaces up to date would be a bother.
- Forgetting Items
-
A user can forget any item in any conference he or she
is a member of.
This means that new responses to that item
will not be shown to the user in the future; the
item will seem to disappear from the conference
unless the user specifically requests to read it.
This has no effect on any other user's ability to continue reading the
item.
- Freezing Items
-
A frozen item
is one to which no more responses may be posted.
Items may be frozen or thawed by the conference's
fairwitness
or, if Backtalk is configured to allow it,
by the user who originally entered the item.
Frozen items may also not be retitled,
and responses in them may not be hidden or
erased.
- Hiding Responses
-
Backtalk makes it possible to hide responses.
These hidden responses
will not be displayed when the item is read, but instead a button will be
shown that can be clicked to read the text of the response.
This is useful for very long responses.
Users may always hide their own responses,
and the fairwitnesses may be able to do so for
other user's responses if the system has been configured to allow this.
Administrators can always hide any
user's responses.
- Home Directories
-
Each Backtalk account has a home directory on the
Unix file system where various files are kept with information about the
user.
The file kept in users' home directories include
their participation files,
their .backtalk file,
their .cflist file, and,
in some configurations, an ``id'' file containing
the primary user database information.
On systems where real Unix accounts are used,
a user's Backtalk home directory is his real Unix home directory.
To prevent clutter in the home directory,
the user may keep all his Backtalk files in a subdirectory called ``.cfdir''.
The files will be owned by the user, which would normally
make it impossible for Backtalk to update them.
The partutil program,
which must be used in such installations, provides a work-around for this
problem.
In the more usual case of systems where Backtalk accounts are distinct from
Unix accounts, the user's home directory is maintained by backtalk and it
owns all the files in it. The user would have no access to the directory
except through Backtalk and would normally not be aware that it exists.
- .Htaccess File
-
A .htaccess file in a directory tells the HTTP daemon
who should have access to the files in that directory.
The .htaccess files in the cgi-bin subdirectories where
Backtalk is installed
tell the HTTP daemon how to do authentication for Backtalk.
Normally the .htaccess file will point to the password
file which Backtalk maintains,
but on systems where real Unix accounts are used,
it will instead tell the Apache HTTP daemon
to run the pwauth program to do authentication.
- HTML Document Language
-
HTML is a simple document language most commonly used in writing web
pages.
It consists of ordinary English text with various tags inserted into
it that tell things like what font to use and where to make paragraph
breaks and section headings.
It also includes codes for including in-line images and clickable pointers
to other documents.
Most web browsers will let you see the HTML code
from which the pretty display on your screen was generated by selecting
``View Document Source.''
The Backtalk program generates all its output as HTML, which is then
converted into handsomely formatted text by your web browser.
Unfortunately, HTML isn't as well standardized as one would like, so
what appears on your screen may vary depending on which browser you use.
HTML stands for ``HyperText Markup Language.''
- HTML Responses
-
Normally Backtalk users enter responses by typing them in exactly as they
want them to be displayed. However, Backtalk also allows users to enter
responses containing HTML commands.
This makes it possible to do fancy formatting and to include images, tables
and links in responses.
Backtalk automatically sanitizes all HTML responses, ensuring that all
opened tags are closed, and completely removing certain tags that would
tend to mess up the page.
In installations where Backtalk coexists with
Yapp,
HTML responses would be a problem, because users of the text-based
conferencing interface would see ugly HTML tags in the responses instead
of neatly formatted text. So on such systems, Backtalk automatically
generates a plaintext version of each HTML response and stores both versions
in such a way that Picospan or Yapp will only display the plaintext version.
To help out authors of HTML responses, Backtalk allows them to preview their
postings. On systems where Picospan or Yapp are used, it can be set to
show how the response will look in both interfaces.
- HTTP Daemons
-
Any computer that is to serve web pages
(i.e., make them available on the internet)
must be running some kind of HTTP daemon, usually called ``httpd.''
The HTTP daemon waits to receive incoming requests and dispatches
the appropriate output, usually an HTML document.
It also takes care of handling any authentication necessary to access
documents, and maintains logs of HTTP requests served.
HTTP daemons can be configured to allow CGI programs
to be run. In this case, instead of sending some static HTML file in
response to a request, the HTTP daemon runs some other program which,
in real time, generates the HTML to be sent to the remote user.
Backtalk is a very elaborate CGI program, and the normal way it is run
is by an http daemon.
Thus Backtalk has a fairly intimate relationship with the host system's
http daemon, and correct configuration of the HTTP daemon is important
to Backtalk's correct functioning. Luckily, these things are pretty
well standardized, and Backtalk will work well with any of the common
HTTP daemons.
However, if the Apache HTTP daemon is used, Backtalk
can be configured in ways that will improve its performance on systems
with large numbers of users, and if you wish to use real Unix
accounts for authentication, we only support Apache.
HTTP stands for ``HyperText Transfer Protocol.''
- Interpretor
-
The Backtalk program is actually an interpretor for the
Backtalk script language.
The content and layout of the pages displayed by Backtalk and the function
and appearance of the controls on them is not programmed into Backtalk.
Instead, a large set of scripts is used to drive the
generation of the pages.
Backtalk works by following the instructions in a script.
Doing this is called ``interpreting the script.''
The Backtalk Interpretor does not actually execute the script files directly.
Instead, the Backtalk Compiler first translates them
into binary files, doing quite a bit of optimization.
The binary files are saved so that the scripts do not need to be recompiled
everytime they are run (unlike Perl scripts). Backtalk is smart enough to
recompile them only when there has been some change in the scripts or the
system configuration.
Implementing Backtalk as an interpreter makes it is easy to change and
redesign the pages, so that Backtalk is an extremely flexible and new
features can quickly be incorporated.
However, this makes Backtalk a bit slower than some systems where the
look-and-feel is fixed.
- Index Files
-
The PicoSpan file structure had one major weakness.
The program didn't a fast way to find the 200th response to a item without
reading through all responses of the item, counting as it went.
This made it slow in some ways.
Backtalk addresses this problem by maintaining an index file for each
item, that tell exactly where to find each response.
On systems where Backtalk coexists with PicoSpan or Yapp, Backtalk can't
count on them to do their part to maintain this file, so Backtalk is very
good about fixing them up as needed.
Use of index files significantly speeds up Backtalk.
- Items
-
Users may enter any number of items in any conference
that they have access to
(except that only the fairwitness may enter the
first item in a conference).
The item author supplies a title and introductory text when he or she
enters the item.
The system assigns it a unique identifying number within the conference.
Other users may then attach responses
sequentially to the end of the item.
Some systems call items ``topics.''
- Killing Items
-
When an item is killed it is permanently removed from a conference.
If it is not linked to any other conference, then it
permanently disappears from Backtalk and the disk space consumed by the
item is recovered.
Both administrators and
conference fairwitnesses can kill items.
If Backtalk is so configured, item authors may also kill their own items,
but only if nobody else has yet responded to them.
- linkconf Program
-
The linkconf program
will not be used in the vast majority of Backtalk installations.
It is only used
where it is desirable to have Backtalk accessible via both the normal
web interface using Backtalk-only accounts and via
lynxcgi.
It is a Unix command that attaches a Unix uid number to
a Backtalk account name by creating an entry in the mapuid
file. (Actually, we haven't tried using this for years, and would be
surprised if it worked.)
- Linking Items
-
Backtalk allows the same item to appear in two different
conferences via the mechanism of linked items.
The fairwitness of a conference may link any item
from any open conference into his conference.
After that, the same item will appear in both places, as will any future
responses.
Fairwitnesses cannot retitle linked items or
hide or erase responses in them.
This is to prevent fairwitnesses of one conference from
exercising power of items in all other conferences simply by temporarily
linking them into their own conferences.
- Login Screens
-
Each conference
has a login screen that is displayed when a user first
enters it. This usually displays the name of the conference and may give
a bit of information about it, including the
fairwitnesses' names.
It may be edited by the conference's fairwitnesses.
In Backtalk there may be two versions of it.
An ASCII version which would also be seen by any
Yapp or Picospan users,
and an HTML version that may include images and web links.
Backtalk will see only the HTML version if both exist.
- Lynxcgi
-
The lynx web browser
has an optional feature called ``lynxcgi,''
which allows lynx to run CGI programs directly, without
need for communicating with an HTTP daemon.
We have been interested in using this to provide a way for users logged into
the host system to run Backtalk directly, without having to have internet
access. The mapuid file and the
linkconf program are part of this.
This is not at this point fully developed.
- Lynx Web Browser
-
The lynx web browser
was written and distributed by the University of Kansas.
It is a text-only web browser that will work on almost any computer terminal.
Lynx has an interesting optional feature called lynxcgi
which some experimental Backtalk code uses.
- Makeacct Program
-
The makeacct CGI program
is Backtalk's tool for automatically creating user
accounts.
It can be used only on systems where Backtalk accounts are not the same
as Unix accounts. On other systems, standard Unix tools should be used
to maintain accounts.
Makeacct is normally set up so that anybody can run it. It can either be
configured so that the accounts it creates are immediately usable, or
so that they cannot be used until the
administrator has validated
them.
- Mapuid File
-
The mapuid dbm file
will not be used in the vast majority of Backtalk installations.
It is only used
where it is desirable to have Backtalk accessible via both the normal
web interface using Backtalk-only accounts and via
lynxcgi.
It maps the user's Unix login ID to his Backtalk account name and is only
used when accessing Backtalk through lynxcgi.
- Open Conferences
-
An open conference is any conference that is not
closed.
That is, any user with an account can participate in the conference.
- Partutil Program
-
The partutil program is used only on systems where real Unix accounts
are used and Backtalk is to cooperate with Picospan or
Yapp.
In this case, the files stored in the user's
home directory are owned by the user, and thus not
writable by the Backtalk program. The partutil program is a work-around
for this problem.
It is an suid-root program which can be called by Backtalk to
creates or destroys these files, and to permit the to be writable to a
Backtalk's Unix group-ID. Various safeguards are built-in to prevent
partutil from being run by anyone other than Backtalk.
- Participation Files
-
For each conference that a user joins,
the user is given a participation file, which is kept in his or her
home directory.
The participation file keeps track of which items and
responses the user has seen,
so that the next time the user joins the conference, he can look at only
the new material that has been posted since his or her last visit.
The participation file also keeps track of which items the user has
forgotten, and his current name in this conference.
(Users can have a different default name in each conference.)
- Password File
-
This is a database that keeps an encrypted passwords for each Backtalk
account.
It is used by the HTTP daemon to
authenticate users.
This password stored here may be changed by the user,
but is never displayed.
On some installations the password database
will be identical to the Unix system's password database,
but more often it will be a separate file used only for Backtalk.
In the latter case it may be either a flat file (which is slow to access but
easy to maintain), or a dbm file (which is fast but harder to maintain and
works only with the Apache http daemon).
- Peek
-
The peek script is a simple tool that makes it possible
to write simple URLs pointing at particular conferences, items or responses
with in a Backtalk conferencing system that allows
anonymous reading.
Thus, any web page can point to anything in any
open Backtalk conference.
- Picospan
-
Picospan is a conferencing system written by Marcus Watts sometime around
1983 and sold by him to a company called NETI sometime thereafter.
It is a text-based system with a design strongly influenced by
Confer. It has no web interface.
Unfortunately, NETI died a spectacular death (Fortune magazine called it
the biggest stock scam in the history of the Vancouver Exchange), and
pulled Picospan down with it, so it is impossible to buy Picospan these
days. Picospan still runs at Grex
and The Well.
Yapp is a good clone of Picospan.
Backtalk is designed to be compatible with both Picospan and Yapp,
and it's design has been heavily influenced by Picospan.
- Pistachio Interface
-
The pistachio user interface is the fancier of the
two interface flavors currently available for Backtalk.
It was originally a testbed for playing with various
advance HTML features,
but has evolved into by far the more mature of the two interfaces.
It has a wider range of capabilities than the
vanilla interface.
- Postscript Language
-
Postscript is a document language devised by the Adobe Corporation.
Though it is best known as a way to communicate to printers, it is, in fact,
a rich and powerful programming language.
The Backtalk script language is in many ways
similar to Postscript.
- Primary User Database
-
The primary user database keeps the user's full name,
user-id number, group-id number and
home directory path name.
Only the first of these may ever be changed by the user.
The rest is for internal use by Backtalk.
On systems where real Unix accounts are used this information is kept in
the same Unix database as the encrypted passwords, and is not maintained
by Backtalk.
On the more usual installation where Backtalk accounts are distinct from
Unix accounts,
this can be stored in several different places.
It can in the same file as the password database,
but only if the HTTP daemon will tolerate having extra
information there (most won't).
Otherwise the primary user database can be kept in a separate file or dbm
with entries formatted similarly to those in a Unix passwd file.
Alternatively, on systems where users have no direct access to their home
directories, the directory name can be constructed from the user's login
name, and the rest of the information can be kept in a
tag file called ``id'' in their home directories.
- Pwauth Program
-
The pwauth program is an external authentication
program for use with the Apache HTTP daemon in Backtalk
installations where real Unix accounts are to be used.
Given a Unix login id and password, it check if this is a valid login.
Most Unix systems these days have shadow password databases, so that pwauth
has to be an suid-root program to access password information. This is
the whole reason for using external authentication - the HTTP daemon is
not (and should not be) root, so it can't do the authentication itself.
Pwauth can also be configured to update the lastlog database on systems
where that information is used to expire accounts.
- Responses
-
Any user may post responses to any unfrozen
item in any conference that
he can join.
Responses are appended onto the item, with each response having its own
number sequentially assigned.
Like the text of an item,
responses may be hidden or erased,
but they cannot be edited once posted.
- Retiring Items
-
A retired item still is on the system, but will not
normally be displayed when users read the conference.
In effect, all users automatically forget retired
items.
They can still access the item if they specifically request to see it,
but it won't be shown if they are just reading new items in the ordinary
way.
Items may be retired or unretired by the conference's
fairwitness,
the administrator,
or, if Backtalk is configured to
allow it, by the item's original author.
- Retitling Items
-
Every item in Backtalk has a one-line title, initially
assigned by the person who entered the item.
This title can be changed to clarify it or to make it more accurately
describe the trend of the discussion in that item.
The administrator can do this on all Backtalk
installations, and the fairwitness and the original
item author may be able to do so if Backtalk is configured to allow this.
Frozen items may not be retitled.
- RPN Expressions
-
RPN is a way of writing expressions with the operators after the
arguments instead of between them.
Thus instead of ``3 * (2 + 4)'' we write ``3 2 4 + *''.
RPN is best known as the notation used in old Hewlett-Packard calculators,
but it is also the basis of a number of very simple and powerful programming
languages, like Forth, Postscript and
the Backtalk script language.
RPN stands for ``Reverse Polish Notation.'' This is not a Polish joke.
It's named in honor of the Polish logician Jan Lukasiewisz.
It's also called ``postfix notation''.
- Scripts
-
Backtalk's behavior is driven by script files.
Each script is a program written in the Backtalk script
language, which is run to draw a page on the display, with all the
buttons and controls required.
All script files are kept under in the script directory, and have names
ending with a ``.bt'' suffix.
- Shy lists
-
One one of the early systems where Backtalk was installed, some users objected
to having anonymous users being able to read their
responses. So we added support for an optional ``shy list.'' When an
anonymous person reads conference through Backtalk, any messages entered by
users whose names are on the shy list are automatically hidden from view.
The ``shy'' program can be used by people to add themselves to the shy list.
- Tag Files
-
Backtalk uses tag files for internal purposes in various places.
These are simply files containing a number of labeled fields, where each
field can be loaded individual into a variable.
Specific fields can be marked as being read-only.
Tag files are a flexible way to store random miscellaneous information in
a single file.
- User Database
-
Backtalk maintains a variety of information associated with each
user account.
Some of it is in various user databases,
some resides in a user's home directory.
The structure of these databases is very installation dependent.
It comprises the password file,
the secondary user database,
the users' .backtalk files,
the users' participation files,
and the users' .cflist files.
- User Interfaces
-
The functionality and appearance of a Backtalk user interface is
controlled entirely by a set of scripts.
Backtalk allows several different interfaces to be installed on the system,
so that each user can choose his or her favorite.
These are called flavors.
- Validation of Accounts
-
User accounts can be
``valid,'' ``unvalidated,'' or ``invalidated.''
Only valid accounts can be used to access the conferences,
and only the administrator can change the
validation status of an account.
The makeacct program can optionally
be configured to create accounts in an unvalidated state, so they cannot
be used until the conference administrator has validated them.
Accounts can be invalidated if the administrator wants to stop a user
from using his account, but does not want to destroy the account.
- Vanilla Interface
-
The vanilla interface is the more basic of Backtalk's two
user interfaces.
It is not very flashy, but it will work on even simple-minded non-graphical
browsers like lynx.
At this point it has fallen far behind the
pistachio in the features it provides.
- Yapp
-
The Yapp 2.3 conferencing system was written sometime around 1993 or 1994
by Dave Thaler of Armidale Industries.
It is a clone of Picospan with a few added features,
like fishbowl conferences.
It has a text-based interface almost identical to Picospan.
It is available as shareware from
Armidale's Web
site.
Backtalk stores its conferences in almost exactly the same format as Yapp 2.3,
and can thus be used as an alternative interface to the same conferences.
Note that Yapp 3.0 also exists and is a full Web-based conferencing system.
Presumably Yapp 3.0 is compatible with Yapp 2.3, so presumably Backtalk
is vaguely compatible with Yapp 3.0 as well.
However, I don't know why anyone would care,
since if you have one you don't need the other.