Zen and the Art of Docbase Maintenance

One of the themes winding its way through this section is a text-file-oriented approach to managing semistructured data. I’m not wedded to this approach, and in later chapters we’ll see applications that use both object-oriented and relational data stores. But I’ve found text-oriented methods to be appropriate for many practical purposes. These are, after all, the methods used by Internet applications—mail, news, and the Web—that have connected more people to more information than anyone a few years ago dreamed possible.

Let’s explore this notion of appropriate technology. Later in this chapter, we’ll see an example of a Perl function called getSeqInfo( ) (part of the Docbase::Navigate module in Example 7.16) that looks up a piece of an index by reading in a small text file. Shouldn’t that be done, instead, as an SQL query against a “real” database? Certainly it could be done that way. Whether it should, though, is another matter. Often we’re too easily swayed by a technological imperative that urges us to use the biggest available hammer to drive every nail. When a different tool is appropriate for a job, it makes sense to use it. Perl’s unparalleled strengths in two key realms—text processing and data structure wrangling—make it eminently appropriate for many of the challenges that confront a groupware developer.

Groupware applications rarely fail because their developers pick the wrong database engines. They fail, instead, because they ...

Get Practical Internet Groupware now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.