WCN:Talk Administrator's Manual for v2.0
Copyright 2004 Peter Falkenberg Brown ~ Open Source Software
http://worldcommunity.com ~ peterbrown@worldcommunity.com
Document Revision Date: October 9, 2004

This program was formerly published as "FutureForum", ending with v1.33.

TABLE OF CONTENTS

DESCRIPTION OF NEW FEATURES IN 2.0

WCN:Talk is a 'threaded' discussion board, written in Perl, using MySQL for its backend database. It is a major upgrade to an earlier version, called "FutureForum", last updated as v1.33. FutureForum was a 'public only' forum, with no ability to have usernames and passwords for security of postings. The motivation to upgrade it was to provide that security function. It now has both a 'public' and a 'private' mode, which can be set with the variable '$forum_type' in the setup file wcntalk_site.pl.

In the process, I changed the name to WCN:Talk -- 'WCN' because of our business name, and 'Talk' because I read a very distressing article about 'poison' search engine words. It seems that search engines drop sites sometimes because of the usage of certain words, among them the word 'forum'. Thus, I replace the word 'forum' with the words 'talk' and ' discussion board' in various places in the program.

Once I started adding the privacy features, I of course had to add more and more features :-). These new features include:

INSTALLATION

  1. Unzip the Files: Untar the 'wcntalk.v2.0.tar.gz' file in your home directory (on your server). There will be 2 tar files that will be unzipped, 'wcntalk_home_dir.tar' and 'wcntalk_webroot_dir.tar'.
  2. Untar the 'wcntalk_home_dir.tar' file in your home directory.
  3. Untar the 'wcntalk_webroot_dir.tar' file in your web document root directory, e.g.: 'www' or 'html'.
    Under Unix, the permissions will be automatically created. If you don't have ssh access to untar them, and have to ftp them, see the notes below about 'File and Directory Permissions'.

    Note: installation creates a 'talk' subdir under your home directory and another 'talk' subdir inside your web document root directory. It also adds a .my.cnf file and a .www.my.cnf file to your home directory, so if you already have those two files, please back them up first!

  4. Edit 5 Setup Files: Edit index.cgi (in your 'www/talk' directory), setting the $preferences_dir variable.
  5. Edit the variables in wcntalk_site.pl (in your home_dir/talk directory), at least up to the point where it says:
    '# the variables below don't necessarily have to be changed'.
    You can also edit variables in the file wcntalk_vars.pl, but you don't have to unless you don't like the generic settings.

  6. Edit the .www.my.cnf file with your username and password for mysql (this file is for the main script).
  7. Edit the .my.cnf file with your username and password for mysql (this file is for the table installation script).
    Note that you could combine them if you only have one mysql username (which must have table creation and table dropping privileges). If you combine them, you should use .my.cnf so that the table installation script can find it (it looks by default for the file '.my.cnf'). The reason to have 2 cnf files is that the .my.cnf username usually has higher permissions, and is not readable by the web, while the .www.my.cnf file is readable by the web and the user listed in it has lower permissions (e.g: no grant table permissions).

  8. Edit the file .qmail-wcntalk with the correct path if you use qmail and will use the autoresponder feature.

  9. Install the 3 Database Tables: wcntalk_main, wcntalk_users and wcntalk_uploads with correct mysql permissions.
    You can use the data table installation script, wcntalk_table_install.sh and the data table upgrade script, wcntalk_table_upgrade.sh if you like.

    Upgrade Note: If you are upgrading from 'FutureForum v1.33' then you should use the 'wcntalk_table_upgrade.sh' script to modify the structure to your current forum table (it won't affect your current installation because it just adds fields) and then add the other 2 tables. Note! If you're upgrading, you'll have to either change the name of your primary forum table from 'forum' to 'wcntalk_main', or edit the file wcntalk_section_data.pl by hand, changing the multiple instances of 'wcntalk_main' to 'forum'.

  10. HTML Templates: You can change the look and feel of the html templates if you like, although you don't have to.

  11. Login and Add a Record: Login and add a welcome record to the wcntalk_main table. The default username is admin and the password is admin.
  12. Click on the 'Admin' link and Change the username and password! (you'll have to re-login!)
  13. Also, in the admin section, add your email address (as the admin) and other details.
    Note: You should fix your admin record even if you are going to use the forum in 'public' mode, so that you can login and manage the forum (by going to the url '/talk/admin' (in the case of a public forum - with a private forum, just go to '/talk')).

  14. Modify Section Data: Also, in the admin section, modify the 'Topics' list and other details for the wcntalk_main table (under 'Manage Sections').
  15. Finally, in the admin section, add 'sections' if you want (i.e. other forum tables).
    Note that if you modify or add section data, new data will be written to the file wcntalk_section_data.pl. You should download that, as a backup. Also, if you add sections, you'll want to modify the variable $html_section_links in the wcntalk_site.pl file.

  16. Test it out, and make it go live! Done!

FILE AND DIRECTORY PERMISSIONS

All the files that are NOT mentioned below should be set to their default permissions (text files 644 and directories 755).

PARTIAL LIST OF FEATURES (from v1.33)
(see Description of Features above for new features)

TODO LIST

HISTORY LIST

- v2.0 - October 8, 2004

- v1.33 - July 1, 2001

- v1.32 - August 2, 2000

- v1.31 - March 15, 2000

- v1.30 - December 11, 1999

- v1.21 - July 30, 1999

- v1.2  - July 22, 1999

- v1.0 beta - beta release

TABLE STRUCTURE

## Three primary tables for WCN:Talk
## Additional tables (sections) are copied from wcntalk_main
####################################################################


##
## Table structure for table 'wcntalk_main'
##


CREATE TABLE wcntalk_main (
  message_no int(10) unsigned NOT NULL auto_increment,
  user_id int(10) unsigned NOT NULL default '0',
  parent_no int(10) unsigned NOT NULL default '0',
  branch_no text NOT NULL,
  level int(10) unsigned NOT NULL default '0',
  topic varchar(100) NOT NULL default '',
  subject varchar(100) NOT NULL default '',
  author varchar(100) NOT NULL default '',
  email varchar(100) NOT NULL default '',
  date date NOT NULL default '0000-00-00',
  time time NOT NULL default '00:00:00',
  seconds bigint(25) NOT NULL default '0',
  body text NOT NULL,
  responses int(10) unsigned NOT NULL default '0',
  send_email char(1) NOT NULL default '',
  attached_file varchar(250) NOT NULL default '',
  file_description text NOT NULL,
  record_updated timestamp(14) NOT NULL,
  PRIMARY KEY  (message_no),
  KEY topic (topic),
  KEY subject (subject),
  KEY date (date),
  KEY seconds (seconds),
  KEY level (level),
  KEY author (author)
) TYPE=MyISAM;


##
## Table structure for table 'wcntalk_uploads'
##


CREATE TABLE wcntalk_uploads (
  upload_id int(10) unsigned NOT NULL auto_increment,
  filename varchar(250) NOT NULL default '',
  file_description text NOT NULL,
  thumbnail_name varchar(250) NOT NULL default '',
  file_type varchar(50) NOT NULL default '',
  table_name varchar(100) NOT NULL default '',
  user_id int(10) unsigned NOT NULL default '0',
  message_no int(10) unsigned NOT NULL default '0',
  topic varchar(100) NOT NULL default '',
  subject varchar(100) NOT NULL default '',
  author varchar(100) NOT NULL default '',
  email varchar(100) NOT NULL default '',
  date date NOT NULL default '0000-00-00',
  seconds bigint(25) NOT NULL default '0',
  record_updated timestamp(14) NOT NULL,
  PRIMARY KEY  (upload_id),
  KEY filename (filename),
  KEY table_name (table_name),
  KEY topic (topic),
  KEY seconds (seconds),
  KEY user_id (user_id)
) TYPE=MyISAM;


##
## Table structure for table 'wcntalk_users'
##


CREATE TABLE wcntalk_users (
  user_id int(10) unsigned NOT NULL auto_increment,
  honorific varchar(30) NOT NULL default '',
  first_name varchar(50) NOT NULL default '',
  last_name varchar(50) NOT NULL default '',
  suffix varchar(20) NOT NULL default '',
  email varchar(100) NOT NULL default '',
  user_type varchar(50) NOT NULL default '',
  status varchar(20) NOT NULL default '',
  username varchar(16) NOT NULL default '',
  password varchar(16) NOT NULL default '',
  subscribed_forums text NOT NULL,
  comments text NOT NULL,
  record_created datetime NOT NULL default '0000-00-00 00:00:00',
  record_updated timestamp(14) NOT NULL,
  PRIMARY KEY  (user_id),
  KEY first_name (first_name),
  KEY last_name (last_name),
  KEY username (username)
) TYPE=MyISAM;

END OF DOCUMENTATION