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!

Web Crossing® Sysop Documentation

Table of Contents

Revision History

Overview

Web Crossing services

Customizing Your Site

Sysop HTML Text

Managing Your Site

Data management

Technical Support & Contact Information


» Revision History

11APR98 - final v3.0

Web Crossing Template Language

  • Added browserCanUseLabels to limit JavaScript usage for MSIE 3.x
  • Added pathHttpUploads, pathHttpDownloads, pathInheritsEnclosures to check enclosure usage at a location
  • Added certificateLogout to immediately logout a user
  • Added string.htmlStripTags to remove all HTML tags from a string
  • Added otherCanAddLinks to check for access by other registered users
  • Added dateGMT, dateToGmt, dateFromGmt to work with GMT dates
  • Added u.userIsParticipant, u.userIsModerated, u. userIsReadOnly, u.userHasNoAccess
  • Added string.toBase64, s.fromBase64, s.toQuotedPrintable, s.fromQuotedPrintable, s.canUseQuotedPrintable, to allow conversion between mime formats
  • Added msgListThreaded to check whether a message list was display in threaded format
  • u.userNewMessages( maxMessages, skip ) takes two optional parameters to specify the maximum number of discussions and the number to skip
  • Added randomString to return an 8-character random string
  • Added copyright and programDesc
  • A full-page template returning all white-space will cause a login page to be displayed, then the original command will be executed for the logged in user. This allows macros to easily require that guest users login.
  • Added "in=location" option to pathSearch specification, to only return search matches contained in that location at some level

    05MAR98 - v3.0

    Major Features

  • Supports both threaded messages and our original conversation-based model for discussions.

    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.]

  • Supports both Web-browser and newsreader (NNTP) access to messages.

    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]

  • Supports mirroring of an external e-mail listserv.

    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]

  • Supports enclosures.

    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]

  • Provides fast indexed keyword searching for all versions on all platforms.
    [See sysop General Settings]

  • Allows users to get a complete list of new messages, instead of just one message at a time.

    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]

  • Adds easy integration of Web Crossing into external user directories, by providing filter macros. All aspects of authentication and member directory changes are now under your control through the Web Crossing Template Language (WCTL).

  • E-mail validation and the ability to send e-mail messages from WCTL are now available in all versions on all platforms.

  • The high-performance Web Crossing/Pro database is now provided in all versions on all platforms. Standard and Multi versions continue to support up to 512 Mbyte databases, while Pro versions support up to 2 Gbyte databases.

    Other enhancements

  • Reworked the user interface to use tables, giving it a much crisper apperance.

  • Added Javascript logic to set the focus to the first field in each form, and to Tab through the login page. This means that you don't have to click again to start posting, and allows users to login without using the mouse.

  • Added a sysop setting to control the number of threads available for sending e-mail.

  • Changed sysop logging options to use a form with checkboxes.

  • Added logging option to track user authentication.

  • Enhanced e-mail logging

    Web Crossing Template Language

  • Added filter macros for authentication, login, registration, and user preferences changes.

  • Added interface to new search index: searchItems, siteSearchIsReady, siteIndexSearchStatus, pathSearch

  • Added support for enclosures: pathEnclosures, pathDocumentIsImage, pathDocumentIsText, pathDocumentName, pathIsDocument, siteHttpUploads

  • Added support for building a list of new messages: u.userNewMessages, mostRecentNewMessage

  • Added access to checking for objectionable words, and for marking a string with objectionable words: .isObjectionable and .markObjectionable( [before, after] )

  • Added settings for threaded messages: pathInheritsByUserPreferences, pathShowByUserPreferences, pathNetTreeView, pathNetReplyTo, pathNetSummaryButton, pathNetMessageTitle, "treeorder" option to pathSelect specification, u.userThreadingBySite, siteUserDefaultThreading, u.userThreading, u.userReplyTo, siteUserDefaultReplyTo, user.userSummaryButton, siteUserDefaultSummaryButton

  • Added settings for newsgroups: editNewsgroup, siteHasNews and pathNewsgroup

  • Added settings for e-mail: pathEmailMirror, siteHasEmailServices, editEmailMirror, editEmailPW, editEmailStripSig, editEmailPostThru editEmailReply, editEmailReplyTo, editEmailFrom, pathEmail, pathEmailPW, pathEmailReply, pathEmailPostThru, pathEmailReplyTo, pathEmailFrom, pathEmailStripSig

  • Added site settings: siteHasPasswordForm, siteAllowsHttpBasic, userIsHttpBasic, siteUseEmailScript, siteToolbarAcross, siteFolderShowSysop, siteFolderShowAuthor, siteDiscussionShowSysop, siteDiscussionShowAuthor

  • Added format control for numbers: numberString.numberFormat( format ). The format specification works for currency and scientific formats as well as integer numbers.

  • Added support for date objects: dateObject and dateObj format strings, dateString.dateFormat( format ), dateString.dateAddSeconds( seconds ), dateString.dateSubtractSeconds( seconds ), dateString.dateDeltaSeconds( date2 ), dateLessThan, dateEqual, dateGreaterThan

  • Allow WCTL to write to the logNNN file: string.log

  • Added user functions: userCreate( name ), u.userDestroy, userLookup( name ), u.userCheckPassword( password ), u.userClearSubscriptions.

  • Miscellaneous: registerError, changed secsFrom1970 to be in GMT, setPathAuthor

    17FEB98

  • Added filters for registration and user-preferences changes. See Filter Macros.
  • Added isObjectionable and markObjectionable to the Web Crossing Template Language, to check strings for objectionable works and present these to the user.

    11NOV97

  • Control Panel Other Settings
  • Control Panel Managing Users
  • Note about cookies, multiple sites and redirect responses

    20SEP97

  • Web Crossing Template Language enhancements: run scripts on Unix and Windows; include files; send e-mail messages; modify all built-in user fields; add and remove users from groups; bring a user's subscription list current; format an integer with commas; get time in seconds since 1970; built-in carriage-return and line-feed characters and CR-LF string.
  • Added Get Info button to the toolbar, and a site information page. Use this page for information about your site and policies. The Get Info buttons can be turned off for either or both the top-level toolbar and the folder/discussion toolbars.
  • Added support for direct HTTP service from Web Crossing, so that Java chat clients can cross firewalls.

    12JUL97

  • Web Crossing Template Language enhancements: evaluate strings as WCTL templates (evalTemplate); check for a user in a group (user.userIsMember( "group" )); set and examine cookies and other HTTP heading values.

    03JUL97

  • You can configure discussions to automatically expire when they have been idle for some number of days. Expired discussions can be moved to an archive folder, deleted, or purged.
  • You can move, export, or delete selected items from a folder or the top level.
  • Web Crossing Template Language enhancements: evaluate strings as WCTL expressions; if a value isn't defined at the current location, then find the same value as defined by the closest parent, by using path$varname instead of path.varname; added variables for archiving expired discussions.

    09JUN97

  • Web Crossing Template Language enhancements: access to all CGI environment variables, ability to select a list of items in a folder, ability to sort a list of locations, access to folderListBefore/Item/After/Empty values from WCTL.
  • Sample standard.tpl templates for presenting a folder sorted in different ways: by title, by creation date, discussions or folders only, etc. Search for folderBy in standard.tpl.

    21MAY97

  • Web Crossing Template Language enhancements: Process path.varname input fields in all add/edit templates (addFolder, editFolder, addDiscussion, editDiscussion, etc.); access to user subscription list information; added the return statement to WCTL.
  • You can import new users into an existing group.
  • Web Crossing-served HTML files can process forms.

    21APR97

  • You can export the user directory in tab or comma-delimited format.
  • You can show recent posts in a user's personal information page.
  • Web Crossing Template Language enhancements: while loops, string functions, control over SGML and URL quoting, access to a list of posts made by a user, allow user.variable as input name in a form, allow form.variable to access form fields, select user records from the Web Crossing user directory, allow forwarding and other HTTP responses to be generated in WCTL.

    06APR97

  • Describe export/import format for folders, discussions, and messages.
  • Describe Web Crossing/Pro and its features.
  • Moved e-mail validation section from syschat.htm to syshelp.htm
  • Describe stress testing a Web Crossing installation

    » Overview

    » Conference organization

    A Web Crossing conference has a hierarchical structure: Folders contain other folders, discussions, links to other places, and chat rooms. Discussions contain messages on the discussion topic.

    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.

    » User directory

    Web Crossing provides a built-in user directory. (You can also configure Web Crossing to use an external directory.)

    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.

    » Access lists and user groups

    Each folder, discussion, or chat room can have a access list attached to it. Access lists specify who may use the resource, and how they are allowed to use it.

    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.
    AccessUsage
    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.

    » Discussions: conversations and threaded messages

    A discussion is a collection of messages on the discussion topic. Web Crossing supports both conversation and threaded-message presentation of a discussion.

    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.

    » Tracking messages: subscription lists and bookmarks

    Web Crossing keeps track of messages viewed by each user by keeping a "highwater mark" for each thread. This allows Web Crossing to immediately take a user to the first new message in a conversation, or to highlight new messages in a threaded-message outline.

    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.

    » Enclosures

    Web Crossing allows enclosures to be added to any message or discussion. Enclosures can be posted to the server through a Web browser, newsreader, or e-mail attachment. You can configure Web Crossing to enable or disable uploads and downloads for each type of service as desired.

    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.

    » Links

    A link can be an alias to any local folder or discussion, or can link to any Internet URL. Users can add links to any Web Crossing folder as enabled by the host; hosts can always add links.

    » Chat rooms

    Web Crossing supports integrated real-time chat rooms using Java applets. For more information on chat, see the Web Crossing/Chat Sysop Documentation.

    » Searching

    All versions of Web Crossing include a high-speed indexed search engine. If indexing is enabled, then all searches use this index and are very fast. The index requires an additional 20% or so of disk space over and above the conference database.

    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.

    » Services

    Web Crossing can work with an external Web server through CGI, FastCGI, NSAPI, or ISAPI. Web Crossing can also provide direct Web service (HTTP), news service (NNTP), and e-mail services (SMTP and POP3). See the section on Web Crossing services for more information.

    » Customizing

    Web Crossing is highly customizable-- you have control over virtually every character of the user interface, and different areas can each have their own particular customization.

    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.


    » Web Crossing services

    Web Crossing can provide a variety of services through Web pages, news, and e-mail. You can configure Web Crossing to provide any or all of these services.

    » Using Web Crossing with an external Web server (CGI)

    When you install Web Crossing, you can configure it for CGI usage. This means that your existing Web server will forward requests to Web Crossing using the industry-standard CGI protocol. Setup for this configuration is automatic, and generally requires no special action on your part.

    » Using FastCGI, NSAPI, or ISAPI

    FastCGI is a very efficient means of communicating between a Web server, such as Apache, and a Web application server, such as Web Crossing.

    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.

    » Direct Web service (HTTP)

    You can provide direct Web service from Web Crossing. In this case, requests from a browser are processed directly by Web Crossing without going through an external Web server. This allows Java chat clients to use port 80, so that users behind a firewall can participate in chat sessons. It also produces the best possible performance for Web Crossing requests, by bypassing the overhead of your Web server.

    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

    would 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.

    » News service (NNTP)

    Web Crossing can provide newsreader access to the discussion boards, where each Web Crossing folder is a different newsgroup. When news service is enabled, users can access discussions through both their Web browser and their newsreader.

    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).

    » E-mail (SMTP/POP3)

    Web Crossing can use e-mail in a variety of ways: to validate the e-mail addresses of new users, to mirror an external e-mail list, and to send e-mail messages from the Web Crossing Template Language.

    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.


    » Customizing Your Site

    » General settings

    General settings let you specify information about your site.

    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).

    » User pictures and font sizes

    You can choose to allow user pictures as part of your site. These pictures are stored in the Web Crossing site database. They can be installed by each user as part of the user preferences form, or they can be installed by you for each of your users.

    » Login, greeting, and registration settings

    You can set the "welcome" panel on the login screen. This could be used for news about the conference, or could be a description of the conference and its purpose.

    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.

    » Banner, footer, background, and top-level page appearance

    The top-level site page has the following components:

    If you choose, you can totally customize the appearance of the top-level page, including explicit links to other locations in your forum.

    » Folder appearance

    The discussion database is organized into folders, similar to directories on a hard disk. Folders may contain subfolders and/or discussions. A folder may have any number of subfolder levels, limited only by the maximum database size and the maximum length of a URL. A folder page has the layout:

    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.

    » Discussion appearance

    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.

    » Title, toolbar, backpath, and edit help settings

    All folders and discussions share the same title template. You can use conditional sections to display different titles depending on the user and location.

    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.

    » Custom buttons and icons

    You can change all of the buttons and icons used in the Web Crossing interface by replacing the GIF files in the Images folder. Note that all toolbar buttons must have the same size, and all small in-line buttons must have the same size.

    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

    FilenameTextDescription
    access.gifAccess Listcreate or change the access list
    addcat.gifAdd Folderadd a folder
    addforum.gifAdd Discussionadd a discussion
    addlink.gifAdd Linkadd a link
    addlive.gifAdd Chatadd a chat area
    bookmark.gifBookmarksBookmarks button for toolbar
    cancel.gifCancelcancel
    cancelsb.gifCancel Subscripts.cancel subscription (in this folder or discussion)
    chkmoder.gifCheck Moderatedcheck for messages to moderate
    chksubs.gifCheck Subscripts.check for new messages
    cnclsbtp.gifCancel All Subscripts.cancel all subscription
    confernc.gifConferencereturn to the conference (from a sysop area)
    delcat.gifDelete Folderdelete a folder
    delete.gifDeleteconfirm deleting a folder or discussion
    delfrm.gifDelete Discussiondelete a discussion
    editcat.gifEdit Folderedit a folder
    editfrm.gifEdit Discussionedit a discussion
    emlsysop.gifEmail to Sysopsend e-mail to sysop
    export.gifExportexport
    getinfo.gifGet InfoGet Info button
    gstlgin.gifGuest Accessrequest guest access
    import.gifImportimport
    login.gifLoginlogin as a user
    lstpswd.gifLost Passwordsend e-mail to sysop about lost password
    newuser.gifRegisterregister as a user
    nrwhelp.gif?help (question mark)
    ok.gifOKaccept
    outlinew.gifOutline NewShow new messages in outline form (not used in current interface)
    outlnful.gifOutline FullShow all messages in outline form (not used in current interface)
    prefs.gifPreferenceschange user preferences
    preview.gifPreviewPreview a post (not used in current interface)
    pstmsg.gifPost Messagepost a message (toolbar button)
    pstmymsg.gifPost My Messagesubmit the message
    search.gifSearchsearch for text
    setprefs.gifSet Preferenceconfirm preference changes
    smallmsg.gifAll Messagessmall All Messages button
    smbookmk.gifBookmarksmall bookmark button
    smdel.gifDeletesmall delete button for messages
    smedit.gifEditsmall edit button for messages
    smmore.gifMoresmall button to show more messages
    smnew.gifNewsmall New button
    smoutline.gifOutlinesmall Outline button
    smpostmsg.gifPost Msgsmall Post Msg button (not used in current interface)
    smprev.gifPrevioussmall button to show previous messages
    smrecent.gifRecentsmall button to show recent messages
    smreply.gifReplysmall button to reply to a specific message
    smtolast.gifTo Lastsmall button to show last message
    smtotop.gifTo Topsmall button to show first message
    subscrib.gifSubscribesubscribe (to this folder or discussion)
    subscrtp.gifSubscribe To Allsubscribe to everything
    toctrl.gifControl Panelview control panel (sysop only)

    Other images and sounds

    contain.gifContainer icon
    converse.gifthe discussion icon
    ding.wavthe sound played by a bookmarks page refresh when there are new messages to check
    guest.gifdefault image for guest posts
    indent.gifindent icon for threaded message
    indent2.gifalternative gray indent icon for threaded messages
    live.gifthe chat icon
    link.gifthe hyperlink icon
    new.gifalternative newburst icon
    newburst.gifnew message icon
    outline.gifthe outline icon displayed next to a discussion in a folder listing
    pathdiv.gifthe path divider icon (in backpath)
    powerby.gifpowered by Web Crossing icon
    site.gificon for backpath display
    t.gif1x1 transparent GIF for spacing
    topic.gifthe folder icon
    topr.gifalternative tops.gif button (round)
    topr2.gifalternative tops.gif button (round and gray)
    tops.giftop-level message icon for threaded messages. Also used by the searchResults page as the message icon
    tops2.gifalternate tops.gif icon in gray

    » Other Settings

    The Other Settings Control Panel controls features enabled by the Web Crossing template extensions file, webxextn.tpl. These features will change with each version of webxextn.tpl.

    » Showing recent posts in a user's personal information page

    Web Crossing can keep track of posts on a per-user basis. You can then link to some recent posts as part of each user's personal information page. This increases the traffic on your site by allowing readers to see posts made by an interesting member.

    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.


    » Sysop HTML Text

    All text entered in Web Crossing, both for you as the sysop and for regular users, is formatted by the Web Crossing "quick-editor".

    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.

    » Customizing the current location

    By default, Web Crossing uses a single line to show the current location, something like: You can change the way the current location is displayed by replacing the default Title HTML template in the Sysop Title, Toolbar, Backpath, Edit Help Settings panel.

    For example, you could use a three-level "forum/topic/thread" terminology by changing the Title HTML template to the following:

    This might display as

    » Links into the conference from your login page

    If you want to include links into the conference in your login page, you should edit the Change login heading section of the sysop Login, Greeting, and Registration Settings panel. Use something like 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.


    » Managing Your Site

    » Backup and recovery

    The Web Crossing database is designed to be very robust, but it is still possible to lose the database for your site for any number of reasons. It is important to back up your database regularly and to keep a copy on removable media or another machine. You should always keep a copy off-site as well.

    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.

    » Authorization

    Web Crossing can support cookies, its own certificate-based authorization, or HTTP Basic Authorization.

    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.

    » E-mail validation for new users

    Web Crossing allows you to validate the e-mail addresses of new users as they register. E-mail validation is included in all /Chat upgrades and in Web Crossing/Pro.

    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.

    » User access

    You can specify whether guest access is allowed, and the access permissions available to guests. Use the "Guest user access" link in the sysop control 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.

    » User registration tied to user groups

    Web Crossing allows you to automatically add new users to existing user groups as users auto-register.

    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.

    1. Make up a tag for each different group of users. This tag will be placed in the initial access URLs used by the various groups. Tags should be alphabetic, and they are not case sensitive.
    2. Create the various user groups you will need, if they don't all exist already. Do this by logging in as the sysop and clicking on the Access List button, then the Edit User Groups button, etc.
    3. Edit the webx.tpl file located in the same directory/folder as your webx.db. (If this file does not exist, create it.)
    4. Go to the end of the webx.tpl file, and append a new registerGroups template:

        %% 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).

    5. Login as sysop, go to the sysop control panel, and choose the Reset file cache for HTML files and webx.tpl templates command near the end, to bring in your webx.tpl changes.
    6. Link the initial entry for each group as follows:

        href="...webx?14@-tag@"

      where tag matches the list of groups to be used based on this entry URL.

    7. Register as a dummy user for each different group to check that everything works. If these users don't get automatically added to the right user group(s), then check the tag name versus the registerGroups template entries, and also check the user group names versus these entries.

    » Managing Users

    The various user account management functions have been integrated with a search function in the new Find/Edit users mechanism on the Other Settings control panel form. You can also use the older Set a user's preferences, Set a user's password, Remove a user, Clear a user's picture, and Look up a user forms on the control panel to manage user accounts.

    » Controlling the order of discussions in a folder

    You can control the order in which discussions are displayed in a folder. As the sysop, you can specify whether the default order is by creation date with oldest first, by creation date with newest first, or by most-recently-modified date with newest first.

    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,

    » Resetting the Images pathname

    It is possible for the Images pathname to become set incorrectly. For example, you could move the Images folder containing the Web Crossing buttons and help to a new location.

    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

    (where "webx" is the name or path you use to access this Web Crossing server). You will be asked to login as sysop, and can then change the Images pathname. (If you changed the sysop pathname, you will get a second login screen for both the sysop name and your password.)

    » Automatic expiration of old discussions

    You can specify that old discussions, which have not been posted to for a while, are to expire automatically. You specify the disposition when a discussion expires: it can be moved to an archive folder, backed up and deleted, or just purged without any backup.

    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.

    » Rearranging your site

    Web Crossing lets you move folders and discussions around as needed to rearrange your site. To move selected items, just click on the Export button in the folder's toolbar, then click on the link to Export, move, delete, or purge selected items from the folder. Fill out the form to select items and move them into place.

    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.

    » Serving regular HTML pages

    It is often convenient to be able to serve a normal HTML page and still use WCTL to customize the page based on the current user.

    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

    where "http://...webx" is the full URL for someone to reference your Web Crossing server, and "filename" is the name of the HTML file to serve.

    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.

    » CGI Error Messages

    When using the plain CGI interface on Unix or Windows, if the Web Crossing server is not running, the CGI module will look for the file webxoff.htm and return the contents of that file to the user if it is found. Otherwise, the CGI module will return a standard error message indicating that Web Crossing is off.

    » Performance tuning

    The primary performance factor for Web Crossing is the amount of memory allocated versus the size of the conference database. You can tune the amount of memory used by Web Crossing through the sysop Memory usage 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.

    » Stress testing

    Web Crossing includes some tools for stress testing your site. You can use these to test robustness and maximum throughput.

    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:

    For example,
    will start 2 test clients, run them for 60 seconds, send a request every second from each client, do 20 views to 1 post, and use the /Test folder. Note that the "?" in the folderUrl
    is URL-quoted to %3f in the request, so that it doesn't look like a query delimiter.

    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,


    » Data management

    » Export the user directory

    You can export the full Web Crossing user directory as either a tab or comma-delimited ASCII file.

    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.

    » Export

    When you login as sysop, you can export any portion of the discussion database to an SGML text file. Just navigate to the folder or discussion to export, and click on the "Export" button which is in the toolbar (only for the sysop).

    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.

    » Import

    You can import previously exported files, or create your own files to import.

    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.

    » Unique IDs

    In many places, Web Crossing uses Unique IDs to locate objects. The concept is to be able to take a short unique ID and map it to the underlying object. For example, users, folders and discussions are all assigned unique IDs when they are created.

    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.

    » Export/Import and Unique IDs

    Every folder and discussion has a unique ID that is assigned when it is created. Web Crossing links use these unique IDs, so you can rename items without affecting bookmarks. Unique IDs also keep the length of the link URLs well below the 255 character limit imposed by many Web servers.

    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:

    1. Export
    2. Delete
    3. Import
    to move things around. (You can move things directly through the Export command.)

    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:

    1. Export from the top-level of the existing database.
    2. Edit the export file as desired, but make sure you keep the <sysop...nextUnique=id> tag from the sysop settings at the start of the export file.
    3. Create a new database and import the edited file.
    4. Check that imported items have the same unique ID as in the original database, by looking at the .xxxxx value on the end of each URL.

    » Automatic backup for deleted items

    Every time a discussion or folder is deleted, it is first exported to the end of a file named "deleted", together with information about the delete.

    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.

    » Moving folders and discussions

    See the section on rearranging your site.

    » SGML format for users - installing new or existing users

    You can install new or existing users by converting the user list to the Web Crossing SGML format, and importing it.

    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:
    deletedPresent only if the user is deleted (so the record is kept only as long as referenced by some prior message);
    IDHexnumber to reference this user as the author of a subsequent heading or message;
    nameUser's name (in either first-last or last-comma-first format);
    emailE-mail address
    showPictures1 or 0 for on or off
    showPictBorders1 or 0 for on or off
    isSysop1 or 0 for yes or no
    logoutTimeSeconds before logout after last access
    maxDatamaxBytes allowed in a discussion page
    homePageHome page URL
    passwordThe user's password MD5 signature
    passwordcThe user's password in clear text (this attribute is never exported, and is only used when importing a new user)
    pictureThe user's picture
    respHeadingSizefontSize for the user name in a message heading
    respInfoSizefontSize for the time/date/2nd-line in a message heading
    respBodySizefontSize for the body of a message
    maxMessagesCount to limit the number of messages in a discussion page
    catForumSeqControls the order in which discussions are listed.
      0 : by creation date, oldest first 1 : by last modified date, newest first 2 : use sysop default sequencing 3 : by creation date, newest first 4 : alphabetically
    secondLineOptional second line of user information
    bioOptional user biography information
    urlsOptional 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.

    » SGML format for folders, discussions and messages

    Folders, discussions and messages are exported into SGML with a hierarchical structure. For example, suppose that a folder named "A" contains folders "B" and "C" and a discussion "A1", and that "B" and "C" each contain discussions:
    For historical reasons, the tags for folders, discussion, and messages are named <topic>, <conversation>, and <message>. So the preceding example would have a Web Crossing SGML structure as:

    User tags

    Users must be defined in the SGML stream before they can be specified as the author of a folder, discussion, or message item. <user> tags may be intermixed with <topic>, <conversation>, and <message> tags as required.

    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,

    The ID attribute must be unique within the SGML file, so that each author can be uniquely identified during an import. Note that the unique ID assigned to the user in the Web Crossing conference and the ID attribute in the export/import file do not have to be the same, and generally are not.

    Folder <topic> tag

    The <topic> tag specifies a folder. It contains nested folders and discussions, and must be closed with a matching </topic> tag.

    Folder attributes are:
    nameFolder name
    name="Test Export"
    dateLast modified date
    date=04/06/1998.10:26:02
    createdCreation date
    created=04/06/1998.10:25:40
    authorFolder author ID (hexadecimal)
    author=0000820C
    uniqueUnique ID for the folder, reused if not currently assigned
    unique=0EE6B2B2
    flagsFlags for folder settings (hexadecimal, see Flag bits following)
    flags=00000000
    sortSeqPrimary sort key in parent folder. Items with the same sortSeq are sorted by item type and then by name.
    sortSeq=100000
    headingHTML heading for the folder
    heading="Folder heading text"
    backgroundBackground override for this folder. If empty, then the parent's background is used.
    background=""
    bannerBanner override for this folder. If empty, then the parent's banner is used.
    banner=""
    footerFooter override for this folder. If empty, then the parent's footer is user.
    footer=""
    templateTemplate 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 <conversation> tag

    The <conversation> tag specifies a discussion. It contains nested messages and must be closed with a matching </conversation> tag.

    Discussion attributes are:
    titleTitle of the discussion
    title="Test discussion"
    dateLast modified date of the discussion
    date=04/06/1998.10:26:14
    createdCreation date of the discussion
    created=04/06/1998.10:26:02
    authorFolder author ID (hexadecimal)
    author=0000820C
    uniqueUnique ID for the discussion, reused if not currently assigned
    unique=0EE6B2B2
    flagsFlags for discussion settings (hexadecimal, see Flag bits following)
    flags=00000000
    sortSeqPrimary sort key in parent folder. Items with the same sortSeq are sorted by item type and then by name.
    sortSeq=0
    headingHTML 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.

    
    
    

    <message> tag

    The <message> tag specifies a message. It must be nested in a discussion.
    deletedPresent only if the message has been deleted.
    authorFolder author ID (hexadecimal)
    author=0000820C
    createdCreation date of the message
    date=04/06/1998.10:26:14
    content-typeMust be text
    content-type=text
    bodyMessage 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.
    
    
    

    Flag bits

    Folders, discussions, messages, links, and chat tables share the following flags usage:
    NameHexadecimalUsage
    ItemShowAuthor00000001Show author for category/forum
    FolderHideItems00000002Hide items when listing the folder
    LinkShowDescription00000004Show description of link in its folder listing
    LinkToFolder00000008For a link, TRUE iff linked to a folder
    LinkToDiscussion00000010For a link, TRUE iff linked to a discussion
    TableIsAnonymous00000080For a chat table, allow anonymous users
    TablePlayLoopback00000100For a chat table, playback is in loopback mode
    Permanent00000200Marks a discussion as permanent, e.g. it will not automatically expire and be moved or deleted

    » Importing existing content

    You can import an existing non-Web Crossing discussion database by converting it to Web Crossing SGML format and then importing.

    » Technical Support & Contact Information

    Technical Support (see Support page)
      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

    Announcement Mailing List

    To receive occasional Web Crossing announcements of new releases and products, add your email address to our mailing list via the contact page at our Web site.


    Copyright © 1996-98 by Lundeen & Associates, Alameda, California.