General Info | Template Language | WCTL Commands | WebX/Chat | WebX/Pro |
Release Notes | Standard Templates | URL Codes | WebX/Multi | FastCGI, NSAPI, ISAPI |
Visit the Web Crossing Conference to find a wealth of WebX info and a community of WebX experts on the Web!
Technical Support & Contact Information
The sysop or host can set the format for a discussion or area, or can allow
users to chose their preferred model. A discussion can be viewed in both modes: as
threaded messages, and as a conversation. The default threaded-messages view shows
multiple messages in one page to increase user productivity.
[See sysop Discussions panel, Edit Folder, Edit Discussion, User Preferences.]
Each Web Crossing folder can be configured as an NNTP newsgroup.
All messages, access control, moderation and authentication are shared by both Web-browser and
NNTP access paths.
[See sysop Newsreader services panel, Add/Edit Folder]
Each Web Crossing folder can mirror one e-mail list, and can be configured so that
posts to Web Crossing are forwarded to the list. This allows you to archive a
e-mail list for Web-browser access and searching, and to provide a completely Web-based
interface to any e-mail list.
[See sysop General Settings to set e-mail services, Add/Edit Folder]
Documents can be posted through a Web browser, through a
newsreader, or through an e-mail list, and can be downloaded through a Web browser or
newsreader.
[See sysop General Settings]
By default, users get a periodic refresh of their new message list,
with a beep when new messages are available.
This increases traffic because of page refreshes and the
increased involvement of your user community.
[See sysop Other Settings to enable bookmarks, Bookmarks button]
Other enhancements
Web Crossing Template Language
There is no limit to the number of folders, discussions, or messages, other than the maximum size of the database (512 Mbytes for Standard and Multi versions, or 2 Gbytes for Pro versions).
Each folder in the database can be defined as a newsgroup, so that newsreaders can access the discussions and messages in a folder. Each folder can also mirror an external e-mail list server, so that the folder collects and archives all of the list messages, and also forwards posts to the Web Crossing conference to the e-mail list.
Each location can have any number of site-specific fields. These additional fields are added through the Web Crossing Template Language, and can be used to customize the site.
Each user record stores the user name, password hash, personal information, viewing preferences, subscription list to areas of interest, and tracking for messages read by the user.
Each user record can also have any number of site-specific fields. These addition fields are added through the Web Crossing Template Language, and can be used to customize the site. For example, you could add work and home phone numbers to the user record.
The user directory is indexed by user name (last-comma-first format), and can also be indexed on other fields if desired.
If a location in the conference does not have an access list, then it uses the access list of its parent, and so on. There is no inheritance of access list settings: when you view an access list, you see the access settings in their entirety.
Access permissions are as follows.
Access | Usage |
---|---|
Host | Hosts are allowed to add, delete, or edit any items in their area. They are also allowed to approve or reject all moderated messages in their area, and to edit the access list for all items. |
Participant | Participants are allowed to add new messages, discussions, folders, and links as permitted by the folder structure controls established by the hosts. Participants posts are not moderated. |
Moderated | Moderated users are allowed to add new messages, discussions, folders and links as permitted by the folder structure controls established by the hosts. All messages and new items are subject to moderation rules, and will be checked by a host if they contain possibly objectionable words. |
Read-only | Read-only users can browse and read but are not allowed to add new messages, discussions, folders or links. |
No access | These users have no access to the area controlled by the access list. In fact, they do not even see the area at all -- its link is not present in its parent folder for this user. |
Access lists can include any number of users or groups and the access they are allowed. If a user is in multiple groups, then they have all the access rights permitted by any group. If a user is in the list explicitly, then they have exactly the specified access, regardless of any group-based access.
You can create any number of user groups. The members of a group are individual users or other groups.
A conversation is a series of messages displayed in the order they were posted, just as if a group of people were sitting around a table talking. You can read the messages from beginning to end to follow the flow of the discussion. In this model, messages can refer to prior messages if they are commenting on something other than the previous message.
Threaded messages are presented as a heirarchy of messages. In this model, you can reply to any message, and your reply is indented following the original post. The result is an outline structure, with separate eddies and flows of the conversation. This is similar to a group of people sitting around a table breaking up the main flow of the converation into smaller groups.
Conversations are excellent for building traffic at a public site, and for holding general discussions.
Threaded messages are perfect for some kinds of discussions, such as question and answer sessions. They allow the discussion to diverge in a managable way, and effectively self-organize sub-topics as they arise.
Web Crossing allows you to configure specific areas (folders or discussions) to use a particular model. Or, you can allow users to pick their preferred view. In a discussion that is not forced to a particular model, some users can be following it as a conversation, while others can be viewing it as threaded messages.
When a user clicks on the link to a discussion, they are automatically taken to the first new message, with one old message shown for context. Both conversation and threaded-messages are shown as a list of messages in a single page, so the user can just scroll down to read and follow the discussion.
Registered users can create their own personalized subscription lists, which allow them to immediately read and respond to new messages in areas of interest. When a user clicks on the Subscribe button, everything in the current area is added to their subscription list; when the click on Cancel Subscription, everything in the current area is removed from their list.
Once a user has created a subscription list, clicking on New Messages will find the next unread message and show it in context. Because multiple messages are shown in each page, this actually means that a user can catch up on whole discussions at a time, instead of individual messages. This makes the process of checking for new messages very efficient and convenient for the user.
Web Crossing can also build a personalized list of bookmarks for each user. When a user clicks on the Bookmark button next to each message, that message is added to their bookmark list. Clicking on the Bookmark button in the toolbar following each discussion or folder page will display the user's list of conference bookmarks.
The bookmark page can also show a complete list of new messages (e.g. one link for each discussion that contains new messages). Because the bookmark page can be refreshed periodically, and can beep when new messages are found, this provides an effective way to participate in a discussion in near-real-time: all the user needs to do is bring up their bookmark page, and they will get a beep and a link to follow shortly after a new message is posted.
Web Crossing automatically reformats enclosures as required for a particular protocol. So you can upload via a newsreader and download through the Web, etc.
Note: not all Web browsers support enclosure uploads.
On Windows, both Netscape and Internet Explorer work well for uploads regardless of file size.
On the Macintosh, both Netscape 4.04 and Internet Explorer 4.0 have serious bugs. Netscape/Mac hangs if you try to upload files that are too large (perhaps 70K), and only uploads the data portion of any file. IE/Mac does not correctly upload files larger than 32K, and corrupts data for any filetypes that it decides to send in MacBinary format. So, on the Mac, you can always upload GIF and JPEG files smaller than 32K, but other files may not upload correctly.
If the index is disabled, then Web Crossing does a full-text search which is much slower, as it requires checking the text of each message to perform a search.
Searching is configured in the sysop General Settings control panel.
You can do a great deal of customization through the HTML templates in the sysop control panels and Edit Folder panels. For more control, see the Web Crossing Template Language.
If your Web server supports FastCGI, you should use it, because it is faster and uses fewer system resources than the standard CGI interface. FastCGI support is available for the Apache, Open Market, NCSA, and Stronghold Web servers. FastCGI can be used with Netscape servers through an NSAPI module that is available from Lundeen & Associates.
FastCGI must be used when running Web Crossing on a different host than the Web server.
ISAPI is a proprietary interface for Microsoft Web servers running on Windows NT, and provides much better performance than the standard CGI interface.
Please see FastCGI, NSAPI, and ISAPI Interfaces to configure your site to use one of these faster interfaces.
Web Crossing can be configured for both CGI requests from an external Web server, and to serve requests directly.
In order to turn on direct Web service, you need to configure the Web server port and settings for Web Crossing, and then restart the Web Crossing server.
On Windows, use the Web Crossing Config program, see the HTTP Service tab. You can use the Control tab in the same program to restart the Web Crossing server with the desired HTTP port.
On Unix and MacOS, create a file named WebPort in the same directory as the Web Crossing program. This file should contain one line, with the port number for Web Crossing to use for direct HTTP service (normally port 80). When Web Crossing is restarted, it will pick up the HTTP port from this file and start serving direct requests. On Unix, this file can also specify a single IP address on which Web Crossing will listen. For example, setting this file to
1.2.3.4:80would listen for incoming HTTP (Web) requests on IP=1.2.3.4, Port=80. After editing the WebPort file, restart Web Crossing and you will have direct Web service.
All of the settings for direct Web service, including enabling/disabling the service, can be set by logging in to Web Crossing as the sysop, and using the sysop Direct Web service control panel -- but you have to have Web access by some data path to access Web Crossing from your Web browser to use this.
To allow Java chat clients to connect to Web Crossing chat rooms from across a firewall, you need to configure Web Crossing to serve HTTP requests on port 80, and also configure the fanout client port to 80. Then Web Crossing will provide both HTTP and chat service from port 80.
To enable newsreader access, use the sysop Newsreader access panel. (This service is called a "private" news server, since it is not part of the public news network. But anyone with a newsreader can connect to your news server and participate in the discussions in this manner.)
After enabling Newsreader service, you need to set the newsgroup name for each folder that you want to be available. Use the Add Folder and Edit Folder buttons to set these names.
All of the features of the Web-based access are supported through newsgroups: access lists, moderation, and enclosures all work for Web Crossing's newsgroups.
One caveat: all of the newsgroups are visible to a newsreader, regardless of their access list. This is to make it possible to access restricted newsgroups in some newsreaders. However, if a user doesn't have access to a newsgroup, then he/she won't be able to see anything more than its name.
Some newsreaders, unlike Web Crossing, do not allow user names to contain blanks. In this case you can use + in place of blanks. For example, John Doe in Web Crossing could login as John+Doe through his newsreader (although John Doe will work in both places if supported by the newsreader).
To enable e-mail services, Web Crossing needs the IP address of your Domain Name Server (DNS). You can also specify the maximum number of e-mail threads to run at one time. Both of these settings are configured through the sysop General Settings control panel.
To configure Web Crossing to validate e-mail addresses, use the sysop Registered Users panel. Users are marked as provisional until they have replied to the validation e-mail. You can specify that provisional users have reduced access until their e-mail address has been validated. (The Registered Users panel also lets you reject registration requests from a list of email addresses, so you can keep out unruly users.)
With e-mail enabled, you can set up any folder to mirror an external e-mail list. Messages posted to the list are pulled down by Web Crossing and placed into the Web Crossing folder. Replies are automatically added to the correct discussion. Posts in Web Crossing can be e-mailed to the list if you like, so that Web Crossing can provide a complete Web-based interface to the list.
To configure Web Crossing to mirror an e-mail list, create the folder and fill in the e-mail list settings in the Add Folder or Edit Folder forms.
Your site name: This is the name of your site. Clicking on it will take you back to the top level page.
Time zone suffix: This lets you specify the time zone suffix for times displayed in your forum.
Hours to add to local time for user item display: If you are running a conference for users who are primarily in another time zone, you can adjust your time to theirs. For example, if your site is running on New York time, and you are serving a private conference for users in Texas, you can set this value to -1 to back up your clock by one hour. Or if you are on Greenwich Mean Time, you can use this to adjust your clock to your local time zone.
Directory for images: Web Crossing references various buttons and icons as part of its user interface. This setting specifies the URL for the directory containing these image files. This value is set during the site setup, and only needs to be changed if you move the directory.
Directory for help files: Web Crossing's help files are normally kept in the same folder as its buttons and icons. However, you can move the help files to another directory. For example, if you are serving the graphics through Rush Hour on the Macintosh, you need to put your text in another folder because Rush Hour cannot serve text files.
Sysop e-mail address: This address is used as the mailto: address for the Email to Sysop button.
Minutes of inactivity until automatic logout: Web Crossing can normally manage user login and new user registration. When a user has not submitted a new request within this automatic logout time, he/she is automatically logged out.
Show You have guest access... at top of pages for guest users: If you enable guest access, guest users will be able to browse your site without logging in. Web Crossing can supply a line at the top of each page to indicate that the page was prepared for a guest, and to allow the guest to login and register.
Show time and date: You can suppress time and date stamps on messages, folder headings, and discussion headings.
Maximum characters to show per page: When Web Crossing prepares a page of messages, it will split them into smaller pieces so that the conference is more responsive. This setting is the maximum number of characters to include in each page. (The actual number of characters may be larger, because Web Crossing never splits up individual messages.)
Maximum width in characters for text and textarea boxes: Web Crossing will clip all text input fields and all textarea boxes to this maximum width.
Maximum characters in a title, folder heading, discussion heading, and message: Web Crossing will drop user input past these limits. This allows you to limit the maximum size of a post.
The Search section enables the built-in search functions and keyword indexing. You can choose to show a search button for the top level and/or for nested items. You can also enable Search the Net via Forum One.
The Moderated posts section lets you specify a list of objectionable words. If you leave this section blank, then all moderated posts will be checked by a moderator before they are added to the conference. If you specify a list of words, then only posts containing one or more of these words will be checked by a moderator; other posts will be added immediately.
HTML tags to remove from user posts: lets you specify a list of HTML tags to be stripped out of user posts. The tags for TITLE, HEAD, FRAME, STYLE, DIV, BASE, ISINDEX, LINK, META, NEXTID, HTML, BODY, RANGE, and BANNER are unconditionally removed and do not need to be added to this list. Also, tags will automatically be balanced as required.
Server address: The server address is not normally required, because it is included as part of the standard CGI interface. Web Crossing uses the SERVER_NAME CGI variable to construct a URL for reading subscriptions. If the SERVER_NAME is incorrect, users can not read subscriptions. You may override SERVER_NAME by specifying your server's Internet address, e.g., www.lundeen.com.
Host name aliases: Site name aliases (e.g. www.alt.com, www.alt2.com), should be specified if there is more than one host name for your site. Aliases may be separated by blanks and/or commas. It is a good idea to always include your site's IP address in this list. These aliases are used to recognize and update self-referential links.
If self-referential links are not updated correctly, try setting this field (and also check the host name aliases).
You can also chose to use a "two-stage" login. A one-stage login puts both the user name and password on one page. A two-stage login puts the user name in the first page, then asks for the password in the second page. A two-stage login can make it easier for someone to come into the conference, by simplifying the choices in the first page. To use a two-stage login, see the Sysop Controls panel, and fill in the second-stage heading in the Login News section.
You can choose to provide a greeting page that is displayed after each login.
You can also set the heading in the new user registration page.
If you choose, you can totally customize the appearance of the top-level page, including explicit links to other locations in your forum.
As the sysop, you can specify the background, banner, and footer on a folder-by-folder basis. If you do not specify these, the parent folder or top-level settings will be used.
The title of the folder is defined by a template, so you can totally control its appearance. The default title includes the current location, so the user can link to any parent folder or to the top-level page.
As the sysop, you can choose to suppress the automatic list of the folder contents. In this case, you must include explicit links in the folder's heading.
A user who creates a new folder provides its heading. You can specify a default folder heading to be used if the user does not provide one.
Discussions are a series of messages posted by conference users. A discussion may have any number of messages, limited only by the maximum database size. A discussion page has the layout:
The background, banner, and footer for a discussion are the same as its parent folder. So all discussions that are contained in the same folder will have the same background, banner and footer. (However, you can use template logic to display different banner and footer HTML for the discussions, by having the template check to see if the banner is for a folder or a discussion.)
A user who creates a new discussion provides its heading. You can specify a default discussion heading to be used if the user does not provide one.
The Discussions panel also provides top-level threading and conversation settings.
Again, all folders and discussions share the same toolbar template, but you can use conditional sections in the toolbar. A toolbar has the following sections:
The default text after the toolbar includes the current location, in order to navigate through parent folders.
The number of buttons in a toolbar row is not constant in the 3-row toolbar, thus the "number of buttons across" field does not apply to the 3-row toolbar layout.
You can specify the help text displayed before all message and heading textareas.
If you change the size of any of these GIF images, you must enter the new size in the sysop Custom buttons and icons form, or the appearance of the new images will be distorted on most browsers.
Buttons
Filename | Text | Description |
---|---|---|
access.gif | Access List | create or change the access list |
addcat.gif | Add Folder | add a folder |
addforum.gif | Add Discussion | add a discussion |
addlink.gif | Add Link | add a link |
addlive.gif | Add Chat | add a chat area |
bookmark.gif | Bookmarks | Bookmarks button for toolbar |
cancel.gif | Cancel | cancel |
cancelsb.gif | Cancel Subscripts. | cancel subscription (in this folder or discussion) |
chkmoder.gif | Check Moderated | check for messages to moderate |
chksubs.gif | Check Subscripts. | check for new messages |
cnclsbtp.gif | Cancel All Subscripts. | cancel all subscription |
confernc.gif | Conference | return to the conference (from a sysop area) |
delcat.gif | Delete Folder | delete a folder |
delete.gif | Delete | confirm deleting a folder or discussion |
delfrm.gif | Delete Discussion | delete a discussion |
editcat.gif | Edit Folder | edit a folder |
editfrm.gif | Edit Discussion | edit a discussion |
emlsysop.gif | Email to Sysop | send e-mail to sysop |
export.gif | Export | export |
getinfo.gif | Get Info | Get Info button |
gstlgin.gif | Guest Access | request guest access |
import.gif | Import | import |
login.gif | Login | login as a user |
lstpswd.gif | Lost Password | send e-mail to sysop about lost password |
newuser.gif | Register | register as a user |
nrwhelp.gif | ? | help (question mark) |
ok.gif | OK | accept |
outlinew.gif | Outline New | Show new messages in outline form (not used in current interface) |
outlnful.gif | Outline Full | Show all messages in outline form (not used in current interface) |
prefs.gif | Preferences | change user preferences |
preview.gif | Preview | Preview a post (not used in current interface) |
pstmsg.gif | Post Message | post a message (toolbar button) |
pstmymsg.gif | Post My Message | submit the message |
search.gif | Search | search for text |
setprefs.gif | Set Preference | confirm preference changes |
smallmsg.gif | All Messages | small All Messages button |
smbookmk.gif | Bookmark | small bookmark button |
smdel.gif | Delete | small delete button for messages |
smedit.gif | Edit | small edit button for messages |
smmore.gif | More | small button to show more messages |
smnew.gif | New | small New button |
smoutline.gif | Outline | small Outline button |
smpostmsg.gif | Post Msg | small Post Msg button (not used in current interface) |
smprev.gif | Previous | small button to show previous messages |
smrecent.gif | Recent | small button to show recent messages |
smreply.gif | Reply | small button to reply to a specific message |
smtolast.gif | To Last | small button to show last message |
smtotop.gif | To Top | small button to show first message |
subscrib.gif | Subscribe | subscribe (to this folder or discussion) |
subscrtp.gif | Subscribe To All | subscribe to everything |
toctrl.gif | Control Panel | view control panel (sysop only) |
Other images and sounds
contain.gif | Container icon |
converse.gif | the discussion icon |
ding.wav | the sound played by a bookmarks page refresh when there are new messages to check |
guest.gif | default image for guest posts |
indent.gif | indent icon for threaded message |
indent2.gif | alternative gray indent icon for threaded messages |
live.gif | the chat icon |
link.gif | the hyperlink icon |
new.gif | alternative newburst icon |
newburst.gif | new message icon |
outline.gif | the outline icon displayed next to a discussion in a folder listing |
pathdiv.gif | the path divider icon (in backpath) |
powerby.gif | powered by Web Crossing icon |
site.gif | icon for backpath display |
t.gif | 1x1 transparent GIF for spacing |
topic.gif | the folder icon |
topr.gif | alternative tops.gif button (round) |
topr2.gif | alternative tops.gif button (round and gray) |
tops.gif | top-level message icon for threaded messages. Also used by the searchResults page as the message icon |
tops2.gif | alternate tops.gif icon in gray |
To track user posts, you must enable this feature in the sysop Registered User panel.
To show posts in each user's personal information page, you have to add the userInfo template to your webx.tpl file. There are step-by-step instructions in the Web Crossing Template Language documentation section.
As the sysop, all the HTML text you provide can also include directives from the Web Crossing Template Language (WCTL). WCTL is a server-side scripting language that allows you to insert text that is customized for the current user and location in the site, including conditional sections.
Please see the Web Crossing Template Language document for a complete description.
Two examples follow of how you can use WCTL.
For example, you could use a three-level "forum/topic/thread" terminology by changing the Title HTML template to the following:
Now, when a user logs in and they are going to the top level, they will see your normal login heading. If they follow a link from that login page, they will be going to a specific place in the conference, and they will just see the "Please log in" heading.
The Web Crossing database is kept in a file named webx.db. You can make a backup copy of this file directly if you first shut down Web Crossing. Do not make copies of the webx.db file while Web Crossing is running. If you happen to copy this file during a database save, you will not have a valid database, and your backup efforts will be for naught.
The preferred method for database backup is to use the Backup panel from the Sysop Control Panel. Bring up the backup panel and click on the Backup button at the bottom of the panel to make a backup file.
The Backup panel makes a new backup named webxdb.1. This file can be copied to removable media or another machine at any time, as it is never modified by Web Crossing after the backup has completed.
The Backup panel also lets you keep a roll-forward log. This is an ASCII file that keeps a record of all changes to the database following the point in time when the webxdb.1 backup was written. In the event that you lose the main webx.db file for any reason, you can recover all database changes from the backup webxdb.1 and matching roll-forward log webxroll.1.
Keeping a roll-forward log is highly recommended. The cost is small because only database changes are recorded, and the extra protection it gives your database will be invaluable should you ever need it.
Do not remove the webxroll.1 file from the Web Crossing directory. Web Crossing will open this file each time it starts up, and will continually append database changes. You may however make a copy of the webxroll.1 at any time, as it is plain ASCII and is written in append mode only.
Note that the Backup command will automatically rename older backups with the next higher suffix number. So a backup will first rename an existing webxdb.1 and webxroll.1 to webxdb.2 and webxroll.2, and so on. If you have more backup sets than specified in the Backup panel, the oldest sets will be automatically deleted.
To recover your webx.db file from the roll-forward log, use the following steps:
Step 1. shut down Web Crossing,
Step 2. rename the corrupted webx.db file (instead of deleting it,
just in case it turns out to contain useful information),
Step 3. make sure that webxroll.1 and the matching webxdb.1 are present
in the same directory as the Web Crossing program,
Step 4. restart Web Crossing.
Web Crossing will automatically detect that there is no webx.db file, but that there are webxroll.1 and webxdb.1 files, and will then recover your current database.
Web Crossing's certificate-based authorization is the default authorization mode. In this mode, Web Crossing creates a unique certificate each time a user logs in. These certificates are dynamically embedded in each URL generated by the Web Crossing server, so the server can identify the originating user when they follow one of these links. Login certificates automatically expires when the user hasn't accessed the conference for some time (the automatic logout interval, which can be set by either the sysop or by each user).
Cookies can be used to keep track of logged in users. In this mode, Web Crossing sets a cookie at the user's browser each time the user logs in. Subsequent visits to Web Crossing recognize the cookie and use it to identify and authenticate the user.
You can enable cookies in the sysop Registered User Access panel. Once you enable cookies for the site, then individual users can chose to enable or disable cookies in their preferences panel.
When you enable cookies, Web Crossing lets you specify the default settings for new and existing users. You can choose to turn on cookies by default, or require that each user turn them on if so desired. If you set the default for existing users to "off", then they will not see any change when you enable cookies for the site, but they will be able to turn on cookies on an individual basis. The default settings for new and existing users are specified in the Registered Users panel.
Cookies set by Web Crossing are valid for the duration of the client browser session (until the browser is quit). In an environment where machines are shared by multiple users, users must quit the browser before they leave the machine.
Due to a common browser bug, cookies can cause minor problems for Web Crossing sites which may be reached by multiple hostnames (for example webcrossing.com and www.lundeen.com). Web servers can send a relative URL in a redirect response, but without the "http://site/" part, browsers don't use the redirect URL in the location field for the page. (Instead they use the URL which returned the redirect.) Therefore redirect responses must use absolute URLs. The Web Crossing Check Messages and Bookmark commands use a redirect response, so for example, if a user logs into the Web Crossing server via webcrossing.com and gets a cookie, then checks messages on the server via www.lundeen.com, does nothing in Web Crossing until the automatic logout period has passed, and then checks messages again via www.lundeen.com, they will be asked to log in again, since the browser doesn't have a cookie for www.lundeen.com. Ordinarily they would not be required to log in again, as the cookie would re-authenticate them automatically.
HTTP Basic Authorization uses "realms" defined by your Web server. This authorization technique is appropriate when all the people who need access to your Web Crossing conference can be added to an authorization realm on your Web server. This technique is not appropriate if you want guest users to visit, or if you want new users to register automatically without any action on your part.
To use HTTP Basic Authorization, check the Support HTTP Basic Authorization box in the Web Crossing Sysop Controls / Registered Users form, and click the Update Registered User Settings button at the bottom of the form.
Define a realm or realms in your Web browser, with a username/password pair for each user.
For each user in your Web Crossing access realm, you can use Sysop Controls / Add User to add the user and specify his/her e-mail address. If you skip this step, then each user will be added automatically the first time they access Web Crossing, but their e-mail address won't be available through the conference database.
For complete control over the authorization, login, and registration process, see the Filter macros section in the Web Crossing Template Language document.
With e-mail validation turned on, new users are marked as provisional and an e-mail message is sent to them. A user confirms his/her address by replying to the message. Upon receipt of the reply, Web Crossing upgrades the user to have the full access rights of a registered user.
To configure e-mail validation you'll need to know the IP address of your DNS server, and you'll need to set up a dedicated e-mail account for this purpose on a POP3 e-mail server.
E-mail validation is configured in the Registered Users section of the sysop control panel. Add a check to the Validate e-mail for new users box to enable this feature. In the Domain name server (DNS) for e-mail delivery textbox enter the IP address of the DNS server. In the Server's e-mail-box-address textbox, enter the full e-mail account such as webx@yoursite.com. In the Server's e-mail-box password textbox, enter the password for this e-mail account. The Web Crossing server must be restarted after making these changes.
If you enable this feature, you must regularly check the logEmail file, in the same directory as the webx.db database, for any problems that need to be handled manually.
In conjunction with automatic e-mail validation, you can specify a list of e-mail addresses or domains that are not allowed register. This allows you to eject disruptive users and keep them out permanently and automatically (until they get a new e-mail address). To permanently eject someone with a specific e-mail address, use the List of e-mail addresses that cannot auto-register setting at the end of the Registered user access panel.
You can also specify whether automatic user registration is allowed, and the access permissions available to registered users. Use the "Registered user access" link in the sysop control panel.
You may enter new users manually, and manage some user settings. For example, if a user looses his or her password, and sends you an e-mail to ask for a new one, you can install a new password and send it back. You can also clear user pictures, if they are inappropriate, and you can delete a user so that he or she has no more access to your conference. All of these functions are links from the sysop control panel.
This can be useful when users are coming in from different locations, and you have a loose sense of which groups they should belong to based on this initial entry.
In order to have new users automatically placed into existing groups, use the following steps.
%% macro registerGroups %% %% if certificateIs tag1 %% groups1... %% else if certificateIs tag2 %% groups2... ... %% endif %% %% endmacro %%
Substitute your own tag and user group names. You can have as many different groups as you like; this template simply needs to return a list of group names for a particular tag (e.g. certificateIs).
href="...webx?14@-tag@"
where tag matches the list of groups to be used based on this entry URL.
You can also control the position of a discussion in the list, regardless of its normal placement, by specifying a Sort sequence when you edit it. The sort sequence is 0 by default. If you set the sort sequence to positive numbers, the discussion will move towards the top of the list. If you set the sort sequence to negative numbers, the discussion will move towards the top of the list. For example,
Discussion title | Sort sequence |
---|---|
Hello world | |
Will JAVA rule? | |
A normal discussion | |
This is an old chestnut |
When this happens, you cannot login using a Netscape Web browser, because the "Login" button cannot be found, so you cannot click on it.
The solution is to login using the URL
For example, you might have a very active area with a lot of short discussions. You could set this area up to expire discussions after one week (e.g. expire after 7 days), and move the expired discussions to an archive folder. The archive folder could be configured to hold the discussions for another 3 weeks (e.g. expire after 28 days), and then back them up and delete them.
Each folder has its own expiration settings. A host or sysop can specify automatic expiration by clicking on the Edit Folder button in the folder's toolbar. Fill in the Expired discussions section and click on the OK button.
Expiration settings do not propagate to nested folders -- each folder stands alone. If a folder does not have any expiration settings, then discussions in that folder will remain until they are explicitly deleted.
You can mark individual discussions as permanent, so that they do not expire automatically. A host or sysop can set discussions to permanent, or change them back to normal status, by clicking on the Edit Discussion button in the discussion's toolbar. Check the Permanent setting and click on the OK button.
The actual archiving is done in the background on a daily basis, starting at 3:00 AM local time.
Note that moved items keep their unique IDs, so that any links to them will continue to work.
You can use the same form to export, delete, or purge selected items in a folder.
Web Crossing will serve all pages in the "html" directory contained in the same directory as the webx.db database file. To make a URL to one of these pages, use
Files served by Web Crossing can use the full Web Crossing Template Language, and can process form variables.
In order to give maximum performance, the Web Crossing server caches the "html" files it serves. In order to see new versions of files installed in this directory, use the Reset file cache for HTML files command near the bottom of the sysop control panel.
Web Crossing uses a disk cache to keep frequently-accessed database information in memory. If the disk cache is too small to hold the working set for the database, then performance will degrade dramatically as Web Crossing makes multiple disk access per request. You should periodically check the number of disk pages discarded in the Memory usage panel. It is normal for pages to be discarded from the cache to make room for active users. But if this number is growing too rapidly, then increase the size of the disk cache. In general, the cache size is a function of how many users you have at any one time and how much current active content they are using. For databases up to 200 Mbytes, a good rule of thumb is to keep the disk cache at 30% to 40% of the size of your database.
Web Crossing uses a small-object heap to cache things such as open folders and discussions, user information, login certificates, webx.tpl information, and so on.
You should periodically check the small-object heap reclaims and try to keep this number zero or very low. If you see the number of heap reclaims growing rapidly, then increase the size of the small-object heap.
The stress test uses another copy of Web Crossing, running on another machine, to emulate user requests. The test copy of Web Crossing makes TCP/IP connections, sends HTTP requests to your Web server, and checks the results.
The test copy (or copies) of Web Crossing do not require an additional license fee as long as they are used only to test your Web Crossing installation.
To start a set of test clients running, send a URL such as the following to the test copy of Web Crossing:
where:
When you send a 204-0 request, you will get a report of the number of connections, views, posts, errors, and average time per request. For example,
Use the Export User Directory command in the Sysop Control Panel. This command allows you to specify which user fields are exported, and to specify addition fields you may have defined.
When you export a folder, all of its nested folders and discussions are included. When you export from the very top level, the entire discussion database is exported, including all users and the current sysop settings.
The import/export file formats are in SGML, and use "obvious" tags and structure. Just do an export, and take a look at the output file. The file format is very much like HTML, but with a different set of tags and attributes. When you view one of the export output files, use a text editor with line-wrap turned off, as the output lines can be very long.
Exports of user information do not preserve subscription lists or highwater marks.
To import a Web Crossing SGML file, just navigate to the folder in which to place it, and click on the "Import" button which is in the toolbar (only for the sysop).
You will be asked to provide the filename and some parameters for managing imported users. After the import completes, you can examine the import report to see exactly what came in.
The import file may contain any combination of sysop settings, users and groups, access lists, folders and discussions.
Note that two folders may not have the same name. So if the import reports an error, you can rename or delete the existing folder, or edit the import file.
A unique ID is just a 32-bit number in hexadecimal with leading 0's suppressed. Unique IDs start at 250000000L or hex ee6b280. The unique ID for a user has a bias of 250000000L subtracted from it to make it shorter. (The offset allows possible future use of the 0..249999999L range.)
You can use either full textual pathnames or unique IDs to locate an object. Pathnames are identified by a leading slash, unique IDs by a leading period. So a pathname of "/Current Events/Politics" might be the same as a unique ID of .ee6af23. The advantages of unique IDs are that they don't change when something is renamed, and they are fixed length (a good thing since many Web servers have problems with URIs over 255 characters).
Each message in a discussion has a unique message number assigned starting with 0 when the message is created. Messages are identified by the discussion unique ID and the message number, as .ee6b3af/2.
When you export a folder or discussion and then import it to a new location, you will want it to keep the same unique ID so that bookmarks will continue to work.
Web Crossing includes the each item's unique ID in an export. If that unique ID is not in use when the object is imported, it will be reassigned to the imported document.
If you rearrange your site by exporting and importing, this means that you should always:
If you import content from another database, it may not be possible to keep the same unique IDs. But if you import content into a new database, be sure to keep the <sysop...nextUnique=id> tag in the import file, so that the original unique IDs will be reserved and available.
To start a new database from an exported file:
To recover information which was deleted, just edit this backup file and copy the section you want to recover to a new file. Then import this file into the desired place.
Web Crossing keeps all passwords using one-way encryption (as an MD5 signature). When a user's password is exported or imported, this MD5 signature is what is actually visible in the export or import file.
In order to make it easier to import an existing list of users, Web Crossing allows you to specify passwords for new users in clear text. Instead of "password=...", use "passwordc=..." ("c" for "cleartext"). The password following "passwordc=" will be encrypted into internal format during the import of the new user.
Each <user> or <guest> entry in an export/import file has the following format:
deleted | Present only if the user is deleted (so the record is kept only as long as referenced by some prior message); |
ID | Hexnumber to reference this user as the author of a subsequent heading or message; |
name | User's name (in either first-last or last-comma-first format); |
E-mail address | |
showPictures | 1 or 0 for on or off |
showPictBorders | 1 or 0 for on or off |
isSysop | 1 or 0 for yes or no |
logoutTime | Seconds before logout after last access |
maxData | maxBytes allowed in a discussion page |
homePage | Home page URL |
password | The user's password MD5 signature |
passwordc | The user's password in clear text (this attribute is never exported, and is only used when importing a new user) |
picture | The user's picture |
respHeadingSize | fontSize for the user name in a message heading |
respInfoSize | fontSize for the time/date/2nd-line in a message heading |
respBodySize | fontSize for the body of a message |
maxMessages | Count to limit the number of messages in a discussion page |
catForumSeq | Controls the order in which discussions are listed.
|
secondLine | Optional second line of user information |
bio | Optional user biography information |
urls | Optional favorite URLs for a user (each URL is a URL followed by an optional comment, each URL is on its own line). |
user_varname | Site-specific additional fields defined for this user record. See Defining your own variables - user and author variables. |
For example, the following
will import a new user named John Smith with an initial password of abcdefxxx, and reasonable values for everything else.
The user tag includes an ID attribute that identifies the user within a particular SGML stream, and can be used to specify the author of an item. For example,
Folder attributes are:
name | Folder name name="Test Export" | |
date | Last modified date date=04/06/1998.10:26:02 | |
created | Creation date created=04/06/1998.10:25:40 | |
author | Folder author ID (hexadecimal) author=0000820C | |
unique | Unique ID for the folder, reused if not currently assigned unique=0EE6B2B2 | |
flags | Flags for folder settings (hexadecimal, see Flag bits following) flags=00000000 |
|
sortSeq | Primary sort key in parent folder. Items with the same sortSeq
are sorted by item type and then by name. sortSeq=100000 | |
heading | HTML heading for the folder heading="Folder heading text" | |
background | Background override for this folder. If empty, then the parent's
background is used. background="" | |
banner | Banner override for this folder. If empty, then the parent's banner is used. banner="" | |
footer | Footer override for this folder. If empty, then the parent's footer is user. footer="" | |
template | Template for this folder. If empty, then the parent's template is used. template="" | |
path_varname | Site-specific additional fields defined for this folder. See Defining your own variables - path or location variables. |
Discussion attributes are:
title | Title of the discussion title="Test discussion" |
date | Last modified date of the discussion date=04/06/1998.10:26:14 |
created | Creation date of the discussion created=04/06/1998.10:26:02 |
author | Folder author ID (hexadecimal) author=0000820C |
unique | Unique ID for the discussion, reused if not currently assigned unique=0EE6B2B2 |
flags | Flags for discussion settings (hexadecimal, see Flag bits following) flags=00000000 |
sortSeq | Primary sort key in parent folder. Items with the same sortSeq
are sorted by item type and then by name. sortSeq=0 |
heading | HTML heading for the folder heading="Folder heading text" |
path_varname | Site-specific additional fields defined for this discussion. See Defining your own variables - path or location variables. |
deleted | Present only if the message has been deleted. |
author | Folder author ID (hexadecimal) author=0000820C |
created | Creation date of the message date=04/06/1998.10:26:14 |
content-type | Must be text content-type=text |
body | Message body text body="Test message text" |
path_varname | Site-specific additional fields defined for this message. See Defining your own variables - path or location variables. |
Name | Hexadecimal | Usage |
---|---|---|
ItemShowAuthor | 00000001 | Show author for category/forum |
FolderHideItems | 00000002 | Hide items when listing the folder |
LinkShowDescription | 00000004 | Show description of link in its folder listing |
LinkToFolder | 00000008 | For a link, TRUE iff linked to a folder |
LinkToDiscussion | 00000010 | For a link, TRUE iff linked to a discussion |
TableIsAnonymous | 00000080 | For a chat table, allow anonymous users |
TablePlayLoopback | 00000100 | For a chat table, playback is in loopback mode |
Permanent | 00000200 | Marks a discussion as permanent, e.g. it will not automatically expire and be moved or deleted |
Web Forum: | Web Crossing Conference | |
Email: | support@lundeen.com | |
Voice: | 510.779.9626 | |
Fax: | 510.778.2585 |
Sales & Business Contact Info
Email: | sales@lundeen.com | |
Voice: | 510.521.5855 | |
Fax: | 510.522.6647 | |
Post: |
Lundeen & Associates P.O. Box 2900 Alameda, CA 94501 |