> > ## Frequently Asked Questions about PowerWeb

> > ### Will PowerWeb Server++ be updated with future releases?

> > Yes! We are committed to improving PowerWeb and fixing bugs. Our intent is to make PowerWeb the best price-performance server available.

> > PowerWeb is the first of an entire family of server products that will be released for multiple platforms with full cross-compatibility.

> > You can expect updates at least once a month, and probably every two weeks.

> > ### What is your licensing policy?

> > When your test drive copy of PowerWeb Server++ expires after 30 days from time of download, you will have the opportunity to register with CompuSource for a permanent license.

> > Load the page /powerweb/register.htm on your server for registration details.

> > ### How Does the Licensing Method Work?

> > Your license number is issued for both your host name AND your IP Address.

> > This means that you can run PowerWeb Server++ on any server with the host name that you registered, regardless of its IP Address

> > OR,

> > Alternatively you can run PowerWeb Server++ on any server with the IP Address that you registered, regardless of its host name.

> > Changing IP Addresses or Host Names:

> > A network administrator can move the server to a different subnet, thereby changing its IP Address, but keeping the host name the same. PowerWeb Server++ will continue to run on the same license number, because the host name has not changed.

> > ### Why Does My Browser Crash?

> > IBM's Web Explorer 1.03 has a number of bugs that cause it to either crash your entire system, use lots of swap space (often 30 megabytes for a 2K text document), and take a very long time to display any document with a background image.

> > These problems are not specific to viewing PowerWeb Server++ pages - they are a general problem with IBM's browser.

> > When you experience problems, either try resizing your browser window, or try reloading the page with graphics switched off.

> > If the problem still persists, currently your best alternative is Netscape Navigator 2.0 or Microsoft's Internet Explorer 2.0.

> > ### What if my TCP/IP Setup is Wrong?

> > The licensing method relies upon the default IP address and host name of your machine as reported by the operating system. This can be specified when you enrol and does not have to be the same as automatically filled in for you when you enrolled - we take a best guess and expect you to modify it if necessary. If a mistake is made, you can re-enrol.

> > If you are test driving PowerWeb Server++ on a stand-alone machine, then you can run it with "Powerweb -local" regardless of whether you have an incorrect or dynamically assigned IP address.

> > ### Is the Test Drive Version Different?

> > The PowerWeb Server++ Test Drive is exactly the same software as provided to registered users. The only limitations are:
> > - HTML document trailers cannot be customised.
> > - Each service accepts a maximum of 8 simultaneous users, with extra users being queued. PowerWeb Server++ is so fast that unless your server is very heavily loaded, this limit will never take effect.
> > - User databases are limited to approximately twenty user names.

> > ### Does PowerWeb Server++ support forms and CGI scripts?

> > Yes - it is fully CGI 1.1 compliant. CGI 1.2 compatibility is only required for Windows based servers.

> > You will probably want to use Web Macros or API scripts instead of CGI, because these methods are much faster and more flexible. Web Macros are an easy way to create dynamic documents and process forms while working within HTML. API scripts can be written in Rexx or any compiled language. The REXX API Interface provides power while keeping development easy.

> > ### How do I Setup the POP3 Server?

> > The POP3 Server implements a mailbox facility for distributing mail to users, which has been received by a SENDMAIL server. The flow is as follows:

> > remote user sends mail via his/her mail package
> > -> remote user's SENDMAIL server
> > -> destination site's SENDMAIL server
> > -> mail sorter program, which sorts incoming mail into mailboxes by user
> > -> POP3 server
> > -> recipient's mail package

> > The POP3 server therefore relies on your site having a functioning SENDMAIL server to receive mail. That SENDMAIL server must also be configured to sort the mail by incoming user.

> > There are two methods of storing mail: the first (and most commonly used under UNIX) is to store all of a given user's mail into a single file, named the same as the user's mail id, and the second is to store the user's mail in separate files, one per message, into a directory given the same name as the user's mail id.

> > There are two programs available from:

> > http://www.compusource.co.za/powerweb/beta/mailsort.zip
> > http://www.compusource.co.za/powerweb/beta/maildir.zip

> > which is an interim measure for sorting incoming mail, until such time as the fully integrated PowerMail package is available. "MailSort" sorts mail into one file per user, whereas "MailDir" sorts mail into one directory per user, with a new file for each message. Unzip the relevant file and place it into your \powerweb\bin directory.

> > You will need to start the SENDMAIL server as follows:

> > `SENDMAIL -bd -q30m`

> > and you will need to modify your \tcpip\etc\sendmail.cf configuration file to call the mailsort program, by modifying the line that begins with "Mlocal". For example, ours reads:

> > `Mlocal, P=e:\powerweb\bin\mailsort.exe, F=lsDFMP, S=10, R=20, A=e:\powerweb\mail $u`

> > or `Mlocal, P=e:\powerweb\bin\maildir.exe, F=lsDFMP, S=10, R=20, A=e:\powerweb\mail $u`

> > You will need to modify the above line if you have installed powerweb in a directory other than "e:\powerweb".

> > Finally you must enable the POP3 server to autostart by going to the /admin page, choosing Servers, then setting AutoStart to "Yes" for POP3, and SUBMIT it. Then go to "Save and Restart" to restart your PowerWeb Server++ with the new settings.

> > You will also need to define a set of user accounts within the "Mail" user realm of PowerWeb Server++. To do this, go to the "/admin" page, select "User Databases" and then "User Management" for the "Mail" realm. Add each user's name and their password for accessing their mailbox.

> > Most other important settings for the POP3 server can be found by going to the "/admin" page, selecting "Global" and then "Mail". The default settings created when you installed should be correct for most servers.

> > ### Does PowerWeb Server++ support long filenames?

> > Yes. Long filenames are much preferred - document names can be more descriptive and the filename extension can be ".html" instead of ".htm", thus being more compatible with UNIX.

> > This is even allowed with FAT partitions - long file names are automatically mapped through to the old "8.3" format.

> > ### What performance can I expect from PowerWeb Server++?

> > PowerWeb Server++ offers unparallelled performance, measured by comparing multiple servers on the same machine and submitting a test suite of document queries. The more the number of simultaneous connections, the better PowerWeb Server++ performs.

> > You can expect PowerWeb Server++ to serve 1700 documents per minute on a 50MHz 486 machine when there are 10 simultaneous connections. The exact performance you experience will depend upon your TCP/IP implementation, the performance of your hard disk, and the bandwidth of the network connection to your server.

> > Sites with a heavy user load or those which are running other services will most appreciate the low runtime overhead of PowerWeb Server++.

> > ### What product support can I expect?

> > Support for test drive and unregistered copies of PowerWeb Server++ is on a best-endeavour basis as time permits. If you register you will receive a formal level of support.

> > ### Can I run multiple PowerWeb Server++ services on one machine?

> > Yes! PowerWeb Server++ excels at running multiple servers and multiple protocols. It comes standard with HTTP, HTTP proxy and POP3 services.

> > Multiple servers can be run on multiple ports, or on multiple virtual IP addresses on the same port. The second approach is called a multi-homed server. PowerWeb Server++ can serve from different directories according to the IP address, thereby allowing vanity domain names to be used.

> > ### PowerWeb Secure Server++:

> > The PowerWeb Secure Server++ with SSL security is undergoing beta testing. Its price is expected to be around US$495, with upgrade options available to registered users of the current PowerWeb Server++, at US$200 or less.

> > ### What are SHTTP and SSL and why should I care?

> > SHTTP and SSL are revised, more secure, versions of the HTTP protocol that current WWW servers and browsers implement. The security will allow for tamper-proof banking transactions and other communications of a sensitive nature to be performed across the World Wide Web. The PowerWeb Secure Server++ is currently in beta testing.

> > ### Under OS/2, why do I see "OS/2 error 87 in DosSetMaxFH" when I run PowerWeb?

> > This is a bug in OS/2, caused by an interaction with the multimedia extensions to OS/2. PowerWeb Server++ will continue to function, but will be able to accept fewer simultaneous connections, thereby reducing its performance.

> > The fix: Users who have upgraded to OS/2 Warp Connect version 3.00 CSD level XR03003 no longer have this problem.

> > The patch: remove "\MMOS2\DLL" from your LIBPATH in your "config.sys" file.

> > For the technically minded: PowerWeb Server++ is attempting to increase the number of file handles available to it, but OS/2 is refusing the request. WordPerfect has the same problem when running their OS/2 software.

> > ### Why do I get "Server Error 500" messages?

> > The primary cause of these messages is a misconfiguration of the server, such as specifying access control on a document, but forgetting to define a user database.

> > Another common reason is that you are running a CGI script that the operating system cannot load (caused for example by a missing library). Try running your executable file directly from the command line. If that fails, you have found the underlying problem.

> > ### How do I set up imagemaps using PowerWeb?

> > PowerWeb Server++ provides two methods of supporting imagemaps. The old method uses a "imagemap.cnf" file contained within the "CONF" sub-directory which in turn lists all the maps. This method should be used for compatibility with old documents only.

> > The new method allows for direct specification within the HTML document of the map to use for each graphic. This system was first introduced in NCSA's 1.3 release of their UNIX server.

> > The new method places no limitations on the number or location of imagemaps. It is also faster than the old method because it is more direct.

> > Example of new method:
> > `<A HREF="/$imagemap/maps/fish.map"> <IMG SRC="fish33.gif" ISMAP></A>`

> > This will execute the internal imagemap processor built into PowerWeb, passing it a parameter of "/maps/fish.map" which is a file stored under the DocumentRoot subdirectory (typically "/PowerWeb/docs") of your server. Additional parameters tell "$imagemap" where the user clicked.

> > Documents with references to "/cgi-bin/imagemap" are automatically aliased to "/$imagemap" to provide backward compatibility while obtaining superior performance.

> > An imagemap is a graphic containing hypertext "hot" regions within it, so that various documents or CGI programs can be served according to where the user clicked on the graphic.

> > ### Why Should I Use Rexx Extensions?

> > PowerWeb Server++ Rexx Extensions offer increased functionality and far better speed than CGI for writing customised web serving applications. The Rexx interface is direct, not through CGI, so full access to the server's internal data structures is provided, and the overhead of a fork to the command interpreter is avoided.

> > The Rexx Extensions Interface has the same power as the PowerWeb C Language Interface but offers easier development without the need for compiling, and mastering the intricacies of DLL development.

> > Servers that use REXX filters for processing HTTP requests cannot offer the same level of customisability without having to modify the main server code itself, causing a maintenance and reliability problem, as well as making upgrades to new versions of the server very time consuming.

> > PowerWeb Server++ has a clean separation between the main server logic which is implemented in C++ for speed, and extensions which may SELECTIVELY override portions of that operation, and which may be written in any compiled language, as well as in Rexx.

> > ### How Does Java Fit into the Picture?

> > Java is a proprietary language invented by Sun which is similar to C++. It is used for developing dynamic extensions to the client's browser. As such, Java is fully supported by PowerWeb Server++.

> > Java is not applicable for writing custom server applications. There are vastly more C and C++ programmers than Java programmers. C++ offers faster execution and better compatibility. This does not detract from the fact that Java meets a cross-platform niche for the client side of an application.

> > ### Automatic CGI-BIN File Extensions

> > PowerWeb Server++ automatically adds .EXE, .CMD, .BAT and .PL file extensions as appropriate. This is enabled by default upon installation for the cgi-bin directory.

> > If you wish to use this feature for other directories, go to the Admin page and select Aliases. Ensure that your directory name is mentioned under "Original Path" and has an "Object Type" of "CGI Script".

> > The "New Path" should NOT have a leading slash (/) if the directory is underneath the server root directory, instead of the document root directory.

> > ### Creating New Custom File Viewers:

> > The Guided Tour shows an example of a Comma-Separated-Variable (CSV) file viewer. You can create your own custom viewers and have them used automatically for files with given extensions.

> > Follow these steps:

> > 1. Go to the Admin page and select "Resources"
> > 2. Add a new resource (such as ".dbf") using the "Default" template.
> > 3. Go to ">>> Advanced Settings" and select "Hooks".
> > 4. Fill in the "CommandProcessing" line, specifying your function name and DLL module name.
> > 5. Write your custom viewer (look at the \powerweb\tour\source directory for the entire source code of the CSV example).
> > 6. Copy your new DLL into the \powerweb\bin directory.
> > 7. Try it out.