
Please note that most applications are ``live,''
running on production servers. You can exercise any of the forms
up to the point where you select the hyperlink on the
verification Web page (described below). I'll indicate when an
operation is not ``safe'' to do with a form.
Here are some things to try (with any form) to check out
robustness of the software that processes the form. First, hit
the ``Submit'' button without entering any data. After that,
enter some data, but leave some required data missing on purpose,
then hit ``Submit.'' Finally, complete the form, but use
obviously bogus data in some fields, like invalid e-mail address
format.
Most of the links on this page point to forms. I use the
same processing approach for all forms:
- The CGI software reads form data using POST method and then
decodes it into a hash (associative array), in typical fashion.
- Next, the CGI detects any missing information that was deemed
to be required, and reports the deficiency to the user, who's
instructed to return Back to the form and add the
missing information.
- Then the CGI does critical data-integrity checks on the
entered data. For instance, all e-mail addresses entered on a
form must be in the user@domain format and not
invalid characters.
- Next, the CGI presents the user with a dynamically-generated
verification Web page, which is generally an HTML table showing
the form field name and the data they entered. There are at
least two copies of a link provided on that same page which, when
activated, will call the same CGI script (using the GET method
this time).
- The CGI always stores a copy of formatted form data into a
log file on the server. Often, a copy of the data is mailed to a
particular recipient or perhaps back to the form user.
- Finally, the CGI presents the user with an acknowledgement
page that thanks them for filling out the form.
Philosophically, I try to give a client the most ``bang for
their buck.'' That is, I attempt to minimize cost to the client,
yet achieve the greatest functionality. For example, many common
business CGI applications are publicly available for free. If
such an application can be found, I'll install and customize that
versus writing an application from scratch. I only write
applications from scratch if there's no other viable
alternative.
CMP Media
Networkcomputing's Unixworld
- E-Mail Registration
- This simple four field form is first checked locally by a
simple JavaScript program to catch egregious entry errors. Then
it's processed by a CGI that simply writes the data to a disk
file. No exercise restrictions.
- Site Search Form
- Created a simple gateway for the publicly available SWISH
search engine. Most of the work on the search system consisted
of customizing the swish program itself, in particular,
redefining the words indexed so computer terms, and acronyms are
included. No exercise restrictions.
- Vendor
Announcement Form
(<URL:http://www.unixworld.com/unixworld/rs/va/announce.html>)
- A relatively complicated form to process, primarily because
of the formatting required to build a dynamic HTML page from the
data supplied by the user. The final result is logged to disk
and then mailed to me so you can exercise this application
without restriction.
- Vi/Ex
Quiz
(<URL:http://www.unixworld.com/unixworld/rs/contests/vi/>)
- An example of a CGI written by someone else but customized
for use on our site. The original quiz application was developed
by Shishir Gundavaram. Exercise as much as you wish. Good
luck with your answers.
LAN Times
- Banner-Ad Test Page
(<URL:http://www.lantimes.com/ad-test.html>)
- This test page exercises the rotating banner-ad system I
developed for LAN Times.
Here's how that system works: Each target Web page has a server-
side include directive that calls a CGI that reads a randomly
selected ``ad'' file, which specifies a GIF image file for
display and the CGI updates the impression count for that
advertisement. If the user ``clicks'' on the image, another CGI
counts it (as a ``click-through'') and redirects the user's
browser to the Web site of the company who bought the rotating
advertisement. That CGI can also act as a counter for static
banner ads. There are banners on all editorial and many
``Buyer's Directory'' pages.
- E-Mail
Registration
(<URL:http://www.lantimes.com/customer/register.html>)
- Basically, the same e-mail registration used on UWOL
(link provided above), but without the embedded JavaScript.
- Search Form
(<URL:http://www.lantimes.com/search/search.html>)
- This search gateway was also updated to support search of
multiple indices, one for each specified time period.
- Domestic
Subscription Form
(<URL:http://www.lantimes.com/customer/subscribe.html>)
- This form has been through several reincarnations, with the
latest a vast simplification from 15 down to three questions in
addition to demographic information to qualify for a free
subscription. You can exercise it up to the point that you would
click on one of the two links on the Web page entitled ``Verify
LAN TIMES Subscription Data.'' Of course, you're welcome to
subscribe if you want.
- International
Subscription Form
(<URL:http://www.lantimes.com/customer/internat.html>)
- Safe to exercise up to the point where links are selected on
the verification page.
- Buyer's
Guide entry form
(<URL:http://www.lantimes.com/buyers/entryform.html>)
- Safe to exercise up to the point where links are selected on
the verification page.
- Trade
Show Navigator Form
(<URL:http://www.lantimes.com/calendar/navigator.html>)
- Safe to exercise up to the point where links are
selected on the verification page. An example of a newer
style where all missing required field names are displayed
on the error page, instead of just the first one.
- View Publication Click-Through Counts
- Here, the CGI displays the contents of ``counter''
files, formatting the result with an HTML table.
Other Projects
MicroDesign Resources
-
Search Form
- A port of the older SWISH search gateway to a private client.
Kare Anderson
- Remote (www.sayitbetter.com) Say It
Better Web store.
- Installation and customization of the pubicly available Web
Store shopping-cart application, available from the Selena Sol
CGI archive site. This project took about ten hours. The time
to development the equivalent functionality from scratch would be
hundreds of hours. Obviously, a client prefers to pay for 10
hours versus 10, 20, or 30 times that. You can exercise this
system up to the point where you submit your order at the
``check-out stand.''
The Reel Directory
- Search Reel Directory
(<URL:http://www.reeldirectory.com/reel_new/search.html>)
- In this case I had to rewrite the CGI gateway for the search
operation. At first I was able to employ a previously developed C
application that generates the search results so the cost to the
client was minimized. Later I took over a Perl-rewrite of
the same application.
AirTouch
- Vision Tech development site AirTouch
Conference Entrance
(<URL:http://www.visiontec.com/airtouch/conference/>)
- This development site (www.visiontec.com) has some sample
postings. This is another case where the basic application was
freely available so I installed and customized it for the client.
This approach saved me lots of time and the client lots of money.
- AirTouch remote test site AirTouch
Conference Entrance
(<URL:http://www.airtouch.com/international/conference/>)
- Although, hosted on the client site, this application isn't
``live.'' The ``live'' application is available on an internal
company Intranet, not accessible to the Internet. You're welcome
to exercise this or the previous link as much as necessary with
no harm done.
Shaklee
Note that the hosting site (SLIP.NET) is often overloaded
during regular daytime business hours so it's probably best to
exercise this site during off hours.
Site Design Note: The primary aim of this site is to create up
to three different customized Web pages from templates per
Shaklee distributor (salesperson). These pages will be advertised
by the distributor and provide the primary way the general public
can reach a Shaklee distributor.
For instance, the search page (URL below) allows the public to
locate a Shaklee distributor Web page in their area code, city,
or state. They can also fill out a form on the distributor's Web
page that allows them to contact the distributor via email.
This entire site was written from scratch because at the time
I couldn't locate any canned software, either publicly or
commerically available, that met the client's needs.
- SLIP.NET-resident Sign-On Form
(<URL:http://www.connectmedia.com/shaklee/gatekeeper.html>)
- You have to be a registered Shaklee distributor to sign
on to this site.
- SLIP.NET-resident
Membership Form
(<URL:http://www.connectmedia.com/shaklee/membership/index.html>)
- This form is ``live'' so you can only exercise up to the
point where you select a link on the verification page.
- SLIP.NET-resident
Search Form
(<URL:http://www.connectmedia.com/shaklee/search/search.html>)
- Search the database for existing Web pages. The search
results page will contain links to pages generated by this CGI
system. Click on a Business name on the left hand side to view
the page.
- SLIP.NET-resident
E-mail Registration Form
(<URL:http://www.connectmedia.com/shaklee/email/register.html>)
- Another rather simple form.
|