| Operations Documentation | Non-Programmer's Guide | General Information | WCMS Operation | Chat | Specialized Interfaces | Software Development & Scripting |
Visit the
Technical Support & Contact Information
There is no limit to the number of folders, discussions, or messages, other than the maximum size of the database (512 Mbytes for Multi versions, or 2 or 4 Gbytes for standard versions depending on the operating system).
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.
Web Crossing provides several built-in user groups, adding a user or other group to one of these groups
grants special privileges.
| superhosts | A superhost user fits between a sysop and a host: they have full sysop priviledges, except that they cannot change the configuration of how Web Crossing fits into the machine it is running on: IP/port addresses, memory settings, etc. Superhosts are primarily intended for situations where the technical administrator doesn't want the superhost to be able to reconfigure technical settings. Superhosts can also be used to give some hosts special privileges without allowing them to reconfigure services. See the configuration settings in the sysop Registered Users panel to specify a superhost group. Any user put into this group becomes a superhost. |
| wctlUser | Only members of this group (plus the sysop/superhosts) are allowed to use WCTL anywhere. A host who is not in this group cannot use WCTL in banner/footers, in folder headings, or in discussion heading. Web files that are uploaded/edited by someone who is not in the wctlUsers group will not be evaluated as templates. A user's access rights are checked during imports as well as when creating/editing a location. Members of the superhosts group may set this group in the sysop Registered Users panel. |
| cgiUser | If the author/editor of a CGI script is not in this group, then the script doesn't run and a 404 error is returned instead. (Files uploaded outside of Web Crossing and found by syching to the host filesystem are considered to have the sysop as their author, so they can always be run as scripts.) Members of the superhosts group may can set this group in the sysop Registered Users panel. |
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 they 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 marks for each user. When a user clicks on the Mark button next to each message, that message is added to their list. Clicking on the Message Center button in the toolbar following each discussion or folder page will display the user's list of conference marked items.
The Message Center page can also show a complete list of new messages (e.g. one link for each discussion that contains new messages). Because this page can be refreshed periodically, and can beep when new messages are found, it provides an effective way to participate in a discussion in near-real-time: all the user needs to do is bring up their Message Center page, and they will get a beep and a link to follow shortly after a new message is posted.
In a Web browser, when a user clicks on the link to an attachment the attached file is downloaded. If the link is to a GIF or JPEG file, WebX automatically displays the image in a separate window.
Web Crossing automatically reformats attachments 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 attachment 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.
Customize searching by using the "stopwords.default" file.
Indexing the WebCrossing Database greatly reduces searching time. In order to minimize the size of the index file, WebCrossing skips a number of words in each message when building the index. It maintains in the "stopwords.default" file the list of the words to be skipped. This is a text file which may be edited. In other words, you can add or delete entries from the list of the words that WebCrossing will skip the next time it indexes a message.
There are five steps in modifying this list of skipped words:
There is a setting to turn off spell checking, see the Web Crossing sysop General Settings control panel.
Web Crossing comes with a standard American English dictionary, and you can augment or replace this dictionary as required.
To replace the current Web Crossing dictionary, build a new word list file and import this via the command in the sysop General Settings control panel.
To augment the initial Web Crossing dictionary, first export the dictionary to the wordList file using the command in the sysop General Settings control panel, edit the word list file, and then import it to become the new dictionary.
It is recommended that you export/import the dictionary on a regular periodic basis, so that any user exceptions can be checked and incorporated into the main dictionary. Web Crossing keeps a list of exceptions approved by individual users, and when you export the dictionary you are shown this list for editing and incorporation into the main word list. After you export the dictionary, the saved list of user exceptions is cleared and a new list started.
The word list file is named wordList and must be placed in the same directory as the Web Crossing program. The file has one line per word. You can use the full ISO-8859-1 character set, including European characters. Note that all word suffixes (for plurals, verb tenses, adjectives and adverbs) must be explicitly included in the word list. The spelling checker algorithm knows about possesives and hyphenated words, but does not automatically generate any other word variants.
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 Software Development Kit documentation.
A site is granted 10 days of grace for usage overruns. So if you have has a 5K license, allowing up to 5,000 page-views per day, you could serve more than 5,000 page-views on 10 different days before you run out of grace days.
Each time a site goes over its limit, a warning message is emailed to the sysop, and the sysop banner shows a message with the number of days over the limit and the number of grace days left.
When the grace days are used up, and the server goes over the limit the next time, all service is shut down for the rest of the day, except to allow the sysop to install a new certificate. To install a new certificate in this case, you have to manually enter the following URL:
<.../webx?77@sysop:password@!certificate=>where ".../webx" is whatever your site needs to access its Web Crossing server, and "password" is your sysop password.
Submitting this URL will display a page saying "bad certificate", with a text-input box for the new certificate. After pasting in the new certificate, click on the "ok" button, and the site will immediately come back to life.
Installing a new certificate with higher usage limits resets the number of grace days back to 10.
The webx.set file is optional, and all values in it are optional. Any values specified in your webx.set file will override the webx.db settings.
A new webx.set file is automatically written whenever you use the webx-sysop panel to change any of the settings it controls.
webx.set can include the following settings:
Web service | |
| webEnabled=0/1 | 1 if the Web Crossing server will provide direct Web service, otherwise 0 |
| hostName=domainName | the Web Crossing server's primary domain name |
| hostAliases=list | list of server aliases, either domain names or IP addresses |
| webPort=ip:port | ip is optional, defaults to all IPs on the host machine |
| cgiPort=ip:port | ip is optional, defaults to all IPs on the host machine |
| httpBasic=0/1 | 1 if the Web Crossing server is running behind a Web server that is doing HTTP Basic authentication for all incoming requests |
Conference service settings | |
| webxScript=URI | for Web Crossing services |
| useTemplates=0/1 | to enable/disable webx.tpl usage |
| useBannerFooter=0/1 | to enable/disable banner/footer usage |
| images=imagesPath | path to Images directory |
| help=helpPath | path to Help directory |
| useQuickEdit=0/1 | to enable/disable quick-editor usage |
Cache settings | |
| smallObjectHeap=sizeInBytes | in _bytes_, commas are OK in the number |
| diskCache=sizeInPages | in 4K disk pages, commas are OK in the number |
Distributed server master/slave settings | |
| isMaster=0/1 | 1 if this server is the master for redundant servers |
| isSlave=0/1 | 1 if this server is a slave for redundant servers |
| masterIp=ip | address of master |
| slaveIps=ipList | address of slaves, comma delimited |
| masterSlavePort=port | for master and slave servers |
| isNameServer=0/1 | 1 if this server is the master for distributed name servers |
| isNameClient=0/1 | 1 if this server is a slave for distributed name servers |
| nameServerIp=ip | address of name server master |
| nameClientIps=ipList | address of name server clients, comma delimited |
| nameServerPort=port | for name servers |
Chat settings | |
| useChat=0/1 | 1 if chat is enabled from this WebX server |
| isChatControlRoom=0/1 | 1 if this site is a control room |
| isChatFanout=0/1 | 1 if this site is a fanout server |
| controlRoomIp=Ip | IP of control room |
| liveServerIp=Ip | IP of "this" server - used for multi-homing |
| liveVirtualIp=Ip | external IP or domain name of "this" server - only required when your site has NAT (network address translation) mode routers or firewalls |
| controlRoomWebXIp=port | for connections from WebX servers to the control room |
| controlRoomFanoutIp=port | for connections from chat fanout servers to the control room |
| chatClientIp=port | for incoming chat connections to this fanout server |
| fanoutRelayIp=port | for incoming connections from relaying fanout servers |
Direct Web Crossing access settings | |
| directAccessIp=port | for direct-access TCP/IP connections |
| directAccessSessions=count | for direct-access TCP/IP connections |
| dbAccessAll=0/1 | allow unrestricted access by all direct access users |
FastCGI service | |
| useFcgi=0/1 | 1 if FastCGI service is enabled |
| fcgiIps=ipList | list of IPs that can call FastCGI service, blank or comma delimited |
| fcgiPort=ip:port | for FastCgi listens |
| fcgiMaxConnects=nn | maximum number of simultaneous FastCGI connections |
| fcgiMaxReqPerConnect=nn | maxium requests per connection |
FastCGI routing services | |
| httpToFcgiPort=ip:port | for http to FastCgi routing service |
| httpToFcgiCount=max | number of simultaneous http connections |
| httpToFcgi=listOf_ip:port | for FastCgiServers |
NNTP (news) service | |
| useNntp=0/1 | enable NNTP services |
| nntpMirror=0/1 | enable NNTP mirroring services |
| nntpIp=ip:port | for NNTP |
| nntp8Bit=0/1 | use 8bit format for outgoing NNTP messages |
Email mirroring | |
| emailPush=0/1 | enable e-mail list post-through |
| emailPull=0/1 | enable e-mail list message fetch service |
Email services | |
| emailDomains=list | list of local domains and domain-level options |
| emailBoxes=0/1 | enable private e-mail boxes for each user |
| webEmail=0/1 | enable Web-based email viewing etc |
| logEmail=0/1 | enable email log file |
POP3 services | |
| usePop3=0/1 | enable POP3 e-mail service |
| pop3Ip=ip:port | for POP3 service |
SMTP email services | |
| useSmtp=0/1 | enable SMTP e-mail service |
| smtpIp=ip:port | for SMTP service |
| smtpVrfy=0/1 | enable SMTP VRFY command |
| smtpExpn=0/1 | enable SMTP EXPN command |
| smtpForwarding=0/1 | enable SMTP forwarding service |
| smtp8Bit=0/1 | use 8bit format for outgoing mail messages |
IMAP email services | |
| useImap=0/1 | enable IMAP e-mail service |
| imapIp=ip:port | for IMAP service |
Attachment (enclosure) settings |
|
| renameEnclosuresOnDelete=0/1 | rename attachments (enclosures) rather than deleting them |
Charset settings | |
| siteCharset=siteCharset | typically ISO-2022-JP or ISO-8859-1 |
Search index settings | |
| searchIx=0/1 | enable indexed search |
SSL settings | |
| secureServer=0/1 | the "always forward to https" setting in the General Settings panel |
| secureLogin=0/1 | the "all registered user sessions are secure" setting in the Registered Users panel |
Log file settings (logNNN) | |
| log=1/0 | master logging switch for logNNN files |
| logRequests=1/0 | log requests |
| logPosts=1/0 | log posts |
| logAuthenticates=1/0 | log authentication changes |
| logTimes=1/0 | log timestamps |
| logTcpSessions=1/0 | log tcp/ip session info, except actual data |
| logTcpData=1/0 | log tcp/ip session data |
| logTcpPort=port | log tcp/ip port only, 0 for all, -nn for albut nn |
| logSynch=1/0 | log master-slave synchs |
For example (with 6 Mbytes of small-object cache, 8 Mbytes of disk cache):
cgiPort=3565 webPort=80 httpBasic=0 smallObjectHeap=6,000,000 diskCache=2,000 isMaster=1 isSlave=0 masterIp=12.34.56.78 slaveIps=12.34.56.79 12.34.56.80 masterSlavePort=1431
| File name | Function |
| ambiguousPosts | If there are multiple users with the same email address/alias as the incoming post, then the user with the most recent registration is used, and the source of the post is set to "amail-ambiguous" instead of "amail" |
| dumpTpls | Causes the final template source, after all includes have been processed, to be written to disk. If "dumpTpls" is present and there are no encrypted files in the include set, then a file named "webxTpls" is written |
| htmlTags | a whitespace/comma/semicolon-delimited list of html tags to recognize and allow, with an optional modifier after each tag describing its use: r for a tag to remove R for a tag range to remove b for a tag that must be balanced e for a tag that has embedded syntax, such as embedded syntax such as table or math For example, title:bR specifies that title is balanced and that the title range including the tags is to be removed. A default htmlTags is now included in the release. |
| indexHtml | Causes html tags to be included in the search index. (You can add html tags to your stop-word list to prevent specific tags/attributes from being indexed.) |
| indexFastBuild | rebuilds the search index as quickly as possible (which will reduce the amount of CPU available for incoming requests) |
| jsGcLastResort | Enables the built-in JS last-resort garbage collection machinery. If this file is present the server will perform a garbage collection pass before returning an out-of-memory error. The default is to not do a last-resort garbage collection. |
| jsGcThreshold | Controls the automatic JS garbage collection threshold. If this file is present and contains an integer value, then that value is used as the number of bytes allocated at which to do a garbage collection. The default setting is a function of the small object heap size, and ranges from 1000000 (1 Mbyte) to 4000000 (4 Mbytes) |
| logRollover | When the current log reaches 1 Gbyte, then it is renamed to logNNN.bak (and any existing logNNN.bak file is deleted) |
| noArchive | Disables archiving (useful during other maintenance) |
| noDigests | Disables email digest processing (useful during other maintenance) |
| noReverseDns | Disables reverse DNS lookups on the external IP of incoming direct HTTP requests |
| nosearch | Disables searching logic |
| nosockets | For Unix only, Disables socket-based CGI mode |
| resynchFile | If present at startup causes a full synchronization to be done with the host filesystem, and the file named webxResynch will be destroyed. This allows updates that replace system files to force a resynch when the new binaries are run. |
| stopwords | Controls words eliminated from the search index, see Searching for more information |
| webxaudit | If present at restart, causes Web Crossing to run in common log audit mode |
| webx.set | Contains basic configuration information such as IP addresses and ports, see webx.set Configuration File for more information |
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 the Specialized Interfaces documentation 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 (or see the webx.set Configuration File). The WebPort 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 attachments 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.
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.webcrossing.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 |
| addblog.gif | Add Weblog | add a blog |
| 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 |
| attach.gif | Attachment | attachment icon for email |
| bookmark.gif | Message Center and Marks | Message center and local bookmarks |
| calendar.gif | Calendar | online personal calendar services |
| calendar.gif | Calendar | online personal calendar services |
| cancelsb.gif | Cancel Subscripts. | cancel subscription (in this folder or discussion) |
| chart.gif | Chart | icon for chart objects |
| 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 |
| edit.gif | Edit after Spell Check | |
| editcat.gif | Edit Folder | edit a folder |
| editfrm.gif | Edit Discussion | edit a discussion |
| email.gif | Web-based email pages | |
| emailr.gif | Web-based email pages when there are new messages waiting to be read | |
| emlsuppt.gif | Email to Support | send e-mail to Web Crossing support |
| emlsysop.gif | Email to Sysop | send e-mail to sysop |
| export.gif | Export | export |
| flag.gif | Flag | Marks email folders with unread messages |
| getinfo.gif | Get Info | Get Info button |
| gstlgin.gif | Guest Access | request guest access |
| guide.gif | Guide | The Guide online documentation |
| im.gif | Instant Message | Instant message services |
| imr.gif | Instant Message | Instant message services (when messages are waiting) |
| 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 |
| note.gif | Note | Marks address book entries that have notes attached to them |
| 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 |
| reply.gif | Replied | have-replied-to icon for email |
| search.gif | Search | search for text |
| setprefs.gif | Set Preference | confirm preference changes |
| smallmsg.gif | All Messages | small All Messages button |
| smbookmk.gif | Mark | small mark button |
| smdel.gif | Delete | small delete button for messages |
| smedit.gif | Edit | small edit button for messages |
| smemlmsg.gif | small email button | |
| smhere.gif | To Here | small button to move selected message(s) to here |
| smmore.gif | More | small button to show more messages |
| smmove.gif | Move | small button to move individual 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 |
| spellck.gif | Check Spelling | Check spelling |
| 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) |
| xbox.gif | Checked Box | checked box image |
Other images and sounds
| calicon.gif | calendar-object icon |
| check.gif | checkmark icon |
| contain.gif | container icon |
| converse.gif | the discussion icon |
| ding.wav | the sound played by a Message Center page refresh when there are new messages to check |
| enevelope.gif | icon for Webmail items |
| 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 |
| markread.gif | mark read 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.
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.
Note that you can configure the backups to happen automatically. By default, a new site is configured to backup once a day, with 2 backup sets.
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.webcrossing.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.webcrossing.com, does nothing in Web Crossing until the automatic logout period has passed, and then checks messages again via www.webcrossing.com, they will be asked to log in again, since the browser doesn't have a cookie for www.webcrossing.com. Ordinarily they would not be required to log in again, as the cookie would re-authenticate them automatically.
HTTP Basic and Digest Authorization use "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 server, 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.
When Basic/Digest mode are enabled and a user needs to login, the login form generates a "401 Unauthorized" response. This causes the Web browser to prompt for the username/password and resend the original request with an additional "Authorization" header that includes either the username:password (Basic) or an MD5 hash of the username:password:otherStuff (Digest). The server validates the Authorization header and allows the request to proceed.
Following this initial prompt to login, the Web browser will send the appropriate Authorization header on all following requests, and the server will validate them and allow the request to proceed for that user. So with HTTP Basic/Digest authentication, we don't need a cookie and we have the Authentication header override any session information in the request certificate. This means that using someone else's certificate won't work: as soon as you log in as a different user, you are given your own session with its own certificate.
The actual machinery is a bit complicated:
o If all logged in users are required to have secure sessions, per the setting in the Registered Users panel, then the original login will be redirected to a secure login, so that the login authentication will be in a secure session. If a logged-in user uses a non-secure request for any reason, that request is redirected to https before returning a response.
o If both HTTP Basic and HTTP Digest are turned on in the Registered Users panel, then the "401 Unauthorized" response will include both Basic and Digest as OK ways to authenticate the user. If the browser supports both, then it will use Digest mode so that the user's password is protected by being hashed in the Digest-mode response. Some browsers do not support Digest mode, so checking both is recommended.
o If you really have to keep passwords secure, then we recommend that you check the "Secure sessions" and ONLY "HTTP Basic". While the Basic protocol sends the password in a form where it can easily be extracted from the request, when it comes in on an SSL session it is protected by the SSL encryption. The benefit of HTTP Basic is that it let's us provide better protection of the user's password on the server. (HTTP Digest mode requires the password to be stored in a format where it can be used to authentication the Digest authorization. The password is secure in the request, but ynfortunately, the developers of this protocol didn't give much consideration to keeping the password secure on the server, in case the server's files are obtained in some way.)
o Because HTTP Digest mode requires us to have access to the original clear-text password, and we don't normally store this in our database, sites that upgrade to HTTP Digest mode will have an extra step for their users to login the first time. When we find that we don't have the password information to validate a particular user, WebX will redirect them to a normal login form, do the login normally to collect the password, then ask the user to login again via the HTTP Digest mechanism. So this means that these users will get
(1) an HTTP digest login dialog
(2) a normal login page with a note describing the upgrade and that they have to login the old way one time, then
(3) another HTTP Digest login dialog.
o If a user gets a 401 Unauthorized response and logs in correctly, they will be taken directly to the correct page. If they login incorrectly, another 401 Unauthorized response will be sent and they will have another chance. If they cancel the login dialog, then a page will be displayed to let them Register, Enter as Guest, or contact the sysop.
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.
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 loses 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?18@-tag@"
where tag matches the list of groups to be used based on this entry URL.
You can also control the position of an item in the list, regardless of its normal placement, by specifying a Sort sequence when you edit it. If you set the sort sequence to positive numbers, the item will move towards the top of the list. If you set the sort sequence to negative numbers, the item will move towards the bottom 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
When you include a link to one of these pages from another one, or in your webx.tpl templates, please be sure to include the user's current certificate as
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.
After you create the htmlLinks directory and move the static files into place, login to Web Crossing as the sysop, click on the Add Link button, and follow directions in this form.
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,
Web Crossing provides a variety of log files to assist the administrator in monitoring activity and troubleshooting problems.
| common.log | The common log file, if enabled, logs browser access to Web Crossing. The name of this file may be changed by the sysop in the control panel. |
| logNNN | This file logs the activity selected by the sysop in the "Web Crossing Log File" section of the control panel. Each time the file is reset a new file is created - log1, log2, etc. Note that if the TCP/IP options are selected the size of this file may grow very rapidly; a Web Crossing server should not be run for an extended period with these options enabled as the file system might be filled. |
| logEmail | This file logs transmission of email messages and email handling errors. |
| logFileOpens | This file provides internal server information for tracking down unclosed files. |
| logJsErrorsNNN | This file logs errors in Web Crossing JavaScript usage. Each access to a JavaScript function or command containing an error creates a new file (logJsErrors1, logJserrors2, etc. |
| logLangErrors | This file logs missing files and other errors related to the language localization system. |
| logRoll | This file contains a record of how the roll-forward logs have been used to recover from a problem. |
| logUsage | This file contains a daily record of overall Web Crossing activity. |
| nntp.log | This file logs access to Web Crossing by Network News Transfer Protocol client software, i.e. newsreaders. |
| webx.log | This file is always generated by Web Crossing and contains a record of server starts and stops, server errors and WCTL compilation errors. |
| webxroll.NNN | These are roll-forward logs and contain a list of all webx.db database changes since the last backup took place. Each time a backup is done, either automatically or manually, a new roll-forward log is created (webxroll.1, webxroll.2, etc.). Roll-forward logs are used to restore a backup (webxdb.1, webxdb.2, etc.) in the event of problem. |
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 export/import logic includes all JavaScript properties of the Node, User, and Document objects in the export/import, including both the nodeExport/folderImport Web Crossing JavaScript functions and the user-interface-level commands.
The 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.
In addition to the special Web Crossing SGML format, XML-formatted files may also be imported. The XML file must have the same tag structure as the Web Crossing SGML format, but XML rather than SGML coding may be used.
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).
Note that full textual pathnames in a URL must be URL-quoted, so "/Current Events/Politics" would be "/Current%20Events/Politics" in a URL.
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 | |
| 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 | Discussion 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 |
| 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 | Message 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 |
Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) All rights reserved. This package is an Blowfish implementation written by Eric Young (eay@cryptsoft.com). This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution. Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Eric Young (eay@cryptsoft.com)
| Web Forum: | Web Crossing Conference | |
| Frequently Asked Questions (FAQ): | Web Crossing FAQ | |
| Email: | support@webcrossing.com | |
| Support Requests: | Online Support Request Form |
Sales & Business Contact Info
| Email: | sales@webcrossing.com | |
| Telephone: | 866.725.0030 | |
| Post: |
Web Crossing, Inc. 1 Embarcadero, Suite 500 San Francisco, CA 94111 |