old-www/LDP/LG/issue33/johnson.html

209 lines
9.6 KiB
HTML

<!--startcut ==========================================================-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>Book Review: Website Automation Toolkit LG #33</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut ============================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<h1><font color="maroon">Book Review: Website Automation Toolkit</font></h1>
<H4>By <a href="mailto:">Andrew Johnson</a></H4>
</center>
<P> <HR> <P>
<img align="left" src="./gx/johnson/2930f1.jpg">
<P> &nbsp;
<ul>
<li>Author: Paul Helinski
<li>Publisher: John Wiley
<li>E-mail: info@wiley.com
<li>URL: http://www.wiley.com/
<li>Price: $44.99 US
<li>ISBN: 0-471-19785-8
</ul>
<P> &nbsp;
<P> <HR> <P>
<i>Website Automation Toolkit</i> is a collection of tools, most created
by the author's company, which range from allowing simple configuration
control over the look and feel of your entire site to remote
creation of and updating pages on the site to shopping carts and
simple database facilities. It is not a book about running and configuring
web servers or teaching the Common Gateway Interface (CGI) protocol.
<p>
The introductory preface and first chapter address
the motivation behind the book and a few of the benefits of using
some form of automation in maintaining your web site. Next are
two chapters discussing some of the alternatives
(and alternative proprietary software) to the author's CGI-oriented
approach to automation.
<p>
The majority of the tools provided are, in fact, Perl CGI programs
created by the author's company. These tools are officially free.
While the license in the book states that you are
not allowed to redistribute them without permission, you are
allowed to use and install them as many times and for as many
clients as you wish. This seemed a bit contradictory, so I asked
the author for some clarification. He responded with the
following statement (used with permission):
<blockquote>
I don't do courts, but the intent of the license is to
prevent people from putting our utilities on shareware CD-ROMs
without the supporting text. It's more of a support issue
than an ownership one. I wrote the book because these things
were far too useful to keep to ourselves.
</blockquote>
Chapters 4 and 5 mark the transition into the main part of the
book by providing a short justification for why Perl is the
language of choice, and a brief introductory overview of Perl basics. This
overview is not intended as a guide to the
Perl programming language, but merely to acquaint the user with
some of the essentials so that later sections on configuring and
customizing Perl scripts will be less daunting to the
inexperienced.
<p>
The remaining chapters provide a tool-by-tool installation and
instruction manual. There are too many tools to cover them all with
any detail, so I will very quickly run through the remaining
chapters and follow with my general impressions.
<p>
Chapter 6 covers SiteWrapper, a package that wraps your site so
that all of your pages are served by a CGI program. Chapter 7
introduces Tickler, a program for soliciting e-mail addresses of
visitors and notifying them of content changes. Chapter 8 follows
with a discussion of the freely available
Majordomo mailing list software for creating and maintaining
mailing lists.
<p>
Chapter 9 addresses tracking visitors with discussions of the
Trakkit tool (requires SiteWrapper) and the freely available
Analogue program. Chapter 10 covers a Shopping Cart package
(a modified SiteWrapper program) along with some order processing utilities.
<p>
Chapter 11 covers WebPost, the utility which, according to the
author, sparked the book. This system allows you to create, edit,
delete or upload pages to your site and automatically generate
or update the cross links among pages.
<p>
Chapter 12 provides three search utilities for your site,
depending on whether you are using SiteWrapper, WebPost or neither.
Chapter 13 covers the AddaLink tool for creating and maintaining
a hot list of links. Chapter 14 covers QuickDB, a simple text-based
database engine with a browser interface for adding, editing and
deleting entries.
<p>
Chapter 15 presents a Bulletin Board utility, and also discusses
using FrontPage for a Discussion Board. Chapter 16 takes the next
step by covering a couple of freely available Chat programs.
<p>
Chapter 17 provides a couple of search engine agents, one to
submit a URL to a multitude of search engines and two more which
report your location on the search engines. The final chapter
presents BannerLog and ClickThru, tools which track and log
click-throughs and page views of banner ads on your site.
<p>
I set up a dummy site on my Linux box for installing and trying
out a few of the provided utilities. The installation instructions in each chapter are
divided into UNIX and NT sections and are relatively simple to
follow. However, some unfortunate problems arose.
<p>
There are .zip files for each package, and non-zipped directories
for each of the packages on the CD-ROM. A mild inconvenience is
that some of the .zip files were created with extraneous path
information included, and the individual files in the non-zipped
directories are riddled with ^M characters. The author has created
a web site where you can find problem reports and corrections, and
``cleaner'' versions of the source files for downloading. The
site is located at http://www.world-media.com/toolkit/.
<p>
Another inconvenience is that every Perl script must be checked
(and possibly edited) for the proper path to Perl on
your system, there is no script provided to automate this task,
although writing one would be trivial for any experienced Perl
programmer. Note that even if the first script you examine has the
proper path, others definitely will not--so you must check
and edit those with the incorrect path for your system.
<p>
More serious problems arise with the Perl code. None of
the <b>open</b> calls for reading and writing files are consistently
checked for success or failure. You'll first notice a problem
when you install the SiteWrapper package and try to change the
color scheme of your site with the included SiteColors program.
The installation guide omits mentioning that your server will
need write access to the tagfile.dat file where the color
scheme is stored. Since the program does not check the return
value of the open call, it will fail silently, your color
scheme will not be updated and no error will be present in your
server's logs. I'd seriously recommend locating all calls to the
open function in all .cgi scripts and adding at least a
<tt>||die&nbsp;&quot;$!&quot;;</tt> statement to those that don't
have it.
<p>
Other deficiencies with the Perl scripts are that they are not <tt>-w</tt> clean (for warnings), won't compile with
the ``strict'' pragma, do not use <tt>-T</tt>
for taint checking and use the older cgi.pl library rather than the
CGI.pm module for Perl 5.
<p>
Even with the above comments and concerns, the packages are, for
the most part, easy to install and get working. Installation and
configuration of the basic SiteWrapper package took less than an
hour, including time spent checking and cleaning the source code
and creating simple header and footer files and a couple of dummy
pages. When using this system, every page is served from a CGI
program, even essentially static pages. This method allows for a great deal
of flexibility and a centralized configuration style of
management, but could become costly in terms of server load if
your site is large or heavily trafficked.
<p>
I had a little more trouble getting the WebPost system running
properly, mainly because I chose to set it up in a subdirectory
of the SiteWrapper directory and a few issues were involved
in getting the two packages to play nicely together. Once it was
set up, however, it worked as advertised. While I found parts
of the interface to be a bit clunky for creating web pages, it is
a functional way to create and edit pages remotely using
a browser.
<p>
Other tools were less problematic to install, Trakkit for example--I was
tracking and logging myself within a few minutes of unpacking the
package.
<p>
On the whole, if you are looking for instant ``shrink-wrap''
automation software with point-and-click setup and configuration,
you'll be disappointed. However, typical Linux users accustomed
to file-based configuration should have little trouble with
these tools, especially if they already have some experience with
Perl programming. The programs are not stellar
examples in their present incarnation, but they can provide an
inexpensive automation system for budding webmasters willing to get their hands dirty with a little Perl code.
Hopefully, many of the concerns mentioned above will be addressed in a
future edition.
<!--===================================================================-->
<P> <hr> <P>
<center><H5>Copyright &copy; 1998, Andrew Johnson <BR>
Published in Issue 33 of <i>Linux Gazette</i>, October 1998</H5></center>
<!--===================================================================-->
<P> <hr> <P>
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./kunkel.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./lg_backpage33.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P>
<!--startcut ==========================================================-->
</BODY>
</HTML>
<!--endcut ============================================================-->