21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

Embed Size (px)

Citation preview

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    1/826

    Application Development with Lotus Domino Designer

     

    Lotus Domino Designer 6

    software

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    2/826

    Disclaimer

    THIS DOCUMENTATION IS PROVIDED FOR REFERENCE PURPOSES ONLY. WHILE EFFORTSWERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATIONCONTAINED IN THIS DOCUMENTATION, THIS DOCUMENTATION IS PROVIDED “AS IS”WITHOUT ANY WARRANTY WHATSOEVER AND TO THE MAXIMUM EXTENT PERMITTED,IBM DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION THE

    IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR APARTICULAR PURPOSE, WITH RESPECT TO THE SAME. IBM SHALL NOT BE RESPONSIBLE FORANY DAMAGES, INCLUDING WITHOUT LIMITATION, DIRECT, INDIRECT, CONSEQUENTIALOR INCIDENTAL DAMAGES, ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO,THIS DOCUMENTATION OR ANY OTHER DOCUMENTATION. NOTWITHSTANDINGANYTHING TO THE CONTRARY, NOTHING CONTAINED IN THIS DOCUMENTATION OR ANYOTHER DOCUMENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATINGANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), ORALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENTGOVERNING THE USE OF THIS SOFTWARE.

    Copyright

    Under the copyright laws, neither the documentation nor the software may be copied, photocopied,reproduced, translated, or reduced to any electronic medium or machine-readable form, in whole orin part, without the prior written consent of IBM, except in the manner described in the documenta-tion or the applicable licensing agreement governing the use of the software.

    © Copyright IBM Corporation 1985, 2002

    All rights reserved.

    Lotus SoftwareIBM Software GroupOne Rogers Street

    Cambridge, MA 02142

    US Government Users Restricted Rights — Use, duplication or disclosure restricted by GS ADP

    Schedule Contract with IBM Corp.

    List of Trademarks

    1-2-3, cc:Mail, Domino, Domino Designer, Freelance Graphics, iNotes, Lotus, Lotus Discovery Server,Lotus Enterprise Integrator, Lotus Mobile Notes, Lotus Notes, Lotus Organizer, LotusScript, Notes,QuickPlace, Sametime, SmartSuite, and Word Pro are trademarks or registered trademarks of LotusDevelopment Corporation and/or IBM Corporation in the United States, other countries, or both.AIX, AS/400, DB2, IBM, iSeries, MQSeries, Netfinity, OfficeVision, OS/2, OS/390, OS/400, S/390,Tivoli, and WebSphere are registered trademarks of International Business Machines Corporation in

    the United States, other countries, or both. Pentium is a trademark of Intel Corporation in the UnitedStates, other countries, or both. Microsoft, Windows, and Windows NT are registered trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademarkof The Open Group in the United States and other countries. Java and all Java-based trademarks andlogos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, othercountries, or both.

    All other trademarks are the property of their respective owners.

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    3/826

    2-11Creating formulas and buttons for the

    Web   . . . . . . . . . . . . . . . . . . . . . .

    2-10Domino applets   . . . . . . . . . . . . . . . .

    2-9HTML tag attributes for a Domino

    server   . . . . . . . . . . . . . . . . . . . . . .

    2-8Tips for designing Web applications  . . . .

    2-8Planning a Web application   . . . . . . . . . . .

    2-3Tips for designing Notes and Web

    applications   . . . . . . . . . . . . . . . . . .

    2-2Planning a Notes and Web application   . . . .

    2-2Planning a Notes application   . . . . . . . . . . .

    2-1Planning an application   . . . . . . . . . . . . . .

    2-12 Planning an Application   . . . . . . .

    1-18Communicating across platforms  . . . . . . .

    1-17Extending access to applications   . . . . . . .

    1-16Sharing, locking, and editing design

    elements   . . . . . . . . . . . . . . . . . . .

    1-15Adding automation   . . . . . . . . . . . . . . . .

    1-14Structuring your display   . . . . . . . . . . . .

    1-12Creating navigation   . . . . . . . . . . . . . . .

    1-11Organizing your data   . . . . . . . . . . . . . .

    1-8Displaying, collecting, and storing

    information   . . . . . . . . . . . . . . . . . .

    1-7Creating a database   . . . . . . . . . . . . . . . . .

    1-4Exploring Lotus Domino Designer   . . . . . . .

    1-2Starting Lotus Domino Designer   . . . . . . . .

    1-1Overview — applications and databases   . . .

    1-1

    1 Introduction to IBM LotusDomino Designer   . . . . . . . . . . . . . . .

    xiiiPreface   . . . . . . . . . . . . . . . . . . . . . . .

    3-10Creating folders for bookmarks or

    design elements   . . . . . . . . . . . . . .

    3-8Creating a bookmark on the Bookmark

     bar   . . . . . . . . . . . . . . . . . . . . . . .

    3-7Using toolbars  . . . . . . . . . . . . . . . . . . . .

    3-7Organizing your application   . . . . . . . . . . .

    3-6Starting a database from scratch   . . . . . . . . .

    3-6To protect individual design elements   . . .

    3-5To copy individual design elements   . . . .

    3-4To create a new database by copying an

    existing database   . . . . . . . . . . . . . .

    3-4Copying an existing Domino database   . . . . .

    3-2Creating a database from a template  . . . . . .

    3-2Creating databases   . . . . . . . . . . . . . . . . .

    3-1Domino databases   . . . . . . . . . . . . . . . . .

    3-13 Creating an Application   . . . . . . .

    2-23Table of Notes and Domino known limits   .

    2-21Adding translation components to a

    Designer application   . . . . . . . . . . .

    2-19Translating an application using IBM

    Domino Global Workbench   . . . . . . .

    2-17Creating multilingual applications  . . . . . .

    2-15Design considerations for accessible

    applications   . . . . . . . . . . . . . . . . .

    2-15Designing an application for maximum

    accessibility   . . . . . . . . . . . . . . . . .

    2-14Planning for integration with WebSphere

    and DB2   . . . . . . . . . . . . . . . . . . .

    2-13Hide-when options for all applications   .

    2-12Planning an application for mobile users   . .

    Contents ii

    Contents

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    4/826

    4-9Creating programmable tables   . . . . . . . .

    4-8Creating and formatting horizontal

    rules   . . . . . . . . . . . . . . . . . . . . . .

    4-8Changing all text styles   . . . . . . . . . . . .

    4-7Creating computed text  . . . . . . . . . . . .

    4-6Styling text for the Web   . . . . . . . . . . . .

    4-5Creating a home page for an

    application   . . . . . . . . . . . . . . . . . .

    4-5Displaying a page   . . . . . . . . . . . . . . . .

    4-3Creating pages   . . . . . . . . . . . . . . . . . .

    4-1Pages   . . . . . . . . . . . . . . . . . . . . . . . . . .

    4-14 Designing Pages   . . . . . . . . . . . . .

    3-28Preventing users from accessing forms and

    views in a Web application   . . . . . . .

    3-27Adding instant messaging to an

    application   . . . . . . . . . . . . . . . . .

    3-25Previewing your design work   . . . . . . . . .

    3-24Document locking   . . . . . . . . . . . . . . . .

    3-21Creating image resource sets   . . . . . . . . . .

    3-17Creating an image resource   . . . . . . . . . . .

    3-17To set up a file resource for use on the

    Web   . . . . . . . . . . . . . . . . . . . . . .

    3-16To delete a file resource   . . . . . . . . . . .

    3-16To copy a file resource to your

    computer   . . . . . . . . . . . . . . . . . .

    3-16To prevent a file resource from being

    refreshed   . . . . . . . . . . . . . . . . . .

    3-15To refresh a file resource   . . . . . . . . . .

    3-15To open a file resource   . . . . . . . . . . . .

    3-14To create a file resource   . . . . . . . . . . .

    3-14Sharing file resources  . . . . . . . . . . . . . .

    3-12Reducing database maintenance with

    shared code and shared resources   . .

    3-11Enabling subscriptions   . . . . . . . . . . . .

    3-11Copying a design element to a new

    location   . . . . . . . . . . . . . . . . . . .

    5-26Aligning and rearranging elements in a

    layout region   . . . . . . . . . . . . . . . .

    5-25Layout regions   . . . . . . . . . . . . . . . . . . .

    5-22Using subforms   . . . . . . . . . . . . . . . . . .

    5-20Customizing a form's window title  . . . . . .

    5-18Version tracking   . . . . . . . . . . . . . . . .

    5-17Creating a response hierarchy   . . . . . . .

    5-13Selected form properties   . . . . . . . . . . . . .

    5-12Making a form available to Web browsers   .

    5-9Naming forms   . . . . . . . . . . . . . . . . . .

    5-9Tips for designing forms   . . . . . . . . . . .

    5-7Creating and deleting forms   . . . . . . . . . . .

    5-5Forms and documents  . . . . . . . . . . . . . . .

    5-2Form elements   . . . . . . . . . . . . . . . . . . . .

    5-1Forms   . . . . . . . . . . . . . . . . . . . . . . . . .

    5-15 Designing Forms   . . . . . . . . . . . . .

    4-38Adding JavaScript header information   .

    4-37Adding HTML header information  . . . .

    4-37Programming a page or form   . . . . . . . . .

    4-34Creating style sheets as shared resources   . .

    4-32

    Setting launch properties for pages or

    forms  . . . . . . . . . . . . . . . . . . . . .

    4-26Layers   . . . . . . . . . . . . . . . . . . . . . .

    4-23Using HTML on a page, form, or

    subform   . . . . . . . . . . . . . . . . . . .

    4-23Inserting a JavaScript library   . . . . . . . .

    4-22Embedding a date picker   . . . . . . . . . .

    4-21Embedding elements   . . . . . . . . . . . . .

    4-21Creating an attachment   . . . . . . . . . . .

    4-20Adding an applet   . . . . . . . . . . . . . . .

    4-19Adding a background color or graphic   .

    4-15Using graphics   . . . . . . . . . . . . . . . . .

    4-13Creating links   . . . . . . . . . . . . . . . . .

    4-12Creating sections   . . . . . . . . . . . . . . .

    iv Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    5/826

    6-11Number fields   . . . . . . . . . . . . . . . . .

    6-9Rich text fields on the Web   . . . . . . . . . .

    6-7Text, rich text, and rich text lite fields   . . .

    6-7Field types  . . . . . . . . . . . . . . . . . . . . . .

    6-6Field names and labels   . . . . . . . . . . . . . . .

    6-3Creating a shared field   . . . . . . . . . . . . . . .

    6-1Creating a single-use field   . . . . . . . . . . . .

    6-1Fields   . . . . . . . . . . . . . . . . . . . . . . . . . .

    6-16 Designing Fields   . . . . . . . . . . . . .

    5-60Testing a form before deploying it   . . . . . .

    5-59Tips for improving document display time   .

    5-50Customizing search forms  . . . . . . . . . . .

    5-49Displaying a customized error message on

    the Web   . . . . . . . . . . . . . . . . . . .

    5-48Customizing the “Form processed”

    confirmation for Web users   . . . . . . .

    5-42Designing a form for contact printing . .

    5-41Designing a form for a Domino billing

    application   . . . . . . . . . . . . . . . . .

    5-41Designing a form that lets users make

    selections from a view   . . . . . . . . . .

    5-40Designing a form that prompts users

    for information   . . . . . . . . . . . . . . .

    5-38Designing a form that presents a dialog

     box   . . . . . . . . . . . . . . . . . . . . . .

    5-38Forms that prompt users for input   . . . . . .

    5-36Profile forms   . . . . . . . . . . . . . . . . . . . .

    5-33Creating an embedded editor   . . . . . . .

    5-29Creating an embedded scheduler   . . . . .

    5-29

    Creating an embedded file upload

    control  . . . . . . . . . . . . . . . . . . . .

    5-28Embedded controls   . . . . . . . . . . . . . . . .

    5-27Adding graphics to a layout region  . . . .

    5-27Changing the size and style of a layout

    region   . . . . . . . . . . . . . . . . . . . .

    6-57Designing fields that prompt users to

    select folders   . . . . . . . . . . . . . . . .

    6-56Fields for version tracking   . . . . . . . . . . .6-51

    Reserved fields that control mailing

    options  . . . . . . . . . . . . . . . . . . . .

    6-50Predefined fields with built-in

    functionality   . . . . . . . . . . . . . . . .

    6-49Standard fields used in templates   . . . . . . .

    6-49To inherit information in a response

    hierarchy   . . . . . . . . . . . . . . . . . .

    6-48To create a field that inherits an entire

    document   . . . . . . . . . . . . . . . . . .

    6-47Creating fields that inherit values  . . . . . . .

    6-46Storing HTML in a field   . . . . . . . . . . . . .

    6-46Adding HTML attributes to a field   . . . . . .

    6-44Creating a field in a layout region   . . . . . .

    6-42Hiding fields   . . . . . . . . . . . . . . . . . . . .

    6-39Selected field properties   . . . . . . . . . . . . .

    6-35Editable field formulas   . . . . . . . . . . . .

    6-35Time zone fields   . . . . . . . . . . . . . . . .

    6-35Color fields  . . . . . . . . . . . . . . . . . . .

    6-32Editable and computed fields   . . . . . . . . .

    6-30Formula fields   . . . . . . . . . . . . . . . . .

    6-28Password fields   . . . . . . . . . . . . . . . .

    6-27Creating aliases for choices in a list   . . . .

    6-25Generating choices for lists   . . . . . . . . .

    6-22Creating fields to display lists of 

    choices   . . . . . . . . . . . . . . . . . . . .

    6-22Readers and Authors fields  . . . . . . . . .

    6-21Names fields   . . . . . . . . . . . . . . . . . .

    6-18Creating a graphical display for

    Date/Time fields   . . . . . . . . . . . . .

    6-18Formulas for Date/Time fields   . . . . . .

    6-13Date/Time fields   . . . . . . . . . . . . . . .

    Contents v

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    6/826

    7-42Adding categories to views   . . . . . . . . .

    7-40Display options for views   . . . . . . . . . . . .

    7-38Setting styles for a standard view or folder   .

    7-38Generating column totals, averages, and

    percents   . . . . . . . . . . . . . . . . . . .

    7-37Using a column to switch to another view  .

    7-36Overriding alphabetical sorting with a

    hidden column   . . . . . . . . . . . . . . .

    7-33Sorting documents in views   . . . . . . . . . .

    7-31Displaying an icon in a column   . . . . . . . .

    7-29Table of simple functions for columns   . . . .

    7-24Adding programming to columns   . . . . . .

    7-22Advanced options for columns   . . . . . .7-21Displaying numbers in columns

      . . . . . . . .

    7-19Formatting date and time columns   . . . . . .

    7-18Setting styles for columns   . . . . . . . . . . . .

    7-17Adding titles to columns   . . . . . . . . . .

    7-17Creating columns in a view   . . . . . . . . . . .

    7-15Description of document selection

    conditions   . . . . . . . . . . . . . . . . . .

    7-14Table of document selection conditions   . . .

    7-13

    Examples: Programming documents to

    display in a view  . . . . . . . . . . . . .

    7-12Selecting which documents display in a

    view   . . . . . . . . . . . . . . . . . . . . .

    7-9Naming a view or folder   . . . . . . . . . . . . .

    7-9Designing folders   . . . . . . . . . . . . . . . . . .

    7-9Creating a default design for new views   . .

    7-8Copying and deleting views   . . . . . . . . .

    7-7Creating a standard outline view   . . . . . . . .7-5Shared and private views

      . . . . . . . . . . . . .

    7-4Calendar views   . . . . . . . . . . . . . . . . .

    7-2Standard outline views   . . . . . . . . . . . .

    7-1Views   . . . . . . . . . . . . . . . . . . . . . . . . .

    7-17 Designing Views   . . . . . . . . . . . . .

    7-73Adding a trash folder to an application   .

    7-71Refreshing view indexes   . . . . . . . . . . . .

    7-70Hiding a view   . . . . . . . . . . . . . . . . . . .

    7-69Allowing users to select view

    documents on the Web   . . . . . . . . . .

    7-67Displaying a view as an applet in Web

    applications   . . . . . . . . . . . . . . . . .

    7-66Using HTML formatting for views and

    columns   . . . . . . . . . . . . . . . . . . .

    7-66Opening a view with a particular

    frameset on the Web   . . . . . . . . . . .

    7-65Designing a form as a view or navigator

    template   . . . . . . . . . . . . . . . . . . .

    7-64To set line counts in embedded views   . .

    7-64To show a single category in embedded

    views   . . . . . . . . . . . . . . . . . . . . .

    7-63Setting display properties for an

    embedded view   . . . . . . . . . . . . . .

    7-61Creating an embedded view or embedded

    folder   . . . . . . . . . . . . . . . . . . . . .

    7-61Specifying how a view displays in a

    Web browser   . . . . . . . . . . . . . . . .

    7-60Displaying views in Web applications   . . . .7-59Setting styles for a calendar view

      . . . . . . .

    7-56Creating a calendar view   . . . . . . . . . . . .

    7-55Formulas that look for values in columns

    and views   . . . . . . . . . . . . . . . . . .

    7-52Allowing users to set colors in a view   . .

    7-50Allowing users to edit or create

    documents from a view   . . . . . . . . .

    7-50Default views   . . . . . . . . . . . . . . . . . . .

    7-49Identifying unread documents  . . . . . . . . .

    7-48Formulas for response columns   . . . . . . . .

    7-47Indenting response documents   . . . . . . . .

    7-46Categorizing in the All by Category

    view   . . . . . . . . . . . . . . . . . . . . .

    7-44Generating category names   . . . . . . . . .

    vi Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    7/826

    9-26Displaying a navigator when users open a

    database   . . . . . . . . . . . . . . . . . . .

    9-23Adding actions to navigators   . . . . . . . . . .

    9-22Adding hotspots   . . . . . . . . . . . . . . . .

    9-22Adding text to and highlighting

    navigator objects   . . . . . . . . . . . . .

    9-20Adding and enhancing graphics in a

    navigator   . . . . . . . . . . . . . . . . . .

    9-20Adding graphic objects to navigators   . . . .

    9-19Creating a navigator . . . . . . . . . . . . . . .

    9-17Navigators   . . . . . . . . . . . . . . . . . . . . .

    9-17Displaying the outline in a frameset   . . . . .

    9-16Using the outline applet in Web

    applications   . . . . . . . . . . . . . . . . .

    9-10Selected embedded outline properties   . .

    9-8Selected outline entry properties   . . . . . .

    9-7Selected outline properties   . . . . . . . . . .

    9-7Outline, outline entry, and embedded

    outline properties   . . . . . . . . . . . . . .

    9-5Embedding an outline   . . . . . . . . . . . . .

    9-3Creating an outline   . . . . . . . . . . . . . . .

    9-2Outlines   . . . . . . . . . . . . . . . . . . . . . . . .9-1Outlines, navigators, and imagemaps

      . . . . .

    9-1

    9 Designing Navigation for anApplication   . . . . . . . . . . . . . . . . . . . .

    8-11Launching a view or folder into a frameset   .

    8-10Launching a page or form into a frameset   .

    8-10Launching a database into a frameset   . . . .

    8-9Specifying a target frame   . . . . . . . . . . . . .

    8-6Setting the style for frames   . . . . . . . . . . . .8-4Providing content for a frame

    . . . . . . . . . .

    8-2Creating a frameset   . . . . . . . . . . . . . . . . .

    8-1Overview of framesets   . . . . . . . . . . . . . . .

    8-18 Designing Framesets   . . . . . . . . .

    7-74Adding a view for soft deletions   . . . . .

    10-47Testing agents   . . . . . . . . . . . . . . . . .

    10-46Troubleshooting agents   . . . . . . . . . . . . .

    10-41Security for agents on servers and the Web   .

    10-40Setting up agent security using the

    Security tab   . . . . . . . . . . . . . . . . .

    10-38Examples of agents to run before Web

    users open or save documents   . . . . .

    10-36Useful agent procedures   . . . . . . . . . . .

    10-34Triggering an agent on a schedule   . . . .

    10-32Triggering an agent on an event   . . . . . .

    10-30Creating an agent   . . . . . . . . . . . . . . . . .

    10-28Creating a program for an event   . . . . . . .

    10-27Creating an action hotspot   . . . . . . . . . . .

    10-26Creating a formula pop-up   . . . . . . . . . . .

    10-25Creating a text pop-up   . . . . . . . . . . . . . .

    10-22Creating a button   . . . . . . . . . . . . . . . . .

    10-17Creating and inserting shared actions   . . . .

    10-15Action bar   . . . . . . . . . . . . . . . . . . . . . .

    10-9Creating a form, subform, page, or view

    action   . . . . . . . . . . . . . . . . . . . . .

    10-6Events   . . . . . . . . . . . . . . . . . . . . . . . .10-5Agents

      . . . . . . . . . . . . . . . . . . . . . . . .

    10-4Hotspots   . . . . . . . . . . . . . . . . . . . . . . .

    10-2Actions   . . . . . . . . . . . . . . . . . . . . . . . .

    10-1Automation   . . . . . . . . . . . . . . . . . . . . .

    10-110 Automation in Applications   . .

    9-30Creating an imagemap   . . . . . . . . . . . . . .

    9-30Testing navigators   . . . . . . . . . . . . . . . .

    9-29Importing a navigator into a form,

    subform, page, or document   . . . . . .

    9-28Overriding an embedded navigator

    with a navigator template   . . . . . . . .

    9-27Embedding navigators in a form, subform,

    page, or document   . . . . . . . . . . . .

    9-27Hiding navigators   . . . . . . . . . . . . . . . . .

    Contents vi

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    8/826

    11-18Tips and troubleshooting for Java applets   .

    11-15Saving applet data   . . . . . . . . . . . . . .

    11-13Setting security for applets . . . . . . . . .

    11-12Refreshing and exporting applet files   . .

    11-11Copying and deleting applets  . . . . . . . . .

    11-11Stopping, selecting, and restarting applets   .

    11-10Setting up shared applet resources   . . . .

    11-8Setting properties   . . . . . . . . . . . . . . .

    11-7Setting Alternate HTML attributes   . . . .

    11-7Setting HTML attributes   . . . . . . . . . . .

    11-6Specifying applet parameters, attributes,

    and properties   . . . . . . . . . . . . . . .

    11-5Setting applet parameters   . . . . . . . . . . . .11-5Linking to an applet on the Web

      . . . . .

    11-2Enabling Java applets   . . . . . . . . . . . . . .

    11-2Overview of adding a Java applet to an

    application   . . . . . . . . . . . . . . . . .

    11-1 Java applets overview   . . . . . . . . . . . . . .

    11-1

    11 Including Java Applets inApplications   . . . . . . . . . . . . . . . . . .

    10-66Hiding automated components   . . . . . . . .

    10-65Actions and agents names  . . . . . . . . . . .

    10-63Table of supported JavaScript objects

    for automated components   . . . . . . .

    10-62 JavaScript for automation . . . . . . . . . . .

    10-61Formulas for automation   . . . . . . . . . . . .

    10-59Restricted LotusScript and Java agent

    operations   . . . . . . . . . . . . . . . . . .

    10-58Using LotusScript for automation . . . . . .

    10-54Simple actions for automation   . . . . . . . . .

    10-54AgentRunner   . . . . . . . . . . . . . . . . . .

    10-53NotesLog Class   . . . . . . . . . . . . . . . .

    10-51Agent Manager debugging information   .

    10-49Notes server console commands   . . . . .

    10-48Viewing the agent log   . . . . . . . . . . . .

    14-5Troubleshooting tips for OLE and

    ActiveX objects   . . . . . . . . . . . . . . .

    14-4Adding OLE custom controls to a form   .

    14-2Linking and embedding objects in forms   . .14-1Designing applications using OLE

      . . . . . .

    14-1

    14 Including OLE and ActiveXObjects in Applications   . . . . . . . .

    13-16Writing formulas and scripts to access

    relational databases   . . . . . . . . . . . .

    13-15Setting up a view for ODBC access   . . . . . .

    13-14Registering data sources for ODBC   . . . .

    13-13Using ODBC to access relational databases

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    13-11Importing data from an external

    database into an application   . . . . . .

    13-10Using a data connection resource on a

    form   . . . . . . . . . . . . . . . . . . . . .

    13-9Enabling connections to external

    databases   . . . . . . . . . . . . . . . . . .

    13-7Specifying options for the data

    connection resource   . . . . . . . . . . . .

    13-6Creating a database connection

    resource   . . . . . . . . . . . . . . . . . . .

    13-6Establishing a data source resource for

    use with a DCR   . . . . . . . . . . . . . .

    13-5Overview of Data Connection Resources   . .

    13-3Table of connectivity solutions   . . . . . . .

    13-1Accessing data in enterprise applications   . .

    13-1

    13 Connecting to EnterpriseData   . . . . . . . . . . . . . . . . . . . . . . . . .

    12-4Running servlets in Domino  . . . . . . . . . .

    12-2Comparing agents, servlets, and CGI

    programs   . . . . . . . . . . . . . . . . . .

    12-1Overview of Java servlets   . . . . . . . . . . . .

    12-1

    12 Including Java Servlets inWeb Applications   . . . . . . . . . . . . .

    viii Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    9/826

    15-17Viewing the XML in an application

    with DXL utilities   . . . . . . . . . . . . .

    15-15Using a Java servlet to generate XML   . . . .

    15-13Using an agent to generate XML   . . . . . . .15-11Using a view to generate XML

      . . . . . . . . .

    15-8Putting XML in a form or page   . . . . . . . .

    15-6XML terminology   . . . . . . . . . . . . . . . . .

    15-5Ways to include XML in a Designer

    application   . . . . . . . . . . . . . . . . .

    15-4Domino applications and XML   . . . . . . . .

    15-1What is XML?   . . . . . . . . . . . . . . . . . . .

    15-115 Including XML and ViewingDXL in Designer Applications   . . .

    14-20Preparing a form to exchange data . . . . . .

    14-19Exchanging data using Notes/FX   . . . . . . .

    14-17Publishing actions   . . . . . . . . . . . . . . . .

    14-16Hiding an embedded object in a

    document   . . . . . . . . . . . . . . . . . .

    14-14Designing a form to hide the Notes

    document   . . . . . . . . . . . . . . . . . .

    14-13Designing a form that launches an

    object from modal dialog boxes  . . . .

    14-12Specifying the event that causes an

    object to autolaunch . . . . . . . . . . .

    14-12Launching an object "in-place" or

    "out-of-place"   . . . . . . . . . . . . . . . .

    14-10Designing forms that launch objects

    automatically   . . . . . . . . . . . . . . . .

    14-9Launching objects automatically   . . . . . . .

    14-8Updating objects by document   . . . . . . .14-8

    Modifying a form to run a custom

    control in Read mode  . . . . . . . . . . .

    14-6Modifying a form so that it sizes an

    OLE custom control   . . . . . . . . . . . .

    14-6Modifying a form to size an embedded

    object   . . . . . . . . . . . . . . . . . . . . .

    18-12Default ACL entries . . . . . . . . . . . . . . .

    18-11Editing the database ACL   . . . . . . . . . . . .

    18-9Roles in the ACL   . . . . . . . . . . . . . . . . .

    18-6Access level privileges in the ACL   . . . . . .

    18-3Access levels in the ACL  . . . . . . . . . . . .

    18-2Setting up a database ACL   . . . . . . . . . . .

    18-2The database access control list   . . . . . . . .

    18-1Security in an application   . . . . . . . . . . . .

    18-118 Application Security   . . . . . . . .

    17-10Using WebDAV in a replicated

    environment   . . . . . . . . . . . . . . . .

    17-7Accessing database resources using a

    WebDAV client   . . . . . . . . . . . . . .

    17-4

    Editing and managing database resources

    using a WebDAV client  . . . . . . . . .

    17-3Organizing tools on the Tools menu   . . .

    17-2Customizing the Designer Tools menu   . . .

    17-1Developing applications using third-party

    tools and WebDAV   . . . . . . . . . . . .

    17-1

    17 Using Third-Party Tools andWebDAV to Extend anApplication   . . . . . . . . . . . . . . . . . . .

    16-8

    Example of using an agent that sends

    announcements  . . . . . . . . . . . . . .

    16-7Example of using an agent that mails

    action item notices   . . . . . . . . . . . .

    16-6Example of using an agent that sends

    automatic replies   . . . . . . . . . . . . .

    16-5Creating a database that receives mailings   .

    16-5Displaying the Mail Send dialog box   . . . . .

    16-5Mailing features and Web applications   . . .

    16-3Setting up automatic mailing   . . . . . . . . . .

    16-2Planning workflow   . . . . . . . . . . . . . . . .

    16-1Workflow overview   . . . . . . . . . . . . . . .

    16-1

    16 Creating a WorkflowApplication   . . . . . . . . . . . . . . . . . . .

    Contents ix

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    10/826

    18-41Creating write access lists to limit folder

    access   . . . . . . . . . . . . . . . . . . . . .

    18-40Creating read access lists to limit view and

    folder access   . . . . . . . . . . . . . . . .

    18-38Limiting Editor access to sections of forms   .

    18-36Creating controlled-access sections of forms  . . . . . . . . . . . . . . . . . . . . .

    18-36Setting up the Administration Process for

    databases   . . . . . . . . . . . . . . . . . .

    18-35Updating Readers and Authors fields   . . . .

    18-34Tracking who edits a document   . . . . . . . .

    18-33Examples of restricting who can read or

    edit specific documents   . . . . . . . . .

    18-32To create Readers and Authors fields   . .

    18-31Using an Authors field to restrict who

    can edit specific documents. . . . . .

    18-30Using a Readers field to restrict access

    to specific documents . . . . . . . . . .

    18-30Restricting who can read or edit

    documents   . . . . . . . . . . . . . . . . .

    18-30Controlling access to a database during

    design   . . . . . . . . . . . . . . . . . . . .

    18-29Application design element security   . . . . .

    18-28Examples of ACL settings for a Webdatabase  . . . . . . . . . . . . . . . . . . .

    18-26Maximum Internet name-and-password

    access   . . . . . . . . . . . . . . . . . . . . .

    18-26To require an SSL connection to a

    database   . . . . . . . . . . . . . . . . . . .

    18-25Enforcing encrypted Web transactions

    using SSL   . . . . . . . . . . . . . . . . . .

    18-24Application access for Web users   . . . . . . .

    18-24Security overview for Web applications   . . .

    18-23To display a name's effective access   . . . . .

    18-23Displaying the ACL history   . . . . . . . . . .

    18-21Enforcing a consistent access control list   . .

    18-20User types in the ACL   . . . . . . . . . . . . . .

    18-13Acceptable entries in the ACL   . . . . . . . . .

    19-6Writing Help for fields   . . . . . . . . . . . .

    19-5Creating context-sensitive Help for an

    application   . . . . . . . . . . . . . . . . .

    19-3Creating "Using Database" and "About

    Database" documents . . . . . . . . . .

    19-3Providing online Help for an application  . .

    19-2Creating a database icon for a Notes

    application   . . . . . . . . . . . . . . . . .

    19-1Completing an application   . . . . . . . . . . .

    19-1

    19 Completing an Applicationand Managing Design Changes   . .

    18-60Attaching signatures to documents   . . . . . .

    18-57Using electronic signatures in Notes

    applications   . . . . . . . . . . . . . . . . .

    18-57To encrypt all documents automatically  .

    18-56Managing encrypted information   . . . . . . .

    18-55Examples: Creating a field that

    maintains a list of encryption keys   . .

    18-54To create a field that maintains a list of 

    secret encryption keys   . . . . . . . . . .

    18-53Merging secret encryption keys   . . . . . . . .

    18-51Distributing secret encryption keys   . . . . . .

    18-50Creating secret encryption keys  . . . . . . . .

    18-49Allowing the author to choose the

    encryption key   . . . . . . . . . . . . . . .

    18-49Enabling encryption for a field   . . . . . . .

    18-49Procedural overview: encrypting

    documents   . . . . . . . . . . . . . . . . .

    18-47Encrypting documents and fields   . . . . . . .

    18-46To encrypt a database   . . . . . . . . . . . .

    18-46Encryption levels   . . . . . . . . . . . . . . .

    18-45Database encryption  . . . . . . . . . . . . . . .

    18-45Notes and Domino encryption   . . . . . . . . .

    18-43

    Creating public access pages, forms,subforms, outlines, views, agents,and style sheets   . . . . . . . . . . . . . .

    18-41Access-controlled forms and documents   .

    x Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    11/826

    19-40Design changes and replication   . . . . . . . .

    19-38Replacing a design   . . . . . . . . . . . . . . . .

    19-36Refreshing a design   . . . . . . . . . . . . . . . .

    19-35Making and distributing design changes   . .

    19-33Synchronizing databases with master

    templates  . . . . . . . . . . . . . . . . . .

    19-32Linking individual design elements to a

    template   . . . . . . . . . . . . . . . . . . .

    19-31Linking a database to a template   . . . . .

    19-30Creating a design library template   . . . .

    19-29Examples: Creating templates   . . . . . . .

    19-28Creating templates   . . . . . . . . . . . . . . . .

    19-27Templates . . . . . . . . . . . . . . . . . . . . .19-25Setting database launch properties

      . . . .

    19-24Changing database and design properties   .

    19-22Using agents to update documents

    affected by form changes   . . . . . . . .

    19-21Checking field values in a document   . . . . .

    19-20Updating documents after redesigning a

    form   . . . . . . . . . . . . . . . . . . . . .

    19-18Design synopsis   . . . . . . . . . . . . . . . . . .

    19-17Renaming design elements  . . . . . . . . .

    19-17Renaming a database   . . . . . . . . . . . . . . .

    19-16Pilot testing an application   . . . . . . . . . . .

    19-14Making a design copy of a completed

    application   . . . . . . . . . . . . . . . . .

    19-12Checking view design . . . . . . . . . . . . . .

    19-11Checking field design   . . . . . . . . . . . . . .

    19-10Checking form design . . . . . . . . . . . . . .

    19-9Checking the application design before

    release   . . . . . . . . . . . . . . . . . . . .

    19-9Restricting design changes   . . . . . . . . . . .

    19-8Specifying a home page in the Web site

    document   . . . . . . . . . . . . . . . . . .

    19-7Creating and displaying more detailed

    application Help   . . . . . . . . . . . . . .

    21-9Monitoring database size   . . . . . . . . . . . .

    21-8Controlling database size   . . . . . . . . . . . .

    21-7To set database properties that optimize

    database performance   . . . . . . . . . .

    21-1Properties that improve database

    performance  . . . . . . . . . . . . . . . .

    21-1Setting advanced database properties   . . . .

    21-1

    21 Optimizing andTroubleshooting Databases   . . . . .

    20-19Forcing a server database to replicate   . . . .

    20-18Disabling and enabling replication of a

    database   . . . . . . . . . . . . . . . . . . .

    20-16Examples of specifying replication

    settings for multiple replicas   . . . . . .

    20-15Specifying replication settings . . . . . . .

    20-14Limiting what a replica sends   . . . . . . .

    20-13Assigning miscellaneous replication

    settings   . . . . . . . . . . . . . . . . . . . .

    20-10Limiting the contents of a replica   . . . . .

    20-8Replication settings   . . . . . . . . . . . . . . . .

    20-6Creating one replica manually   . . . . . . .

    20-6Setting up replication for an application  . . .

    20-4To copy a new database to a server   . . . .

    20-4Copying a new database to a server   . . . . .

    20-3Optional tasks   . . . . . . . . . . . . . . . . .

    20-2Mandatory tasks   . . . . . . . . . . . . . . . .

    20-2Rolling out a database   . . . . . . . . . . . . . .

    20-1Database design, management, and

    administration   . . . . . . . . . . . . . . .

    20-120 Deploying an Application   . . . .

    19-46Locking a design element   . . . . . . . . . . . .

    19-44Hiding design elements   . . . . . . . . . . . . .

    19-43Hiding the design of a database   . . . . . . . .

    19-42Modifying multiple design elements   . . . . .

    19-41Preventing design changes   . . . . . . . . . . .

    Contents x

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    12/826

    21-31The database stops replicating . . . . . .

    21-30Database replicas are different sizes   . . .

    21-30Changes to the database title do not

    replicate   . . . . . . . . . . . . . . . . . . .

    21-30

    A database replica is not receiving

    design changes  . . . . . . . . . . . . . . .

    21-29A database replica does not contain all

    the documents it should   . . . . . . . . .

    21-28Troubleshooting replication problems   . . . .

    21-27Using Find Note to analyze a document

    reported in the log file   . . . . . . . . . .

    21-26Users experience a delay when

    accessing the database   . . . . . . . . . .

    21-25Users cannot access the database  . . . . .

    21-25Troubleshooting database performance   . . .

    21-24Notifying users of a moved database   . . .

    21-24Updating database indexes and views   . . . .

    21-23Managing database activity recording

    in databases   . . . . . . . . . . . . . . . . .

    21-22Viewing database activity statistics

    generated by the Statlog task   . . . . . .

    21-21Monitoring database activity  . . . . . . . . . .

    21-20Consolidating replication or save

    conflicts   . . . . . . . . . . . . . . . . . . .

    21-19Replication or save conflicts   . . . . . . . . . .

    21-18Viewing replication events in the log

    file   . . . . . . . . . . . . . . . . . . . . . . .

    21-16The database replication history   . . . . . .

    21-16Monitoring replication of a database   . . . . .

    21-15Examples of using an agent to delete

    and archive documents   . . . . . . . . .

    21-14Using an agent to delete and archive

    documents   . . . . . . . . . . . . . . . . .

    21-14Viewing a document Archiving Log   . . .

    21-12Document archiving tool   . . . . . . . . . . . .

    21-9Compacting databases   . . . . . . . . . . . . . .

    Index-1Index   . . . . . . . . . . . . . . . . . . . . . . .

    F-1

    Appendix F Accessibility andKeyboard Shortcuts   . . . . . . . . . . . .

    E-1

    Appendix E URL Commands forWeb Applications

    . . . . . . . . . . . . .

    D-1

    Appendix D Features to AvoidUsing in Web Applications   . . . . . . .

    C-1

    Appendix C DevelopingApplications Using MAPI   . . . . . . . .

    B-1

    Appendix B Importing to andExporting from Views   . . . . . . . . . . .

    A-1Appendix A Domino DesignerTemplates. . . . . . . . . . . . . . . . . . . .

    22-22Adding a directory catalog to a DOLS

    subscription   . . . . . . . . . . . . . . . . .

    22-15Optional tasks for DOLS developers   . . . . .

    22-5Configuring the DOLS subscription   . . . . .

    22-4Customizing how users install the

    DOLS subscription   . . . . . . . . . . . .

    22-2Copying DOLS design elements into the

    main database   . . . . . . . . . . . . . . .

    22-2Overview of DOLS developer tasks   . . .

    22-1Domino Off-Line Services   . . . . . . . . . . . .

    22-1

    22 Enabling an Application forDomino Off-Line Services   . . . . . .

    21-33Deleted documents reappear   . . . . . . . .

    21-33Unexpected deletions occur in a replica   .

    21-32Deletions are not replicating   . . . . . . . .

    21-32You see the message "Database is notfully initialized yet"  . . . . . . . . . . . .

    21-31

    The new replica contains the ACL of the source server but you did notcopy the ACL   . . . . . . . . . . . . . . . .

    21-31The database replica has not received

    ACL changes   . . . . . . . . . . . . . . . .

    xii Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    13/826

    Preface

    The documentation for IBM Lotus Notes, IBM Lotus Domino, and IBMLotus Domino Designer is available online in Help databases and, with theexception of the Notes client documentation, in print format.

    License information

    Any information or reference related to license terms in this document isprovided to you for your information. However, your use of Notes andDomino, and any other IBM program referenced in this document, is solelysubject to the terms and conditions of the IBM International ProgramLicense Agreement (IPLA) and related License Information (LI) document

    accompanying each such program. You may not rely on this documentshould there be any questions concerning your right to use Notes andDomino. Please refer to the IPLA and LI for Notes and Domino that islocated in the file LICENSE.TXT.

    System requirements

    Information about the system requirements for Lotus Notes and Domino islisted in the Release Notes.

    Printed documentation and PDF files

    The same documentation for Domino, and Domino Designer that is avail-able in online Help is also available in printed books and PDF files.

    You can order printed books from the IBM Publications Center atwww.ibm.com/shop/publications/order.

    You can download PDF files from the IBM Publications Center and fromthe Documentation Library at the Lotus Developer Domain atwww-10.lotus.com/ldd.

    Related information

    In addition to the documentation that is available with the product, otherinformation about Notes and Domino is available on the Web sites listedhere.

      IBM Redbooks are available at www.redbooks.ibm.com.

    xiii

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    14/826

      A technical journal, discussion forums, demos, and other information isavailable on the Lotus Developer Domain site atwww-10.lotus.com/ldd.

    Table of conventions

    This table lists conventions used in the Notes and Domino documentation.

    Hyphens are used between menu names, to showthe sequence of menus.

    hyphens in menu names(File - Database - Open)

    File names are shown in uppercase, for exampleNAMES.NSF.

    file names

    Code examples and console commands areshown in monospaced type.

     monospaced type

    Variables and book titles are shown in italic type.italics

    DescriptionConvention

    Structure of Notes and Domino documentation

    This section describes the documentation for Notes, Domino, and DominoDesigner. The online Help databases are available with the softwareproducts. Print documentation can be downloaded from the Web orpurchased separately.

    Release NotesThe Release Notes describe new features and enhancements, platformrequirements, known issues, and documentation updates for Lotus Notes 6,Lotus Domino 6, and Lotus Domino Designer 6. The Release Notes are

    available online in the Release Notes database (README.NSF). You canalso download them as a PDF file.

    Documentation for the Notes clientThe Lotus Notes 6 Help database (HELP6_CLIENT.NSF) contains thedocumentation for Notes users. This database describes user tasks such assending mail, using the Personal Address Book, using the Calendar andScheduling features, using the To Do list, and searching for information.

    Documentation for Domino administrationThe following table describes the books that comprise the Domino Admin-istration documentation set. The information in these books is also foundonline in the Lotus Domino Administrator 6 Help database(HELP6_ADMIN.NSF).

    The book Installing Domino Servers ships with Domino. The other books areavailable for purchase, or for free download as PDF files.

    xiv Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    15/826

    Describes how to set up, manage, and troubleshootDomino clusters.

     Administering DominoClusters

    Describes how to register and manage users and groups,and how to register and manage servers includingmanaging directories, connections, mail, replication,security, calendars and scheduling, activity logging,databases, and system monitoring. This book alsodescribes how to use Domino in a service providerenvironment, how to use Domino Off-Line Services, andhow to use IBM Tivoli Analyzer for Lotus Domino.

     Administering theDomino System,Volumes 1 and 2

    Describes how to plan a Domino installation; how toconfigure Domino to work with network protocols suchas Novell SPX, TCP/IP, and NetBIOS; how to installservers; and how to install and begin using DominoAdministrator and the Web Administrator.

    Installing DominoServers

    Describes how to upgrade existing Domino servers andNotes clients to Notes and Domino 6. Also describes howto move users from other messaging and directorysystems to Notes and Domino 6.

    Upgrade Guide

    DescriptionTitle

    Documentation for Domino DesignerThe following table describes the books that comprise the Domino Designerdocumentation set. The information in these books is also found online inthe Lotus Domino Designer 6 Help database (HELP6_DESIGNER.NSF)with one exception: Domino Enterprise Connection Services (DECS) Installationand User Guide is available online in a separate database, DECS User Guide

    Template (DECSDOC6.NSF). The printed documentation set also includesDomino Objects posters.

    In addition to the books listed here, the Domino Designer Templates Guide isavailable for download in NSF or PDF format. This guide presents anin-depth look at three commonly used Designer templates: TeamRoom,Discussion, and Documentation Library. 

    continued

    Introduces programming in Domino Designer anddescribes the formula language.

    Domino Designer ProgrammingGuide,Volume 1: Overview andFormula Language

    Explains how to create all the design elements usedin building Domino applications, how to share

    information with other applications, and how tocustomize and manage applications.

     Application Development withDomino Designer

    DescriptionTitle

    Preface xv

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    16/826

    Provides information and instructions for using LEIand its activities. The online documentation file

    names are LEIDOC.NSF and LEIDOC.PDF. Thisdocument is for LEI customers only and is suppliedwith LEI, not with Domino.

    IBM Lotus EnterpriseIntegrator for Domino (LEI)

     Activities and User Guide

    Describes installation, configuration, and migrationinformation and instructions for LEI. The onlinedocumentation file names are LEIIG.NSF andLEIIG.PDF. This document is for LEI customersonly and is supplied with LEI, not with Domino.

    IBM Lotus EnterpriseIntegrator for Domino (LEI)Installation Guide

    Describes how to use the LC LSX to

    programmatically perform Lotus Connector-relatedtasks outside of, or in conjunction with, either LEIor DECS. This online documentation file name isLSXLC6.NSF.

    Lotus Connector LotusScript

    Extensions Guide

    Describes how to configure Lotus Connectors foruse with either DECS or IBM Lotus EnterpriseIntegrator for Domino (LEI). It also describes howto test connectivity between DECS or LEI and anexternal system, such as DB2, Oracle, or Sybase.Lastly, it describes usage and feature options for allof the base connection types that are supplied withLEI and DECS. This online documentation filename is LCCON6.NSF.

    Lotus Connectors andConnectivity Guide

    Describes how to use Domino EnterpriseConnection Services (DECS) to access enterprisedata in real time.

    Domino Enterprise ConnectionServices (DECS) Installationand User Guide

    Describes the LotusScript programming language.LotusScript Language Guide

    Describes the XML and JSP interfaces for access todatabases and other Domino structures.

    Domino Designer ProgrammingGuide,Volume 4: XML Domino DTDand JSP Tags

    Provides reference information on using the Javaand CORBA classes to provide access to databasesand other Domino structures.

    Domino Designer ProgrammingGuide,Volume 3: Java/CORBA Classes

    Describes the LotusScript/COM/OLE classes foraccess to databases and other Domino structures.

    Domino Designer ProgrammingGuide,Volumes 2A and 2B:LotusScript/COM/OLE Classes

    DescriptionTitle

    xvi Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    17/826

    Chapter 1Introduction to IBM Lotus Domino Designer

    Welcome to IBM® Lotus® Domino Designer®. Domino Designer is anintegrated application development environment that lets developersand Web site designers create, manage, and deploy secure, interactiveapplications.

    This overview introduces some of the features you will use to createapplications.

    The “What’s new in this release” chapter provides quick links to topicsdefining the new features in Lotus Domino Designer Release 6.

    Overview — applications and databases

    One major focus of Domino Designer Release 6 is on enhancing theaccessibility of your Domino applications by enabling you to:

      Share, lock, and edit design elements

      Provide nontraditional means for accessing your applications

      Communicate across platforms

    Applications

    Domino applications enable people to share, collect, track, and organizeinformation, using Lotus Notes® or the Web. Using Lotus DominoDesigner, developers can create applications to meet a variety of businessneeds, including:

      Workflow applications that route information.

      Tracking applications that monitor processes, projects, performance,or tasks.

      Collaboration applications that create a forum for discussion andcollaboration.

      Data integration applications that work with relational databases andtransactional systems.

      Dynamic applications that produce content based on, for example,user name, user profile, access rights, or time of day.

      1-1

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    18/826

      Localization and Management applications that use Domino GlobalWorkBench to translate Lotus Domino databases and Web sites.

    Databases

    All Notes applications contain one or more databases. You create adatabase to use as the container for the data, logic, and design elements

    in your application. Design elements include:

      Pages

    Forms

    Outlines

    Navigators

    Views

    Folders

      Framesets

    Shared Resources

      Agents

    Starting Lotus Domino Designer

    There are three ways to start Lotus Domino Designer from the Notes®client:

      From the Bookmark bar

      From a database

      From the command line

    To start Domino Designer from the Bookmark bar in the Notes client

      Click the Domino Designer icon on the Bookmark bar.

    Note If you do not see the Domino Designer icon, Domino Designermay not be installed on your system.

    The customizable welcome page of Domino Designer displays.

    From the Domino Designer welcome page you can open an existingdatabase or create a new one. When you open a database, either a new orexisting one, the Domino Designer Work pane displays.

    1-2 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    19/826

    To start Domino Designer from a database in the Notes client

    If you already have a database to work with, you can start DominoDesigner directly from that database. You must have Designer orManager access to the database in the ACL.

    1. Open the database.

    2. Choose View - Design.

    Tip You can also right-click the database icon on the Bookmark bar andselect Open in Designer from the list.

    To start Domino Designer from the command line

    Note You can only use this method if you have already openedDesigner and know the Replica ID of a database and Note ID of adocument in that database. Also, the user whose Notes ID is used whenNotes is launched must have at least Designer access to the database.

    You can open a specific database in Domino Designer by entering itsReplica ID and a Note ID in the command line.

    1. From the MS-DOS prompt, switch to the Notes directory.

    2. Enter either:

      designer Notes:///Rep_id/Note_id (for a local database)

      designer Notes://Server_Name/Rep_id/Note_id (for a hosteddatabase)

    where Rep_id is the Replica ID of the database(do not include thecolon), Note_id is the Note ID of a document in that

    database(include only the characters that follow the NT and theseries of zeros that make up the ID), and Server_Name is the name of the server/database as it appears in the Design pane, with the servername, followed by a slash, then the database name.

    From Designer, you can find a database’s Replica ID by opening theDatabase Properties box. The Replica ID, which is a series of numbersand letters, for example, 85256BE5:0051F014, is listed on the Info tab.From Notes, you can find the Note ID for a document by opening theDocument Properties box. The Note ID, which is a series of numbers andletters following the letters NT, for example, NT000002AA, is listed on

    the Document IDs tab. Given these Replica and Note IDs, you could openthis database if it was local by entering:

    designer Notes:///85256BE50051F014/2AA 

    To open this database (named customer.nsf) hosted by the Casco/Bayserver, enter:

    designer Notes://Casco/customer.nsf/85256BE50051F014/2AA 

    Introduction to IBM Lotus Domino Designer 1-3

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    20/826

    Alternatively, you can use LotusScript to retrieve the Replica ID of adatabase and Note ID of a document. You can also use the formulalanguage @functions @ReplicaID and @NoteID to retrieve them.

    Exploring Lotus Domino DesignerBuilding a great application requires the right tools. You can think of Domino Designer as your workshop — it contains all the tools you needto build a powerful application. Before you start building, examine thework area.

    Menu barPreview buttons

    Properties box button

    Window tabs

    Design bookmarks

    Design action buttons

    Bookmark bar

    Design pane

    Work pane

    1-4 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    21/826

    When a design element or resource type is selected inthe Design pane, displays the Design list. When anelement or resource is selected from the Design list,displays two sections. The upper section contains theWork area for the element or resource. The lowersection contains the Programmer’s pane, which isshown in the illustration below.

    Work pane

    Let you navigate among the open windows in yourworkspace.

    Window tabs

    Opens the Properties box for the active design element.Properties box button

    Launch a browser to preview your work.Preview buttons

    Presents context-sensitive menus of Designercommands.

    Menu bar

    Listed along the left side of the welcome page, bookmarks help you to quickly access and organize

    your databases. You can drag a database onto the bookmark pane to bookmark it or you can create afolder on the bookmark pane to which you can dragrelated databases. By default, Designer provides aRecent Databases folder. You can create additional bookmarks and folders.

    Designer bookmarks

    Displays the design elements and resource types that adatabase can contain. If you click an element, such asPages for example, a list of the pages stored in thecurrent database displays in a Design list on the Workpane. The Design action button at the top of the Designlist for Pages enables you to create a new page.

    Design pane

    Displays a list of the design elements or resources thatare stored in the current database. This list displays in

    the Work pane. When you click a list item, the Workpane changes to display the work area for the selectedelement or resource.

    Design list

    These convenient buttons trigger common tasks, such ascreating new design elements.

    Design action buttons

    PurposeItem

    Introduction to IBM Lotus Domino Designer 1-5

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    22/826

    Title barReference tab

    Objects tab

    Info list

    Script area

    Errors box

    Lets you enter formulas in the Script area. Formulas can be written inFormula language, LotusScript, JavaScript, or simple actions.

    Note that you can print source code by selecting File - Print when youare in the Programmer’s pane. You can print any code you can view inthe Programmer’s pane.

    Scriptarea

    The Reference tab of the Info List is language sensitive; the contents of the Reference tab change depending on the language selected. If youare editing in the Formula language, the window contains@commands, @functions and fields. If you are editing in LotusScript,the window contains LotusScript information. If you are editing in

     JavaScript, the window contains information about the DocumentObject Model. If you are editing in Java, the window contains Java-related information.

    Reference tab

    Lets you navigate between objects and events in the Programmer’spane. To work on an object, select it to expand its list of properties andevents. If you select a property or event, the script area of theProgrammer’s pane changes to show the code that describes it. Eventsand properties that are already programmed appear in a darker color.

    Objectstab

    Scrollable window that displays the objects and coding referenceinformation for the design element currently displayed in the Work

    area.

    Info List

    PurposeItem

    1-6 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    23/826

    Properties boxes

    Properties boxes are tools you use to select or modify settings for adesign element. Properties boxes have tabs and each tab presentsdifferent attributes or options. If you hold the cursor over the icon on atab, the name of the tab appears. In most windows, right clicking opens

    the Properties box for the active design element. You can also chooseDesign —  Properties from the menu.

    Properties boxes are context-sensitive so you can leave them open onyour workspace and they will change to reflect the element that you areworking with.

    Tip You can also collapse some Properties boxes into context-sensitivetool bars by double-clicking the top of the box.

    Creating a database

    There are three ways to create a database:

      Using a template.

    The fastest way to create a database is to use one of the Dominotemplates included with Domino Designer. Domino Designer

    includes templates for creating a variety of applications. Applicationscreated using one of the Domino Designer templates can be used asis or customized.

    To decide if there is a template that is right for you, see the Table of Domino Designer templates.

      Copying an existing database.

    Introduction to IBM Lotus Domino Designer 1-7

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    24/826

    If you have access to a database that already has all the elements youare looking for, you can copy the design and create a new databasewith the same features. Once you have created the database, you cancustomize it to meet your company’s needs.

      Building your own.

    If you need to create a unique database, build your own. Choose File- Database - New from the Domino Designer menu. Name thedatabase, select Blank from the template list, and click OK. Thiscreates an empty database in which you can create your own designelements.

    For more information, see the chapter, “Creating an application.”

    Displaying, collecting, and storing information

    How you display, collect, and store information is an important part of any application. The design elements you use to accomplish these tasksare:

      Pages

      Forms and documents

      Fields

    Starting in Lotus Domino Designer Release 6, you can use layers onpages and forms. Arranging fields, buttons, and other UI content on alayer enables you to develop your page or form content in chunks that

    can then be easily organized and quickly rearranged.

    Pages

    A page is a database design element that displays information. Pages area familiar Web concept. Almost every Web site has a home page — apage that contains information about the company, graphics thatenhance the page, and links that take you to other places within the siteor elsewhere on the Web.

    1-8 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    25/826

    Pages can be used anytime you are displaying information to the user.Pages can contain:

      Layers

      Text

     

    Tables  Graphics

      Applets

      Embedded objects such as views

      Links

    Pages often work in conjunction with framesets to display graphics, sitenavigation, or applets.

    For more information on layers, see the chapter “Designing Pages.”

    Forms and documents

    Forms, like pages, display information. Everything that can be done witha page can be done with a form. What sets forms apart from pages is thatforms can be used to collect information. A form provides the structurefor creating and displaying documents. Documents are the elements thatstore data in the database.

    Introduction to IBM Lotus Domino Designer 1-9

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    26/826

    When you create a form in Designer, users can open the form in theNotes client from the Create menu. On the Web, you must provide a

     button or action that opens the form. When the user completes the formand saves it, the information is saved as a document. When a userreopens the document, the document uses the form as a template fordisplaying the data.

    For more information on forms and documents, see the chapter“Designing Forms.”

    Fields

    Fields are the elements on forms that collect data. Each field on a formstores a single type of information, which is stored in documents. A

    field’s data type defines the kind of information a field accepts.

    You can create fields in the following data types:

      Text

      Date/Time

      Number

      Dialog List

      Check box

     

    Radio button  Listbox

      Combo box

      Rich text

      Authors

      Names

    1-10 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    27/826

      Readers

      Password

      Formula

      Time zone

      Rich text lite

      Color

    You decide if a field is editable — that is, populated by user input, orcalculated by formulas. You can program fields to retrieve data fromother Domino applications or from external sources. In addition, you cancreate shared fields, which can be used in many forms within the samedatabase.

    For more information, see the chapter “Designing Fields.”

    Organizing your data

    You organize the documents in your database using:

      Views

      Folders

    Views

    Views are the entry point to the data stored in a database because theydisplay a sorted or categorized list of documents. Every database must

    have at least one view, although most databases have more than one.Views select the documents they display programmatically, so you cancreate a view that shows all of the documents in your database or onlysome of the documents, based on a formula. Views can also sort thedocuments they display by a field on the form, such as date, category, orauthor. Note that you can create views that are hidden from users butorganize your data so that other applications can retrieve the informationfrom the documents.

    Introduction to IBM Lotus Domino Designer 1-11

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    28/826

    For more information, see the chapter “Designing Views.”

    Folders

    A folder is a container that stores documents. Folders have the same

    design elements as views, and you design folders in much the same wayas a view. The difference between folders and views is that a viewalways has a document selection formula that collects and displaysdocuments automatically. A folder remains empty until users orprograms add documents to the folder.

    For more information on folders, see Lotus Notes 6 Help.

    Creating navigation

    Every application needs to include a way to navigate from one place toanother. You add navigation to an application using:

      Outlines

      Navigators

    When you create a new database from a blank template, Designerprovides a default navigation structure called the Folder pane(sometimes called the Navigation pane). The Folder pane displays all theshared views and folders in the database. It displays on the left pane of the Notes client and on the top left of a browser window. You can chooseto use this navigation structure or design a different one.

    Outlines

    You can create an outline to customize the Folder pane of an application.An outline is the skeleton of your application: each outline entryrepresents a key piece of the application. An outline can include background graphics, custom icons, links, or actions. When the outline is

    1-12 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    29/826

    embedded on a page or form, users can click on the outline entries,which take them where you want them to go. The process of creating anavigation structure with an outline involves three steps:

    Create a new or default outline and create an outline entry for eachpiece of the application you want to include in the navigation

    structure or site map.  Embed your outline on a form or page.

      Format the display of the embedded outline. You can put the page orform in which the outline is embedded into a frameset if you choose.

    You can also use an outline to plan your application before you createany design elements.

    For more information, see the chapter “Designing Outlines.”

    Navigators

    Navigators are graphical road maps that direct users to specific parts of adatabase. They let users find documents or take actions without havingto open views. Navigators are like image maps. You can create hotspotson a graphic that take the users to links within or outside of yourapplication. You can embed navigators on forms or pages. Navigatorscan take the place of the folder pane or work in conjunction with it.

    For more information, see the chapter “Designing Navigators.”

    Introduction to IBM Lotus Domino Designer 1-13

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    30/826

    Structuring your display

    For an application interface to be intuitive and efficient, it must makegood use of the user’s screen. One way for a designer to accomplish thisis to use framesets.

    A frameset is a collection of frames. A frame is one section, or pane, of the larger frameset and is independently scrollable. By using framesets,designers can create links and relationships between frames. Framesetslet you leave one page displayed as users scroll or link to other pages ordatabases. There is no HTML required to design a frameset.

    Designer lets you:

      Create an effective multi-paned user interface for your applications.

      Control frame attributes such as size, scrolling, border colors andwidth, and frame spacing.

      Determine frame source content at runtime.

      Create programmable links that are maintained automatically.

      Set a frameset to launch automatically when a database, form, orpage opens.

    For more information, see the chapter “Designing Framesets.”

    1-14 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    31/826

    Adding automation

    Adding automation to an application can speed up repetitive tasks, routedocuments, update information, perform calculations, run programs, andcheck for errors.

    You can add the following automated components to the design elementsin a Domino application such as a database, a view, a form, or adocument:

      Actions

      Hotspots

      Agents

    Actions

    Actions automate tasks that are found on Notes menus or tasks defined

     by formulas or a LotusScript program. Users click a button, hotspot, orpick from the Action menu to execute the action. For Web applications inparticular, use actions to simulate Notes menu items.

    Hotspots

    A hotspot is text or a picture that a user can click to perform an action,run a formula or script, or follow a link. The hotspot can be a link toanother Web site, database, or element in a database. It can be a button,pop-up, or an action as well.

    Agents

    Agents are programs that perform a series of automated tasks accordingto a set schedule or at the request of a user. An agent consists of threecomponents: the trigger (when it acts), the search (what documents it actson), and the action (what it does). Use agents to set up user-activatedtasks, or background tasks, in any part of a Domino application. Agentscan be simple, such as moving documents to a folder, or complex, using Java programs to run multiple automated tasks at scheduled times.Agents are stored with databases, but you can use them to runautomated tasks for views, documents, fields, and databases.

    For more information, see the chapter “Adding Automation toApplications.”

    Introduction to IBM Lotus Domino Designer 1-15

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    32/826

    Sharing, locking, and editing design elements

    Notes is a powerful tool because it helps developers workcollaboratively. Lotus Domino Designer Release 6 enhances team work by enabling developers to:

     

    Edit multiple design elements  Share resources across databases

      Lock design elements

    Editing multiple design elements

    With Lotus Domino Designer 6, you can now update or edit properties of all the instances of a particular design element that occur in a database.For instance, you could update or edit the following element properties:

      Hide/when formulas

      Template inheritance settings  Design refresh settings

    For example, you can update all the forms in a database to hide themfrom the Notes client.

    For more information, see the chapter “Completing an Application andManaging Design Changes.”

    Sharing resources across databases

    By sharing resources, the development work of one team member does

    not have to be rewritten elsewhere in the application, but can be directlyincorporated as is. Or it can be incorporated, then tweaked by anothermember of the team to suit the purposes of a different area of theapplication.

    Lotus Domino Designer 6 increases the number of resources that can beshared in a database to include:

      Style sheets

       JavaScript libraries

      Non-NSF files

    Locking documents and design elements

    In Lotus Domino Designer 6, not only can you share elements within adatabase, but you can also share them across databases. Because access todesign elements has increased, Notes now lets developers lock theelements they design. This prevents two or more team members frommaking changes to one element at the same time.

    1-16 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    33/826

    For more information on locking design elements, see the chapter“Completing an Application and Managing Design Changes.”

    For more information on document locking, see the chapter “Creating anapplication.”

    Extending access to applications

    Domino applications are now more easily accessible to outside tools bothduring the design process and after application completion anddeployment.

    With Lotus Domino Designer 6, you can:

      Use third-party design tools in Designer

      Use WebDAV for remote development

      Access an external data source from a field  Bring an application offline

    Instant message colleagues

    Using third-party design tools

    With Lotus Domino Designer 6, you can launch third-party applicationsfrom within Designer. The Designer menu bar has a new Tools menuoption where you can save a link to a third-party application as a “tool.”For example, you can now add a Web-development application, such asDreamweaver, to the Tools menu as a tool named “Web work,” for

    example. If you want to add HTML to your Designer application usingMacromedia Dreamweaver, you can launch it by selecting “Web work”from the Tools menu.

    For more information on customizing the Designer Tools menu, see thechapter “Developing applications using third-party tools and WebDAV.”

    Using WebDAV for remote development

    WebDAV (Web-based Distributed Authoring and Versioning) is atechnology that allows users with Designer access to a database to work

    with file-based design elements such as HTML pages, images and stylesheets, using WebDAV-enabled development tools on the Web.

    By making Domino WebDAV compliant, the methods you can use toenhance file-based design elements are extended. Lotus DominoDesigner 6 lets you decide which tools to use to develop yourapplications.

    Introduction to IBM Lotus Domino Designer 1-17

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    34/826

    For more information on editing and managing database resources usingWebDAV, see the chapter “Developing applications using third-partytools and WebDAV.”

    Accessing external data sources from a field

    With Designer, you can use data connection resources to set up aconnection between a field in an NSF database document to a field in anexternal data source. The external data source can be a relational ortransactional database, which means you can now access enterprise datausing a Notes application.

    For more information, see the chapter “Connecting to Enterprise Data.”

    Bringing an application off-line

    Access to Designer is now available to off-line users thanks to DominoOff-Line Services (DOLS). DOLS enables a user to take a Domino Web

    application off-line, make changes or additions, and then synchronize theoff-line replica of the application with the original. The user does noteven have to have Notes since the application can be accessed via a Web browser. This capability greatly increases the ways in which anapplication’s audience can access it.

    For more information on DOLS, see the chapter “Enabling an applicationfor Domino Off-Line Services.” 

    Instant messaging colleagues

    The Lotus software Sametime® instant messaging product is a powerful

    tool for enabling real-time communication between team members. WithLotus Domino Designer 6, you can integrate Sametime into your Dominoapplications.

    For more information on adding instant messaging to an application, seethe chapter “Creating an application.”

    Communicating across platforms

    With Release 6, Domino data can be shared across platforms becauseDomino supports two of the most widely used, multiple platformtechnologies:

     JavaServer pages (JSPs)

    Extensible Markup Language (XML)

    1-18 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    35/826

    JavaServer pagesYou can now retrieve Domino data from an NSF database for use in a JavaServer page(JSP). Domino Designer Release 6 includes custom taglibraries that you can include in your Web site directory files. Theselibraries are made up of several JSP tags. JSP tags are similar to HTMLtags, except that they contain instructions for executing complicated Java

    programming logic, instead of instructions for defining how to formatthe contents of the tag. The logic in the Domino tag library is specificallydesigned to retrieve, edit, and otherwise manipulate Domino data, butthe complicated logic itself always takes place behind the scenes. Oncethe libraries are included in a page, all the page developer has to do isinclude a tag in a page and all the programmatic capabilities of the tagare automatically available.

    Note The JSP containing the Domino custom tag libraries must behosted by a server that provides a rich J2EE Web developmentenvironment, like the IBM WebSphere® Enterprise Edition server or

    Application server 4.02.For more information, see the book Domino Designer Programming Guide,Volume 1.

    XMLDomino data can now be exported and imported from a database asXML. XML, the Extensible Markup Language, is a meta-language thatenables you to define data using tags. XML tags are similar to HTMLtags, except that they define the content within a tag, instead of defininghow to format the contents of a tag.

    Since you can export data from a Notes database as XML, it can then betransferred to other platforms. Once each platform agrees on a set of XML tag definitions, transferring the data between them or transformingit via a style sheet for optimum display on various devices, is easy.

    For more information on viewing XML using DXL utilities, see the bookDomino Designer Programming Guide, Volume 1.

    For information on using XML with Domino, see the book DominoDesigner Programming Guide, Volume 1.

    For more information on the Domino DTD tags, see the book Domino

    Designer Programming Guide, Volume 1.

    Introduction to IBM Lotus Domino Designer 1-19

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    36/826

     

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    37/826

    Chapter 2Planning an Application

    Begin your design work with an application plan. In addition to planningthe functionality of your application, consider how users will access theapplication. For example, if you are designing your application for amixed audience of Notes and Web users, knowing what tools areavailable for your design needs will make your task easier. The followingtopics describe identify application design issue to consider as you planyour design work.

    Planning an application

    Before you begin any design work, create a plan for how users will accessand use your application. At the minimum, your application plan shouldaddress these questions:

      Will users access the application from a Notes client only , Notes anda Web application , or Web browser only?

      Do you need to tailor this application for use by mobile users?

      How can you make your application accessible to users with

    disabilities?

      Will the application be translated into multiple languages?

      What demands will be placed on the application — that is, will there be large views containing many documents?

    What are the performance expectations for the application?

      How will users know how to navigate and use the application?

    The more planning you do before design begins, the smoother the designprocess will be. Designer provides you with a range of tools and servicesto suit your design needs and application development styles.

      2-1

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    38/826

    Planning a Notes application

    If your application is only intended for use by Notes clients, use thestandard design elements provided by Domino Designer. Whenprogramming, consider using the Notes formula language andLotusScript®, both of which were designed for use with the Notes client.

    Planning a Notes and Web application

    If you are planning an application that users will access via a Notes clientor via a Web browser, you will need to do some design work to tailoryour application for each platform. For example, a navigation structurethat is suited for a Notes client application may not be the best choice fora Web application. When you design an application for both Notes andWeb, about 85% of your design will be suitable for both clients, and the

    remaining 15% will require some modification. Here are some issues toconsider when planning an application for Notes and Web users:

    Understanding the differences

    The division of labor in a Notes application — what the Domino® serverdoes and what the Notes client does — is very different from thearchitecture of a browser-based application. This is because thecapabilities of a Notes client are very different from a Web browser, andthe protocols the browser and server use to communicate are verydifferent as well.

    Domino uses Sun Microsystems Java(TM) and JavaScript(TM) totranslate Notes client functionality to the browser with fuller fidelity, sothat Web users can interact with action bars, rich text, views, and otherNotes features in familiar ways. But there is no Web functionalityequivalent to the Notes Document Object Model (DOM) and RemoteProcedure Call (RPC) protocol. A Notes client can send instructions tothe server to perform a task and receive back results that are refreshedwithin the current open form or document. This kind of interaction isnonexistent between a browser and server. All a browser can do is send arequest to a server, and all a server can do is send a complete page to a

     browser.Limitations of the Web browser and the browser/server architecture arethe basis for most of the problems you must solve as you consider how toserve one application to Notes client and Web browser users.

    2-2 Application Development with Domino Designer

  • 8/21/2019 21340772 Ibm Lotus Domino Designer 6 Application Development With Lotus Domino Designer

    39/826

    Tips for designing Notes and Web applications

    The following are some areas to consider when planning an applicationfor both Notes and Web clients.

    Security

    The security model is different for Notes and Web users. Manager andDesigner access to databases is not available for Web users as it is forNotes client users. Therefore, do not include LotusScript actions oragents that require a user to have Manager or Designer access tocomplete the task.

    Authenticating users requires extra planning for applications availablevia Web browsers. Most Web applications provide some level of accessfor Anonymous users. For higher levels of access, you must match Webusers to the names in the Domino Directory. Because Web usersgenerally login to an application using an abbreviated name, consider

    using the @UserName command to return their fully distinguished Notesname for proper authentication.

    FormsMany times the same form will work in both a Notes client applicationand a Web application. You can compensate for minor differences infunctionality using hide-when formulas for design elements on a form.At times you may want to display one subform for a Notes client andanother for a Web browser. In this example, the formula calls one of twocomputed subforms named NS and IE that include browser-specific code by using the CGI variable for browser type in @BrowserInfo:

    @If(@BrowserInfo("BrowserType")="Netscape";"NS";"IE")

    Each subform has its own JavaScript Header, so you can selectivelyinclude JavaScript as well as other data types in your forms by usingcomputed subforms.

    All subforms open simultaneously with the main form. You can’t displaya computed subform on the basis of calculations after the page opens.

    Forms are quite flexible in a mixed-client environment. Usingprogramming designed to support multiple clients, you can program a

    form event to execute one set of commands when accessed by a Notesclient and another set of commands when accessed by a Web client. Insome cases, you may find it easier to design two complete