WebLS User's Guide, v2.0


Contents

Introduction and Purpose
Installation
Downloading and Using Freely Available Web Servers
Tech Support and Enhancements
Getting Started Read This!
Building Logic-Bases
Debugging Logic-Bases
Analyzing User's Responses
Running Multiple Logic-Bases
Quick Reference
Enhancements and Bug Fixes by Release


Introduction and Purpose

The World Wide Web is growing exponentially, and so is the quantity of information on it. Indexes, FAQs, technical notes, product specs and search engines are common, but the future holds the promise of sophisticated and intelligent information delivery. Integrating intelligent components with web pages can fulfill this promise.

WebLS(tm) (pronounced webbles) is a system that can dispense advice, analyze circumstances, diagnose problems, recommend configurations and similar tasks. Some applications are:

WebLS uses web (HTML) forms to gather information from the user. After answers are received it uses rules to make intelligent decisions about what to ask next. Once it's finished gathering information, it uses rules to assemble an HTML document containing the advice, analysis or problem resolution.

WebLS rules have the form, "if the user has background X, or interest Y then add recommendation Z to the output document." While any programming tool could be used, a rule-based tool automatically provides the pattern-matching needed to match ifs and thens, and dynamically adjusts the flow-of-control between the rules based on the user's answers to questions. The developer doesn't need to worry about storing and comparing data, or about the order in which to code the rules. WebLS applications evolve as easily maintained, declarative collections of questions, rules, and answers, dynamically applied by the rule engine for each individual user.

WebLS runs on web servers and is implemented using the standard CGI or Win-CGI interface. WebLS interprets your 'logic-base' which consists of facts, rules and fragments of HTML that comprise the questions and the answers. Your logic-base is written in a custom scripting language that is designed specifically for building intelligent, web-based components. When WebLS interprets your logic-bases, its goal is to find an answer. To do this it applies rules to the facts at hand and dynamically constructs HTML documents that ask questions to obtain additional facts. All you need to construct your own logic-bases is any text editor, a web browser and a web server.

If this explanation isn't clear, why not give WebLS a try by running Amzi!'s Site Advisor or Amzi!'s Problem Resolver.

The purpose of this manual is to show you how to build your own logic-bases using WebLS. This manual assumes you are familiar with HTML (especially forms) and with the CGI or Win-CGI interface.

Freeware and Professional Editions

There are two edition of WebLS, freeware and professional (commercial). The professional edition adds the following features:

The license terms for the two editions are detailed in license.htm.

Installation

WebLS runs under Windows 95 or NT using standard CGI or Win-CGI. The freeware edition also runs under BSDI Unix on an x86 (a Sun Solaris edition is coming soon). All you need is a web server and a text editor to use WebLS. Look here for information on obtaining and using various freely available web servers.

The following files are included in the WebLS package:

Extract the files from the archive which will create a top-level directory called WebLS and these subdirectories:

If you did not get the subdirectories when you extracted the files, you forgot to use the -d switch on pkzip or you did not check the 'Use Directory Names' box on WinZip.

To complete installation, do the following:

  1. Copy the contents of the appropriate cgi-___ to your CGI directory.
  2. Windows users: Copy the contents of win-dll to either your CGI directory(s) or to a directory in your path.
  3. Unix users: Change the protection on all the WebLS files by typing:
    chmod 4711 webls*
    and
    chmod 4711 analyz*
    
  4. Ensure you have a logic-base file in your CGI directory (a sample one is provided that you may overwrite; it is actually a copy of liltech.lb). For freeware users, your logic-base must be named 'weblscgi.lb' (Professional users see Running Multiple Logic-Bases.) If needed, modify the file and directory names (for debugging) in the system definitions at the top of the file.
  5. Add a link in your index.htm (or other HTML file) to invoke weblscgi. For Windows, the link reads something like:
    Press here to <A HREF="/cgi-bin/weblscgi.exe">Try Me</A>
    where cgi-bin is the name of your CGI directory. For Unix, the link reads something like:
    Press here to <A HREF="/cgi-bin/weblscgi">Try Me</A>

O'Reilly WebSite, Netscape FastTrack and Microsoft Personal Web Server and FrontPage users may want to read these notes for installation tips.

Unlocking the Professional Edition

If you have purchased the Professional Edition, you will want to enter your registration details to unlock the additional features. To do this, press the 'Unlock WebLS' button the first form and fill in your name, organization, serial number and unlock code exactly as they were provided to you when you purchased the product.

Tech Support and Enhancements

We invite you to visit Amzi!'s home page, http://www.amzi.com for the latest news and updates. You can also join the WebLS mailing list by e-mailing us at info@amzi.com.

Professional users can obtain tech support by e-mail at support@amzi.com or by phone or fax.

For freeware users, we will try to answer all queries via e-mail. Please, please include a copy of your logic-base that is causing the question/problem!

We also welcome any suggestions you have for enhancement, and we are available on a consulting basis to assist you in building your own logic-bases. We can provide you with a working prototype up to building and maintaining a complete WebLS application for you.

Send your questions, comments and queries to info@amzi.com. Kindly include the word 'WebLS' in the subject line of your message. Thank you.

Getting Started

The biggest challenge in building logic-bases is not writing the questions, rules and answers. Instead it is the process of organizing the 'knowledge.' The documents referenced here provide detailed explanations of the organization process and how to apply it to building WebLS logic-bases.

We strongly suggest you read through one of these first:

Building Site Advisors
Building Problem Solvers

And one of the best ways to learn is to jump right in. First come up with one situation or goal, with its questions and answer and then write the rule for it and test it. For example, start with one known tech support problem, or one known type of site visitor you want to make specific recommendations for.

Now that you've got one working, think of the next situation you want to identify and the rules for it. One rule of thumb, which made more sense before the graphics of HTML, was think of how you would determine the situation over the telephone. That is, what questions would you come up with and what answer would you provide.

As you do this, each set of rules will be independent and disconnected. As you proceed you might find areas of overlap. There might be intermediate bits of knowledge that are distilled by rules, which then feed other rules.

For example, in a tech support system there might be a number of problems related to 32-bit Windows. And the rule to determine if its a 32-bit Windows platform checks for either Win95 or WinNT. This is how the rules get intertwined.

In general, you should find the rules are relatively disconnected. This is why they work well as rules rather than as procedural code. The inference engine looks at the facts of the case, sifts through the rules picking out the appropriate ones to pursue.

For more details on 'webbling' read Building Logic-Bases and if you encounter any problems see Debugging Logic-Bases.

Enhancements and Bug Fixes by Release

Enhancements

Release 2.0 Enhancements

Release 1.6 Enhancements

Release 1.5 Enhancements

Release 1.0 Enhancements

Release 0.3 Enhancements

Release 0.2 Enhancements

Bug Fixes

Release 2.0 Bug Fixes

Release 1.6 Bug Fixes

Release 0.4 Bug Fixes

Release 0.2 Bug Fixes

Amzi! inc.
40 Samuel Prescott Drive
Stow, MA 01775 U.S.A.
tel +1 508 897 7332
fax +1 508 897 2784
info@amzi.com
www.amzi.com

Copyright ©1996 Amzi! inc. All Rights Reserved.