Drawing on the wealth of experience he accumulated developing internal and external collaboration solutions for BYTE
magazine, author Jon Udell provides a thorough guide to building networked tools for collaboration. Unlike many books that are tied to a given language or protocol, Practical Internet Groupware
delivers useful code examples in several languages, including Perl (primary language), server-side Java, and XML. Protocols discussed include NNTP, IMAP, HTTP, POP3, and SMTP.
The first section covers general use and policies as they relate to groupware. Administrators and end users will benefit from the references to NNTP messages in Collabra and Outlook, scoped discussion groups, and packaging messages and discussion threads. Udell also includes many tips and usability pointers. When discussing how to build, index, and navigate a document database, he delineates ways to create rich navigation that incorporate topic-sensitive and sequential navigation using modular Perl examples.
Many of the solutions that are presented address custom software that implements open standards. One of the most powerful solutions discusses a lightweight, Perl-based local HTTP server, called dhttp. Creating, using, extending, and integrating this server are capably covered by the author, and it is convincingly presented as a flexible means of distributing information.
As a mark of distinction, the book approaches problems from multiple angles. With security as an example, the author discusses the implementation of encryption for dhttp and notes the legal issues surrounding the use of SSLeay. In essence, his example becomes an alternative way to implement a secure channel using the Blowfish encryption algorithm.
The book contains quite a bit of useful code, but like most (perhaps all) O'Reilly books, it does not include a companion CD-ROM. Appendix A discusses where to get the code and modules (primarily on the author's Web site), but receiving this high-quality source code on a well-organized CD-ROM would increase the value of the book.
For those interested in creating a document database and integrating it with HTTP and NNTP, this book provides the background, code, integration, and deployment information you will need. --John Keogh
Topics covered: Using groupware, policy, culture, and implementation; creating a collection of documents that can be used as a database (docbase); integrating docbases with a variety of servers, including NNTP and HTTP; security, authentication, and encryption; integration; creating a lightweight HTTP server; deploying INN, Microsoft NNTP service, and Netscape Collabra Server; indexing, navigating, and searching; IMAP, POP3, and SMTP. The source code is primarily in Perl, with some server-side Java and C++. XML and HTML are used for many examples, and using XML and XSL is also discussed. Appendices include information on where to get the code and modules that are presented in the book and Internet RFCs.