How to get more out of WebBoard version 4.x, 5.x, and 6.x with Rog's Expand-All Conferences System (version 1.0)

This describes freeware that I wrote which allows any virtual board manager (or WebBoard administrator) to permit the users on a board to expand all conferences in one operation.

This system uses a "hidden" frame to extract one or more conferences' topics list ... and caches the results, so that the user can freely expand and collapse conferences at will, without accessing the server, unless it's absolutely necessary to do so.  Note that the "caching" is done on the client side (i.e. the user's browser does as much work as possible).

If the user wishes to see the latest postings under a conference, s/he may do so, via a special "Refresh" link.  Also, the last time that a conference was expanded is shown, underneath the conference name, so that the user can make a sensible decision about whether or not to refresh the topics list for that conference.

To get a good idea of how the system works, please click here to view the "info." page for users.

(Note: this page actually appears in the default appearance scheme for the board - however, you're looking at a version that assumes WebBoard 4 fonts and the "WebBoard Classic" appearance scheme.)

Initially, one may believe that the server will work harder, if users are allowed to expand all conferences.  However, the reverse may be true: because the HTML is cached, the user will receive a very quick response when expanding or collapsing conferences, and thus the server will not have to do any extra work if a user expands conference A, then conferences B and C, and later goes back to review the posts in conference A.  Moreover, from the user's view, it's more convenient to turn his or her attention to other tasks, while a relatively large number of conferences are expanded: instead of expanding conferences one-by-one, particularly if either the server is slow, or the user's connection to the server is slow.

In the rest of this documentation, I'll assume that you've read the user info. page.

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): Install configuration

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

5:  Miscellaneous considerations

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

7:  Other freeware products

8:  Version history information

9:  Acknowledgements


1:  Install (1): Complete Install Zips

If you want this documentation, as well as all the included zip files, WebBoard 4/5 users can download ea4.zip instead.  WebBoard 6 users should download ea6.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.

Note that there are two JPEG files (ea_ex.jpg and ex_ex2.jpg) which are both in the complete install zip (these files are required for the documentation), as well as the "release" zip (because these files are also used for the user "info." page.  If your unzip program asks you whether to overwrite these files, you can respond affirmatively or negatively - it doesn't matter.

Return to table of contents

2:  Install (2): Standard Install

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

For WebBoard 6, use: ea_rel6.zip.

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

These files should be placed on the folder of the board that you designate for the Expand-All Conferences 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.


There are two JPEG files in the release zips.  For more information about these files, please see section 3.


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 ea_tpld.html below.  This file doesn't exist in WebBoard 4.
help\ea_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, below, for more information.  Actually, this page isn't blank: it says "Please wait ... ".
help\ea_blk2.html (This page is located on the board's help subfolder.)  This is the blank page that initially loads in the hidden frame.  See the description for layout1.html, below, for more details.
ea_ex.jpg This is a JPEG file that's used on the "info." page which users access by clicking on a link near the bottom of the topics page.  For more information, please see section 3.
ea_ex2.jpg Similar to ex_ex.jpg, immediately above.
help\ea_help.html (This page is located on the board's help subfolder.)  This is the info. file for users, who access it by clicking on the "info." link on the bottom of the topics page.  This file requires some configuration: see section 3.
help\ea_tp2.html (This page is located on the board's help subfolder.)  This is the "doppelganger" (i.e. "dead ringer" or "twin") of the topics page, topics.html.  It's loaded whenever the user requests an operation that doesn't require server access; i.e. when the user request can be fulfilled merely by accessing HTML that's already been cached on the client side (i.e. in the user's browser).
help\ea_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 three frames: one frame is invisible to the user, and contains toolbar.html - which is where the code that reformats the topics list is stored.  Another frame is also invisible to the user, and help\ea_blk2.html is initially loaded in this frame, which will later be used to load topics.html whenever the user performs certain operations, such as expanding all conferences.  The only visible frame is the topics frame, which initially consists of ea_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.
layout1.html This file was modified to load ea_blk1.html on the help subfolder (the URL is actually "help?ea_blk1") instead of the topics frame.  This is because 14K 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.  This file will also load ea_blk2.html on the help subfolder into a hidden frame.  That frame is used to extract the conference list HTML, when the user performs certain operations (such as expanding all conferences).
read.html Removed the target of "_top" for no frames users who invoke the conferences menu.  See the description of ea_tpld.html, above.
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.
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 ea_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): Install configuration

First, you need to make sure that the images in the user "info." (help) file will load properly, when users click on the "info." link.  These image file names are: ex_ex.jpg and ea_ex2.jpg.

To find the lines that reference these image files, simply look for three asterisks in the file ea_help.html on the board's help subfolder.  (This file is on the help subfolder within the standard install zips.)

As with all HTML files, you shouldn't be editing this file in a word processor, such as MS-WORD or WordPerfect.  You'll get the best results by using Windows Notepad, with the Edit | Word Wrap option turned off.

There are three approaches to ensuring that the image files load correctly.  In the latter two cases, you will have to modify this file.


There are also three variables that you can set in topics.html.

Two of these variables are critical.  Open up topics.html in Windows Notepad (with the Edit | Word Wrap option turned off).

Next, search for 3 @-signs ("@@@").  You'll see three variables assigned after that.

For the moment, let's ignore TEST.

If  DEFAULT is 0, and TOGGLEOK is 0, then WebBoard will operate in "normal" mode, i.e. you will not get the benefits of this system.  Users will not have the option of switching to "expand all" mode.

If  DEFAULT is 0, and TOGGLEOK is 1, then WebBoard will begin operating in "normal" mode, but users will be able to switch to "expand all" mode, simply by clicking on the link at the bottom of the topics page.  This will set a session cookie, i.e. a cookie that will expire at the end of their browser session.

If  DEFAULT is 1, and TOGGLEOK is 0, then WebBoard will begin operating in "expand all" mode (i.e. using this system), and users will not have the option of switching to "normal" mode.  Once you're satisfied that the system works and your users are comfortable with it, you may wish to set the variables in this manner.

If DEFAULT is 1, and TOGGLEOK is 1, then WebBoard will begin operating in "expand all" mode (i.e. using this system), and users will have the option of switching to "normal" mode.  This will set a session cookie, i.e. a cookie that will expire at the end of their browser session.  I've released the system in this configuration.


The first variable in that list is called TEST.  If you set that variable to 1, you'll see a "dual display," i.e. one that shows both the HTML code that WebBoard returns, and the HTML code that this system returns.  Obviously you'd only want to set this variable to 1 if you were curious about how this system operated, or you'd made modifications (see section 4).

Return to table of contents

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

First, you'll need to download the source code.  For WebBoard 4 and 5 users, this is in: ea_src4.zip.  For WebBoard 6 users, this is in ea_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: ea.mak.

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


DEST=f:\\w\\html\\ea

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.

Return to table of contents

5:  Miscellaneous considerations

Please keep these issues in mind, when installing and using this system:

Return to table of contents

6:  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.


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

7:  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

8:  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

9:  Acknowledgements

Many users on the WebBoard suppport boards have requested a system like this.

Return to table of contents