iHTML - Server Side Scripting/Programming Language
Inline Internet Systems, Inc.
Inline HyperText Markup Language Extension ToolsInline HyperText Markup Language Extension Tools
Learning

iHTML Documentation
iHTML FAQ
iHTML Developer Resource Library
iHTML Parsing Diagram
iHTML Connection Diagram
iHTML Training
iHTML Tag Database
iHTML Vault Archive
Drews Code Archive
SyncNet Code Archive
iEDIT Editor


iHTML 2.20 FAQ


Problem

I am using iHTML with Website 2.x and I get an HTTPD error when I shutdown my server or WebSite.

Solution

This is due to OLE/ODBC and ISAPI not being an asynchronous API. OLE requires a default window which iHTML does not have (since there is no GUI interface). When a shutdown signal is sent by the web server, iHTML never receives the message and can not unload the ODBC drivers. If a default DSN is not used then this problem does not occur. Remove the default DSN to fix this problem.


Problem

I am using iHTML with Website 1.x and I get errors when I load Netscape or Microsoft IE.

Solution

Website 1.x used the operating system file extension mappings so when you load iHTML it sets the .htm and .html extensions to the ihtml.dll file. When a web browser is subsequently loaded on the web server, those mappings get partially changed leaving the machine in an inoperable state. Do not use a web browser on the server with website 1.x and iHTML.


Problem

iHTML does not seem to load or process pages or my web server will not server any pages now that I installed iHTML.

Solution

iHTML might not be initializing correctly for some reason. Look in the ihtml.log which is found in the same directory as the ihtml.dll file (c:\ihtml or c:\website\ihtml are the defaults). Look for any messages that might indicate a problem such as KEY EXPIRED. If the last line is BLOCKS BUILT then there is a problem with your default DSN ODBC driver.


Problem

I get an Error 500, Could not load ihtml.dll

Solution

This is likely caused by a missing DLL file that comes with iHTML. Make sure that you have JPING.DLL, GENSCK32.DLL and POWERP32.DLL in the winnt/system32 subdirectory. The other cause might be incorrect permissions in the directory that the IHTML.DLL file is located or where the HTML file with iHTML tags in it is located.


Problem

I get an error 320 when doing a database query on MS Access or Borland Paradox.

Solution

This error may occur if your database server is not multithreaded. IHTML 2.1 has new features that should prevent this error from occurring. Please report it to custserv@inline.net if you do encounter the error.


Problem

On Microsoft SQL server, if a query fails, it will not automatically release the connection. If you get a lot of failed queries then it will eventually use up the available connections.

Solution

This is not an iHTML problem. When developing a new site and writing the SQL queries, it is a good idea to check the current activity log in SQL Enterprise Manager and kill any failed queries on a regular basis.


Problem

I get a 'Document Contains no Data' error message

Solution

This is typically the result of an error on the source page. Some common mistakes include the following.

  • It is missing a required tag closing symbol >.
  • It has some Javascript on the page that uses the < symbol.
  • The page that was requested might not exist. Set up the NoExistPage registry setting to prevent this from happening and check the file extension to make sure you are calling the correct file
  • In using the <iREM> tag you put in an extra > symbol. This is easy to do if remarking out old code with tags in it. Be careful with this one. <iREM> simply searches for the next > sign to close out the tag.
  • iFILE has an invalid filename for APPEND or READ
  • Different aliases on the open and close tags for iCASE, iWHILE, iLOOP, iSQL
  • Make sure that any double quotes are matched up correctly. Removing the <!ihtml> tag temporarily from a page will get rid of the error and allow you to find the problem more easily by viewing source.
  • Put an iERROR block on the page since it might trap the problem so it can be fixed. The page will be resolved up to the problem that occurred. Most of these type of problems are rectified by doing this.


Problem

Sometimes when I am creating a new page, it just will not load and the browser just sits there.

Solution

This is typically the result of some mistake on the page such as:

  • forgetting the closing tag for a multi-component tag like iSQL,/iSQL,iLOOP,/iLOOP,iCASE,/iCASE etc… and
  • getting into an infinite loop. iHTML 2.1 has a MAXITERATIONS registry setting to prevent this.


Problem

I am using Microsoft Access and if I do a lot of simultaneous database queries, the machine slows down and eventually hangs. Why is this?

Solution

This is a version 2.0 problem and results because Access is not a multi-threaded database serverserver and v2.0 did not have semaphores in place to handle this. V2.1 waits until a connection is free. On v2.0, do not use the default connection but specify the DBNAME for each database query in your HTML files to get around this problem. This will force the request to wait. See the <iHTML> tag for more information.


Problem

I need to increase the number of concurrent threads in Netscape from 32 to 128 or more for iHTML 2.1 to work properly. How do I do this?

Solution

Go to N/S Admin. server and make this change. See the Netscape documentation for a more detailed description.


Problem

How do I know if the iHTML tool is installed?

Solution

If it is installed, sometime between starting the Web server and the completion of the first hit, the server will beep. This beep occurs when the server first loads the DLL file and the exact sequence varies from server to server. Also, if you view the source file in the browser and the tags are still there, then iHTML 2.1 has not been installed correctly. It will also create an ihtml.log file where the ihtml.dll file is located.


Problem

What modifications does iHTML make to files, registry, etc.?

Solution

ISAPI specific installation

The IHTML.DLL file is installed into the scripts directory under the server installation. This may be any directory with server CGI execution privileges. The scripts directory (used in version 1.0) has been replaced with an iHTML 2.1 directory (which was created). This along with the server root directory are both given execution privileges.

The following items are added under the server's Parameters\\Script Map or Parameters\\ScriptExtMap key in the registry.

Name Value
file name extensions path to the IHTML.DLL file

To respond to with the tool:

For example:
.IHT C:\INETSRV\SCRIPTS\IHTML.DLL

Add as many of these lines as you wish for different file types.

You may take over .htm and .html extensions as well as you wish, but this adds server overhead. Keeping the files with and without ihtml separate increases server performance on files that don't need the ihtml parsing.

Note 1: If you wish to remove (uninstall) this software from your system, simply delete all the noted registry keys.

Note 2: See also section 2.1.1 for keys for the tool itself.


Problem

I am running IIS or Purveyor Server and IHTML.DLL does not seem to be getting accessed.

Solution

Make sure you have set the scripts directory under the server to have "execute" or "CGI execution" privileges. In order for .htm files to get parsed by the iHTML engine, the directory must have execute privileges, and not read privileges. During install, the privileges are set to execute only in the server root directory as well as the new created iHTML directory. .htm files may be "executed" by iHTML from either one. You may not wish to leave the server root this way and confine iHTML files to the iHTML directory.

Note: Files that do not contain extension tags will simply pass through unaffected. Therefore, if you leave the server root this way, it has no ill effects other than a small performance penalty due to the parsing. Also make sure that you put <!ihtml> at the beginning of any iHTML enhanced pages.


Problem

I can't use the iHTML or iSQL tags.

Solution

Make sure the datasource you specified is available and the service started prior to starting the http service. If not, start it, and then restart the http server. Also, confirm the login and password, and that they have sufficient authorization to do the intended actions. A file called ihtml.log gets created each time iHTML is started. The file is located in the same directory at the ihtml.dll file. View this file to make sure that the default datasource is connected.

Other Notes

  • If a user puts in an invalid DSN entry while installing iHTML 2.1, it will not allow the server to start. When iHTML 2.1 expires it will also stop the web server from processing.
  • If LOGHITS=TRUE is set in the registry and the COUNTER table is not setup in the default datasource, then LOGHITS should be set to FALSE.
  • When using < or > in the iMATH Tag, use them in quotes like ">" or "<".
  • When passing a colon variable that contains spaces from one page to another directly as an HREF should use iREPLACE to replace the spaces with + signs. Alternately, use the EVAL=TRUE and QUOTE=TRUE directives in the iEQ tag to put quotes and evaluate the parameter passed to the HREF tag.
  • Is the problem with the db driver ?
  • Is the db driver single threaded ?
  • Is the # of connections set too low on the driver ?


Problem

Does iHTML 2.0 work on the DEC Alpha chip running NT?

Solution

A version for this hardware platform will be available shortly. If you want to be notified of it's availability, please email us.


Problem

How does iCOUNTER work if I don't put anything on the pages?

Solution

iCOUNTER uses a table that is set up in your default datasource. Everytime a page is accessed, the count for the page is incremented. If the page is not in the database yet, it automatically adds it. The iCOUNTER tag is used to query the database and get the hit counts.


Problem

What is the difference between the iSQL and iHTML tags?

Solution

The iSQL tag is the new format for version 2.0 of the product. The iHTML tag is the correct syntax for use in version 1.0 and 1.1. The product will be backwards compatible. The iSQL tag structure will allow the assigning of query results to variables and the embedding of commands between record fetches.


Problem

My thread pool increased and my server crashes?

Solution

Increase the thread pool for the server to 128 or higher if necessary.


Problem

I get an error 2186 in NT

Solution

This is related to the start up code of iHTML which might take longer than the timeout that NT allows. The program will still get loaded and this error can safely be ignored.


Problem

I get an 'ODBC Environment Not Initialized' error message.

Solution

Make sure the database is setup as a System DSN


Problem

Under NS I don't want every .HTM or .HTML file processed.

Solution

To specify a file type with iHTML extensions, add a mime type. Then in the obj.conf or registry change the type from text/html to the new mime type that you created.


Problem

Under IIS I don't want every .HTM or .HTML file processed.

Solution

To specify a file type with iHTML extensions, change the entry in the registry from .HTM and .HTML files to the new file extension.


Problem

I can't seem to get the product working.

Solution

Please make sure of the following:

1. Make sure you hear a beep on server startup. If not then the DLL is not loading.

2. Do you have an <!ihtml> tag at the top of the page?

3. Has the product expired. If you get a server error then this is the problem.

4. For Enterprise & Fasttrack, If you have multiple servers on a machine, make sure the obj.conf file got updated. There are instructions in the manual on checking this.

 



If you have any feedback for us, please Email us.

 

Company Info   |   Job Opportunities   |   Privacy Policy   |   Contact Info   |   Site Map   |   Links  
To request information email custserv@inline.net or Phone 905-680-0436
Copyright © 1999-2024. Inline Internet Systems, Inc. All Rights Reserved.