[Editor's note: Domino Import Service is no longer a supported product, so it is no longer available for download from the Lotus.com Web site or from any other IBM download site.]
Walk into any corporation and you are sure to find Web pages and entire Web sites created with visual HTML authoring tools such as Macromedia Dreamweaver or NetObjects Fusion. These tools are easy to use, require no programming experience, and allow you to create a nice looking Web site. However, in order to maximize the return on investment (ROI) for these sites, you need to integrate them with the applications that are key to running the business and with the information-flow processes in the organization. This requires transforming the sites from static to dynamic and data-driven. Being the smart IT professional that you are, your business applications and information-flow processes are probably Domino applications! Does that mean that in order to increase the ROI of your existing sites, you need to rebuild them in Domino Designer? Absolutely not!
This article starts by looking at a real-life scenario involving a Web site originally designed with an HTML authoring tool, but later needing the power that only integration with a Domino workflow application can bring. We then give you the specifics on how you can integrate a Macromedia Dreamweaver, Microsoft FrontPage, or NetObjects Fusion site with Domino using Domino Design Components and the Domino Import Service. Lastly, we show you when to use a third-party tool and when to just use Domino Designer to design a site, as well as some of the advantages of combining an HTML authoring tool with Domino.
Looking at a real-life scenario
A renegade, line-of-business department put up their own Web site. Somebody in the group knew Microsoft FrontPage, so they used it to create the site. This site vastly improved the distribution of current product specifications to the engineers in the department.
The site quickly grew to thousands of pages, and the poor guy who knew FrontPage couldn't keep up. As a result, the information wasn't updated fast enough, and the engineers had to swim through a maze of links to find what they needed. The productivity gains that the site provided early-on deteriorated and the engineers were once again faced with problems getting current product specification data. In desperation, the department asked the Information Technology (IT) department to take over maintenance of the site.
IT deploys a Domino application that allows the engineers to create and revise the product specifications themselves, thus relieving the worker who knows FrontPage from being a "Webmaster bottleneck." The Domino application incorporates a workflow process where revisions to the specifications documents are routed for approval, then automatically versioned, and later archived. IT took the existing FrontPage site, integrated the Domino workflow application into it, and published it to the Domino server. Thus, they were able to maintain the look and feel of the original site, which the department was already accustomed to and liked. The worker who knows FrontPage doesn't have to learn Domino Designer and continues to use FrontPage to maintain and update the site. Since the site runs on the Domino server, the site can replicate to the engineering teams all over the world.
Introducing the Domino Design Components
Lotus provides a set of components, called Domino Design Components for Microsoft FrontPage, that allows a FrontPage user to add Domino design elements such as views, forms, database links, and so on, to FrontPage sites. In addition to the FrontPage compatibility, Lotus, working with Macromedia and NetObjects, provides versions of the Domino Design Components for Dreamweaver and Fusion. Both of these are easy-to-use HTML authoring environments that provide a graphical user interface for page layout and site design.
About the components
The current set of Domino Design Components are:
- Domino Form: This component allows you to lay out a form in NetObjects Fusion, Macromedia Dreamweaver, or Microsoft FrontPage. When you publish the site, it creates a Domino form in the database. An advanced feature of the Domino Form component is the ability to automatically create a view based on your form. By selecting "Create Domino view to display Form data," the Domino Import Service creates the form and also creates a view with a view selection formula set to display Notes documents created with the form. For example, if you create a form in NetObjects Fusion, name your form "Registration," and add a Form component to the page, then when you publish, the component creates a Domino form and a view with the name "Registration." The view selection formula is SELECT FORM = "Registration". The new view has a column for each field on the form.
- Domino View: This component can either display an existing view on an HTML page, or it can create a new view in a Domino database. To display an existing view, you only need to provide the server, the database name, and the view name. To create a new view, you select a form name to use in the view selection formula and the field names that you want to have appear in the view columns.
- Domino Link: This is probably the most commonly used component because this is the component that integrates an existing Domino application into a site created with NetObjects Fusion, Macromedia Dreamweaver, or Microsoft FrontPage. This component can link to a Domino database or an element in a Domino database such as a specific page, form, view, or folder. The link could be to an external site, a Domino site running on another Domino server, or to another database on the same Domino server. If you link to an external site, you must provide the full URL to the site. If you link to a Domino server, you build up the URL by selecting the server, database, and optionally, the element in the database. Since you use a URL for the integration, you should place the Domino Link component within a frameset. That way, the Domino application appears within the context of your existing site design and navigational links.
- Domino ViewList: For those of you who are Domino developers, this is identical to creating an embedded folder pane on a form. It displays a list of all public views and folders in the database.
- Domino Search: This component provides a search bar that lets a user search a view in a Domino database on any server. Naturally, the database must be full-text indexed, which you or a Domino administrator can do.
Using the components
Once you download the components, an installation program installs them into your HTML authoring tool environment. In NetObjects Fusion 2.x or 3.x, you can access the components by clicking the Component icon on the Component Tools palette, as shown in the following screen:
Figure 1. NetObjects Fusion 2.x and 3.x component tools and icon
In NetObjects Fusion 4 and Macromedia Dreamweaver 3, Domino has its own toolbar with a separate icon showing for each component. The following screen shows the Domino components toolbar for NetObjects Fusion 4:
Figure 2. Domino components toolbar for NetObjects Fusion 4
With Macromedia Dreamweaver 3, the components are installed using their Extension Manager. You will have to download and install the Extension Manager from the Macromedia Exchange Web site prior to installing the components. Once installed, the components are made available from the Dreamweaver Object palette. Display the palette by selecting Window - Objects, and then select the Domino Panel from the provided drop-down list. The following screen shows the Domino components toolbar for Dreamweaver:
Figure 3. Domino components toolbar for Dreamweaver
To access the components in Microsoft FrontPage, in the FrontPage Editor, choose Insert - Advanced - Design-Time Control. The Domino components appear on a list, along with any other design-time controls that you installed. You can set the properties for the components in either tool after you place them on the page.
Let's say you used one of these Web authoring tools to create a site and you want to integrate it with an existing Domino application. As you build your site, you can add the appropriate Domino Design components to the page. For example, if your company uses a Domino application to store and manage press releases, you can display those press releases in your site by adding a Domino Link component to the page. Additionally, if you want visitors to the site to fill out a form to request additional information on a press release, you can create the form in NetObjects Fusion, Macromedia Dreamweaver, or FrontPage and use the Domino Form component. When you publish, the Domino Import Service creates a Domino form. You can then use Domino Designer to add the necessary workflow logic to the form so that it routes to the appropriate person for handling the request.
One difference between building a site in a third-party HTML tool and using Domino Designer is that with these tools, you cannot deploy your design changes as soon as you save your work. Third-party tools have an explicit publishing step that transfers the site from your computer to the Web server. Domino uses the Domino Import Service (DIS) to publish a site from your third-party Web authoring tool. Once your site has been built, you invoke DIS to actually import the HTML files, graphics files, Java applets, and so on, to new or existing Domino databases.
The process of publishing a site to Domino consists of two painless steps. First you create an XML request file with the specifics for the site to be published. Second, a command is issued to the DIS that prompts the import process. In FrontPage, Dreamweaver, and Fusion, a publishing interface is provided that automatically generates a request file and invokes the Domino Import Service; so when using these products, it is not necessary to create the XML request file.
[Editor's note: The following two paragraphs and code sample are referenced from the Domino Import Service 2.0 Reference Guide.]
The XML request file sends a request to the Domino Import Service through the REQUEST command line parameter. The request file specifies publishing information, including:
- Domino server name
- Domino database file path and file name
- Domino database title
- Web site assets
- Log file properties
Domino Import Service 2.0 includes a sample XML request file in the xml\lotus subdirectory where DIS is installed. Below is an example of a request file. Italicized text indicates generic values or multiple options from which you can choose. In your request file, be sure to include the document type declaration statement as it appears below.
<?xml version="1.0" standalone="no"?> <!DOCTYPE imxsrequest SYSTEM "imxsrequest.dtd"> <!-- If the request file and imxsrequest.dtd do not reside in the same directory, include the file path in the document type definition. --> <imxsrequest> <action specifier="publish or verify" direction="import" qualifier="full"/> <notesdb use-secure-connection="0 or 1"> <server>Domino server name</server> <path>directory\filename.nsf</path> <!-- In this example, the <path> value is relative to the Domino\Data directory. --> <title>Database title</title> </notesdb> <logfile level="minimum, normal, informational, or verbose"> <path>c:\temp\logfile.log</path> </logfile> <fsweb> <path>c:\Web site directory</path> <!-- If the Web site files do not reside in a directory relative to the current work directory, then specify the full file path. --> <toppage type="root or subweb">index.html</toppage> <filelist> <url>c:\Web site directory\index.html</url> <url>c:\Web site directory\images directory\image.gif</url> <url>c:\Web site directory\filename.css</url> </filelist> </fsweb> </imxsrequest>
Security measures in the Domino Import Service
The Domino Import Service requires an authenticated Notes user ID to invoke the import process. The install procedure for the Domino Import Service will request a valid Notes ID file or provide the option to create a new ID during the install. In order to run the import service to create a site on a Domino server, the ID used or created during install must be certified by an administrator of that Domino server.
When the Domino Import Service stores the site in a Domino database (.NSF), it first checks to see if the database was created using the DDC 2.0 template. If the DDC 2.0 template was not used, the Domino design notes used by DDC 2.0 and DIS are copied into the target database from the database template provided with the software. If a new database is created by the Domino Import Service, the default entry of the Access Control List (ACL) will be set to Editor. This allows Web site developers to easily post HTML content to the site. The database administrator will want to define the ACL for the security desired on the Web site. Additionally, different levels of access control can be set to restrict access at a more granular level such as restricting access to specific pages, forms, views, and so on.
On import, HTML pages created in the site that do not contain the Domino Form component will be created as Domino Pages in the Domino database. The HTML code on these pages will be stored as pass-thru HTML on the Domino Page. Pass-thru HTML is unaltered by the Domino HTTP server and passed directly to the browser. Domino Design Components on the page will be translated according to their type. If any Java applets are present on the page, they are imported into the Domino Page or Form as a Domino Java applet. Domino Import Service supports applets that take the form of .class, .java, .jar, .zip, and .cab files.
Any HTML page that contains an HTML form and Domino Form component will be imported into a Domino Form in the database. Domino constructs HTML <form> ... </form> tags at runtime to support creating a data document to store the data collected via the HTML form. Because of this, if more than one HTML <form> ... </form> tag is present on the imported page, all HTML forms will be combined into a single Domino form during import. You should avoid including multiple HTML forms on a single HTML page.
The Domino View component allows you to create a new database view and/or embed a view (new or existing) on a Page or Form. Embedded views are created with the following default characteristics; these can be changed by the developer in Domino Designer:
- The vertical scroll bar is enabled.
- The display width defaults to 4 inches if none is provided.
- The display height defaults to "fit to window" if none is provided.
- The applet property set for the Domino View being embedded will be used for the embedded view as well.
The Domino Search component will add an input field and search button to a page. These provide full-text searching over a view in a database. The Web page will be stored as a Domino Form. The search button is added as an <input...> tag with a type of "SUBMIT." You should avoid placing Domino Search components on Web pages that contain HTML forms.
The Domino Import Service performs simple tasks on import of the View List and Domino Link components. Domino controls the content and display of the View List component that is implemented as an Embedded Folder Pane on the Web page. Any page on which a Domino Link is contained will be imported as a Domino Page. Any links to the page will be translated to the URL provided by the Domino Link component during the import process.
If you want to make design changes to the site after it has been published, you should return to the HTML authoring tool to make your changes and republish. If you make changes to the HTML tags in Notes and then later republish from the HTML authoring tool, the Domino Import Service will preserve your earlier edits. Before assets are imported, DIS will perform a conflict resolution check. If a Domino Design document has been changed outside the scope of the DIS publish process, it will be renamed as name _copy. x. You can use the Domino Designer to quickly copy previous edits to the new version posted by DIS.
When you publish, any views or forms you created in the third-party tool are created as native Domino views and forms, as if you created them using Domino Designer. You can modify the views, adding security restrictions, agents, formulas, or script to the forms. Republishing from the HTML authoring tool will not overwrite these types of changes.
When to use a third-party tool vs. Domino Designer
There is clearly some overlap in the HTML features in Domino Designer and third-party authoring tools. You may wonder when you should use a third-party HTML tool to create a new site for Domino, versus when you should use Domino Designer.
One rule of thumb is the "beauty and brains" rule. Use the HTML authoring tool for the "beauty" of your site, referring to the parts of the site that visitors see. Use Domino Designer for the "brains," meaning the behind-the-scenes processing that makes the site a valuable business application. Here are some examples of when you might want to use a third-party HTML tool:
- Designing complex pages/forms. Third-party HTML tools allow you to easily drag-and-drop objects on the page.
- Revising your site structure. You can see a graphical view of the site structure and have your page links automatically update as you rearrange the pages or create new pages.
- Using styles. You can create sites that use DHTML, cascaded style sheets (CSS), or layered objects.
- Basic scripting. You can create HTML, and with a tool like NetObjects Fusion, you can script code optimized for the browser of your choice.
- Site prototyping. This is perhaps the most useful aspect of using a third-party HTML authoring tool. You can very quickly create a prototype of the page design and UI aspects of a site. Then, you can publish the work to Domino, and build upon the prototype in Domino Designer.
Here are examples of when you would use Domino Designer (again, remember the "beauty and brains" analogy):
- Designing for Notes. Content published from HTML authoring tools is stored as native HTML so it cannot be read by the Notes client.
- Writing agents. Agents perform automated tasks such as workflow routing, document archiving, and updating data. They are typically written in either LotusScript or Java, which is beyond the scope of an HTML authoring tool. You can write agents in Domino Designer or a third-party environment, such as NetObjects ScriptBuilder or IBM VisualAge for Java.
- Configuring replication settings. Replication is a feature that is unique to Domino; therefore, you must configure it in Domino Designer.
- Implementing security for your site. Since sites published from a third-party HTML tool are stored in an .NSF, they can take advantage of Domino's multi-layered security model. After publishing from a third-party HTML tool, you can use Domino Designer to apply security to the entire site via the Access Control List. Then, you can drill down to securing specific areas of the site by applying authorization levels to pages, forms, views, fields, and so on. Don't forget that you should use user roles to facilitate easy management when you have multiple security privileges for multiple users.
- Creating advanced forms processing. The forms created in Macromedia Dreamweaver, NetObjects Fusion, or Microsoft FrontPage are relatively simple because these tools are only aware of the field types supported by HTML. One of the added values of Domino is an extensive list of field data types allowing you to perform calculations, evaluate criteria, and change values on-the-fly. Using Domino Designer, you can also integrate forms with relational databases, transactional applications, and Enterprise Resource Planning (ERP) systems, such as SAP or PeopleSoft.
- Creating fields that are conditionally or permanently hidden from the user. These are commonly used for background forms processing or for information requiring a certain security clearance.
- Implementing advanced view features, such as categorization, sorting, view security, column formatting, and code for displaying computed view content. Any views you create in third-party HTML tools will have a simple design.
- Creating actions. Actions provide user interface controls, such as buttons that perform calculations or process data. The actions are specific to the Domino platform and are closely integrated with Domino features, so you must create them in Domino Designer.
Summary of advantages to using a third-party HTML tool with Domino
New Web technologies are introduced all the time, so now you can use the best tool for taking advantage of the latest technology, such as DHTML, CSS, layered objects, and so on. Opening the Domino development environment to third-party HTML tools gives you more flexibility and allows you to build cutting-edge sites for Domino.
In addition, you can leverage the existing Web authoring skill sets in your organization to lower your Domino development costs. Your developers can easily create basic applications for Domino without extensive training. You can also extend Domino Web application development to more users. FrontPage, Macromedia Dreamweaver, and NetObjects Fusion collectively capture almost all of the HTML authoring tools market, so a vast majority of the world's HTML authors can publish to Domino without obtaining specialized Domino skills.
Existing sites can become higher value e-business sites by integrating with Domino applications. The collaboration and workflow capabilities of Domino enable true business logic to be built into Web sites. Publishing existing or new sites to Domino allows them to use core Domino services, such as replication, roles-based security, workflow, agents, calendar and scheduling, full-text searching, forms processing, and directory services. Domino makes these sites more secure, more manageable, and more integrated with the business processes, and therefore, more valuable to the organization.
If you have existing sites that you would like to publish to Domino, or if you have users in your organization who have skills using HTML authoring tools and need to publish their work to Domino, then use the Domino Design Components and the Domino Import Service. It's that easy to get started!
Dig deeper into IBM collaboration and social software on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.