Backtalk Installation Guide
Part VI: Backtalk Customization
Version 1.1.22
© 1996-2001 Jan Wolter, Steve Weiss
Prev: Part V: Apache Configuration
(Backtalk Accounts or
Backtalk Accounts)
At this point your Backtalk system should be working, but you will
probably want to customize it.
This requires editing some configuration pages written in the Backtalk
Script language, which is a bit weird. Simple configuration should be
easy to do without help, but if you want to do anything more complex,
it may help to read the Script Language Tutorial
Manual.
(1) Edit the Global Configuration Script
Almost all Backtalk pages are generated by scripts written in the
Backtalk script language, which is a stack-based
language somewhat similar to Postscript.
All scripts are installed in the script directory under the Backtalk
directory.
The script/config.bt script is a header script run before every
other Backtalk script. Many global settings are defined here. You will
probably want to change at least some of them.
Note that lines starting with '%' are comments. Most options are described
in details by the comments in the file.
-
Edit the automatic recompilation flag.
Look for the line
/auto_recompile 1 def
This controls what checks Backtalk does to decide if a script needs to be
recompiled.
For most people, 1 is a good value.
If you are going to be doing significant amounts of script development, then
you might want to reset this to 2.
If eventually your system configuration gets stable enough that you aren't
going to be making changes to the config.bt file, and if you want to
make Backtalk run a wee bit faster, you may eventually want to change it to 0.
-
Edit the system name.
Look for the line
/bbsname (SITE-NAME) defconstant
and change the portion in parenthesis to the name of your conferencing system.
It can have spaces in it. For example, if you conferencing system is to
be called "Star Forum" you might set this to
/bbsname (Star Forum) defconstant
-
Set up your system's logo.
Backtalk allows you to define an image to use as a logo for your conferencing
system.
You can define two different logo images. The standard logo should be about
half a screen wide, maybe 250 to 400 pixels. You can also define a wide
logo, intended to be about as wide as a screen, maybe 600 to 800 pixels wide.
However, none of the standard interfaces actually use this, so unless you are
installing other interfaces, you needn't bother with that.
Create the logo image as a .gif, .jpg or .png file and store it in the
image directory under Backtalk's home directory
(where backtalk.jpg already is).
Look for the lines
/logo imghost(/backtalk.jpg)+ defconstant
/logo.h 125 defconstant % height of logo
/logo.w 285 defconstant % width of logo
and replace the (/backtalk.jpg) part with the name of your logo image
file, replace 125 with the height of your image, and replace
285 with the width of your image.
For example, if your logo is a 200 by 400 pixel GIF file named
`starforum.gif', then you'd change these lines to
/logo imghost(/starforum.gif)+ defconstant
/logo.h 200 defconstant % height of logo
/logo.w 400 defconstant % width of logo
Actually, the image doesn't have to be under the image directory.
You can give arbitrary URLs, by doing something like:
/logo (http://www.mysite.com/picts/starforum.gif) defconstant
If you want the image to be clickable, then find the line that says
%/imageURL (http://localhost) defconstant
uncomment it by deleting the initial percent sign, and change the
`http://localhost' part to the URL that you want people sent to if
they click on your logo image.
-
Who may Create Accounts?
By default, Backtalk is configured to allow random people coming in off the net
to create Backtalk accounts simply by filling out the registration form, and
immediately start using those accounts.
This can be changed by editting the configuration file line that looks like:
/newuseropen 2 defconstant
If you change the newuseropen value to '1', then people will still
be able to create accounts with the same public form, but the accounts will
be created in an "unvalidated" state, and will not be usable until an
administrator has "validated" them (this can be done through the web
interface).
If you change the newuseropen value to '0', then it will no longer
be possible to create accounts using the public newuser form. Accounts
will only be creatable by adminstrators.
-
Should Unauthenticated Reading be Allowed?
By default, Backtalk is configured to allow users who have not authenticated,
and possibly don't have accounts, to read all open conferences anonymously.
They can't post, and the system won't remember what they have seen, but they
can observe. If you would like to disable unauthenticated reading entirely,
so that only people with accounts may read the conferences, then edit the
line that looks like:
/allowanon 1 defconstant
Just change the 1 to a 0.
-
Set Author Powers
Different systems have different ideas of what kinds of editing powers
the person who originally posted an item should have over that item.
These are configured with the settings below:
/author_freeze 1 defconstant
/author_kill 1 defconstant
/author_retire 1 defconstant
/author_retitle 1 defconstant
/author_erase 1 defconstant
/author_hide 1 defconstant
/author_edit 0 defconstant
They are all normally enabled by default.
You can disable them by changing the 1's to 0's.
The author_freeze option, if enabled, allows the original poster of
an item to freeze it, so that no further postings can be made to it by
other users.
The author_kill option, if enabled, allows the original poster of
an item to delete it so long as no responses have yet been made by
other users. If other people have responded to an item, then it cannot
be deleted by the author, even if author_kill is enabled.
The author_retire option, if enabled, allows the original poster of
an item to retire it, so that it is no longer displayed to users who
``read new'' or ``read all'' but can still be seen by people who explicitly
request to see it.
The author_retitle option, if enabled, allows the original poster of
an item to edit the title of the item.
The author_erase option, if enabled, allows the original poster of
a response to erase that response at a later date. (Normally copies of erased
responses are logged.)
The author_hide option, if enabled, allows the original poster of
a response to hide that response at a later date. Hidden responses aren't
displayed unless the reader makes an extra mouse click. Disabling this would
be a bit weird.
The author_edit option, if enabled, allows the original poster of
a response to change the text of that response at a later date. (A copy of
the previous text is logged.) We think this disrupts the flow of the
conversation, and should almost never be enabled. It defaults off.
-
Set Fairwitness Powers
Different systems have different ideas of what kinds of editing powers
that conference hosts should have. (Conference hosts are traditionally
called ``fairwitnesses'' in Backtalk. They are users appointed by the
system administrator to oversee one particular conference.)
These are configured with the settings below:
/fw_erase 1 defconstant
/fw_hide 1 defconstant
/fw_retitle 1 defconstant
/fw_edit 0 defconstant
They are all normally enabled by default.
You can disable them by changing the 1's to 0's.
System administrators always have all of these powers.
Fairwitnesses can always freeze, retire, and kill items.
The fw_erase option, if enabled, allows the fairwitnesses to
erase other user's responses to items in their conferences.
The erased text is logged so it can be recovered, but becomes inaccessible
to other users.
The fw_hide option, if enabled, allows the fairwitnesses to
hide other user's responses to items in their conferences.
Hidden responses are not normally displayed to users, but they can see them
with one extra mouse click if they want.
The fw_retitle option, if enabled, allows the fairwitnesses
to edit the titles of items in their conferences. This may be useful if
the author chooses undescriptive titles, or the conversation drifts into
other topics.
The fw_edit option, if enabled, allows the fairwitnesses
to edit the content of items and responses posted by other users.
The original content is logged.
We think letting someone change someone else's words is a horrible idea,
so this option defaults off, and we strongly discourage turning it on.
-
Hide User's Names and Personal Info?
Some systems, notably those with users who are minors, don't want to publish
their user's names and personal information on the web. Backtalk can be
configured to identify users only by their login IDs, not by their full names
and to suppress display of other personal information. There are two kinds
of names whose visibility is controlled by the anonymity setting:
the user's "real" name saved in the user database, and the name or
alias that the user attaches to postings he makes.
The different anonymity levels are:
Anonymity | Who can see full names: | Who can see response names:
|
---|
0   | everyone. | everyone.
|
1   | authenticated users only. | authenticated users only.
|
2   | admins only. | current conf fairwitness only.
|
3   | admins only. | admins only.
|
Level 0 is the default. You can set other levels by doing something like:
/anonymity 1 defconstant
-
Allow HTML Postings by Default?
With Backtalk fairwitnesses (conference hosts) can decide if HTML is to be
allowed in postings to their conferences. The dflt_html switch
sets the default value for conferences where the fairwitness has not set the
option.
It is initially set to 1. Set it to 0 to disable HTML by default.
Note that only a safe subset of HTML is allowed, and if you are sharing
conferences with Yapp or Picospan, Backtalk automatically filters the HTML
out of the versions of the postings that they will display.
-
Edit the show_motd switch.
If you want the web interface to display your system's /etc/motd file,
then you should uncomment the line:
%/show_motd 1 defconstant
by removing the percent sign from the front.
This is most often used on installations with real Unix logins.
If this is not defined, then Backtalk will instead display the
motd.html file found in the bbs directory. This is specific to
Backtalk and can contain HTML tags.
-
Edit the useplan switch.
If you want to store user's personal information in their .plan files instead
of in their .backtalk files, then
you should uncomment the line:
%/useplan 1 defconstant
by removing the percent sign from the front.
This is most often used on installations with real Unix logins.
-
Edit the text_interface definition.
If you are setting up Backtalk to share conferences with Picospan or Yapp,
you should define the text_interface constant to the name of that
system, either:
/text_interface (Picospan) defconstant
or:
/text_interface (Yapp) defconstant
Otherwise, just leave it commented out:
%/text_interface (Picospan) defconstant
-
Edit the usepublic_txt switch.
If you are setting up Backtalk to share conferences with Picospan or Yapp,
then the usual place to store the list of conferences is in a text file
named "public.txt". Backtalk strongly prefers to use a more rigidly formatted
file named "confmenu", but if you want to be compatible with Picospan, you
should uncomment the line:
%/usepublic_txt 1 defconstant
by removing the percent sign from the front. Note that if you do use a
public.txt file, it must obey certain formatting restrictions,
as described in the Administrative Guide for
Conference Creation.
-
Edit the many_users switch.
If your system has a somewhat slow computer, and you expect to have
many thousands of users, you should probably turn on the many_users
switch. This tells the scripts to avoid doing things like loading the full
list of users into memory and sorting it before displaying it, which are
nice on a small installation, but impractical on a large one.
To set this flag, edit the line:
/many_users 0 defconstant
Change the default 0 value to 1 if you expect to have too many users.
-
Edit the shyfile switch.
If you have anonymous reading but some of your users don't want their responses
read by unregistered users, then Backtalk supports a "shyfile" facility
where particular user's responses are hidden from unregistered readers.
If you want to use this, uncomment the line
%/shyfile (/usr/local/backtalk/etc/shylist) defconstant
by removing the percent sign from the front,
and change the path name in the parenthesis to the place where you want to
have your shylist saved.
-
Edit the register_url switch.
This is the page you would like people who want an account directed to.
By default it points to the standard Backtalk account creation form, which is
probably fine for most sites.
-
Edit the languages switch.
If you are using ispell for spell checking, and you have installed
ispell dictionaries for languages other than the standard american and
british ones, then you should add them to the definition of the
languages constant. For example,
/languages (american,british,russian,polish) defconstant
The default language is determined by the configuration of the ispell program.
-
Edit the favicon switch.
Some browsers (Internet Explorer 5 and Konqueror) like to request an icon image
called 'favicon.ico' from web sites. IE uses it for bookmarks. Normally
backtalk responds to all such requests with an empty document. If you
have a custom .ico file for your site that you would like sent, set the
favicon variable to to the full path of that file. Leaving this undefined
is the more common option. Visit
www.favicon.com for more info on favicons
and how to make them.
(2) Edit Pistachio Configuration Script
The ``pistachio'' interface is the most commonly used Backtalk user interface.
It consists of a set of scripts.
It has it's own configuration file, where there are a few settings you
may want to alter.
The file is
installed under the Backtalk directory at script/pistachio/config.bt.
If editing this file seems to have no effect, remove all the
"script/pistachio/*.bb" files.
Unless you have set the automatic recompilation flag above to 2, Backtalk will
not automatically recompile scripts after they have changed, and will instead
keep using the old compiled copy. Deleting the compiled scripts is a sure way
to force them all to be recompiled.
-
Edit the default background color.
Each conference fairwitness can set a different background color for their
conferences. The color defined here is used for conferences with no
defined background color, and for other, non-conference pages.
Actually, you might as well just leave it for now, but if you ever decide
you don't like it, this is where to go to change it.
-
Edit the default button style.
Again, probably just leave it be for now.
-
Edit the global page header.
This is some HTML that is inserted at the top of every Pistachio page.
The default is nothing. This can be used for ad rotators and such (yick).
You should also set global_header_height to the
approximate height in pixels of the page header. This is used to enlarge the
size of the top frame on read pages enough to hold both the header and the
buttons.
-
Edit the global page footer.
This is some HTML that is inserted at the bottom of every Pistachio page.
The default is a Backtalk copyright message in small print. You are welcome
to take that out (though we would prefer that you display the copyright
someplace, it doesn't have to be on every page) and replace it with anything
you like.
-
Edit the default item list type.
Pistachio can display four kinds of item lists:
new | - only items with new responses |
current | - all items not forgotten or retired |
all | - all items |
forgotten | - only forgotten or retired items |
You can configure which of these is the default that will be shown to users
when they click on the "item list" button (later they can select whichever
they want). Only the new and current options are really
very sensible. To change this, edit the line that looks like
/dflt_item_list (new) defconstant
-
Edit names for things.
Backtalk's terminology, in which "confernces" are managed by "fairwitnesses"
and contain "items" consisting of many "responses," has the virtue of long
tradition. However, everyone seems to have their own idea what things
should be called. Some people like "fairwitnesses" to be "hosts" or maybe
"moderators". Some people think "conferences" should be "forums" or "rooms"
or "channels" or "departments". Some people think "items" should be "topics"
and "responses" should be "postings" or "comments". Other people other ideas.
So pick your terminology, and configure it into the interface, and excuse us
for continuing to call things by the same old names in our documentation.
Look for the following lines:
/Fairwitness (fairwitness) defconstant
/AFairwitness (a fairwitness) defconstant
/Fairwitnesses (fairwitnesses) defconstant
/Item (item) defconstant
/AnItem (an item) defconstant
/Items (items) defconstant
/Conference (conference) defconstant
/AConference (a conference) defconstant
/Conferences (conferences) defconstant
/Response (response) defconstant
/AResponse (a response) defconstant
/Responses (responses) defconstant
Edit the parts in parentheses to your favorite terms.
You terms should be all lower case. The scripts will take care of capitalizing
them where necessary. I recommend against using multi-word phrases for these
things, partly because it's clumsy, partly because the capitalization may not
work right.
Note that there are three definitions for each term - singular, plural and
singlar with an article. So if you want to rename 'items' to 'topics' you'll
need to change three lines, like this:
/Item (topic) defconstant
/AnItem (a topic) defconstant
/Items (topics) defconstant
(3) Edit Abalone Configuration Script
The ``abalone'' interface is a newer, prettier, slower Backtalk user interface.
It consists of a set of scripts.
It has it's own configuration file
installed under the Backtalk directory at script/abalone/config.bt.
Currently that file is very like the Pistachio configuration file.
If editing this file seems to have no effect, remove all the
"script/abalone/*.bb" files.
Unless you have set the automatic recompilation flag above to 2, Backtalk will
not automatically recompile scripts after they have changed, and will instead
keep using the old compiled copy. Deleting the compiled scripts is a sure way
to force them all to be recompiled.
-
Edit the global page header.
This is some HTML that is inserted at the top of every Abalone page.
It works exactly like the same option in Pistachio.
-
Edit the global page footer.
This is some HTML that is inserted at the bottom of every Abalone page.
It works exactly like the same option in Pistachio.
-
Edit the Colors.
Abalone uses the same color scheme everywhere (unlike Pistachio, which
allows it to be set differently in different conferences).
You can choose one of these as the default by editing the config file line:
/default_scheme (coffee) defconstant
Current color schemes are 'coffee', 'openforum' and
'bright'.
You can create new color schemes by editing the
abalone/header.bt script.
Each scheme defines the following variables:
variable | function | default |
bg_color |
Background color used on all pages |
White |
link_color |
Color of link text |
Dark Green |
alink_color |
Color of link text while being clicked |
Dark Green |
vlink_color |
Color of link text after being clicked |
Dark Blue |
text_color |
Default text color |
Black |
head_bg_color |
Color of background on header lines |
Dark Green |
head_fg_color |
Color of text on header lines |
White |
title_bg_color |
Color of background on title lines |
Dark Gray |
title_fg_color |
Color of text on title lines |
Black |
row1_bg_color |
Color of background on odd rows |
Light Grey |
row2_bg_color |
Color of background on even rows |
Medium Grey |
-
Edit names for things.
Just as in Pistachio, you can edit the names used for 'fairwitness',
'conference', 'item' and 'response'. This works exactly as in Pistachio.
(4) Edit Admin Configuration Script
The ``admin'' interface is a set of administrative tools.
It is hardly configurable at all. The only case where you'd want to edit its
configuration file is if you are removing the pistachio interface from your
system, in which case you'll want to edit script/admin/config.bt
to designate a different interface to jump into when a user clicks on the
name of a conference.
That's all. Happy Backtalking.
Prev: Part V: Apache Configuration
(Backtalk Accounts or
Backtalk Accounts)