developerWorks Series Lotus Notes Developer s Toolbox: Tips for Rapid and Successful Deployment

book cover
developerWorks® Series Lotus® Notes® Developer's Toolbox: Tips for Rapid and Successful Deployment
By Mark Elliott
Publisher: IBM Press
Pub Date: October 10, 2006
Print ISBN-10: 0-13-221448-2
Print ISBN-13: 978-0-13-221448-3
Pages: 744

Table of Contents  | Index

Lotus®Notes® Developer's Toolbox will help you streamline and improve every phase of Notes development. Leading IBM Lotus Notes developer Mark Elliott systematically identifies solutions for the key challenges Notes developers face, offering powerful advice drawn from his extensive enterprise experience. This book presents best practices and step-by-step case studies for building the five most common types of Notes applications: collaboration, calendar, workflow, reference library, and Web site.

This book is for Notes developers at all levels of experience, using recent versions from V5.0 through V7.0, and beyond. Like all IBM developerWorks® Series books, it is fully integrated with comprehensive Web resources, including working examples of each project, enhanced versions that go beyond the book, sample graphics, and tools for addressing real-world business scenarios. Coverage includes

·         Getting started with Domino Designer®, and using the design elements it provides

·         Developing Notes databases, step-by-step: considerations, code instructions, design tips, and project plans

·         Mastering and customizing Lotus Formula and LotusScript

·         Customizing forms, views, agent behavior, application interfaces, and more

·         Building calendar applications with simple and complex recurrent events

·         Developing applications that distribute information via email, response documents, and other methods

·         Creating reference library applications, and generating Excel® spreadsheets for analysis

·         Constructing sophisticated workflow and Web-based Notes applications

·         Securing, deploying, and maintaining Notes applications, and managing their data

·         Enhancing database functionality: more than 95 ready-to-use code modules and customizations

·         Exclusive Web resources available only to book registrants

The IBM Press developerWorks® Series is a unique undertaking in which print books and the Web are mutually supportive. The publications in this series are complemented by resources on the developerWorks Web site on Icons throughout the book alert the reader to these valuable resources.

book cover
developerWorks® Series Lotus® Notes® Developer's Toolbox: Tips for Rapid and Successful Deployment
By Mark Elliott
Publisher: IBM Press
Pub Date: October 10, 2006
Print ISBN-10: 0-13-221448-2
Print ISBN-13: 978-0-13-221448-3
Pages: 744

Table of Contents  | Index

       IBM Press: The developerWorks® Series
       IBM Press
       About the Author
        Chapter 1.  An Introduction to the Lotus Domino Tool Suite
      Product Overview
      Links to developerWorks
        Chapter 2.  Getting Started with Designer
      Installing the Designer Client
      Launching the Designer Client
      Creating My First Notes Database
      Links to developerWorks
        Chapter 3.  Navigating the Domino Designer Workspace
      An Introduction to Designer
      The Design Pane
      The Work Pane
      The Object Pane
      The Programmer's Pane
      The Action Pane
      Design Tabs
      Language Selector
      Client and Browser Selector
      Status Bar
      Properties Dialog
      Links to developerWorks
        Chapter 4.  Domino Design Elements
      Building Blocks of a Notes Database
      Naming Design Elements
      Working with Forms
      Working with Fields
      Working with Layout Regions
      Working with Sections
      Working with Buttons
      Working with Views
      Working with Application Menus
      Working with Folders
      Working with Framesets
      Working with Pages
      Working with Shared Code
      Working with Shared Resources
      Working with Events
      Links to developerWorks
        Chapter 5.  An Introduction to Formula Language
      What Is Formula Language?
      What Is a Formula?
      Working with Variables
      Formula Language Keywords
      Working with Operators
      General Syntax Rules
      What Are Functions and Commands?
      What Are Commands?
      Working with Text Strings
      Working with Conditional Branching
      Working with Iterative Loops
      Working with Lookup Functions
      Working with Dates
      Working with Lists
      Working with User Prompts
      Debugging Formula Language
      Links to developerWorks
        Chapter 6.  An Introduction to LotusScript
      Introduction to Object-Oriented Programming
      LotusScript Classes
      Defining Variables and Constants
      Defining Object Reference Variables
      Working with Conditional Branching
      Working with Iterative Loops
      Communicating with Users
      Working with Arrays
      Using Formula Language in LotusScript Code
      Compiling LotusScript Code
      Links to developerWorks
        Chapter 7.  Fundamentals of a Notes Application
      The Five Primary Application Types
      The Application Development Life Cycle
      Elements of a Project Plan
      Elements of a Project Schedule
      Questions to Ask When Designing a Database
      Designing a Notes Application
      Project: Build a Database to Track Web Sites
      Links to developerWorks
        Chapter 8.  Calendar Applications
      Application Architecture
      Managing Recurring Events Using Single Documents
      Managing Recurring Events Using Multiple Documents
      Project A: Build an Event Calendar
      Project B: Build a Conference Room Reservation System
      Links to developerWorks
        Chapter 9.  Collaborative Applications
      Collaborative Applications
      Project A: Build a Discussion Forum
      Project B: Build a Project Control Notebook
      Links to developerWorks
        Chapter 10.  Reference Library Applications
      Reference Library Applications
      Project A: Build a Connection Document Database
      Project B: Build a Spreadsheet Generator
        Chapter 11.  Workflow Applications
      Defining a Workflow Application
      Project: Building a Workflow Database
      Links to developerWorks
        Chapter 12.  Web Applications
      Defining a Web Application
      Project: Building a Domino Web Site
      Links to developerWorks
        Chapter 13.  Design Enhancements Using LotusScript
      Custom LotusScript Functions and Routines
      Compare Two Dates
      Check for an Element in an Array
      Replace an Element in an Array
      Remove a Character from a String
      Remove an Element from an Array
      Compare Two Arrays
      Working with Dynamic Arrays
      Create a Custom Popup Dialog Box
      Refresh a Document from the User Interface
      Search for a Document
      Working with Dates and Times
      Compute the Day of the Week
      How to Reference "$" Fields
      How to Set the "ReturnReceipt" for LotusScript-Generated Email
      Add Field Validation to a Form
      Display an "Are You Sure?" Message
      Format a User's Name
      Automatically Update a "History" Field When a Document Changes
      Prompt the User to Describe Document Changes and Update the "History" Log
      Create a Unique Document Record Number
      Limit the Ability to Create Documents on a Local Database
      How to Zero Pad a Text Number
      How to Add Text to a Rich Text Object
      How to Attach a File to a Rich Text Object
      How to Format Text in a Rich Text Object
      Change Document to Edit Mode
      Obtain the Current Roles Assigned to a User
      Generate a Document in Another Database
      Generate a New Document by Duplicating an Existing Document
      Prompt in LotusScript
      Sending Email to Multiple Recipients Using LotusScript
      Add a View Icon and Mood Stamp to an Email
      Retrieve and Update NOTES.INI Environment Values
      Assign One Rich Text Object to Another Rich Text Object
      Add a Document, View, or Database Link to a Rich Text Field
      Create a Button to Add a Calendar Event
      Links to developerWorks
        Chapter 14.  Design Enhancements Using Formula Language
      Formula Language Enhancements
      Compare Two Lists
      Expand and Collapse All Document Sections
      Expand and Collapse All View Categories
      Get the Current Day of the Week
      Get the Current Month of the Year
      Create a Formatted Date String
      Create an Attach File Button
      Display the Windows File Finder Dialog
      Create a New Document
      Create a "Last Updated By" Field
      Create a "Last Modified On" Date Stamp
      Format a User's Name
      Hide Text and Design Elements Based on a User's Role
      Working with @DBColumn
      Working with @DBLookup
      Parse a Text String
      How to Format Field Values Using "Input Translation"
      How to Add Field Validation
      Display an "Are You Sure?" Warning Message
      Generate Email Using Formula Language
      How to Sort a List of Values
        Chapter 15.  View Enhancements
      View Enhancements
      Create a New Document by Double-Clicking on a Calendar Date
      Display Documents in a View by Year and Month
      Display an Icon in a View
      Retrieve All Views in a Database
      Retrieve All Columns in a View
      Retrieve All Columns for Each View in a Database
      How to Manage Conflict Documents
      Display All Documents by Form Name
      Disable the Ability to Paste Documents into a View
      Links to developerWorks
        Chapter 16.  Sample Agents
      Agent Enhancements
      Simple Action Agent to Modify All Documents
      LotusScript Agent to Modify All Documents Containing a Specific Field Value
      Agent to Manually Generate an Email Report
      Schedule Agent to Send a Daily, Weekly, or Monthly Email Report
      Links to developerWorks
        Chapter 17.  Miscellaneous Enhancements and Tips for Domino Databases
      Miscellaneous Enhancements
      Disable the Ability to Print, Copy, Cut, and Forward Documents
      Using Field Hints on a Form
      Using Static Popups to Display Help Messages
      How to Inherit Fields Between Forms
      Add an Icon to an Action Button
      Create a Custom Application Interface
      How to Set the Field Tab Order on a Form
      Domino Shortcut Keys
        Chapter 18.  Data Management
      Importing Data
      Exporting Data
      Migrating Data
      Creating Tables
      Modifying Data Using a LotusScript Agent
      Archiving Data Using an Agent
      Refreshing All Documents
        Chapter 19.  Security
      Access Control List Fundamentals
      Managing Database Access
      How to Enforce Consistent ACL Settings Across Replicas
      Encrypt the Database
      Managing Access to Views
      Managing Access to Forms and Documents
      Managing Access to Fields
      Managing Access to Source Code
      Hiding a Database Design
      Hiding a LotusScript Library
      How to "Sign" a Database
      How to Cross Certify Domino Servers
      Links to developerWorks
        Chapter 20.  Application Deployment and Maintenance
      What Are Templates?
      Establishing a Development Environment
      Migrating a Database Design
      Preserve a Copy of the Database Design
      Deploying the Production Database
      The Importance of Database Backups
      Process Synopsis
      Links to developerWorks
        Chapter 21.  Troubleshooting
      Troubleshooting LotusScript
      Troubleshooting Agents
      Common Database Problems
      Where to Find Additional Assistance
      Links to developerWorks
        Appendix A.  Online Project Files and Sample Applications
      About the Online Materials
      About the Companion Web Site
      About the Developer's Toolbox
      About the "Chapter 07 Fundamentals Project" Folder
      About the "Chapter 08 Calendar Project" Folder
      About the "Chapter 09 Collaboration Project" Folder
      About the "Chapter 10 Reference Library Project" Folder
      About the "Chapter 11 Workflow Project" Folder
      About the "Chapter 12 Web Site Project" Folder
      About the "Chapter 18 Data Management" Folder
      About the "Development Tools and Files" Folder
      Installing a Notes Database
        Appendix B.  IBM® Lotus® Notes® and Domino®What's Next?
      Developer-Specific Enhancements
      What Is a Composite Application?
      Composite Application Development Tools
      Adding Value into the Future