Domino lines everything up nice and easy

Following a co-worker’s notice of resignation, I was challenged to learn a great deal about developing for Domino in a short amount of time. In the weeks leading up to his departure, Jonathan became my mentor as I learned the ins and outs of his job and was exposed to technologies that left my head spinning with ideas.

A mere two months later, I have created countless database and workflow applications to run on both the Lotus Notes client and the Web. That alone says something significant about the power and efficiency of Domino, and it’s a wonder to me that this veritable panacea has not yet exploded into the mainstream.

If there’s one drawback to Domino development it’s that it’s all too easy to take on an air of smugness when a user requests a business application and you can respond with “Give me 20 minutes.” Domino’s power and functionality is the result of much foresight, and some fundamental ideas that (hopefully) will reshape the way we build applications.

You just can’t argue with the kind of thinking that says your e-mail system should be tied in with your intranet and applications platform. When access control lists (ACL) are derived from a common address book, it greatly simplifies user account maintenance. Lotus takes this a step further by allowing you to define roles for a user or group that are specific to a given database. For example, a typical workflow application may need to know who the CEO is. That person would be assigned the role of “CEO” in the access control list, and any programmatic reference to “CEO” would point to that individual. You can code your workflow referring to job titles as opposed to specific people, so that you don’t have to modify the application due to a personnel change. You would only need to revise the ACL.

This unification philosophy extends beyond user management to encompass programming languages. For example, a form for use on the Web may contain Formula Language to populate fields based on session information, JavaScript to validate user input, and a submit button to execute an agent written in Lotus Script or Java. The Domino server will also run Java servlets, and recent versions allow you to incorporate servlets into the design and execute them based on form events. Perhaps Lotus is not the only company with the resources to provide such an inclusive development platform, but they are rare in that they have the inclination to do so.

So, can Lotus do it all? I’m tempted to answer in the affirmative, but I’ve seen enough examples of why that could be misleading. Some people move to the Domino platform thinking it will write their applications for them, and there is an overabundance of development companies out there eager to capitalize on the “don’t write it – buy it” mentality. Third-party “solution-in-a-box” applications for Notes often cost exorbitant sums of money and will never stand up against a good, home-grown piece of software that is tailored to your business’s needs. While Domino does away with a lot of the grunt work, there is no substitute for a good developer who can take full advantage of what it offers.

Speaking of good developers, Jonathan has accepted a position doing Notes development for the government. Upon finding out he was to become a civil servant, a good bunch of people at the office congratulated him on his retirement. I’d just like to extend my thanks to the man who let me in on what is perhaps IT’s best kept secret.

Cooney is a co-founder of Centiun. He can be reached at