Many of today's Web Sites generate their content from information
stored in SQL Databases. If you've ever used one of the popular
Search Engines, like Yahoo or Alta Vista, you've probably been
amazed to discover how much information they contain. So much, in
fact, that all but the most targeted and selective searches often
return
hundreds, if not thousands of references to Web Pages. We obviously
have neither the time nor the bandwidth to wait for so much information
to be downloaded into our Browsers, and even if we did, the resulting
Web Page would be so large as to be overwhelming.
For this reason, methods have evolved to manage such data, and to break
it up into smaller chunks, often no more than 10 or 20 line items per
page.
While your own Web Site may pale in comparison to the amount of
information stored in the Search Engines, even a simple Guestbook
can grow to be quite large, and suffer greatly if you don't have access
to the tools required to manage it. Once again, heitml has
anticipated your needs by developing libraries that help you with these
chores. Although the type and variety of information stored in
databases varies enormously, any Web Site that uses a database will
likely encounter many of the same problems.
First, and foremost, we need a method to add new records to our
databases, as well as a way to update existing records, or delete
them when they are no longer useful. In this respect standard HTML
falls short of our needs, for although HTML provides us with a
<FORM> Tag to facilitate User input, it lacks
a mechanism for processing that input once it has been submitted.
Prior to the development of heitml a large number of Scripting
Languages arose to fill this lack, the most popular of
which has been PERL. In many ways Scripting Languages have done an
admirable job of handling these "behind the scenes" processing
tasks, but two of their most often heard criticisms have been their
somewhat cumbersome syntactic conventions, and the security problems
they pose to System Administrators. A non-HTML-like Syntax causes
headaches for programmers, as it is easy to make an error, yet
difficult to find and correct them. And from the security standpoint,
a language that allows access to Operating System functions means
that any Web Page using a Script can not be placed into
production until it has passed through a screening process, often
resulting in lengthy delays, not to mention the cost of assigning
expensive personnel to such tasks.
heitml suffers from neither of these drawbacks. It employs
the same User-friendly Syntax as HTML and, except for the
special-purpose
shell Tag, which
can easily be turned off at the system level, offers no chance
to interfere with other processes, or to access or erase files
which do not belong to it.
The second most common requirement of Web Site databases is that
Users must have a way to tell the database what they are looking
for. In short, they need their own mini-search engine, a way to
construct and execute SQL Queries, without requiring the User to
have any knowledge of SQL.
To fulfill this requirement, we have developed the
dbq Library, also known as the
Query Library, a collection of
Tags that will prove invaluable, especially in view of the fact that
even a casual HTML Page Designer can use them, without himself having
any knowledge of SQL.
Once a Query has been submitted to the database, the next problem
is how to manage and display the information returned by the Query.
To this task comes the
dbs Library, or Scroller
Library, a collection of Tags that allows the Page Designer complete
control over the number of items or records to be displayed on a
page, as well as their formatting.
Last, but not least, there are times when FORMs impose limitations
on communication that outweigh the advantage of storing the data
in a database. Many Web Sites allow Users to "leave a message" for
someone by filling out a FORM, but unless the User is quick-witted
enough to print or save a copy of what he has written, he has no
record for himself, and no easy way to keep track of whether
or not a response has been made.
With heitml's Email FORMs Library, however, a FORM can be designed
that not only writes to a database, but mails the message
directly to one or more email addresses, also giving the User the
option of sending a copy to himself.
All of these tasks will be discussed in detail in the sub-pages
in this section. However, there is one additional Library that
can be used to "tie everything together", so to speak, even to
the point where complete Database Management Applications can
be created within a single heitml Web Page. These "single page"
Apps, however, require an extensive introduction of their own, and
for this reason a discussion of the
dba Library has been placed
in its own section, immediately following this one. (See the
dba Tutorial for more information.)