Using LotusScript in Domino 8.5 Web Applications
Course Title: Using LotusScript in Domino 8.5 Web Applications
Units: 6
Duration: 1.5 classroom equivalent days
Discussion Access: One Year

Summary Description
Successful Domino web applications require the use of agents to provide validation and back end processing for tasks like e-commerce and e-business. These agents perform similar functions to CGI scripts on other web server platforms. One way to create these agents in Domino is to use LotusScript. This hands-on distance learning course will show you how to create LotusScript agents that run when a user opens or saves a document and how to run agents from a web browser. Learn to create WebQueryOpen and WebQuerySave agents, run agents via a URL, pass data from one page to another using query strings, and to use the Print statement to send customized output to a web browser. Many live demonstrations and exercises are provided including examples of e-commerce applications. As with all TLCC courses, instructor help is only a click away!

Audience and Prerequisites
Experienced Domino application developers who know how to program in LotusScript and have a need to integrate complex LotusScript processing into the design of their Domino applications. Specifically, the following TLCC courses or their equivalent are required:
  • Beginner LotusScript for Notes Domino 8.5
  • Intermediate LotusScript for Notes Domino 8.5

System Requirements
A single Notes 8.5 and Domino Designer 8.5 client. Access to the Internet is required to get instructor support.

Course Modules

Module 1 - Introduction
In a Notes Client or Domino Server environment, LotusScript is supported and can execute on either client or server. This is not the case for Domino applications that are developed for web clients. Web clients (browsers) do not know what LotusScript is nor do they recognize Notes events, such as opening or saving a Notes document. To simulate event-driven LotusScript functionality for a web user, Lotus provides the ability for a web user to initiate a LotusScript agent that runs on the server.
  • Understand the requirements for viewing Notes databases in a web browser
  • Set up and troubleshoot the Web Preview feature
  • Understand why web agents are needed
  • List the types of LotusScript web agents that Domino supports
  • Review some basics about HTML
Module 2 - WebQuerySave Agent
This module looks at what a WebQuerySave agent does and demonstrates the benefits it provides to a Domino developer. This module describes how to create a WebQuerySave agent and how to program it to send information to a web browser.
  • Create a WebQuerySave agent
  • Use a WebQuerySave agent in a Domino form
  • Use HTML to generate a web page to display after the user submits the form
  • Program a WebQuerySave agent to set fields on a form presented to web users
  • Use LotusScript to validate the fields on a form that users create on the web
  • Conditionally control when Domino saves a new document created in a browser
  • Use URL re-direction to display another web site or page
  • Progressively display a form while the user is inputting information
Module 3 - WebQueryOpen Agent
The WebQueryOpen agent allows the Domino application developer to run a LotusScript agent when a browser user opens a form. Domino runs this type of agent on the server before sending the form or document to the browser. This feature is most useful when an application form requires complex processing prior to delivering it as a web page to the browser.
  • Program a WebQueryOpen agent
  • Call a WebQueryOpen agent from a Domino form
  • Understand the limitations of the WebQueryOpen agent
  • Program a WebQueryOpen agent to set editable field values in a document
  • Program a WebQueryOpen agent to set computed field values in a new or existing document
  • Build a web hit counter
  • Use a WebQueryOpen agent to access information about the browser session
  • Pass field data from one document to another in a URL
  • Use a CGI variable to access and use passed field data
Module 4 - Running Agents from the Web
This module describes the benefits of initiating an agent directly from a URL without using a form. The module covers how to generate a URL to call an agent, pass information to the agent, and open up existing documents for editing from the web. This module also covers the security implications of running agents from the web.
  • Call an agent from a URL
  • Use CGI variables in agents that are not associated with any form
  • Program an agent to locate and open an existing document
  • Program an agent to set values in documents
  • Understand the effect of the "Run agent as Web user" security setting
  • Understand the effect of the Agent Manager fields in the Domino Directory's server documents
  • Understand the difference between restricted and unrestricted agents
Module 5 - Debugging Web Agents
Web agents are initiated by a browser and they run on the Domino server. For this reason, you cannot use the Notes debugger to find problems in the agent. This module presents several alternative techniques for debugging your web agents.
  • Understand why you can't use the LotusScript debugger to directly debug web agents
  • Use Print statements for debugging
  • Use error-handling techniques to trap and handle LotusScript errors
  • Check the Notes Log database to discover what may have gone wrong
  • Record agent activity in the Notes Log database
  • Use the NotesLog class to set up your own log and record agent activities and errors in it
  • Use the LotusScript debugger with "simulated" web agents
  • Use the Remote Debugger to debug server agents