Your boss asks you to build "one of those intranet things." It's a top priority and must be finished quickly, your boss says, patting you on the back. And oh yeah, there's no money in the budget for this.
Impossible? Actually, no.
Developing an intranet, one that's hooked up to databases and full of all sorts of dynamic features, is well within the capabilities of even the most overworked CAR grunt. All it takes is a Web server and ColdFusion Express, the free, trimmed-down version of the popular and expensive Web application server.
You'll have the support of an easy-to-learn language, great documentation (the kind that comes with commercially distributed software, which is ColdFusion's main enterprise) and a huge ColdFusion programming community. Best of all, you can get away with all this without spending a penny.
At the (Sarasota) Herald-Tribune, I created such a system without a single software purchase. Reporters and editors query research databases, search in-house and AP stylebooks, share sources, request and assign photos, participate in discussion forums, and more.
Big hits, low cost
In an average week, the site responds to just under 5,000 page requests and sends 150 MB of data to over 160 distinct addresses, using free software and Microsoft Access databases. Even the hardware's low-budget: an old PC running Windows 95 with 32 MB of RAM.
The popular intranet model is to build "dynamic" Web pages that change and present different views depending on information stored in a database.
Doing this typically requires a Web server, which sends out pages formatted in HTML in response to user requests, for example the clicking of a link to a new page; a database server, which stores the always-changing information that is presented in these pages; and some sort of "glue" to link everything together.
You could hook up an enterprise database server, such as Microsoft's SQL Server, with Microsoft's IIS Web server and use ASP to build dynamic, database-driven pages. All well and good, if you have the cash to pay for it.
Or you could try an open-source solution. A combination of a MySQL database server, an Apache Web server, and PHP to build the pages and link everything together packs just as much punch, but with a much more appealing price tag: $0. The downside is a much steeper learning curve and cumbersome, sometimes spotty documentation. Although this solution has a lot going for it, if you're pressed for time, it's probably not the right one.
Enter ColdFusion Express, which combines all the benefits of a commercial solution with one of the more appealing features of open-source software (it's free).
ColdFusion Express Server (download it at www.macromedia.com/software/coldfusion/trial/cf_server_express.html) is distributed as a teaser for Macromedia's ColdFusion Server. Presumably, the company hopes that you'll ultimately purchase their flagship product, which goes for between $1,300 and $5,000.
ColdFusion limitations
As a result, ColdFusion Express lacks some of the features of the full-blown product. For example, there's a cap on the number of simultaneous connections to the server. ColdFusion Express supports a maximum of five.
This isn't as bad as it sounds. Connections last mere milliseconds, so dozens, even hundreds, of users can be clicking around via ColdFusion Express at the same time.
Also, there is limited native driver support for databases.
If your data is in Oracle, IBM's DB2, Informix, SQL Server, or some other high-end database, you'll need the cash-money version of ColdFusion. ColdFusion Express works only with desktop databases and has native drivers for Microsoft Access, Paradox, dBase, FoxPro, Excel or Lotus Approach.
With drivers for Access and other database systems, ColdFusion Express becomes a virtual database server, running queries itself and returning results. You don't even need Access on the server; ColdFusion reads and processes mdb files directly. Many times, ColdFusion will process some complex queries faster than Access.
Anyone familiar with HTML will feel at home with ColdFusion, which is completely tag-based. A ColdFusion application is nothing more than a typical HTML document with ColdFusion tags inserted in among the HTML tags. Requests for ColdFusion pages are sent first to the ColdFusion Express Server, which will process the tags, query databases and whatever else it's told to do, and then return the results to the Web server as HTML.
Andy Crain can be reached by e-mail at andy.crain@heraldtribune.com