How to get more out of WebBoard version 4.x, 5.x, and 6.x with Rog's (Automatic) E-mail List Signup System (version 1.1)

This system improves WebBoard's e-mail list interface by providing WebBoard administrators and virtual board managers with three important additional features.

First, you may designate any public conference with an associated e-mail list as a "suggested" list.

That means that users can sign up for this list at registration time.  Here's what it might look like, on the new user registration page:

When the user logs in for the first time, they're automatically signed up for any of the lists that they've selected.  You can have up to 8 "suggested" conference e-mail lists, but these must be public conferences, not private conferences.

Second, you may designate any public conference with an associated e-mail list as a "mandatory" list.

New users are signed up for these lists, whether they like it or not, and they can't "unsubscribe" via the web interface.

However, for WebBoard 5 and 6, they can still unsubscribe themselves via e-mail.  To get around this, and also to let you create new mandatory conferences, I give you an easy way to (re-)register all users on the board for a conference e-mail list.  (I.e. instead of clicking on each user's name individually, you can do this en masse).

It's easy to designate public conferences with associated e-mail lists as "suggested" or "mandatory": you do it right on the manage conferences page (this page is located on the manager and administrator menus).

Since conference descriptions appear on the user registration page for any "suggested" conference e-mail lists, you can click on a conference name to edit the description, and you're also warned if a conference doesn't have a description (in this example, "Malpractice Issues" lacks a description):

Third, if your virtual board is primarily used as a substitute for an e-mail list server, chances are that most of your users don't log in very often.  That makes it fairly likely that they'll forget their login names, which in turn means that you'll get annoying e-mails in which they ask you to look up their login names.  Alternatively, they'll register again under another login name, which means that you'll have lots of "duplicate" users.  These problems tend to plague WebBoard 4 in particular, since WebBoard 4 users can't subscribe or unsubscribe via e-mail.

So, I've modified the "forgot your password" page.  Now users can enter their e-mail address instead of their login name.  The login name and password combination will be sent to the first user that the system finds, with a matching e-mail address.  In the (unlikely?) event that they recall their login names, they still have the option of entering them.

Fourth, this system also incorporates the entirety of the "cut-and-paste user lists" system, which allows you a great deal of power over the membership of private conferences, and boards (even open boards).  These extensions are clearly explained on the pages that allow you to maintain the membership of boards, conference e-mail lists, and private conferences.


You do have to be able to read from the WebBoard database via "tag" scripts, which in turn means that you may have to ask your system administrator for some information.  The default configuration of the system should work for many WebBoard installs.

In the install sections, I give you some practical advice about how to convince your system administrator to allow you this form of access: in particular, this system reads from the WebBoard database, but it does not modify it.  All modifications are done through (existing) WebBoard pages.


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

2:  Extensions: Using the full power of this system to manage board user lists, and private conference user lists

3:  Install (1): Complete Install Zips

4:  Install (2): Standard Install

5:  Install (3): Install configuration

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

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

8:  Other freeware products

9:  Version history information

10:  Acknowledgements


1:  Miscellaneous considerations

You should be using e-mail address verification on any board with this system.

When a board is configured with e-mail address verification, a new user cannot enter immediately.  Instead, they have wait for a randomly-generated password to be sent to their e-mail address.  This minimizes the number of users who have bad e-mail addresses.

Only a WebBoard administrator can set this option on the edit board page.  However, it is the default for a new board.

What happens if you don't use e-mail address verification?

First, if you have mandatory conference e-mail lists, or the user has selected any "suggested" ones, then they'll be signed up for those lists when they first log in.  Since some users will typically enter their e-mail address wrongly, this will cause outgoing "bounced" e-mail messages.  Users will also be able to cause mischief by entering another person's e-mail address.  (This particular type of misconduct is inherent to WebBoard, it's just easier to do it with this system.)

Finally, the country field is used to store the conference numbers of any "suggested" lists that the user has selected at registration time.  If you don't use e-mail address verification, it's possible that a user could successfully register as far as WebBoard's concerned, and then be dropped from their internet connection before the additional phase of registration that signs them up for any mandatory conference e-mail lists, or any of the suggested ones that they've selected at registration time.  That means that their country field will contain some "ugly" stuff, and if they never end up coming back to the board, this will show up when the user is listed via the "search users" page.  Whereas, with e-mail address verification, a user will be removed from the board if s/he fails to log in within 24 hours.


When users are added by the board manager or WebBoard administrator using the "add users" options, it's not possible to sign them up for "suggested" conference e-mail lists, and they won't be signed up for the mandatory ones until they successfully log in.  If you need these capabilities, please contact me.


I've increased the city, state, and country fields to 25 characters (the WebBoard default is 20, although these fields can actually hold up to 50 characters).

You can't increase the nation field beyond 25 characters: the remaining space is needed to hold the list of "suggested" conference e-mail lists that the user selects at registration time.  A better implementation might put this information in the userinfo fields, but there's no way to specify these when WebBoard 4 users register.

If you're running higher versions of WebBoard, and you need to have a nation field that's longer than 25 characters (perhaps because you've increased the length of the other two geography fields), please contact me.


You're limited to 8 "suggested" conference e-mail lists: that's because of the way in which they're stored in the new user's country field.  If you need to have a higher number, please contact me.


Users can prevent the system from working properly if they turn off JavaScript at the very instant that they log into WebBoard.

Return to table of contents

2:  Extensions: Using the full power of this system to manage board user lists, and private conference user lists

This system also lets you manipulate the user lists for private conferences, and entire boards.

Here's a brief description of what else it can do for you.


WebBoard uses three very similar pages to manage the user list for private conferences, the subscribers for conference e-mail lists, and the users in a board (the latter is accessible only to WebBoard administrators).

The key here is that lists of user ID#s are the coin of the realm.

To see how this works, first install the system (see below for the installation instructions).

Then create a private conference (if you don't have one already), and then add a few users to the conference.

Note that in the right frame, you can extract all the user ID#s for that conference (the users have to be currently enrolled).  If you click on the show user list link and scroll down in the left frame, you'll see a place where you can paste in a list of user ID#s, to be added to this conference's user list.

In the right frame, you can also delete users by using a list of user ID#s.


Finally in the right frame, you can also extract a list of user ID#s, login names, and first/last names: this list can be formatted in "commas-and-quotes" format, or in "tab-delimited" format.

Caveat: the detailed list of users won't necessarily be accurate, if some users have placed tabs, commas, parentheses, or double quotation marks within their login names, first names, or last names.  Although WebBoard 5 and 6 are fairly careful about allowable login names, they exert very little control over first and last names.

If you're a WebBoard administrator, you can access the users on the board, by going to the administrator menu, and selecting the "Add users to board" option.  Assuming that none of the users on your board have any of those forbidden characters (tabs, commas, parentheses, or double quotes) in their login names, first names, or last names, you can also get a fairly informative user list.

Note that the useredit page, and the new user registration pages have been altered, in order to prevent these illegal characters from appearing in login names, first names, or last names.

The same hasn't been done for the Add users option: so you can manually add users with these prohibited characters in their login names, first names, or last names.  Obviously, I don't recommend doing this.

If you're a WebBoard administrator, and you want to use the detailed user info. feature, then I recommend that you use my User DB Batch Processor to extract the information for all the users on the board, paste the results into a text editor, and then check for users who appear to have illegal login names, first names, or last names.  Or, if you have database access, you can write a very simple SQL query.  You can contact me if you'd like help writing it.

Unless you have a very large number of users, you may not find any users with tabs, commas, double quotes, or parentheses in their login or real names.  And if you do find some, then edit their profile information and remove those illegal characters.  From then on, you'll be able to rapidly extract detailed user information for any current board.


For a more detailed description of these additional capabilities, please browse to the documentation for the "cut-and-paste user lists" system, at: http://www.rs-freeware.org/cu/.

(By reading that web page, you'll understand more about the "cut-and-paste user lists" system, which has been entirely incorporated into this system.)

Return to table of contents

3:  Install (1): Complete Install Zips

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

4:  Install (2): Standard Install

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

For WebBoard 6, use: ls_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 this 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 useredit5.html to useredit.html, and sysadmin5.html to sysadmin.html.


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:
confmanage.html This is the "manage conferences" page, which is where you may designate public conference's e-mail lists as "suggested" or "mandatory."
forgot.html This is the "forgot password" page, which has been beefed up so that users can enter their e-mail address instead of thier login name.  On boards that tend to be oriented towards e-mail lists, many users forget their login ID (and end up pestering the board's staff as a result).
lists.html This is the page where users manage their own mailing lists.  It's been modified to "force" users to register for mandatory mailing lists.  When a new user first visits the board, this page is also loaded in a hidden frame, to ensure that the user is registered for all the "suggested" mailing lists that the user selected at registration time.
help\ls_blk1.html (This page is located on the board's help subfolder.)  This page loads with a brief "please wait" message when a new user first logs in, if (and only if) the user has to be registered for mandatory mailing lists or any "suggested" mailing lists that the user selected at registration time.  It's actually part of a frameset: the frameset itself is contained in help\ls_reg.html, and contains this frame as well as a hidden frame which contains lists.html.  Thus, the new user sees very little activity during the final phase of the registration process.
ls_clist.js This "tag" script accesses the WebBoard database in order to pull out a list of the conferenece names, descriptions and sequence numbers for all public conferences with an associated e-mail lists.  It's used on the new user registration pages, as well as on the user's page that manages mailing list, and the conference management page.  This file may require some configuration: see section 5 for more information.
ls_cstat.txt This is an "include" file that goes into the new user registration pages, the user's page to manage mailing lists, and the manage conference page.  It begins with a comma.  The conference sequence numbers for all conferences that have either "suggested" or "mandatory" mailing lists follow: each has a comma preceeding it, and is followed by either an "m" or an "s", as well as another comma.  This file is modified based on input obtained from the manage conferences page, and is actually written to the server by the tag script ls_wrtf.js.  That tag script is contained within the confirmation file (ls_wrtf.html on the help folder).
ls_forg.js This "tag" script accesses the WebBoard database in order to get the first user login name that corresponds to the e-mail address that the user may have entered on the "forgot my password" page.  See the comments above regarding forgot.html.  This file may require some configuration: see section 5 for more information.
help\ls_reg.html (This page is located on the board's help subfolder.)  See comments in ls_blk1.html, above.
help\ls_ulst0.html (This page is located on the board's help subfolder.)  This is the page that lets you dump out the user ID#s of all users on this board.  You then paste them into the textarea box in file userlisting.html, in order to add them all-at-once to a mandatory conference.
ls_ulst0.js This "tag" script accesses the WebBoard database in order to get the user ID#s of all users on this board.  See comments in ls_ulst0.html, above.  This file may require some configuration: see section 5 for more information.
help\ls_wftf.html (This page is located on the board's help subfolder.)  This is the confirmation page that you get when you change the mailing list status of conferences on the manage conferences page.  See comments in ls_cstat.txt, above.
ls_wftf.js This is the tag script that actually writes the new copy of ls_cstat.txt to the board's folder.  See comments in ls_cstat, above.
newuser-e.html This is the registration page for new users, for boards that use e-mail address verification.  It's been modified to allow the user to select "suggested" conferences.  Note: for reasons that should be clear, you probably want to use e-mail address verification.  That's because users could sign up for suggested conferences with a bad e-mail address: thus resulting in outgoing bounced messages, etc.  You're warned about this on the manage conferences page.  This page has also been modified to prevent users from entering tabs, commas, double quotes, or parenthesis in their login names, first names, or last names: these conditions are helpful when you to use the "EXTRACT" capabilities for detailed user information on the select_boardusers.html, select_forum.html, or select_listusers.html pages.
newuser.html This is the registration page for new users, for boards that don't e-mail address verification.  It's been modified to allow the user to select "suggested" conferences.  Note: for reasons that should be clear, you probably want to use e-mail address verification.  That's because users could sign up for suggested conferences with a bad e-mail address: thus resulting in outgoing bounced messages, etc.  You're warned about this on the manage conferences page.  This page has also been modified to prevent users from entering tabs, commas, double quotes, or parenthesis in their login names, first names, or last names: these conditions are helpful when you to use the "EXTRACT" capabilities for detailed user information on the select_boardusers.html, select_forum.html, or select_listusers.html pages.
select_forum.html For deleting a list of numeric user ID#s all-at-once from a private conference, or extracting user ID# lists from that conference  (or even a detailed list of users' ID#s, login names, and real names).  This is the page that comes up on the right frame when you maintain the user list for a private conference.
select_boardusers.html For deleting a list of numeric user ID#s all-at-once from a board's user list, or extracting user ID# lists from that board's user list  (or a detailed list of users' ID#s, login names, and real names).  This is the page that comes up on the right frame when a WebBoard administrator selects the "Add users to board" option on the administrator menu.
select_listusers.html For deleting a list of numeric user ID#s all-at-once from the subscribers to a conference e-mail list, or extracting user ID# lists from the e-mail list's subscribers  (or even a detailed list of users' ID#s, login names, and real names).  This is the page that comes up on the right frame when you manage the mailing list for the conference.
sysadmin.html Allowed access to select_boardusers.html for open boards.
sysadmin5.html Same as sysadmin.html but for WebBoard 5.  This file only exists in the WebBoard 4/5 install.
topics.html This is the topics lists page (left frame for frames users, or the entire frame for "no frames" users).  It looks at the user's country field, to see if it contains a caret ("^").  If so, this means that the user is a new user, and that there are either mandatory conference e-mail lists, or the user selected a "suggested" list (at registration time.  If so, topics will load ls_reg.html in its place, to finish the registration process, by signing the user up for any selected "suggested" conference mailing lists, or any mandatory mailing lists.  See the comments above in ls_blk1.html. e-mail lists.
useredit.html This is the user profile editing page, and it's been modified to prevent users from putting a caret ("^") or a double quote in their country field, since this field is where a new user's selected "suggested" conference e-mail lists are placed.  Actually the conference numbers are encoded in base-64 (there are 50 bytes available in the country field, but the user can use at most 25 of them for an entry.)  lists.html will call this file to clean up the nation field during the final phase of registration (i.e. when the new user first logs in), and after the field has been cleaned up, useredit.html will chain to the topics page, as well as broadcast a "thanks for waiting, welcome to our board" alert.  This page has also been modified to prevent users from entering tabs, commas, double quotes, or parenthesis in their login names, first names, or last names: these conditions are helpful when you to use the "EXTRACT" capabilities for detailed user information on the select_boardusers.html, select_forum.html, or select_listusers.html pages.
useredit5.html Same as useredit.html, but for WebBoard 5 users.  This file only exists in the WebBoard 4/5 install zips.
userlist.html This is the page that comes up in the left frame when you click on the "show user list" in select_listusers. &nbps;It's been modified to allow you to paste in a list of user ID#s, so that you can add all the users on the board to a mandatory mailing list.

Return to table of contents

5:  Install (3): Install configuration

First, if your system administrator has changed the default owner and password for the WebBoard database, or if you're running SQL instead of MSDE, you'll have to modify the following files by hand: ls_clist.js, ls_forg.js, and ls_ulst0.js.

Open Windows Notepad, and make sure that Edit | Word Wrap is off, before loading these files.

The values that you wish to modify are all on the first line (the DB DSN, the DB Name, the DB login (this is the DB owner), and the DB owner's password.

For SQL (instead of MSDE), the default DSN is often "WebBoardSQL" instead of "WebBoard."

These issues are fairly technical: I recommend that you install the files without configuring them.  Then click on the new user registration image on the login page (you may have to first close all browser windows and go back to your board, if you log in with a little grey pop-up box, sometimes known as "basic authentication.").

If you see an error screen, it should give you a clue about whether the problem has to do with the DBDSN or the "permissions" (the database owner and password).

The default values work for many WebBoard installations.  If you need more assistance, or you'd like me to modify these three files for you, please contact me.


If you do have to get some information from your system administrator, here's some practical advice.

Initially, your system administrator may have a rather adverse reaction when s/he hears that you wish to access the database.  What do you do about that?  I suggest getting the source code zip.  For WebBoard 4 and 5 users, this is in: ls_src4.zip.  For WebBoard 6 users, this is in ls_src6.zip.

Next, show the system administrator that each of these files (ls_clist.js, ls_forg.js, and ls_ulst0.js) use SELECTs to access the database.  In other words, they're "reading" but not "writing."  Your system administrator should realize that accessing values poses no threat to the integrity of the database or the server, since no modifications occur.


Once you install the system, go to Manage Conferences (on the Administrator or Manager menus).

If you need to add all the existing users on your board to a mandatory mailing list, go to Manage Mailing Lists, select the mailing list, and follow the instructions.

Return to table of contents

6:  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: ls_src4.zip.  For WebBoard 6 users, this is in ls_src6.zip.

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

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: ls.mak.

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


DEST=f:\\w\\html\\ls

DEST should have the folder name of the board from which you wish to run this system.

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

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

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

9:  Version history information

This is version 1.1, released on Nov. 19, 2002.

Revised on Dec 5, '02 to incorporate the features of the "cut-and-paste user lists" system.

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

10:  Acknowledgements

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

Return to table of contents