by Rob Wunderlich
Somewhere between the release of Notes R3 and Notes R4, the Internet became an overnight sensation. Despite the fact that the Internet has been around for 25 years, the sudden rush of software companies to embrace the Web became a literal stampede.
The Internet revolution at first seemed to challenge Notes. But Lotus moved quickly to integrate Notes and the Internet, to have them work together instead of competing with each other. That was when the InterNotes family of products came into being.
This chapter focuses on Notes and the Internetfrom publishing to browsing to mail. The text even spends a minute to talk about other opportunities, such as the global Notes connections offered by CompuServe, the Lotus Notes Network, and WorldCom.
The job for the Notes administrator has taken on a whole new dimension, as Notes servers are now talking to the world via the Internet.
A quick comment here about Internet connectivity issues. For the purpose of this chapter, the assumption is that your organization is already talking to the Internet in some fashion. Although fascinating topics, it's beyond the scope of this book to discuss the pros and cons of SLIP versus PPP, T1 versus ISDN hookups, and so on.
For the InterNotes products to operate, you need a live (not dial-up) Internet connection. This chapter assumes that your organization is hooked up and you've managed to deliver the Internet to the Notes 4 server. If you haven't done that already, this chapter will be interesting theory, but little else. InterNotes features don't work on a dial-up connection.
The Internet aspect of Notes is probably the area most likely to undergo changes over the life of Notes 4 and, as such, some of the details in this chapter are subject to change. Particularly from an administrator's viewpoint, a manual add-in today may
well become an "automatic feature" tomorrowso don't be surprised if some of the details that follow seem like the "good old days!"
Lotus is continually refining its Internet strategy; as more features are developed, they will be rolled into interim versions of Notes 4. Likewise, today's add-in products will likely be rolled into the main product.
A perfect example of this changing scene is the InterNotes Web Publisher. Originally a $7,500 separate product, it became a $3,500 separate product, then a "free" separate product (assuming the correct combination of support contract and/or
product version) and then a free product, included in the package.
One of the best ways to keep abreast of Lotus' evolving Internet strategy and product line is to check in frequently with Lotus' InterNotes home page (http://www.lotus.com/inotes/). This Internet site is a
great source of information about the Lotus Internet product line, features downloadable beta versions of products, and so on, as well as numerous links to Lotus business partners and others who've employed the InterNotes products and can offer assistance.
From an outsider's perspective, Lotus appears to be succeeding in the attempt to integrate Notes with the Internet. Its position is going to continue to grow and change (much as the products themselves), and as the Internet itself evolves, Lotus and the
InterNotes products will evolve right along.
There are four individual members of the InterNotes family:
Although each of these products has merit, the product garnering the most critical acclaim is the InterNotes Web Publisher. This chapter looks at each of the individual products, but the Web Publisher comes first and gets the most attention.
In addition to the InterNotes family of products, some of the following text takes a look at Internet gateways for mail and other public offerings.
Now that you have met the InterNotes family, spend some time with the main product, InterNotes Web Publisher, which the following text will call Web Publisher.
From an administrator's perspective, Web Publisher is wonderful, as it enables "normal people" to create content for a Web site. After the administrator has configured the InterNotes server correctly, everybody else does the work!
In the most simple explanation, Web Publisher publishes Notes databases as HTML-coded documents and makes them available to specialized servers on the World Wide Web (the Web). Web servers are a special subset of machines hooked to the Internet; they're
often called HTTP servers because they offer hypertext links between documents.
Web Publisher, by default, turns the database's About document into a home page, and the database's views become the way to navigate through the documents.
Web Publisher publishes new documents and modifications to existing ones, as well as removing individual documents or even entire databases from a Web site. Because it supports Notes doclinks, a Notes user can easily reference another Notes document
with a simple doclink. It also supports file attachments, Notes tables, and even full-text indexes (enabling Web visitors to search a database). Perhaps most remarkably, Web Publisher enables users to paste a bitmap on a Notes document, and it
automatically converts it, regardless of original format, into GIF format for publication on the Web.
The transformation of a document in Notes to a Web-published document is seamless, automatic, and painless. The document on the Web appears virtually identical to the original document in Notes (see Figures 20.1 and 20.2).
Figure 20.1.
A document in the Notes database.
Figure 20.2.
The same document published via InterNotes (shown through Netscape Navigator).
The two versions of the document are startlingly similar; both contain headings, graphics, text, and even the doclink is supported on the Web.
This document was published on the Web via InterNotes, yet other methods could have been employed. The biggest difference is that you can compose it, edit it, and even delete it in Notes. In essence, the content side of the database is easyif
you're familiar with Notes, you're a potential content provider. And the changes are doneautomaticallyin Notes.
If you've ever tried keeping a Web site current, you can appreciate the automatic feature. Even the slightest change requires major work. Fire up the HTML editor, load the document, make the change, save the document, FTP it to your Web site, and so on.
InterNotes Web Publisher handles all this work automatically.
There are two versions of InterNotes Web Publisher (Web Publisher): Web Publisher 2.1, a Notes 3.x version, and Web Publisher 4.0, a Notes 4.x version. Each runs as a server add-in task and obviously requires the appropriate version of Notes server to
be running. Although the functionality of the two is similar, Web Publisher 4.0 has some notable additional capabilities:
You're adding an additional server task, as well as most likely adding the Web site server itself. At the very least, the Web Publisher server should be a 486 or better machine, with an absolute minimum of 32 megabytes of memory (64M is better, and more
than that if you can afford itboth operating systems thrive on a lot of memory).
Depending on the eventual usage you envision for the server, the hard drive should probably start at 1 gigabyte and go up from there.
Both Web Publisher versions require an OS/2 or Windows NT Notes server. For InterNotes Web Publisher 2.x, the OS/2 version requires Notes Server for OS/2 3.31 or better; the NT version requires Notes Server for NT 3.2 or better. For InterNotes Web
Publisher 4.x, the requirement is Notes 4.x on either platform.
The operating system must be OS/2 Warp 3.0 or Windows NT Server 3.1 or 3.51. The Notes 4.x server is certified at those levels, along with its various add-in server tasks. Whatever the operating system, the necessary network and/or Internet connections
must be in place, along with whatever gateways, and so on may be needed. Just like a typical Notes server, the box itself needs to be configured for whatever protocol and network are in place. The assumption is that the box is up and running, communicating
with the network and the Internet.
In addition, the Notes 4 server must be installed and running. Typically, this Notes server is similar in setup to other Notes servers in your organization. See the discussion later about the "skeleton server."
WARNING: Keep in mind that, if you're placing this server on the Internet, it's in a position to be accessed by the outside world. Couple that with the fact that Notes 4 allows "anonymous access," and there's a huge potential security problem.
If you haven't thought through the security aspects, don't set up the server. Setting up a Notes server outside your firewall isn't to be taken lightly; serious security considerations exist. In addition, keep in mind those unsavory types in the world who would like nothing better than to use a Notes/Web server to shoehorn their way into your network.
See the later discussion about the skeleton server for thoughts about security.
Typically, the Web Publisher server is also the Web site server (that is, the box that serves the HTML documents to the Internet). Therefore, in addition to the operating system and the Notes server, a Web HTTP server also must be in place.
Several well known and easily configured Web servers exist; Netscape (http://www.netscape.com) offers a robust Web server for Windows NT and Unix, O'Reilly and Associates (http://www.ora.com) offers a product called Web Site for NT and Windows 95. The major PC magazines frequently run comparison articles; check recent issues.
A quick search at Yahoo (http://www.yahoo.com) or WebCrawler (http://www.webcrawler.com) for "Internet, servers" yields a lengthy list of products you can check out. There are sites for the major commercial publishers, as well as many shareware products. In most cases, you can download a demo version to try for 30 or 60 days.
The Web Publisher hardware and software requirements are met when
Web Publisher has two separate server components, as well as several "client" pieces. First, the server side.
Whether you obtained InterNotes Web Publisher on floppy disk or via download, it must be installed. (Because the downloadable version must be unpacked before it's installable, copy the downloaded executable into a temporary directory and unpack it
thereusually, by simply clicking on the file.)
Either way, you type INSTALL or click on the INSTALL.EXE executable and the install program takes over. It asks only the location of your Notes program directory, data directory, and your Web server's CGI directory. (In an install just before
this book went to press, a revised installation script didn't prompt for the CGI locationwe were back to manual copying.)
When you install Web Publisher, it copies several files into the server's executable directory (notably, the Web Publisher and INOTES server tasks) and into the server's data directory: the Web Config database, Web Guide (online documentation), and Web
Toolkita series of "how to" documents about HTML and the Web, not specifically about Web Publisher. In addition, the program installs sample databases, including the full-blown Mercury Sports Web demo (worth its weight in gold, to see what
the Lotus people who really know what they're doing have put together). There are templates specific to InterNotes as well.
Some manual tasks need to be done before you're up and running, as described in the following sections.
Double-check that the INOTES.EXE executable has been copied correctly into your server's CGI directory. During the install routine, you were asked in what directory to put CGI. The default is to put it in the CGI-BIN directory, but your server may or
may not have such a directory (Web Site, for example, has CGI-DOS, CGI-WIN and CGI-SHL directories, but no CGI-BIN). Consult the online documentation for a chart that shows the correct directory depending on what Web server you're using.
Because the INOTES program is a DOS-based executable, it must be dropped into the CGI directory on your machine that handles DOS programs (for example, not CGI-WIN). If you're not sure, copy it into more than one directory and experiment (it
doesn't cause any harm where it isn't needed).
INOTES, incidentally, is the server task that gives InterNotes its interactivity. That is, INOTES enables visitors to your Web site to fill out forms, and so on, which are deposited back in your Notes database. Without INOTES, Web Publisher would be strictly a one-way street, publishing Notes databases to the Web. With INOTES, it's a two-way street, publishing to the Web, but also capturing information from the Web. A Web discussion database wouldn't be possible without INOTES.
Check in frequently with Lotus's InterNotes Web site (http://www.lotus.com/inotes/) for the latest information about things such as CGI mappings. There's a lively discussion database and any problems you're having with such subjects has probably already been discussed at length.
In addition, the Lotus InterNotes Web site has a series of Tech Notes that give tips and tricks, as well as answers to common questions. This Web site, not surprisingly, is run totally by InterNotes, so you'll also have a chance to take a close look at a full-blown InterNotes site.
A second important task in installing Web Publisher is to edit the Web Publisher Configuration database. Two types of documents need your attention: The WebMaster Options Form and the database publishing records.
The WebMaster Options form, shown in Figure 20.3, is where the overall InterNotes configuration is set; the database publishing records, shown in Figure 20.4, tells InterNotes what to publish. Notice that the record in Figure 20.4 lists how often to
publish, which specific views to publish, heading font mappings, and so on.
Figure 20.3.
A WebMaster document in the configuration database.
Figure 20.4.
A database publishing record for the DANUG database.
The WebMaster Options form is relatively straightforward, although the fields for mappings can be a bit confusing. Simply give InterNotes (via the WebMaster Form) the following information:
Note that both the CGI and HTML listings require mappings relative to the Web server's document directory, rather than a system mapping. That is, if your directory structure had the Web server's executables in the directory C:\WEB and the CGI files in
C:\WEB\CGI-BIN, your CGI entry would be simply /CGI-BIN. In the preceding example, the actual CGI directory is C:\WEB\WEBSITE\CGI-SHL, but relative to the server's home directory, the path is .../CGI-SHL.
The other documents that need to be created are database publishing records, which tell InterNotes what to publish. You need at least one for every database you intend to publish.
Database publishing records give InterNotes information about the database(s) you want to publish. Specifically, you tell InterNotes information including the database to publish (the file name, complete with path, if necessary), how often to publish
it, which views to publish, and so on.
You could conceivably publish once every second, although that hardly makes sense. A lively Web discussion database might be appropriate to publish once every minute or two, but a product information database might make sense to publish once a day.
You can have multiple database publishing records for a particular database. As such, it might make sense to have one record for "updates only" that publishes every five minutes, but another that publishes "all documents" once a day. In this manner, new or modified documents would find their way to the Web quickly, but all documents would be refreshed on a daily basis, in case forms or formulas are time-sensitive (such as a document that says the time created was 10:05 AM Today).
The database publishing record is also where you specify to Web Publisher how to handle HTML headings. In the HTML world, font sizes aren't specified; information is sent that merely says, "This is Heading #1." The font mappings section of the
publishing record enables the Webmaster to specify which font sizes in Notes equate to which heading marks in the HTML document. The default setting is that anything with a 20-point font or better is mapped as an H1 heading (the largest), and so on. If
you've created styles in your Notes database, you can specify them in the publishing record as well.
You can specify which views you want to publish. A developer could create two similar views in a database, one for use in Notes, another for publishing to the Web. The second view could be hidden in Notes, yet specified in the Views to Publish field, so
that Web Publisher publishes the second view. This scheme is a great way to include formulas with icons (a formula that displays a "new" bitmap next to documents that are less than a week old, for example), or put other bits of HTML code into a
view that would make little sense if seen from Notes itself.
WARNING: Be careful about answering Yes to the "Is this the home database?" question. If you say Yes, InterNotes may wipe out your main home page. A good rule of thumb is to set up the Webmaster Options form with DEFAULT.HTM as your home page file name, and leave INDEX.HTML as the name of your actual main home page. This way, even if you answer this question incorrectly, you won't blow up your entire site.
The third manual task is to modify the server's NOTES.INI file to include WEB PUBLISHER and INOTES on the ServerTasks = line (see Figure 20.5). The server needs to be "bounced" at this point, or WEB PUBLISHER and
INOTES need to be loaded at the console (type LOAD WEB PUBLISHER and LOAD INOTES at the console).
After you've modified the NOTES.INI file, each time you restart your server both WEB PUBLISHER and INOTES will load automatically as a server task. Note that if you change the information on the Webmaster Options form, you need to shut down WEB
PUBLISHER and INOTES (type TELL WEB PUBLISHER QUIT and TELL INOTES QUIT) and then restart those two processes.
Figure 20.5.
Portion of server's NOTES.INI file showing server tasks entries.
At this point, everything should be up and running.
Typically, some troubleshooting is necessary the first time you attempt to publish something. The path is wrong, INOTES is in the wrong directory, you specified incorrect databases or views, and so on. A lengthy amount of troubleshooting may be
necessary to get it working correctly initially, but once your configuration is in place, everything should publish just fine.
If you have checked everything there is to check and everything seems perfect, but Web Publisher and InterNotes aren't doing what you think they're supposed to be doing, shut down the entire box (not just the Notes server, but turn off the entire machine). Both NT and OS/2 are notorious for hanging onto things in a memory cache long after they should have let them go.
There have been many times when, during a troubleshooting session, I had a problem mysteriously disappear after rebooting the machine, not just bouncing the server.
If something is seriously wrong, try retracing your steps, paying close attention to error messages you may be getting. Post questions on the Lotus InterNotes discussion database; they get answered quickly.
One additional consideration is that what looks great in Notes may not work on the Web. Typically, Notes databases have views laden with column headings, and so on, and on a Web site, those headings make things look cluttered. You may find that
everything works perfectly, but you're not happy with the result for aesthetic reasons.
You can control what is published by Web Publisher, assuming that you don't want every view and every document in your database to be exposed to the public.
For purposes of this discussion, assume that you're working in a product information database. Not all the product information you're currently storing in this database is for public consumption; some info is strictly for sales people, some strictly for
the production department. You have several ways to restrict what is published to just the product information that is for the public.
One way is to build a form with a field called Approved, and then build a view with a selection formula that only accepts documents marked Approved. You could then publish only that view. This way, you would have all the documents in a central database,
but only documents that showed up in certain views would be made public. One benefit of handling publication control with this method is that the documents become available quite quickly once they're marked approved (no need to wait for a replication to
take place in the middle of the night, and so on).
In addition, the particular view you've chosen to publish might be formatted specifically for Web publishing, and you might have gone so far as to hide it from the view of your Notes users. A column in a view might contain some code like this to display
an icon if the document is newer than 10 days:
REM "setting temporary variables to work with"; NewDate := @Adjust(@Today; 0; 0; -10; 0; 0; 0); UpdatedDate := @Adjust(@Modified; 0; 0; -10; 0; 0; 0); REM; REM "Here's the statement that does the work"; REM "It'll display a NEW bitmap if the document is newer than ten days old"; REM "or an UPDATED bitmap if modified in the past ten days"; REM; @If(@Created >= NewDate; "[<img src=../graphics/new.gif>]"; [IC:CCC] @If((@Modified >= NewDate) & (UpdatedDate > @Created); [IC:CCC] "[<img src=../graphics/updated.gif>]"; "")) REM;
If you publish the database with a formula like this in a hidden view, the Web version of the database correctly identifies which documents are new. If you left this formula in the column in a view visible to a Notes user, he would see the formula,
although the Notes version could substitute the word NEW for the IMG code (see Figure 20.6.) Note that for a formula like this to work effectively, you need a database publishing record set to publish "all documents" at least once a day.
Figure 20.6.
The view resulting from the formula.
Another way to achieve control is to have two copies of the database, one on an internal production Notes server, the other on your InterNotes server. Using a method similar to the preceding method, you can create a selective replication formula that
restricts any document not marked approved from appearing in the InterNotes database. The benefit of this strategy is the increased security of knowing that only the public documents are available to be published.
Yet another way is to eliminate the selective replication and substitute a mail macro that, for example, runs once a day and sends all approved documents to the second database. This scheme is more complicated, but virtually assures that only the
appropriate documents are transmitted and published.
WARNING: Before attempting any of these methods in a database containing sensitive information, do a dry run with some innocuous documents. Just as you would test agents (or macros), make sure that your formulas select the correct documents and replicate them (or display them, or whatever) properly. Nothing is worse than to see the opposite set of documents on a Web site!
Web Publisher 4.x also enables you to write formulas that can detect whether they're running in Notes, by using a new, Notes-4-specific @Function, @UserRoles. This function returns a list of all roles that the current user
has in a database. If Web Publisher evaluates this function, one of the values returned is $$Web. (The current revision of the product returns $$Web Publisherlisher, but Lotus suggests testing for a
string of just $$Web because future versions may change.)
Using @UserRoles, you can build a formula that displays a computed subform or various HideWhen options, based solely on whether this document was in Notes or on the Web.
Here's a sample chunk of code, borrowed directly from a Lotus technote, to illustrate:
REM "This formula evaluates to TRUE if the page is on the Web, FALSE if not"; REM; @Contains(@Implode("x":@UserRoles; "<>"); "<>$$Web" );
Such a formula could control the display of computed subforms, HTML code, HideWhen formulas, input translation and validation, default values (if you're in Notes, default to your UserName, else default to "Please Type
Your Name Here"), and even keyword formulas.
InterNotes also caters to the use of attachments, objects, document links and other Notes features. The most obvious of these is the ability to convert graphics (see the discussion later in this section about graphics), but there are many other examples
as well.
Notes has often been called the database where we put stuff for which we don't have databases. As such, Notes often becomes the depository for files, forms, and more. With an InterNotes database, those items can be put into normal, everyday Notes
documents and Web Publisher takes care of the dirty work. For example, if you have a .WAV file, you can embed the object in a Notes document, and Notes will interpret it correctly, leaving a file in the HTML output directory and a hotlink on the document
itself.
Likewise, InterNotes automatically takes care of file attachments, creating a link at the bottom of a Web document that can be clicked to download the file. From a user perspective, this method is considerably easier than hard coding an HTML document
and then transferring the file to whatever directory the Web visitors can access.
Servers on the World Wide Web are called HTTP servers (HTTP stands for Hypertext Transport Protocol). One of their main features is the capacity to offer links between documents. These links, called hypertext links, enable users to click on a
highlighted word to cause the server to send the new document, graphic, or whatever to the user's browser.
Typically, to facilitate that exchange within normal HTML coding, you'd have to put in a Uniform Resource Locator (URL), a direct reference to the other document (for example, http://web1.leadgroup.com/lnu/index.htm). With
an InterNotes database, you merely need to create a doclink within Notes from the document you want to link. Figures 20.1 and 20.2, shown previously, feature doclinks in action.
One key benefit of using doclinks is that the user doesn't need to know anything about the directory structure of the HTTP server. She simply needs to be able to create a doclink within Notes itself.
Popups provide another way to create links. To create a link to another Notes document, you can highlight some text and create a text popup (Create | Hotspot | Text Popup). The text of the popup is the URL of whatever you want to link, surrounded by
brackets. You could enter the preceding reference as the text of a popup like this: [http://web1.leadgroup.com/lnu/index.htm]. Note the brackets surrounding the URL of the document. This method is particularly useful if you
want something other than a strict document reference (for example, [mailto:webmaster@leadgroup.com] inserted as a popup to create an automatic mailto reference.
Yet another way to create links is to put the URL in brackets next to whatever you want to have create the highlighted link. For example, you can insert a graphic and next to the graphic put in a URL in brackets. Notes displays the graphic with a blue
box around it; clicking the graphic triggers the link to the new document.
With Web Publisher 4, you can use navigators as image maps. A navigator in Notes is the same thing as an image map on the Webthey're both graphic images with embedded hotspots that trigger links when certain regions are clicked.
Navigator support is a last-minute addition to Web Publisher 4; check the online documentation and the Lotus Web site for updated information.
One of the truly frustrating things about working on the Web is the limitations placed on graphics. They must be in one of two formats for Web browsers to access themGIF or JPG. Because neither format is supported by typical user graphics tools
(Windows Paintbrush, for example, supports neither format), rendering graphics in Web documents is a chore.
Web Publisher makes life much simpler by enabling users to simply paste a graphicWindows .BMP or .PCX file, scanned image, or whateverin a Notes document. Web Publisher takes care of the rest. As Web Publisher publishes the Notes document,
it automatically "tears off" the graphic, converts it to GIF format, places a copy of the .GIF file in the appropriate directory on the Web server, and creates a link in the document to display the graphic in the right spot. If you can import or
paste it into a Notes document, you can publish it to the Web. This is a tremendous benefit, as users have no need for graphics packages other than Paintbrush or Paint.
You can create forms with company logos, bars, and other graphic elements, and Web Publisher translates all those items into nice-looking Web documents. Again, the samples in Figures 20.1 and 20.2 show some of the graphic elements transferring nicely
between Notes and the Web.
If you have a graphic element that you'll use repeatedly within a database (such as a corporate logo), use an HTML code in your Notes form, rather than pasting the graphic directly into your Notes document.
The rationale behind this plan is that Web Publisher sees the graphic on each document in your database as a different graphic, and republishes it for each document. If you have a 50-document database, you'll have 50 identical GIF files. As users move between your documents, their browsers must reload that graphic each time, slowing the access. If you merely reference the graphic, the browser will have cached the graphic image, and the document comes up much more quickly.
The downside to this method is that some HTML coding is necessary in your Notes form, although minimal, and on the Notes side it looks clumsy unless you are extremely good with formulas and extremely careful with HideWhen statements.
Even though one of the key benefits of employing InterNotes is the ability to avoid HTML coding, in many places a little HTML code is worth the effort. In the graphics arena, just discussed, referencing a graphic with an HTML tag makes sense, rather
than forcing the user to reload the same image.
Likewise, you can do subtle things with HTML code placed on Notes forms to make the form nicer visually once published to the Web. A perfect example is document backgrounds. Although this seems to have shifted dramatically over the past year or two,
many Web sites have adopted a style of "embossed" logos for backgrounds on their documents, or of various graphic textures, or plain colors.
Although Web Publisher doesn't support backgrounds directly, there's no reason not to put the appropriate HTML codes in your Notes form to facilitate a background when viewed on the Web.
Any HTML code you want to put in a Notes form or document needs to be surrounded by brackets, so the HTML code for centered text, <CENTER>, would appear in a Notes form as [<CENTER>].
Web Publisher understands that anything within brackets is HTML code and translates it appropriately, making it invisible when published.
To drop in a logo for a background, you use a line such as this:
[<BODY BACKGROUND= "graphics/logo.gif">]
To use a color for a background, you use a line like this:
[<BODY BGCOLOR="#ffffff">]
One of the HTML codes you may want to use that Web Publisher doesn't currently support by itself is centered text, so you can add the [<CENTER>] tag before a heading to turn on centering and the [</CENTER>] tag after the heading to turn it off again.
Many books have been published on HTML coding, but online references are also available. Quite a few seasoned HTML coders have put together "how to" type sites on the Web. Try a Yahoo or WebCrawler search on "HTML" to see what you can find.
As has become apparent, you've suddenly gone from simply publishing a Notes database "as is" to making major alterations for the Web. You can do to simplify the situation in several ways:
Many sites on the Internet are interactive in one form or another. You can order products, ask questions, request more information, and so on. The trouble in many of the existing systems is that the information gathered is dropped into a big DAT file on
a UNIX server and you practically needed a masters degree in computer science to decipher and use the information. Wouldn't it be nice to be able to capture information from a Web site and drop it directly into your "prospects" database in Notes?
With the advent of version 2, Web Publisher became interactive. That is, not only can InterNotes publish to the Web, but it also can capture information from the Web. Better yet, the captured data is dropped directly back into a Notes
database.
The simplest example of this feature is an information request such as the Mercury Sports sample database that ships with InterNotes. In the Mercury Sports example, an interactive form is published to the Web, enabling visitors to the Web site to
request information, order products, ask for a salesperson to call, and so on. If taken to the next level, a workflow application could be built in Notes, automatically routing that new document to the appropriate person. If the Web visitor checked
"request information," the document gets routed to the mail room for fulfillment. But if "have salesperson call" was checked, it goes directly to the sales coordinator. The Mercury Sports sample database is a combination
lead-generation, product information, and product ordering database.
In addition to that type of database, interactivity has a myriad of other uses. You can set up a discussion database, enabling Web visitors to participate in a discussion, or have a class registration database or automatic fax-back system. You can
create an online help system with Knowledge Base documents already in place, yet enabling users to ask questions or request further information.
Full-text search falls under the heading of interactivity, too. You can index your Notes database and enable Web visitors to type search criteria, just as users can within Notes, and they'll receive a list of documents in the database that meet their
criteria.
WARNING: Searches work only if all the various components are on the same machine. That is, the Notes server, InterNotes Web Publisher, the Web server, and the database must all reside on the same physical computer.
Users have the same search options during Web searches that they have during a normal Web search (complex query statements, limiting the number of responses, and so on).
Unfortunately, while you can publish to the Web simply by filling out a database publishing record and telling Notes to do it, making things interactive takes a bit more intervention on the part of the developer.
Suppose that you are putting together the simple product information request form from the Mercury Sports sample database. Several steps are involved in making that form interactive:
Figure 20.7.
The Help Description field is set to control the size of the field in the published Notes document.
Figure 20.8.
The interactive form in Notes.
Figure 20.9.
The interactive form shown on the Web.
Many subtleties are involved in making a Notes database truly interactive:
Lotus has done an admirable job of documenting the nuances of creating a truly interactive Web site in both the documentation and the information available at the Lotus Web site. Read the documentation and give it a try; check the Web site for
troubleshooting information.
The interactive forms portion of InterNotes Web Publisher is the most likely area for problems. Sometimes, although everything seems like it should work, it doesn't. Be ready for some long hours on simple forms, and try these suggestions:
- Take the entire machine down and bring it back up againthe box, not just Notes. Sometimes you may have fixed the problem, but Notes or the operating system has cached the wrong information and isn't reading the corrected form.
- Remember to constantly reload the document in your browser when testing. Your browser is also likely to keep documents cached.
- Triple-check the Lotus InterNotes Web site to see whether it lists any problems with the particular setup you're using. I was having a problem and found that O'Reilly's Web Site product handled environment variables differently than InterNotes was expecting, and interactive forms weren't working until a later InterNotes version.
- Feel free to post an "I need help" message on the LNOTESL newsgroup, the Lotus Web site or CompuServe. I guarantee that whatever problem you're having, you're not first!
Although the intention of neither this book nor this chapter is to delve heavily into Web security, ignoring the subject altogether would be a serious oversight. You must be aware of several things when you place any machine outside your organization's
firewall. First, any actual connection between that machine on the outside and your network on the inside needs to be secured. Second, the machine itself needs to be secured. Third, the software, databases, and so on, on that machine need their own
security.
The first issue becomes a matter for the firewall experts. One of the easiest ways to virtually guarantee a secure connection from your outside server is to set up a "poor man's firewall," a modem setup. Hook up your outside machine to the
Internet via a network card, but hook it up to another internal Notes server via a modem. Notes can communicate via LAN ports or COM ports; someone reaching your InterNotes server is coming in over the Internet on the LAN port. They may conceivably be able
to do some damage on that machine, but they can't configure the box to do damage to your network over a modem that's attached only to the COM port of an internal Notes server. There's no shared protocol. It's about as safe as you can get.
In our office, we took this method a step further. We literally hooked up the "outside" machine to an "inside" machine via a LapLink cable. There wasn't even a real modem; the LapLink cable serves as a null modem (the transmit and
receive pairs are reversed). The phone number you put in the connection document: "Ring."
The second issue is equally complicated. How do you secure the box itself? There are a couple of obvious things to do. Run Notes, the Web server software, and any other applications as NT services rather than as desktop applications. This strategy
protects them further. Set up an extremely limited user population on that machine, and be sure the password is something other than "password." Use user limitations to make sure that unauthorized people won't be wandering around the machine if
they should happen to stumble in.
The third issue is largely a matter of common sense, but needs to be mentioned in this context. Because there is a Notes server on this "outside" machine, it should be a "skeleton server." That is, the public Name and Address Book
should be stripped of all documents other than those critical to making that machine run. Specifically, eliminate all connection documents other than the one the machine needs to communicate with the inside world. Eliminate all person documents other than
the administrator. Eliminate unnecessary groups, servers, and certificates (and be sure to change your replication settings appropriately, so that you neither replicate out your deletions nor accept those type of documents).
Keep the mission-critical, company secret databases off this server. Use selective replication formulas to replicate only subsets of databases; keep the internal stuff off this machine.
Check your ACLs carefully. Eliminate individual names, and triple-check the default access on every database and database template. Be sure to break the replica IDs of anything out there, even if it's Help itself.
By doing this, if someone should figure out a way to break into Notes itself, they would not find much.
Creating a home page database, in its fullest implementation, would be two-fold.
First, create a database as your site's main home page. Use this database strictly as a jumping-off point for the other databases you want to publish. This part is relatively easily done. Create an About document with a two-column table: a skinny left
column to hold a series of icons, and the right column a series of database names. Highlight both the icons and the database names with text popups containing the URLs of the individual databases.
The example in Figure 20.10 was insanely easy to create, maintain, and update. When the user reaches the Web site, a Notes About document answers. It's a spiffy document, complete with backgrounds and other graphics, but was created completely within
Notes itself.
Figure 20.10.
The homepage document created from a Notes about document.
The second part of the home page database idea is a perfect opportunity for enabling users to create personal home pages in this database. The database obviously won't be used for anything other than InterNotes publishing. Why not enable users to create
personal home pages there, using Notes? Offer them a Create menu option with a single option: Home Page. The Home Page form consists of three fields: an Author Name field, a Date field, and a Rich Text field into which they can put anything they want.
Users can insert pictures, stories, files, jump linksanything.
With a little planning and some end-user education, you can give every person in your organization the ability to post information to the Internet.
When writing about a product that does so much, you risk the reader thinking it does everything. It doesn't; there are some limitations as to what it can do. As the entire InterNotes family matures, some of these restrictions may go away, but here's a
quick sampling of Web Publisher limitations:
Despite the amount of excitement generated by the InterNotes Web Publisher product, it's only one member of the family. Two other client-oriented products deserve mention: InterNotes News and InterNotes Web Navigator.
One of the most talked-about aspects of the Internet is the newsgroups. You can subscribe to a Newsgroup on literally every imaginable subject. One problem with newsgroupsor Usenets, as they're also calledis managing the flood of material
that comes through. Users typically lose the "threads" because things don't arrive sequentially, and often separating the worthwhile information from the worthless is difficult.
Lotus took aim at the newsgroup problem with InterNotes News, a product that grabs newsgroups and dumps the content into Notes database. Users can read and respond to articles from within the familiar confines of Notes.
One main selling point of both InterNotes News and the Web Navigator is that they allow Internet connectivity through the Notes server. Individual users no longer have to be connected directly to the Internet to access the services; the server has the
TCP/IP connection, not the user.
Another key benefit is that administrators can control the newsgroups to which users have access, by filling in a configuration database similar to that of Web Publisher. It enables administrators to subscribe to individual newsgroups, create custom
Notes databases, and control their replication. ACL settings further the administrative options by restricting which users have access to the Newsgroup database.
Additionally, you can create full-text indexes for InterNotes News databases, meaning that users can search for material of interest, rather than having to dig through all the text. They can create macros and mail-forward scenarios to assist in
disseminating the news through the organization.
InterNotes News is a server process combined with new database templates. If your server has Internet access, you can set up InterNotes news in a half hour. Just as with Web Publisher, InterNotes News is a server add-in task. You can load it manually at
the server console (by typing LOAD INNEWS) or you can add INNEWS to the ServerTasks line in your server's NOTES.INI file.
After you have installed the software and have INEWS running, you need to set up a few configuration documents:
Each of these forms, in succession, creates a step of the setup needed to get Usenet news to your Notes server. The Gateway form determines which Notes server functions as the news gateway. The Server form tells the gateway machine which new server to
connect to, either within your own organization or at your Internet provider. The Connection form tells Notes how often to make a connection with the news server, and the Database form tells Notes in which database to store retrieved articles.
Once INEWS is running, new Usenet articles are added automatically to the various Notes databases you've specified. At that point, you can create a full-text index to facilitate searching the database, create signature files to facilitate postings on
the newsgroups, add macros to filter and/or block certain subjects, and even send mail back to the author of an article.
INEWS is merely an easy way to get Internet news into Notes, but, like the other InterNotes products, it eliminates much of the confusion of the Internet, substituting the familiar ground of Notes.
The final member of the InterNotes family has two parts: the Web Navigator (the client portion of the program), and "Web" or "Web Retriever" (the server add-in task). See Figure 20.11 for an example of the Web Navigator's main
screen.
Figure 20.11.
The InterNotes Web Navigator's main screen.
Just as InterNotes News dumps Internet newsgroup content into Notes databases, Web Navigator (WebNav) brings Web site content into Notes databases. When a user accesses an Internet site via Web Navigator, Notes retrieves and converts the content into
Notes documents in the Navigator database. Subsequent users can access the content from the Notes database, and users can create doclinks to Web pages, and so on. Users can even create "Web tours," where they can track a certain series of Web
pages as they're visited and "replay" the series.
In action, Web Navigator is similar to any other browser, enabling users to open URLs, back up through previously visited Web pages, and so on. As you can see in Figure 20.12, the Web page looks virtually identical viewed through Web Navigator as
through other browsers.
Figure 20.12.
Viewing a Web page through Web Navigator.
A key Web Navigator selling point is the capacity to access Internet Web sites without needing to bring TCP/IP to each client workstation. Administrators also can deny access to certain Web sites, thus limiting users' access to "questionable"
spots on the Web.
In addition, you can create agents or macros to regularly visit competitors' or suppliers' sites, sending colleagues a doclinked summary on a regular basis, showing changes. The full-text search feature of the Navigator database allows searching of Web
sites for content.
A side benefit of having Web Navigator running is that URLs included in any Notes document (mail, discussions, news articles) are highlighted and can be accessed with a click of the mouse.
Installing Web Navigator is a simple task. Web Retriever needs to be installed on the Notes server as a server add-in task (modify NOTES.INI to add WEB on the ServerTasks = line). Web Retriever automatically ships with Notes
4, as does the Web Navigator database template, but they must be added manually.
Lotus maintains a special section of its Web site strictly for information about the InterNotes Web Navigator. You can open the URL of this site directly (http://www.lotus.com/webnav.htm), or click on the Go to template resource site reference in the Administration document.
This site offers new Navigator templates, tech tips, and other information that you'll find useful. Recommended reading.
The InterNotes Web Navigator client is actually a central, shared database. This database resides on a Notes server connected to the Internet and running the WEB server task. The client doesn't need TCP/IP; users can connect to the InterNotes server via
whatever network protocol they normally use. (Also, a user can access the Internet via modem when dialing in to an InterNotes server.)
Each time a user accesses a Web page, WebNav translates it into a Notes document and dumps it into a Notes database. If several users access the same site, their access to the page is increased because they access a local Notes database instead of
transferring all the data over the Internet.
The steps to configure WebNav on a client are simple. First, in your Personal Name and Address Book, edit the current location document to include the name of the InterNotes server (use the hierarchical name). Next, choose File | Tools | User
Preferences, and select the Basics option Make Internet URLs into Hotspots. This setting enables you to simply click and open a Web page if someone sends you a URL reference in a document or mail.
When you first open WebNav, you'll see a Notes Navigator that assists you in your travels on the Internet. Administrators can modify this document easily, to give one-click access to the organization's home page, certain vendor or customer sites, and so
on.
In addition, clicking the Database Views entry on the Home navigator causes Notes to open another navigator that enables users to create their own bookmarks, and so forth.
Users can mark a site as "recommended" by clicking a button on the action bar as they browse Web sites, and even give the page a rating. The page can be "live" (accessed just then), or they could be looking through the database to
see what other people had visited. To see the pages others have marked as recommended, click the Recommended Views icon from the Home navigator.
Users also can create a "Web Tour," a collection of Web pages. Essentially, it's a history of Web pages you've visited that you can share with others. You save the history of the sites you've been visiting, and enter the title of your
"tour." You can modify the tour, changing the order of the URLs, adding or deleting sites, and so on.
Currently, the feature set of the Web Navigator browser is similar to other browsers, but it adheres fairly closely to the vanilla HTML coding standards. It doesn't support some of the new extensions such as background graphics, but it does a passable
job. By default, WebNav looks in its own database before accessing the Web, but administrators can set the configuration to automatically refresh pages stored in the database.
There are several important requirements for the WebNav server:
Because WebNav ships with Notes 4, it's available for use out of the box. Simply typing LOAD WEB at the server console starts it. (To automate this process each time the server restarts, enter WEB on the ServerTasks
= line in NOTES.INI. Once WEB is running, a SHOW TASKS command at the console reports that Web Retriever is loaded.)
You need to take care of some configuration items:
When WebNav is installed, a configuration document is created in the WebNav database, with defaults for the maximum size of the database, and so forth.
Administrators can grant or limit access to certain Web sites easily, using the WebNav administration document.
There are two fields on the administration document, Allow Access and Deny Access, that enable the administrator to control users' ability to navigate in WebNav. An implied "all" in the blank Allow Access field enables users to access all
sites, unless restricted by entries in the Deny Access field.
You can use wild cards, specific IP addresses, or site names. For example, to use wild cards to allow access to FTP or WWW servers at a site, use the setting *.site.com. Organizations can screen out specific Web sites with a
listing like www.playboy.com in the Deny Access field.
The combined client and server portions of Web Navigator bring various Web services such as FTP, Gopher, and HTML to the Notes clientdirectly into Notes databases.
The combination of InterNotes News with Web Navigator rounds out the InterNotes family, allowing access to both Web sites and newsgroups from within the Notes 4 client. Users can have full Internet functionality without needing the additional protocol
on each desktop, and can access Internet resources from the familiar confines of Notes.
This chapter has dealt almost exclusively with the InterNotes family of products thus far, but there are several other aspects of combining Notes and the Internet bear discussion: specifically, using the Internet to connect Notes servers, connecting to
Internet for mail, and using other global services such as CompuServe or WorldCom.
Connecting two Notes servers via an Internet connection is no more difficult than connecting them via any other LAN port. The difference is that you'd use port TCPIP, and that port is connected to the Internet.
If you wanted your server NOTES1/ACME to connect with SILVER/LOTUS, you'd need a standard connection document. But, instead of the usual naming conventions, the new server document would spell out the IP address of the server. That is, in the
Destination Server Address field, you'd type the IP decimal address of the server (199.98.194.45), or a specific DNS server name (web1.leadgroup.com).
A key benefit of using the Internet for server communication is that replication and mail routing can use the relatively high speeds and low cost of an Internet connection, rather than relying on modem connections.
Additionally, a new feature with Notes 4 is the capacity to specify who can use what connection. With this feature, a Notes administrator can set up Internet replication between corporate servers, yet the servers wouldn't communicate with the outside
world using the Internet. The group LocalDomainServers could be inserted into the Only For field, and the Internet would be available only for the servers to talk to each other. This is also an appropriate use for a passthru server. The passthru server
could be used as a communication hub for remote users, allowing passthru to other company servers using the local network protocols.
WARNING: Be very careful with any box that can be accessed from the outside world. See the earlier discussion about the "skeleton server." If a passthru server can be accessed from the Internet via TCP/IP on a LAN port, your entire network could be compromised.
Be sure that the machine itself is secure, and that you've bulletproofed the setup. The Notes installation also should be a stripped-down version of your normal Notes setup.
Setting up remote users via Internet shouldn't compromise your entire network!
Some firms set up one complete InterNotes machinea Notes server with Internet connectivityto be used for Web publishing, navigating, Internet mail gateway, and remote access.
Users can access the outside world via the InterNotes server, but TCP/IP doesn't have to be delivered to every desktop.
Some areas of Notes Internet strategy are still in process, and the SMTP gatewayotherwise known as Internet mail gatewayis one of those areas.
As this book goes to press, Lotus has yet to release the SMTP gateway for R4. But here are the announced features:
In addition to directly hooking up your Notes servers to the Internet, you can take advantage of several companies offering global connectivity. Although AT&T decided to pull the plug on the ill-fated AT&T Network Notes initiative, both
CompuServe and WorldCom have global Notes connectivity options that are alive and well. IBM is set to release its own public Notes network in the near future. Couple those with Lotus' own Notes Net, and whatever ends up coming out of Iris' fledgling
Notes.Net startup, and the future seems open to options other than connecting via the Internet.
CompuServe and WorldCom have similar charters: hosting your firm's databases on their servers. Although at first glance this may seem unnecessary, the objective is to offer a one-stop administrative option. You simply give CompuServe or WorldCom your
database; they handle all the cross certifications, replications, and so on.
CompuServe and WorldCom offer both a private and a public service. They'll host your organization's database(s), but also other public databases such as Notes discussions, and so on. CompuServe is currently publishing its very popular forums to its
Notes network.
CompuServe is also an attractive option, due to the myriad local access numbers CompuServe already has in place around the globe. Users would be hard-pressed to be in a location without a local CompuServe phone number, and many of the databases
CompuServe has on its normal service are also available on the Notes service.
For companies with large constituencies, multiple databases, and limited administrative staff, these firms offer the answer. Additionally, firms that want to reach a lot of other firms find this a blessing: you place your database on one of the public
networks and tell people to find it there, rather than cross-certifying everyone with whom you do business. If you want to charge for access to your Notes database, you should definitely be using one of these services.
Lotus had been underwriting the Lotus Notes Net for the past couple of years, but a recent restructuring made it more of a pay-for-play situation like the other commercial Notes services. Notes Net was originally intended as a mail and replication
function for Lotus' many business partners, but soon spread to third-party vendors, customers, and the like.
Notes Net is in the process of evolving, and there's more of an emphasis on public databases than ever before.
All these public Notes offerings have the same intent: to offer a solution to the administrative chores that accompany working with the outside world. Additionally, depending on your setup, they can offer Internet connectivity.
Suddenly, Notes and the Internet seem to be joined at the hip. The InterNotes family of products, Web Publisher, InterNotes News, and Web Navigator, offer Notes users, developers, and administrators an impressive arsenal of tools to work with the
Internet.
Web Publisher allows Notes databases to be published to the Web, as well as capturing information from visitors to your Web site. Web Navigator gives Notes users a built-in browser, and InterNotes News brings newsgroup articles into Notes database.
The InterNotes family bring full Internet integration to Notes 4. The products will continue to mature and evolve, and as the market continues to evolve, additional capabilities will be added.
Couple the InterNotes products with the SMTP MTA, use of the Internet for replication, and the public services, and it becomes hard to see where Notes ends and the Internet begins. For administrators, it's yet another hurdle to jump. Keep checking with
the Lotus Web site; it's your best source for up-to-date information.