Open Source Database Driven Web Development: A Guide for Information Professionals

Jonathan Eaton (London Business School, London, UK)

Program: electronic library and information systems

ISSN: 0033-0337

Article publication date: 2 October 2007

212

Keywords

Citation

Eaton, J. (2007), "Open Source Database Driven Web Development: A Guide for Information Professionals", Program: electronic library and information systems, Vol. 41 No. 4, pp. 440-442. https://doi.org/10.1108/00330330710831693

Publisher

:

Emerald Group Publishing Limited

Copyright © 2007, Emerald Group Publishing Limited


This book is intended for any information professional with an interest in using free‐to‐ acquire software tools to develop expertise in creating database‐backed web sites or web content management systems. It aims to introduce the reader to key open source tools, database design concepts and practical applications, rounding off the book with a series of case studies based on database driven web applications deployed at his home institution. In the manner of professional software programming publishers including Reilly, SAMS, Sitepoint, Wrox and others, the author and publishers have also created a companion web site (www.databasedrivenweb.net/) to provide the program code examples used in the book for immediate, free download, and to offer details and links to related resources on which the book is based.

The author's twin roles (as academic and practical programmer) are evident throughout this book, which can be used variously as: a primer on the growing importance of open source software; a rationale for deploying such tools as an alternative to offerings from commercial vendors such as Microsoft; and most practically of all, an introduction to the fundamentals of database driven web site design. The core content comprises a series of five building block chapters covering the key interlocking elements of cascading style sheets (CSS), practicalities of relational database design and normalisation, the SQL query language and how the globally pervasive combination of the MySQL database and PHP scripting language web platform can be harnessed to create a range of effective dynamic web applications in relatively short timescales. In a series of clearly‐formatted illustrations, numerous script and SQL code excerpts are presented alongside their results. Each chapter concludes with extensive references to web resources and further technical notes where applicable, and there is a short bibliography for further reading organised around the key areas covered.

Although geared to offering basic tuition to build confidence quickly through small, simple examples, other important topics are considered, including the issues of accessibility and the wider tasks of web site planning as a collective software design and engineering process. By the end of this course, the reader will understand how to store data efficiently for retrieval in a relational database; and then how to connect, read, display and then update, edit and delete records, all via custom simple PHP scripts. A final chapter provides multiple case studies from the author's home Western Illinois University Libraries environment (all built on the open source database backed web site model), as working examples intended to fire enthusiasm and provide the stimulus for readers to develop their own bigger web software and publishing projects. These examples (including content management systems to power the library web site; an electronic resources management system; and a searchable URL database) are well‐chosen because each demonstrates how a major area of a library information management and publishing workflow can be automated for significant user and staff productivity benefits.

Dunlap's lively, knowledgeable and selective approach to his topic displays some admirable aims: chiefly to help demystify some of the open access tools and also to enthuse and empower library and information professionals at both managerial and technical levels. However, in both structure and content, this book is not without its faults and some significant omissions. First impressions actually belie the title's ultimate usefulness. For example, its most important theme – the superiority of dynamic, database driven web site content over the static HTML equivalent, and the importance of separating content from its presentation – is not immediately stated and elaborated to engage the reader, but is held back until page 45 in a dedicated (fourth) chapter. Instead, the reader has to negotiate first an opening chapter on how big and interconnected the Internet has become The whys and wherefores of the web, and then a long discussion on the origins of the open source software movement. The initial material is interesting and well marshalled, but could have been better positioned in order to present the main argument first. This unsettling and frustrating sense of early drift in the book is reinforced by a failure to identify clearly what kinds of readers among the information professionals of its sub‐title, the author and publishers understand will form its intended audience, and more importantly what level of technical knowledge and skill is either assumed or needed.

The author has wisely chosen not to overwhelm a potentially novice readership with an excess of technical detail. However, he does sometimes skate over topics that (even at an introductory level) need discussion to anticipate and prevent problems both during development and after deployment. A major decision for all web developers (particularly those working with database driven web sites) remains the contrasting merits of HTML tables and CSS for formatting and controlling data display. This is missing from Dunlap's basic introduction to CSS, which concentrates more on font styling. The author can sometimes give the impression that selecting open source software tools and operating systems is generally a rather relaxed pursuit. He could manage readers' expectations better by advising that access to systems administration resources and skills are a vital infrastructural part of developing web‐backed databases under any open source software model. Running Linux for example, will insulate users from many attacks and exploits aimed specifically at the Microsoft platform, but it will not exempt them from the vital need for vigilance and ongoing work patching the OS itself along with RDBMS packages like MySQL and other tools, to prevent security breaches. A more serious omission on the security theme is the lack of advice on how to eliminate in PHP code the common scenario of malicious SQL injection or poisoning attacks, directed at poorly‐written search forms or query strings where user input is accepted unchecked before being fed directly to the database (with often disastrous or embarrassing consequences). Another missing piece is any discussion of the role of XML as the driver of content separation from presentation. Given the introductory scope of the book, this is perhaps understandable but would need to be addressed in any future edition.

The tools and techniques introduced and described in this book have an applicability far beyond the computing resources of a large US university of the kind to which the author belongs. Small, specialised libraries are equally able to benefit from the open source technologies now that many commercial internet service providers and hosting services offer them alongside the Microsoft equivalents. Although not explicitly stated in the book, there are many instances where such smaller libraries have, to date, created extensive bibliographic databases using personal bibliographic software or general‐purpose relational tools such as Microsoft Access, and now want to bring these resources to a wider (global) audience via the web. This book will provide just the kind of combined strategic technological advice and practical coding examples to help get such projects under way and completed, even by non‐specialists.

Related articles