How to get more out of WebBoard version 4.x, 5.x, and 6.x with Rog's Topics List Reformatting System (version 1.0)

This describes freeware that I wrote which allows any virtual board manager (or WebBoard administrator) to reformat the display of the topics list.

This system actually consists of two parts: one part contains the necessary code to parse up the topics HTML returned by WebBoard into a series of JavaScript arrays.  These arrays contain all the critical information displayed by WebBoard.

The second part of the system is a demonstration: it will reformat the default topics HTML so as to remove all of the images (such as those for spacing, attachments, and so forth).  It also puts the poster's name in curly braces instead of parenthesis, and removes the year on any post that was done in the current year.

While this particular type of reformatting might not be terribly useful ... it shows that just about any desired presentation style is possible.

Anyone who knows JavaScript can modify this the second portion of the system in order to customize the display of the topics list.  You can also contact me if you'd like me to implement your own personal preference.

Here's an example of what the demonstration produces (the default WebBoard topics list is shown first, followed by the reformatted list):

If there's a demand for it, I might also produce a more "WebBoard-like" interface, that lets you use plain text "pseudo-tags" instead of JavaScript.

You can also contact me if you'd like me to implement your own personal preference.

This code is freeware.  You use it at your own risk.  No warrany of fitness for use or any other form of guarantee inheres.

You may use it and/or the source code in whole or in part for any otherwise legal purpose that you deem fit; however you may not claim legal ownership of same for legal purposes against anyone who's obtained it from an "independent source" (such as this web page).


1:  Install (1): Complete Install Zips

2:  Install (2): Standard Install

3:  Install (3): Rebuilding the source files, and/or making modifications, part I

4:  Install (4): Rebuilding the source files, and/or making modifications, part II

5:  Bug reports, comments, and change requests, etc.

6:  Other freeware products

7:  Version history information

8:  Acknowledgements


1:  Install (1): Complete Install Zips

If you want this documentation, as well as all the included zip files, WebBoard 4 or 5 users can download th4.zip instead.  WebBoard 6 users should download th6.zip.

Once you download the complete zip file, you'll still have to follow the rest of the install instructions.

This system isn't currently supported for the "modern" layout of WebBoard 6.  If you need such an animal, please contact me.

Return to table of contents

2:  Install (2): Standard Install

For WebBoard 4/5 users, the install file is: th_rel4.zip.

For WebBoard 6, use: th_rel6.zip.

This system isn't currently supported for the "modern" layout of WebBoard 6.  If you need such an animal, please contact me.


This system is only a demonstration: if you want to produce your own customized version of the topics display, you'll need to install the source code, as described in section 3 and section 4.


These files should be placed on the folder of the board that you designate for the Topics HTML Reformatting system.  Note that there's a subfolder called "help" in each of the zips: the files on this folder must end up on the corresponding subfolder of the board.

For WebBoard 5, you'll need to copy read5.html to read.html, and useredit5.html to useredit.html.


As released, the system provides a dual display: the original HTML that WebBoard produces is followed by the reformatted HTML.  This is extremely useful for validating any changes that you might wish to make to the format.  You'll find instructions on how to remove the dual display in topics.html.  Search for "@@@": all you have to do is to delete 3 lines.  This file should not be edited with MS-WORD, WordPerfect, or any word processor, because it's a "plain text" file.  For best results, use Windows Notepad, and make sure that the Edit | Word Wrap option is off.


If you've customized any of the WebBoard pages that are in my install, you'll have to either propagate your customizations to my pages, or propagate my alterations to your customized pages.

Here's a list of each file, along with the role it plays in the various operations:

WebBoard name or name on server: Purpose:
confintro.html Removed the target of "_top" for no frames users who invoke the conferences menu.  See the description of th_tpld.html below.  This file doesn't exist in WebBoard 4.
layout1.html This file was modified to load th_blk1.html on the help subfolder (the URL is actually "help?th_blk1") instead of the topics frame.  This is because 12K of compressed JavaScript source code resides in the toolbar frame, and I don't wish to reload it every time the user refreshes the topics frame.  This is the code that actually reformats the topics list.  Once the toolbar frame loads completely, it will load the topics list in the topics frame.
read.html Removed the target of "_top" for no frames users who invoke the conferences menu.  See the description of th_tpld.html below.
read5.html Same as read.html, but for WebBoard 5.  This file doesn't exist in the WebBoard 6 release.
readfull.html Same change as in read.html, above.
help\th_blk1.html (This page is located on the board's help subfolder.)  This is the blank page that initially loads in the topics frame, for frames users.  See the description of layout1.html, above, for more information.  Actually, this page isn't blank: it says "Please wait ... ".
help\th_tpld.html (This page is located on the board's help subfolder.)  This is a frameset that loads whenever topics.html finds that it's the top frame: i.e. whenever the topics list is opened up in a new window, or whenever a "no frames" user logs in.  The frameset consists of two frames: one frame is invisible to the user, and contains toolbar.html - which is where the code that reformats the topics list is stored.  The visible frame is the topics frame, which initially consists of th_blk1.html, for reasons that are explained above, in the desription of layout1.html.  Since there are a few pages that have a target="_top" designation on the "conferences menu" link for "no frames" users, these pages have been modified to remove that target ... for reasons that should be obvious.
toolbar.html This is where the code resides that will reformat the topics list.
topics.html This page captures the topics list, passes it to the code in the toolbar frame, and then displays the reformatted result.
useredit.html Removed the target of "_top" for no frames users who invoke the conferences menu.  See the description of th_tpld.html above.
useredit5.html Same as useredit.html, but for WebBoard 5.  This file doesn't exist in the WebBoard 6 release.

Return to table of contents

3:  Install (3): Rebuilding the source files, and/or making modifications, part I

(This section contains the "generic" information that will help you begin the process of creating your own customized topics list: you'll probably also benefit from reading the next section as well.)

First, you'll need to download the source code.  For WebBoard 4 and 5 users, this is in: th_src4.zip.  For WebBoard 6 users, this is in th_src6.zip.

Note that these zip files are contained within the "complete" install download, as described in section 1.

You'll need to unzip these files into a new folder on your hard drive.

After you do so, you'll have to install my "JavaScript MakeFile" system onto that same folder: http://www.rs-freeware.org/jsm.

Within the JavaScript MakeFile system, I offer specific instructions for WebBoard users, at: http://www.rs-freeware.org/jsm/jsmdoc.htm#WebBoard_Regenerate.

In a nutshell: after installing the "JavaScript MakeFile" system, you'll have to modify the "make" file: th.mak.

This is the line that you'll have to change:


DEST=f:\\w\\html\\th

DEST should have the folder name of the board from which you wish to run the thread sequencing system.  If you wish to use multiple boards, please be sure to read (?install_mult)section (#?install_mult).

Note that double backslashes are required to separate folder names.

For more information about folder names, please see my DOS primer. modifications, part I

Return to table of contents

4:  Install (4): Rebuilding the source files, and/or making modifications, part II

(This section contains more specific information about how to build your own customized topics list.)


You'll find a list of the arrays in TH_TB.js (look at the comment block in the front).  The images that are specific to the current board appearance scheme are all put into variables (e.g. C_NewGIFStr).  You'll have access to these variables in TH_TB2.js.

The variable G_TP_Mode is set to 0 for "all messages", 1 for "new messages", and 2 for "attention messages."


TH_TB2.js is the module that you actually modify.  You can rewrite this module completely, if you wish: the only requirements are that you leave the variable G_TB2InitFlag in place, that you have a function called TB2_Init (this function doesn't have to do anything, although you may find it very useful if it performs certain global initialization operations).  Finally, you must have a function called TopHTM, which returns the modified HTML for the topics list.

You may also wish to implement an approach that's structurally similar to mine: what I've done is to use a series of templates that capture the structure of the display.  For example, C_ConfNa_W6 is an array that holds the format of expanded, collapsed, and empty conferences' HTML.  There are "variables" (delimited by @-signs) inside these templates that actually get replaced with the relevant data.  My initialization function, TB2_Init will preprocess these templates at BOJ, in order to replace everything that's not specific to a particular conference.

There are also extensive remarks in this file that explain WebBoard's somewhat quirky approach to the "annotation" GIFs, such as those that alert the reader to the fact that a message is new, the existence of attachments, etc.

There are actually five different templates used to display messages, and three for conferences.  But if you're implementing your own display style, you might want to create more, or use fewer: my goal here was to dutifully replicate what WebBoard does, except to replace all images with text equivalents, put the poster name in curly braces, and remove the year from dates that occur this year.

All existing versions of WebBoard have the a certain idiosyncracy that I didn't replicate: when "new" or "attn" messages are being displayed, the first conference is displayed in a different font, but only if it's expanded.  As far as I can tell, that's a bug, not a feature.


As released, the system provides a dual display: the original HTML that WebBoard produces is followed by the reformatted HTML.  This is extremely useful for validating any changes that you might wish to make to the format.  You'll find instructions on how to remove the dual display in topics.html.  Search for "@@@": all you have to do is to delete 3 lines.  This file should not be edited with MS-WORD, WordPerfect, or any word processor, because it's a "plain text" file.  For best results, use Windows Notepad, and make sure that the Edit | Word Wrap option is off.


For reasons unknown to me, my implementation doesn't seem to work very well with some of the older, bug-infested versions of Netscape (e.g. 4.01).  But I've done my best to support NS version 6 and above.

Return to table of contents

5:  Bug reports, comments, and change requests, etc.

You can e-mail me at rog@NOSPAM_rs-freeware.org if you encounter problems, or think that you've found a bug.

I can also be reached by telephone in the U.S. from about 9 AM U.S. central time to 5 PM U.S. central time at: 765-742-6705.  If you don't get an answer, you can use my numeric pager at: 765-417-0664 ... I'll try to call you back, if you're in the U.S, Canada, or Mexico.


If you're reporting a bug, please supply me with as much information as you can about your server, your version of WebBoard, any browser or Operating System that was involved, including the WebBoard Server's Operating System  (9x, NT, 2K, XP?).  Also, please provide any configuration files, or customized WebBoard files that you were using.  Keep in mind that I might actually have to have the opportunity to try what you were doing, in order to diagnose the problem.


BTW, I don't gaurantee to answer all e-mail or fix all bugs, etc.  Please remember that this is freeware, and that my time and resources are limited.

That said, I've put a lot of work into designing, coding, testing, and documenting this product, and I'm probably going to be fairly interested in any comments anyone has, fixing any bugs, and/or extending the scope to applications that strike me as being potentially valuable to a large number of users.


Naturally, if you're willing to hire me to make changes for your special-purpose application, I'm certainly willing to consider your offer.  My standard rate is $75/hr., but I may charge less if the work is to be done for a small business (less than 25 employees), or a nonprofit organization (in the latter case, I might even do it on a gratis basis  :-)  I may also consider charging you nothing if you're suggesting an improvement that I feel is of value to a large number of other users.

You can find out more about me, including references, and a list of clients/projects at: http://www.rs-freeware.org/rog.

Return to table of contents

6:  Other freeware products

WebBoard users will find lots of WebBoard freeware at: http://www.rs-freeware.org/freeware.htm.

Anyone who writes JavaScript  (regardless of whether this is written on the client or server side),  deals with SQL, or who happens to be interested in obtaining the full power available from DOS may wish to check out http://www.rs-freeware.org/free2.htm

Return to table of contents

7:  Version history information

This is version 1.0, released on Nov. 1, 2002.

This documentation was generated by Rog's FAQHack: a DOS/Windows-based freeware program that handles simple macro preprocessing with special support for FAQs and other structured HTML documents.

Return to table of contents

8:  Acknowledgements

I'd like to thank Rachel Rassen, Ph.D, of Lam Research Corp. for her feedback regarding another incarnation of this system.

Return to table of contents