Developing external Lotus Notes Domino Internet applications (Web sites) is surprisingly different than building internal Lotus Notes Domino intranet applications. Performance, security and software configuration and compatibility issues must be considered. If these considerations are not taken into account during the development process, Lotus Notes Domino developers and administrators may face many unexpected and unpleasant post-deployment surprises. This tutorial outlines the top 10 issues associated with developing and deploying Lotus Notes Domino Web site applications and explains how to proactively circumvent potential problems.
Why should there be any differences with an external application when compared to an internal application? On the surface, we are just talking about Lotus Notes users with Web browsers connecting to applications running on a Domino server. While this is true, the differences come about largely due to three reasons:
Before we get started, let's just clarify a few terms that I'll be using:
[TABLE]
[TABLE]
Many Lotus Notes Domino Internet applications are hosted by external hosting providers or ISPs. By moving the hosting to an external provider, you may experience issues that you wouldn't face with internal Lotus Notes Domino applications. These issues may include:
[TABLE]
Content for the Internet site may need to be carefully examined for compliance and legal reasons. These requirements vary between companies and between industries. One company I worked for had a legal requirement to make a backup of their Lotus Domino Internet site whenever any updates were published to the site. This backup was effectively a snapshot of the site at a point in time. In case of legal disputes over the information displayed on the site, the customer needed to prove what content was on the site at a particular date and time.
This requirement greatly affected the
To continue reading for free, register below or login
To read more you must become a member of SearchDomino.com
');
// -->

design of the publishing mechanism and replication procedures. For example, certain Lotus Notes Domino databases needed to be copied before replication could take place (the copying of a replication was automated by a LotusScript agent). Another part of the solution was to have a separate Lotus Notes database for forms that were filled out on the Web site. This form's databases could be replicated freely, because its documents did not make up part of the Web site and never needed to be.
[TABLE]
A Lotus Domino intranet can often have simple publishing mechanisms with minimal or no approval cycles. A Lotus Domino Internet site often comes under much greater scrutiny for the reasons mentioned earlier. Content may have to be staged for approval on an internal Lotus Domino server and this can introduce a new set of challenges.
Consider a Web site where each page is represented by a Lotus Notes document. It is quite common to have a Lotus Notes document live on your Internet site and also have an updated version of that document being reviewed internally. You cannot always rely on standard Lotus Notes replication because you need to make sure that
a.) the Lotus Notes document being reviewed isn't updated with data from the live document or b.) the live Lotus Notes document isn't updated with data from the document under review before it has been approved. You may need to design your own versioning mechanism into your Domino application to cater to this.
Also consider that the internal staging version of the Domino application needs to display the Lotus Notes document that needs to be reviewed in place of the live documents. But keep in mind that the live Internet application still needs to display the live documents. Therefore, the application needs to cater to displaying different information depending on whether it is running on your internal staging server or on your ISP's Internet server.
[TABLE]
Depending on your hosting plan, your Lotus Notes Domino agents may only be able to run with restricted rights. This is almost always the case if you are on a shared hosting plan. Restricted rights mean that your agent generally cannot access anything at the operating system level. One common area where this becomes an issue is with a Lotus Notes Domino agent that creates files on the fly -- for example, a custom spreadsheet file -- and then allows the user to download it. This type of agent will not be able to run on an ISP's server that enforces restricted agent execution rights.
[TABLE]
Most companies have internally decided on one type and version of Web browser. Applications can then be developed only for that one browser. However, on the Internet there can be many different Web browsers accessing your site, and you may need to cater to more than one. Microsoft Internet Explorer has been the most popular Internet Web browser for several years, but Mozilla Firefox has become increasingly popular since 2006 (see w3schools for Web browser usage statistics going back to 2002).
Lotus Domino Internet applications need to cater to at least these two browsers. Also consider though that there are different versions of each browser and also different versions for different operating systems. For example, Firefox has versions for Microsoft Windows, Linux and Mac.
In theory, all Web browsers should work the same, but in practice they don't. This introduces some areas of concern for Lotus Notes Domino developers:
It is generally not feasible to try to support all Web browsers. The best strategy is to decide on what browsers and versions that you will support with your Lotus Notes Domino sites. For example, you may determine that 90% of your Web site visitors are using either Internet Explorer or Firefox, so then you might decide to support the two latest versions of Internet Explorer and Firefox. This means that you'll be testing your Web site under those browsers. It doesn't mean that your site won't work under other browsers such as Opera; it just means that you may determine that the effort required to test under other Web browsers is not justified.
You'll note that supporting different Web browsers requires a lot more testing effort. If you test under two versions of two different Web browsers, then you need to test up to four times as much as you would if you were only supporting one Web browser. This needs to be included in the schedule and budget for any Lotus Domino Internet development project.
[TABLE]
Web browser settings are also a very important consideration when designing your Lotus Domino Internet site. The Web browsers used inside most companies will have standardized settings, often as the result of having been installed from a common image. But on the Internet, virtually anything is possible. Any Web browser setting could be turned on or off.
Some of the key settings include:
You cannot control the configuration of Internet users' Web browsers. All you can do is determine a set of fair and reasonable requirements for using your Web site. For example, you may decide that in order to use your Lotus Domino Web site, a user must have JavaScript support and also accept cookies. Regardless of whatever requirements you decide on, you need to evaluate the implications of doing so. Also consider that, as you increase the number of requirements for your Web site, you also increase the number of users who may have problems using it.
[TABLE]
Any Lotus Notes Domino browser application should be developed to support a minimum screen resolution. When it comes to Internet applications, you may need to support a lower resolution than you would for internal intranet applications. This is because many companies update their computers on a more regular basis than home users do. Therefore, companies often have later technology with higher resolutions. Do some research and decide on the resolution that you will develop for before you start coding a Domino Web site.
[TABLE]
One of the key differences between Lotus Domino intranet applications and Lotus Domino Internet applications is network speed. Within an organization, you can fairly accurately determine your internal network speed and it is usually pretty reliable. However, the speed of Internet connections for your Web site users can vary dramatically. Some may be on super-fast T1 connections, while others may still be on slow dial-up connections. The speed of your company's internal network is often much faster than the average Internet user's connection.
Internally you might be able to use large components on your Domino Web pages, such as large images, Java applets and the like. However, on the Internet, these may be much slower to load. It's not that you shouldn't use these components on your Domino Internet site, but you do need to consider the user experience that may happen with slower connections.
[TABLE]
Security is much more important for Lotus Domino Internet sites than for Lotus Domino intranet applications. Access to Domino intranet applications is often physically restricted -- the users have to be inside your building to use your intranet. On the Internet, these restrictions do not apply. Domino is known for its strong security model and it becomes much more crucial on the Internet.
Remember that Domino Web sites can be accessed by URL commands other than the ones that you use on your Web pages. For example, a hacker could use URL commands to open Lotus Notes databases, forms, views and so on -- even if these URLs are not used in your Web site. So make sure you secure all your design elements.
Also be aware that certain security measures are not foolproof -- they can, in fact, be thwarted. A common practice is to include a $$ViewTemplateDefault that is either blank or displays a message like: "Oops, there was an error loading this page." That way, if any hacker tried to open a view directly, they would get the error page.
Of course, you can still create $$ViewTemplates individually for any views that need them. But this does not necessarily protect the data, because the hacker could always use the ?ReadViewEntries command to get an XML representation of the data in the view.
Note: For a refresher on Domino URL commands, refer to the Domino URL cheat sheet. This is a good starting point to identify security holes that may need plugging.
[TABLE]
Most Internet sites want to be included in search engines queries and rank as high as possible. Therefore, Lotus Notes Domino Internet sites needs to be designed to be as search engine friendly as possible. Obviously, this is not a consideration for internal Lotus Domino intranet sites. Search engine optimization (SEO) is a complex topic in its own right. In order to make your Domino site SEO-friendly you may have to do some or all of the following:
Producing Domino Internet Web sites introduces a set of issues different than those encountered when producing a Domino intranet application. In this tutorial we've identified a number of areas that need to be addressed. None of these issues are insurmountable, but you should consider each one carefully and decide on how you will handle it. By doing this, you will avoid unpleasant development and deployment surprises and ensure a much more successful, safe and functional Lotus Notes Domino Web site.
[TABLE]