background image

World Community Press
 
  Public Speaking
 
Home » Open Source
   
Normal Version Print Version
Share |
     Subscribe to RSS
   

WCN:Talk Discussion Board Software v2.0

March 5, 2005

Note to our Open Source users: if you haven't taken a look at the Significato Journal, we invite you to do so!

[ Visit our Open Source Software page to obtain other Open Source programs ]

Register your email to receive notification about updates and additions to our Open Source software!


Bug Update: March 5, 2005
There is a bug in v2.0. If a user is set to non-active status, they're not allowed to log in, but posted messages are still sent to them (if they subscribed). I'll release a fix in the near future.

Workaround: Instead of setting a banned user to non-active status,
delete them from your database.

WCN:Talk Downloads (now at v2.0)

wcntalk.tar.gz (contains files below)
Readme.WCN.Talk.txt WCN.Talk.Manual.html User Help

WCN:Talk is a 'threaded' discussion board, written in Perl, using MySQL for its backend database. The top page has a menu that allows sorting and filtering, with a number of defaults, such as viewing new records. The forum is Open Source (free) and complies with the GNU General Public License. v2.0 is a Major Upgrade.

Description of New Features in 2.0

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:

  • Private and Public Discussion Board Feature - (see above).
    Note that the privacy function is done with 'session ids' and cookies.

  • HTML Templates - Almost all html output has been separated out to html template files. Thus, it's easy to change the look and feel of amost all parts of the program. The 3 primary html template files are:
    • html_header.html
    • html_footer.html
    • top_page_header.html

  • Email Subscription - Now, because the program has a user table (allowing password protection) it also has an email subscription function which allows each user to receive a copy of each post via email. Alternatively, users can receive an email at the end of the day containing a list of posts with authors and subject lines. Users can subscribe to each forum section (see below) with either option, or unsubscribe completely. There is also a function that allows the admin user to setup a section (like 'Announcements') that has mandatory subscription. In my opinion, the email subscription function is a significant plus when it comes to bringing users back to the discussion board. If they never receive any messages, they don't know if anyone has posted anything.

  • Discussion Board Sections - The program now has the ability to have multiple sections, each one contained in its own copy of the data table. This way, discussions can be separated from each other. Sections can be set as 'read-only' so that admins can post announcements, but regular users can't post in those sections.

  • File Uploads - Now, if the variable '$allow_file_uploads' is set to 'yes', private boards can have file uploads enabled. Public boards cannot have file uploads at this time, primarily because the coding would require a 'no-clobber' function on uploaded files that I haven't written yet. Of course, public file uploading is a dangerous issue anyway, since someone could upload nasty photos. Note that file uploads can be of any type. There is a variable for setting file size limits. There is also a new table that stores the filenames and descriptions. There is also a new link to display all file uploads.

  • Administrative Options - There is an admin page for approving, editing and deleting users. There is an admin function for managing sections, i.e. adding and deleting sections and modifying section names and the topic list assigned to each section. Note that the section data is stored in a Perl 'hash of hashes', which is a text file on the server. Thus, if you modify it, you should download it to your desktop for a backup of it.

  • Registration Function - New users can register via a public function (register.html). They'll be tagged as 'denied' until the admin approves them. The admin will be sent an email saying someone has registered.

  • Email Forgotten Password - Users can submit a form to email them their forgotten passwords

  • Improved Menu Interface - The Menu has undergone numerous improvements, including more searching options.

  • User Help Page - I've finally actually written a User Help Page.

  • There are many other small improvements, as well as a cleaned up code set.

  • See User Help File /talk/help.html for usage help
  • See comments in setup files wcntalk_site.pl and wcntalk_vars.pl for many technical notes

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

  • configurable display of top page structure
  • routine to import old messages from wwwboard.cgi (Matt Wright's Board) (untested after v1.33)
  • uses 'branch_no' design to keep track of 'threads'
  • can display top page of messages with numerous selection or sorting methods
  • uses MySQL database for speed and convenience (the major negative is that the body text is not viewable by search engines)
  • the message text is stored as pure text -- html cosmetics can be changed in the script, and the display of the messages changes accordingly
  • multiple board methodology (see notes below)
  • unlimited levels of bullet images (see notes below)
  • configurable max message and branch length vars (see notes) (default setting handles 1 million top level messages, 10 million total)
  • user option: email responses to user
  • options to hide topics, date, time on message listings (shortens lines)
  • security: has MySQL password; admin can change it
  • shows 'current thread' and 'parent message' on message display
  • blocks duplicate messages
  • option to view only parent threads and expand thread on top page
  • configurable html cosmetics
  • a number of sticky menu options (on selects)
  • uses topics in messages: uses select box to select by topic
  • has 'toggle menu' function on top page - simple, advanced and no menu
  • can select by date range and 'new' posts, and other selection criteria
  • sends email of each post to admin
  • sends response email of message to original poster
  • automatically displays 'new' button for recent posts; ages automatically
  • has security routines - maxlength of body, no html, no questionable chars

TODO LIST

  • Add admin functions (delete message, delete branch) .... deletes will affect 'responses'
  • Emails sent to WCN:Talk 'incoming address' get posted in forum

Additional modifications (to the earlier version: FutureForum) have been made by Jeremy Malcom, in order to integrate PostgreSQL connectivity. If someone would like to test FutureForum on a Mac, or Win95, or other platforms, and then have me post the appropriate cross-platform code modifications, please .

[ Note to Programmers: If you're a programmer, and are concerned about issues such as 'use strict', 'my' and other programming constructs, you may be interested in a note about programming methods. ]

History Notes are now in the file:
WCN.Talk.Manual.html

Home » Open Source
Programming