书评:《网站自动化工具包》

作者:Andrew Johnson
Book Review: Website Automation Toolkit
  • 作者:Paul Helinski

  • 出版社:John Wiley

  • 电子邮件:info@wiley.com

  • 网址:http://www.wiley.com/

  • 价格:44.99 美元

  • ISBN:0-471-19785-8

  • 评论员:Andrew Johnson

《网站自动化工具包》是一个工具集合,其中大部分由作者的公司创建,范围从简单地控制整个网站的外观和风格配置,到远程创建和更新网站页面,再到购物车和简单的数据库功能。 这本书不是关于运行和配置 Web 服务器或教授通用网关接口 (CGI) 协议的。

介绍性前言和第一章阐述了本书的动机以及在维护网站中使用某种形式的自动化的一些好处。接下来两章讨论了作者以 CGI 为导向的自动化方法的一些替代方案(以及替代的专有软件)。

事实上,提供的大部分工具都是作者公司创建的 Perl CGI 程序。 这些工具是官方免费的。 尽管书中的许可声明您未经许可不得重新分发它们,但您可以使用和安装它们任意次数,并用于任意数量的客户。 这似乎有点矛盾,所以我向作者询问了一些澄清。 他回复了以下声明(经许可使用):

我不打官司,但许可的意图是防止人们在没有支持文本的情况下将我们的实用程序放在共享软件 CD-ROM 上。 这更多的是一个支持问题,而不是所有权问题。 我写这本书是因为这些东西太有用了,不能只留给我们自己。

第 4 章和第 5 章通过简要说明为什么 Perl 是首选语言,以及对 Perl 基础知识的简要介绍,标志着向本书主要部分的过渡。 本概述并非旨在作为 Perl 编程语言的指南,而仅旨在使用户熟悉一些基本知识,以便以后关于配置和自定义 Perl 脚本的部分对于没有经验的用户来说不那么令人生畏。

其余章节提供了工具逐个安装和说明手册。 工具太多,无法详细介绍所有工具,因此我将快速浏览其余章节,并附上我的总体印象。

第 6 章介绍了 SiteWrapper,这是一个包装您网站的软件包,以便您的所有页面都由 CGI 程序提供服务。 第 7 章介绍了 Tickler,一个用于征集访问者电子邮件地址并通知他们内容更改的程序。 第 8 章介绍了免费提供的 Majordomo 邮件列表软件,用于创建和维护邮件列表。

第 9 章讨论了使用 Trakkit 工具(需要 SiteWrapper)和免费提供的 Analogue 程序跟踪访问者。 第 10 章介绍了购物车软件包(修改后的 SiteWrapper 程序)以及一些订单处理实用程序。

第 11 章介绍了 WebPost,作者称该实用程序激发了本书的创作灵感。 该系统允许您创建、编辑、删除或上传页面到您的网站,并自动生成或更新页面之间的交叉链接。

第 12 章为您的网站提供了三个搜索实用程序,具体取决于您是否使用 SiteWrapper、WebPost 或两者都不使用。 第 13 章介绍了 AddaLink 工具,用于创建和维护热门链接列表。 第 14 章介绍了 QuickDB,一个简单的基于文本的数据库引擎,具有浏览器界面,用于添加、编辑和删除条目。

第 15 章介绍了公告板实用程序,并讨论了使用 FrontPage 作为讨论区。 第 16 章更进一步,介绍了几个免费提供的聊天程序。

第 17 章提供了几个搜索引擎代理,一个用于将 URL 提交到多个搜索引擎,另外两个用于报告您在搜索引擎上的位置。 最后一章介绍了 BannerLog 和 ClickThru,这两个工具用于跟踪和记录您网站上横幅广告的点击率和页面浏览量。

我在我的 Linux 机器上建立了一个虚拟站点,用于安装和试用一些提供的实用程序。 每章中的安装说明都分为 UNIX 和 NT 部分,并且相对容易遵循。 然而,出现了一些不幸的问题。

CD-ROM 上每个软件包都有 .zip 文件,以及每个软件包的未压缩目录。 一个轻微的不便是,一些 .zip 文件是在包含无关路径信息的情况下创建的,并且未压缩目录中的各个文件都布满了 ^M 字符。 作者创建了一个网站,您可以在其中找到问题报告和更正,以及“更干净”的源文件以供下载。 该网站位于 http://www.world-media.com/toolkit/。

另一个不便是,必须检查(并可能编辑)每个 Perl 脚本,以查找系统上 Perl 的正确路径,没有提供脚本来自动化此任务,尽管编写一个脚本对于任何有经验的 Perl 程序员来说都是微不足道的。 请注意,即使您检查的第一个脚本具有正确的路径,其他脚本也肯定没有——因此您必须检查并编辑那些路径不正确的脚本。

更严重的问题出现在 Perl 代码中。 没有一致地检查用于读取和写入文件的 open 调用的成功或失败。 当您安装 SiteWrapper 软件包并尝试使用随附的 SiteColors 程序更改网站的配色方案时,您首先会注意到问题。 安装指南遗漏了提及您的服务器将需要对存储配色方案的 tagfile.dat 文件具有写入权限。 由于程序不检查 open 调用的返回值,它将静默失败,您的配色方案将不会更新,并且服务器日志中不会出现任何错误。 我强烈建议找到所有 .cgi 脚本中对 open 函数的调用,并在那些没有调用的脚本中至少添加一个 ||die "$!"; 语句。

Perl 脚本的其他缺陷是它们不是 -w clean(用于警告),无法使用“strict”pragma 编译,不使用 -T 进行污点检查,并且使用较旧的 cgi.pl 库而不是 Perl 5 的 CGI.pm 模块。

即使有上述评论和担忧,这些软件包在很大程度上也很容易安装和运行。 安装和配置基本的 SiteWrapper 软件包花费不到一个小时,包括检查和清理源代码以及创建简单的页眉和页脚文件以及几个虚拟页面所花费的时间。 当使用此系统时,每个页面都由 CGI 程序提供服务,即使是基本上静态的页面也是如此。 这种方法允许很大的灵活性和集中式配置管理风格,但如果您的网站很大或流量很大,则可能会在服务器负载方面变得昂贵。

我在使 WebPost 系统正常运行方面遇到了一些麻烦,主要是因为我选择将其设置在 SiteWrapper 目录的子目录中,并且涉及到一些让这两个软件包协同工作的问题。 然而,一旦设置好,它就可以按广告宣传的那样工作。 虽然我发现界面的某些部分对于创建网页来说有点笨拙,但它是一种使用浏览器远程创建和编辑页面的有效方式。

其他工具的安装问题较少,例如 Trakkit——我在解压缩软件包后的几分钟内就开始跟踪和记录自己。

总的来说,如果您正在寻找具有即时“收缩包装”自动化软件以及点击式设置和配置,您会感到失望。 然而,习惯于基于文件的配置的典型 Linux 用户应该对这些工具没有太多麻烦,特别是如果他们已经有一些 Perl 编程经验。 这些程序在其当前版本中并不是出色的示例,但它们可以为愿意动手处理一些 Perl 代码的初出茅庐的网站管理员提供廉价的自动化系统。 希望上述许多问题将在未来的版本中得到解决。

Andrew Johnson 目前是一名全日制学生,正在攻读物理人类学博士学位,同时也是一名兼职程序员和技术作家。 他与妻子和两个儿子住在马尼托巴省温尼伯,并在有空时喜欢品尝黑啤。 您可以通过电子邮件 ajohnson@gpu.srv.ualberta.ca 与他联系。

加载 Disqus 评论