Professional Documents
Culture Documents
6 Applications:
Preview
The term Preview in the document header, denotes that this education manual has not been copyedited, formatted or otherwise quality tested for final print production. This manual has been prepared for the purpose of providing you with a preliminary version of the final courseware. This manual shall become obsolete with the availability of the final version of the courseware.
IBM offers the widest range of server platforms for Lotus Domino, including the Intel processor-based Netfinity server family. With Netfinity servers, solutions ranging from simple e-mail to unified messaging to Web site hosting and collaborative applications such as distance learning and knowledge management are confidently executed. Both the Quality Assurance Engineering and Curriculum Development departments, within Lotus' education line of business, utilize Netfinity servers to develop and test the company's education offerings. Domino's functionality combined with the IBM mark of reliability on the Netfinity product family differentiates Lotus from its competition. With more than 70% of the worlds data residing on IBM systems, and with the innovative software products and services from Lotus Development, IBM and Lotus are taking connectivity to a new level in all aspects of business from document management to e-business.
Preview
Table of Contents
To p i c P ag e #
Developing IBM Lotus Domino 6 Applications: Foundation Skills Course Description and Strategy ..........................................................1
Preview
Table of Contents
To p i c P ag e #
Preview
Table of Contents
To p i c P ag e #
Instructor
Table of Contents
To p i c P ag e #
Appendix A: Exercise Solutions Appendix B: Identifying Programming Languages Supported by Domino Appendix C: Learning Processes and Instructor Guide Conventions
Preview
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls 1 C opyr ig ht IB M Co rp ora tio n 20 02. A ll r ight s r eser ved .
Preview
Course Description
Target audience
The target audience for Developing IBM Lotus Domino 6 Applications: Foundation Skills is Application developers new the IBM Lotus Domino environment.
Summary description
This course is a hands-on introduction to the basic skills of working in the IBM Lotus Domino Designer 6 development environment. Through instructor lecture and student-centered activities and exercises, students learn the foundation skills required to use Domino 6 Designer design elements to create Domino 6 applications. By the end of the course, students should be able to design, develop, and deploy a single-database IBM Lotus Domino 6 application.
Course goals
By the end of the course, students should be able to design, develop, and deploy a single-database IBM Lotus Domino 6 application.
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Course Description...(continued)
Topics covered
The Developing IBM Lotus Domino 6 Applications: Foundation Skills course covers the following topics:
Domino 6 application architecture Domino Designer 6 application and design environment Creating forms Adding fields to forms Creating views Creating pages Overview of programming in Domino 6 applications Working with Formula Language Creating documents Enhancing forms and pages with layers Creating sorted and categorized views Validating and translating fields Creating agents to modify data in documents Creating view and form actions Defining various security levels for application users Using hide/when options to display or hide information Using links to make application elements available to users Creating different types of links Creating a design template Determining replication requirements Determining information required by system administrators to deploy an application
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
Preview
Course Strategy
Approach
Developing IBM Lotus Domino Designer 6 Applications: Foundation Skills is the first of two core courses in the Domino 6 Application Development curriculum. This course takes a full four days to deliver correctly. Our intent with the design of this course is to give the students a solid foundation, hence the name, in designing and developing Domino applications. This course, and its follow-on Intermediate skills course, focuses on the skills needed to develop for the Notes client.
During the first two days of the course, the students learn about working with the basic building blocks in a Domino application along with learning how to work with the Formula language. During the second two days of the course the students learn how to add to the basic building blocks with more advanced functionality. This leads to automating the application and securing it. Also, on the last day students will learn what they need to know to manage an application in a production environment, and what they need to know, or be able to do, to deploy it. There is no reason not to have the students preview their work in a browser. However, to fully focus on creating Domino applications for the Web, IBM Lotus software offers a course titled Developing Dynamic Web Applications With IBM Lotus Domino 6.
Recommended agenda
The tables on the following two pages describe the recommended agenda for delivering the material over the four days.
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Course Strategy...(continued)
Day 1
The following table shows the recommended agenda for Day 1.
Time 30 minutes Lessons or Topics Course and Student Introductions
Module A: Exploring IBM Lotus Domino 6 and Domino Designer 6 30 minutes 30 minutes Lesson 1: Introduction to IBM Lotus Domino 6 Lesson 2: Exploring Domino Designer
Module B: Working with Design Elements 1 hour 1 hour 2 hours 2 hours Lesson 3: Working with Forms Lunch Lesson 3: Working with Forms Lesson 4: Working with Views
Day 2
The following table shows the recommended agenda for Day 2.
Time Lessons or Topics
Module B: Working with Design Elements 1 hour Lesson 5: Working with Pages
Module C: Programming in Domino Applications 1 hour 1 hour 1 hour 3 hours 30 minutes Lesson 6: Introducing Formula Language Lesson 7: Using Formula Language in Form Lunch Lesson 7: Using Formula Language in Form
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
Preview
Course Strategy...(continued)
Day 3
The following table shows the recommended agenda for Day 3.
Time Module D: Enhancing Design Elements 2 hours 1 hour 1 hour 15 minutes Lesson 8: Enhancing Forms Lunch Lesson 9: Enhancing Views Lessons or Topics
Module E: Automating Tasks 1 hour 30 minutes Lesson 10: Using Actions to Automate Tasks
Day 4
The following table shows the recommended agenda for Day 4.
Time Module E: Automating Tasks 1 hour 30 minutes Lesson 11: Using an Agent to Update Documents Lessons or Topics
Module F: Working with Security 30 minutes 1 hour 1 hour 30 minutes Lesson 12: Defining Access to a Database Lunch Lesson 13: Accessing Elements within a Database
Module G: Deploying the Application 1 hour Lesson 14: Preparing and Deploying the Application
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Instructor Preparation
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls 7 C opyr ig ht IB M Co rp ora tio n 20 02. A ll r ight s r eser ved .
Preview
Course Materials
Instructor kit
The following table lists and describes the content of the instructor kit.
Instructor Kit Content Developing IBM Lotus Domino 6 Applications: Foundation Skills Description Contains the following: Course description and strategy Recommended agenda Course materials Preparation checklist CLI certification requirements Classroom setup Hints and tips for successfully teaching the learning processes that will help the students accomplish the lesson objectives. Support your delivery of the course. The Classroom Setup section describes these files in further detail.
Course files
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Course Materials...(continued)
Student kit
The following table lists and describes the content of the student kit.
Student Kit Content Developing IBM Lotus Domino 6 Applications: Foundation Skills Description Contains the following: Course description Recommended agenda Lotus professional certification Learning processes Instructional content of the course, including the activities and exercises that will enable the students to accomplish the lesson objective.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
Preview
Preparation Checklist
When preparing to teach this course, consider doing the following: Read through the Student Guide and Instructor Guide. Perform all activities and exercises in the Student Guide. Perform all demonstrations and walkthroughs described in the Instructor Guide. Refer to the Interactive Instructor Guide (IIG) to get updated information on the course. Refer to the Instructor Lounge to gather useful teaching tips and techniques that other instructors have used to teach this course. Use the information in this section to find additional resources to further your knowledge of the subject. Practice the classroom setup.
10
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Preparation Checklist...(continued)
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
11
Preview
Preparation Checklist...(continued)
http://www-10.lotus.com/ldd
12
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
13
Preview
14
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Classroom Setup
The following system specifications and setup procedures were used to develop and test this course. If the classroom setup does not match these specifications, Lotus Education makes no guarantee that the learning processes in this course will perform as stated.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls 15 C opyr ig ht IB M Co rp ora tio n 20 02. A ll r ight s r eser ved .
Preview
Machine Requirements
16
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Machine Requirements...(continued)
Network
TCP/IP using either Hosts file or DNS with server and domain names defined in the TCP/IP protocol configuration. Windows 2000 Server with Service Pack 3 Or Windows NT 4 Server with Service Pack 6a Lotus Domino Server 6 Memory: 256 MB Disk space: 500 MB CD-ROM drive or access to network file server for installation Support for 256 colors, 800 x 600 resolution Memory:128MB Disk space: 250 MB CD-ROM drive or access to network file server for installation Support for 256 colors, 800 x 600 resolution Synchronize system time with all classroom machines
Instructor servers
Windows 2000 with Service Pack 3 (recommended) Or Windows NT 4 with Service Pack 6a Lotus Domino Administrator or Designer 6 One of the following browsers: Netscape Navigator 4.7 or above Internet Explorer 5.5 or above Microsoft Powerpoint Viewer (Instructor only)
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
17
Preview
18
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Course files
The following tables outline the files used in the course or provided as additional tools. The following table describes the required course configuration files.
Title WWCorps Directory /WWCorp certifier ID file Hub/WWCorps ID file Doctor Notes user ID file Doctor Notes mail file User mail files File name Names.nsf WWCorp.id Hub.id Dnotes.id Dnotes.nsf snd01.nsf snd02.nsf snd03.nsf snd04.nsf snd05.nsf snd06.nsf snd07.nsf snd08.nsf snd09.nsf snd10.nsf snd11.nsf snd12.nsf Instructor_ND510.nsf Practice_ND510.nsf Policies.nsf PoliciesCStart.nsf PoliciesDStart.nsf PoliciesEStart.nsf PoliciesFStart.nsf Supplied graphics ND510_graphics.exe Compressed file of 55 graphics used in the course. Student mail files Function Used to set up the classroom servers and administrators Note: Student ID files are contained in Names.nsf
Domino databases
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
19
Preview
Course files...
The following table describes the required course presentation files.
Title Classroom Diagrams File name ND510.ppt Function Used throughout the course to display diagrams used in the classroom. Replication concepts An animation executable used to illustrate the differences between pages and forms in Domino Designer 6
Animations
Rep50.exe PagesForms.exe
20
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
21
Preview
6 7 8
22
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Installing the Domino client software on student machines For the student machines: Repeat the procedure for each student machine in the classroom.
For Step 4, enter the user name for that machine.
For Step 6, install the Notes Client and Domino Designer only.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
23
Preview
Read the license agreement and click Accept to indicate that you will comply with the agreement. In the Server Setup window, click Next. Review the README.TXT file. Click Next. Choose one of the following options: Click Next to accept the default folder for installation. Click Browse to select a different directory. Result: The default directory is c:\ND510.
Click Finish to complete the setup. Result: The \ND510 directory is created and populated with the course files.
24
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
\ND510
\ND510\Mail
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
25
Preview
26
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
On the Welcome screen, click Next. Select Set up the first server or a stand-alone server, and click Next. Enter the following information: Server name: Hub Server title: Worldwide Corporation Hub server If using the supplied ID files, complete these steps: a. Check I want to use an existing server ID file. b. Click Browse to select the Hub.id file, then click Select. Click Next.
On the Choose your organization name screen, if not using the supplied files, enter the following information: Organization name: WWCorp Organization Certifier password: lotusnotes If using the supplied ID files, complete these steps: Check I want to use an existing certifier ID file. Click Browse to select the WWCorp.id file, then click Select. Click Next.
6 7
Enter the password, and click OK. For the Domino domain name, enter WWCorp and click Next.
(continued on next page...)
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
27
Preview
Step 8
Action On the Specify an Administrator name and password screen, if you are not using the supplied files, than the following fields should already be filled-in. If not, enter the following information: First name: Doctor Last name: Notes Enter the Administrator password: lotusnotes If using the supplied ID files, complete these steps: Check I want to use an existing Administrator ID file. Click Browse to select the Dnotes.id file, then click Select. Click Next.
9 10 11
Enter the password, and click OK. For Internet services, select Web Browsers (HTTP services) and click Next. Review the default enabled port drivers and host name. To change these settings: Click Customize. Enable or disable any ports, add ports or delete ports. Enter the fully qualified Internet host name for the server, hub.wwcorp.com. Click OK. Click Next.
12 13 14
On the Secure your Domino Server screen, accept the defaults and click Next. Review the information selected during this session. To confirm setting up the server with this information, click Setup. When setup completes, click Finish.
(continued on next page...)
28
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
17
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
29
Preview
On the Welcome screen, click Next. On the User Information screen, enter: Name: Doctor Notes Domino server: Hub/WWCorp Check I want to connect to a Domino server, and click Next.
If the ID is not found in the Domino Directory, the setup program will request the location of the Notes ID file. To locate the Notes ID file: Click Browse, select Dnotes.id, then click Open. Click Next. Click Yes to copy the ID file to the local data directory. If the user ID is stored in the Domino Directory, the setup program will copy the ID file to the local data directory automatically.
5 6 7 8 9 10
Enter the password, and click OK. On the Additional Services screen, it is not necessary to select any additional services for this course. Click Next. When the Notes setup is complete, click OK. On the Notes 6 Setup screen, click No thanks, just give me the defaults. Result: The standard Lotus Notes 6 desktop displays. Choose File Preferences User Preferences and click Basics. On the Basics tab in the Additional Options section, select the following options if not already selected and then click OK: Enable Java applets Enable JavaScript Use Web palette
30
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
31
Preview
Click Password Options, then: On the Password Quality Scale, select Weak password, not very secure (6). Select Set internet password. Select Synch internet password with Notes ID password. Click OK. On the Mail panel, do the following: Select Create file in background. Click Mail Server, enter Hub/WWCorp, then click OK. For Mail file owner access, select Manager. On the Address panel: Verify that the Internet Domain is wwcorp.com For Address format, select FI LastName. On the ID Info panel, verify that the certifier ID is /WWCorp and that the user ID will be stored in the Domino Directory. On the Groups panel, select the Students group in the left pane, then click Add.
(continued on next page...)
10 11
32
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
C la ssro om S etu p
Step 12 13
Action After completing all required fields, click to add the user to the queue.
Repeat Steps 5 through 11 for each of the following student accounts: Student ND02 Student ND03 Student ND04 Student ND05 Student ND06 Student ND07 Student ND08 Student ND09 Student ND10 Student ND11 Student ND12 To register all users in the queue, click Register All. Click OK to acknowledge successful registration. When finished, click Done to close the Register Person dialog box.
14 15 16
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
33
Preview
34
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
A
Exploring IBM Lotus
Domino 6 and Domino
Designer 6
Preview
36
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Objectives
After completing this lesson, you should be able to:
9 Describe Domino and its functions
9 Describe the structure and components of a Domino database.
9 Access data in a note.
St uden t G ui de P age No . 18
37
Preview
At the end of this diagram process, the students should have an understanding of how Notes should be used, and a high level understanding of a couple of infrastructure topics. Keep the discussion at a very high level so that the students do not get overwhelmed with too much detail. The idea is to give them a good foundation and a perspective for what is to follow.
This discussion should take 10 or 15 minutes maximum! Do not go into a discussion of Websphere as it will only confuse the students at this point. Caution
38
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Domino also integrates with back-end data sources such as DB2 and Oracle, and
with transaction systems such as CICS.
St uden t G ui de P age No . 19
39
Preview
40
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
As the containment model shows, to access a database, you must first access the file system.
St uden t G ui de P age No . 20
41
Preview
42
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Notes Storage Facility (NSF) maintains the data and design elements of the application. Notes Index Facility (NIF) builds and maintains lists for locating data in the application.
St uden t G ui de P age No . 21
43
Preview
44
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create a database from a template Create a new blank database Copy an existing database
Defining templates
A template is a database that contains the structure for a particular application, but does not contain any data. There are a number of standard templates that are included with Domino that let you easily set up a discussion database, a personal journal, or a collaborative team database. You will learn more about working with templates later in this course.
Step 1
Action Choose File Database New. Result: The New Database dialog box appears. Accept the default of Local to create the database on your local computer. Enter a title for the database. Enter a file name for the database. Select -Blank- from the template list. Click OK.
2 3 4 5. 6
St uden t G ui de P age No . 22
45
Preview
Use their initials in the file names and titles of their copies. Create their copies on their local systems. Bookmark their personal copies of the Student Practice and Instructor Demo database in the Notes client. Remove any bookmarks to the original databases.
Note: The students will copy the Instructor database. They will create their copy of the Practice database from the Practice_ND510.NTF template.
46
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
11
12 13 14
St uden t G ui de P age No . 23
47
Preview
48
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Action
In the Server dialog box, make sure Local is selected. In the Title dialog enter a title for the database that includes your initials. For example, if your initials are ABC, enter Practice ABC. In the File name dialog enter a unique file name for your copy of the database. For example, if your initials are ABC, enter PracticeABC.nsf
5 6 7 13 14
In the Specify Template for New Database section, select the classroom server in the Server dialog. In the Template list, highlight Foundation Practice Template. Click OK. Result: The new Practice database opens in the Notes client. Right-click on the window tab for your database. Choose Bookmark. Click OK.
St uden t G ui de P age No . 24
49
Preview
50
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Characteristics of notes
All notes in a database are essentially the same. They are peers to one another and do not share hierarchical or other relationships. Notes only differ in the data values they contain and how Domino uses them.
St uden t G ui de P age No . 25
51
Preview
52
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Types of notes
A Domino database contains Header, ACL, and Design notes. It also contains Data notes once the users of the database creates them. Some notes are created by users and developers and other notes are maintained by Domino to track and control information in the database.
Design
St uden t G ui de P age No . 26
53
Preview
54
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 27
55
Preview
Properties, such as the created date and last user to modify the document Item values and meta-data, including the data type and special flags (Summary and RichText) The document ID
56
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Fields
List of the items in the document and the data each item contains. Selecting an item in the left pane displays its value and meta-data in the right pane. Meta-data includes the data type and special flags Domino uses when dealing with this data. The Unique ID of the document.
Document IDs
Fields on a form
Columns in a view
Programmatically via any of the following:
Formula language
LotusScript
JavaScript
Java
XML
St uden t G ui de P age No . 28
57
Preview
The last part of this lesson addresses using the Notes client and a Web browser to access a Domino application.
58
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Open the Customer view in your copy of the Instructor database. Answer the following questions:
Who last updated the document? When was the document created? What is the data type of the CustomerID item?
St uden t G ui de P age No . 29
59
Preview
Open the Instructor Demo application, Instructor_ND510.nsf, using the Notes client, and describe the Domino services being used as the database opens (including Authentication and Authorization). When the Instructor Demo database opens, it displays two messages:
A message welcoming you - indicating that you have been authenticated A message identifying your access level - indicating that you have been authorized to access this database.
Stop the message boxes from popping up for the rest of the class by commenting out the two MessageBox statements at the end of the code in the PostOpen event of the Database Script.
Instructor Task
60
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4
The following diagram illustrates the Notes client accessing a Domino application.
St uden t G ui de P age No . 30
61
Preview
62
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 31
63
Preview
Caution
Note about step 2 in the table on the student guide page. Authentication does not always happen. Authentication is the process of verifying the identity of a user (or server). It depends on the server setup and the database ACL. If both server and database allow Anonymous access, no challenge is issued to the client and the user is not authenticated. The result is that the user is identified as Anonymous.
64
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4 4
The following diagram illustrates how a Web browser accesses a Domino application. In this example, data is also accessed from DB2.
St uden t G ui de P age No . 32
65
Preview
66
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The IBM Lotus Domino Designer 6 (Designer) client is used to create IBM Lotus Domino applications. In this lesson, you will explore Designer.
Objectives
After completing this lesson, you will be able to:
9 Access the design of a database.
9 Access individual design elements within the database.
9 Create application bookmarks in Designer.
St uden t G ui de P age No . 33
67
Preview
Collapse and expand a database to show the bookmark icons. List different design elements in the Work pane by clicking them in the Design list. Go to different windows by clicking tabs and close windows by clicking the X in the window tabs.
68
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Work pane
St uden t G ui de P age No . 34
69
Preview
70
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
the application. Automate tasks. Control navigation. Actions and agents: Can run scripts when a user does something. Hotspots, framesets, outlines, and image maps: When used in combination, allow users to move around the appli cation quickly and easily.
The Access Control List (ACL) and other elements, which identify the users who can:
Create, read, and modify data. Change the design of the application.
St uden t G ui de P age No . 35
71
Preview
72
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
pane
Programmers pane
Objects tab
Reference tab
Script area
Preview
74
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Reference tab
Script area
St uden t G ui de P age No . 37
75
Preview
76
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Action
Click the folder icon in the Design pane. Result: The Create Folder dialog box opens. Enter a name for the new folder. Call it Foundation. In the Create Folder dialog box, select the -Folders- location. Click OK. Result: The folder appears on the Bookmark bar. If you move the cursor over the folder, its name appears as pop-up text. Now create a bookmark within the folder. Choose FileDatabaseOpen. Select the name of your Practice database. Click Open. Result: The database is opened in Designer. Drag the database icon to the Foundation folder. Result: A bookmark for the Foundation practice database is created in the Foundation folder.
7 8 9
St uden t G ui de P age No . 38
77
Preview
Explain the uses of the course Practice database. Explain the uses of the Instructor Demo database. Show the finished Policies database, Policies.nsf, so that the students see what they will create throughout the course.
78
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Practice database. This database is used in Guided Practices and some exercises. You created a personal copy of this database from a template in Lesson 1. Occasionally you will access the Instructor demo database. You created a personal copy of this database in Lesson 1. Policies database. You will create this database during exercises throughout the course.
The Policies database that you will design and develop will contain corporate polices and procedures for Worldwide Corporation. It will also contain a discussion forum so that employees can ask questions about policies or procedures.
The Scenario
Worldwide is an international pottery manufacturer. The company sells ceramics worldwide. Products include tiles, china, and various kinds of pottery. The corporate office houses manufacturing, research and development, product management, quality control, human resources, and system administration. There are several smaller sales offices and resellers throughout each region, and some sales representatives who work from their homes.
St uden t G ui de P age No . 39
79
Preview
80
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
B
Working with Design Elements
Lesson 3 Working with Forms Lesson 4 Working with Views Lesson 5 Working with Pages
Preview
82
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Forms display and collect information. A form provides a structure for creating and displaying documents.
Objectives
After completing this lesson you should be able to:
9 Define a form.
9 Design a form.
9 Create a form.
9 Add text and formatting features to forms.
9 Preview a form in Notes and on the Web
9 Create fields to store data.
9 Describe the different types of fields.
9 Set a default value for a field.
9 Use Hide/When options to determine when to display data
St uden t G ui de P age No . 42
83
Preview
Defining Forms
Examine the parts of a form
84
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Forms
A form is a design element through which data is entered and displayed. Forms contain application logic, and can act on data. The data collected via a form is stored in a data note, also described as a document. When a user adds information to a database through a form and saves it, the information is saved as a separate document from the form. When a user opens a document, the document uses the form as a template to provide the structure for displaying the data. Forms consist of the following: Fields used to collect or display data. Static elements, such as text, graphics, and tables used to control appearance and user interface. Programming to act on data. The following graphic represents the form design element.
St uden t G ui de P age No . 43
85
Preview
Defining Forms...(continued)
86
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Forms...(continued)
Database notes
A form is a design note stored inside a Domino database. The data it contains is the description of the form. Domino databases contain four different types of notes. The following table briefly describes the four note types stored in a database and their function.
Note Type Header Function Contains information about the database itself, such as its name, size, creation date. Each database has a single header note. Stores the Access Control List, a list of names and permissions associated with the database. Each design element, such as a form, view or page is stored in the database as a design note. The form design note acts as a template used to create new documents or display information. A data note holds the information entered using a form, as well as system data used by Domino for management purposes.
Data Note
St uden t G ui de P age No . 44
87
Preview
Defining Forms...(continued)
88
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Properties Other elements, such as: Subforms Shared fields Buttons and actions
Control attributes of the form. For example, a background color is a form property. Offer additional tools to the designer, often enhancing interactivity or efficiency of the form.
St uden t G ui de P age No . 45
89
Preview
Designing a Form
Discuss planning with design elements
It might be helpful here to briefly discuss the aspects and significance of the
following when planning a Domino application:
Design standards
Method and importance of gathering system requirements
Identifying project stakeholders
Collaboration with the Domino system administrator
Designing a form
To open a discussion on forms, ask the students what they would use forms for. Use the questions on the Student Guide page as a starting point. Note: Dont worry about the programming necessary to accomplish some of these tasks. Right now, emphasize that you are brainstorming and working in a general sense and will focus on the specifics as the course progresses.
90
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing a Form
When designing a form, consider the following questions:
St uden t G ui de P age No . 46
91
Preview
Creating a Form
Create a form
Open the Instructor Demo database in Domino Designer to demonstrate creating a form.
Create a form. Add a line of text. Dont worry about formatting the text which appears later in this lesson.
92
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a Form
Once you have decided upon your forms design, you can create it.
Creating a form
Follow these steps to create a form.
Step 1 2 Open the database in Designer. In the Design pane, click Forms. Result: In the Work pane, the list of existing forms appears. The New Form button appears on the button bar. In the Work pane, click New Form. Choose Design Form Properties Enter a name in the Name field. Close the properties box. Add elements to the form. Save the form. Action
3 4 5 6 7 8
St uden t G ui de P age No . 47
93
Preview
Creating a Form...(continued)
Each property box looks and behaves the same way. The difference from one
element to another is the actual properties that can be set.
94
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a Form...(continued)
Properties boxes do not need to be closed after each modification. They are live
and change to reflect the latest element selected. Changes are applied
immediately.
The following graphic shows the Form properties box.
Individual Properties
St uden t G ui de P age No . 48
95
Preview
Creating a Form...(continued)
Form names
Point out the form name guidelines listed in the Student Guide. Give examples from your own experience of good and bad form names. Aliases are covered in the next topic. For an example of a cascading menu topic: Choose Create Document in Domino Designer. A list of existing forms appears to the right. This is a cascading menu. Note: This is also a good opportunity to direct students to Designer Help for Naming forms to get more complete answers.
96
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a Form...(continued)
Form names are also case-sensitive. Although the name itself is limited to 64 bytes, the size limit increases to 256 characters if there is a name alias or cascading menu option.
St uden t G ui de P age No . 49
97
Preview
Creating a Form...(continued)
Use the form you created previously. Choose Design Form Properties In the name box give the form an alias. Save the form
Indicate to students that there is more than one way to open a properties box and that for continuity, the procedures and guided practices will use the menu bar option, although students are free to use whatever method they prefer, such as the right mouse click options.
98
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a Form...(continued)
Aliases
An alias is simply another name for a form or other design element. Aliases are a short way to refer to the form. If an alias exists, it is used to:
Refer to the form programmatically. Consistently refer to the form, even if the name of the form changes.
Aliases are an internal reference to the form, or element they are associated with.
Action
* Press SHIFT + \ for the pipe symbol. 4 5 Close the Form properties box. Save your form.
St uden t G ui de P age No . 50
99
Preview
Creating a Form...(continued)
100
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a Form...(continued)
Create a form
Follow these steps to create a simple form with an alias.
Step 1 2 3 4 5 Action Open the Practice database. Click Forms in the Design list. Click New Form. Choose Design Form Properties. Type the following name and alias into the Name box.
Employee Information | ei
Result
A list of existing forms appears in the Work pane. A new blank form is opened. The Form Properties box is opened.
6 7
Close the Form properties box. Save the form. Your new form and its alias appears in the form list.
St uden t G ui de P age No . 51
101
Preview
102
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Static text, for example, the form title, field labels, or explanatory text. Dynamic text, for example, text that is computed.
Formatting text
Use the text properties box to modify text on your form. Using the text properties
box you control:
Font
Paragraph Alignment
Paragraph Margins
Paragraph Border
When to display or hide a paragraph
Paragraph Styles
St uden t G ui de P age No . 52
103
Preview
104
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Click on the Paragraph Alignment tab and choose the centered text option.
Click on the Paragraph Border tab and choose the Double style. Select Drop Shadow.
A border box appears around your text, running the length of the form.
7 8
St uden t G ui de P age No . 53
105
Preview
106
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result: You are prompted to save any changes to the design element. Then, the design element is opened in the selected client.
3 Close or minimize the preview program and return to Designer.
St uden t G ui de P age No . 54
107
Preview
108
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Types of tables
Domino Designer provides four types of tables. The following table describes these types.
Display Basic Tabbed Animated Description Displays data organized into rows and columns. Looks like a grid or spreadsheet. Displays each row of data as a separate tab. Users view information displayed in the rows by selecting a tab. Displays one row of the table at a time based on a specified time interval. Animated tables are not supported on the Web and are not designed for data entry on forms. Displays a different row of the table based on an action or field
Programmed
St uden t G ui de P age No . 55
109
Preview
Create a table
In the Instructor database, open the form you created previously in this lesson. Add a table with 2 columns and 2 rows. Point out the different width and table type options.
110
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a table
Follow these steps to create a table.
Step 1 2 3 4 5 6 7 Open a form in Designer. Choose CreateTable from the menu. Specify the number of rows and columns for the table. Specify the table width. Select a table type by choosing one of the options. Click OK. Save and preview the form. Action
St uden t G ui de P age No . 56
111
Preview
Creating Fields
Introduce fields
Now that students have seen how to create a form and add text and tables, talk about fields. Open the Demo form in Designer to show several different fields. Preview the form in the Notes client to demonstrate how the fields:
Have students create a document or two using the Demo form in their Practice databases.
112
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating Fields
A field is a part of a form that collects, calculates, or displays data. Each field stores a single type of information. The type of information a field accepts must be defined. Fields are used to:
Enter data in documents. Modify the content of documents. View data in documents. Calculate data through formulas.
St uden t G ui de P age No . 57
113
Preview
Creating Fields...(continued)
Add a field to a form. Show students the default settings on the Field Info tab of the Field properties box.
114
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating Fields...(continued)
Field name
Field type
How the field is populated
3 4
*Note: Like many applications, there can be several options for performing a task. In this course we use the menu bar option for consistency. However, feel free to choose whichever method you are most comfortable with.
St uden t G ui de P age No . 58
115
Preview
Creating Fields...(continued)
116
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating Fields...(continued)
Naming fields
Each field in a form must have a unique name in that form. Use the following rules and guidelines when naming fields. Field names cannot:
Exceed 32 characters. Begin with a number. Use the @ symbol. Contain spaces.
Caution
Field names can begin with dollar signs ($). However, this typically indicates a reserved field name. These types of fields add functionality that you would otherwise have to program yourself. If you try to use a reserved name in a way that is different from its intended use or redefine the field, Designer displays an error message.
St uden t G ui de P age No . 59
117
Preview
Creating Fields...(continued)
Editable: Name, address, etc. Computed: Date created, who last edited the document, etc. Computed for display: A calculation based on other fields in the document. Computed when composed: Who created the document, etc.
Spend some time discussing design considerations for fields and their layout
118
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating Fields...(continued)
The type of data that you want to capture (text, number, date, etc). Logical position of fields on the form (consider data entry flow). How to identify to users the purpose of the field (for example, field labels). How the data should appear to the reader. How to identify the field for yourself when designing the application (field name).
Domino processes forms from the top-left to the bottom-right. Keep this in mind if you create fields whose calculations are dependent upon other fields on the form.
St uden t G ui de P age No . 60
119
Preview
Show Native OS
Use the Demo form to demonstrate the Native OS property. Use the Native OS option with text fields.
120
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 61
121
Preview
122
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
8 7
St uden t G ui de P age No . 62
123
Preview
Open the Demo form to show an example of a Listbox field (Department). Modify this field to demonstrate how the other list field options would look. Preview your changes in the Notes client and a web browser.
Note: Dialog lists are rendered in web browsers as combo boxes. Note: Open the Creating fields to display a list of choices document in Designer Help for more detailed information on these field types.
124
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4
St uden t G ui de P age No . 63
125
Preview
Explain that formulas are covered in great length later in the course. Briefly explain the UI of the Programmers pane. This is also covered later. In the Instructor database use the Demo form to set a default value in the Department listbox. For example, change the default to Sales.
126
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
object list. Default value should be highlighted. If not, click once on Default Value to select this event. 4 In the Script area, enter the default value surrounded by quotes. Click the checkmark. Result: A value surrounded by quotes displays in the Script area. Caution: This value must exactly match the field names spelling and case. Save the form and preview the design changes.
The following graphic shows the Programmers pane with a field entered as a default value.
St uden t G ui de P age No . 64
127
Preview
128
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4
A new field is inserted. The name and field types are set.
Just above the script area, the text EmploymentStatus (Field): Default Value displays. The value is entered in the Script area.
St uden t G ui de P age No . 65
129
Preview
130
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Authors
An Authors field is a type of field that works in conjunction with the Author access level in the database's Access Control List (ACL). Authors fields do not override the setting in the ACL. They offer developers more control over which users can edit data in the application. Entries in a Readers field cannot give a user more access than is specified in the ACL; they can only further restrict access.
St uden t G ui de P age No . 66
131
Preview
Point out that a blank value defaults to null which is text, not a number
Note: Have the students add a Salary field to the Employee Information form.
132
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Caution
If a numeric field is saved with a blank, an error will occur if you try to compute a value based on it. A blank value is represented by two quotations, "", and evaluates to a text string. To ensure that numeric fields maintain the proper data type, set an appropriate default value in the Programmers pane.
St uden t G ui de P age No . 67
133
Preview
134
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 68
135
Preview
Show students the Hide/When tab on the Field properties box. Explain the options available. Define a paragraph, i.e. between carriage returns. Point out that when a field is hidden, the entire paragraph on the form that contains the field is hidden as well. Mention that tables can be used to hide information within a line of text since each cell is treated as an individual paragraph.
136
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The following table details the options available for hiding elements.
Option Previewed for reading Previewed for editing Description The hidden information is not visible when users read documents in the document Preview pane. The hidden information is not visible when users work on documents in Edit mode in the document Preview pane. The hidden information is not visible when users open documents in Read mode. A field that cannot be read cannot be printed or copied to the clipboard. The hidden information is not visible when users work on documents in Edit mode. The hidden information is not visible on printed documents. The hidden information is not visible when information is copied to and pasted from the Clipboard. The hidden element is not visible when the document is an embedded document. A formula determines the circumstances in which information is hidden.
Opened for editing Printed Copied to the Clipboard Embedded Hide paragraph if formula is true
St uden t G ui de P age No . 69
137
Preview
138
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Is it appropriate for all users to see this data? Do users need to see the data at all times?
For example, World Wide Corporation has a standard form filled with information about their employees. When a manager opens an employees profile, she doesnt need to see all the company departments, just the one to which the employee belongs. On the other hand, when new employees are added, or an existing employees information is updated, it would be helpful to see all the departments. The following table outlines conditions to hide information.
If Users Are... Reading a document Editing, creating, or printing documents Then... Hide information that is useful only when users create or edit documents. Hide information that is useful when users read documents.
In the previous example, the Department field is a list field. In order to view the list field while editing and the resulting data when reading, create the following two fields:
A list field containing all the World Wide Corporation departments. A computed for display field to display the resulting value
St uden t G ui de P age No . 70
139
Preview
Modify the Department field to display only when in edit mode. Show how this field appears in Create/Edit mode versus Read mode. Use Hide/When properties and create a computed for display field so that only the selected value of a list field (and not the list of choices) displays in Read mode.
Be sure that students understand how to switch between Read mode and Edit mode.
140
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4
5 6 7 8
St uden t G ui de P age No . 71
141
Preview
142
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The default value for the new field is set to the value of the EmploymentStatus field.
pane, enter EmploymentStatus. 3 To set Hide/When properties for the new field: Highlight the field. In the Field properties, click the Hide/ When tab. Select Previewed for Editing and Opened for Editing. To set the Hide/When properties for the EmploymentStatus field: Highlight the field. Open the Field properties box. Click the Hide/When tab. Choose Previewed for Reading and Opened for Reading. Save and test the design changes. Create 4 or 5 documents using this form. The field will only display when the form is in Read mode. It will not display when the user is editing the document.
The field will only display when the form is in Edit mode. It will not display when the user is reading the document.
The EmploymentStatus field displays in Edit mode. The DEmploymentStatus field displays in Read mode.
St uden t G ui de P age No . 72
143
Preview
Exercise: Create a database, and a form that contains a table and fields
Present the review questions
Before introducing the exercise, go over the following review questions:
What is a form and what can it consist of? What should you consider when designing a form? What are the three minimum field characteristics you must specify? Is the Hide/When option a secure one? Under what conditions do you use this option?
Preview the Policy form in the Policies and Procedures database (Policies.nsf) in the Notes client so that students have an idea what they are working towards. Indicate that students are free to experiment with the field types they feel are most appropriate, for example, some might create the Category field as a listbox and others might use the radio button. Display the example exercise screen shot in the Practice database. Allow students 20 minutes for this exercise
144
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Exercise: Create a database, and a form that contains a table and fields
Worldwide Corporation is in the process of creating organizational policies. In this exercise you will create a database and the form that will be used to enter the companys policies and procedures.
Tasks
Create a new blank database. Name it Policies.NSF. Create a new form in the new database. Name it Policy. Title the form Policies and Procedures. Format the title. Use a table to organize the following fields and field labels. Add the following field labels and field names to collect and/or display the following information: Policy Number: PolicyNo Policy Title: PolicyTitle Effective Date of the policy: EffectiveDate Policy Description: Description Policy Category: Category The categories are Office Guidelines, Benefits, Holidays and Grievance Procedures The category should display when the document is in the read mode, while all the categories should be visible when the document is in edit mode Test the form.
Create several documents from the new form to see if the correct information is gathered and displayed. Close the document and reopen it to test the Category field functionality. Note: The database will contain a default view. All of the documents you create will appear in this view. You will create a customized view in the next lesson.
St uden t G ui de P age No . 73
145
Preview
146
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Domino application developers use views to organize documents according to the needs of the users of the application. In this lesson, you will learn the basics of view architecture and working with views.
Objectives
After completing this lesson, you should be able to:
9 Design a view
9 Create a view
9 Specify documents for a view
9 Create a column
9 Specify contents for a column
9 Organize contents of a view
9 Format a view
9 Set view column totals
St uden t G ui de P age No . 74
147
Preview
Introducing Views
Explain these important points about views
Each row represents data from a single document. Column values are typically created using data from or information about a document. Excessive numbers of views and poorly designed views can have a serious impact on database performance. Views should be designed early in the application development process
Show a view
Open a view in the Instructor database to show students the main elements of a view:
148
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Introducing Views
The purpose of the View design element is to create an organized list of documents so that users can find the information they need. Views are one of the entry points to the documents stored in a Domino database. All databases contain at least one view. However, most databases contain more than one view. The following graphic represents the View design element.
Characteristics of a view
The following list describes some of the characteristics of views:
A view is a list of documents in a database. Each row in a view represents a document in the database. Each column displays information from or about the document in that row. A view may include all documents or a subset of documents based on selection criteria. Users read the information in the view to locate specific documents. Excessive numbers of views and poorly designed views can have a serious impact on database performance. Views should be designed early in the application development process
St uden t G ui de P age No . 75
149
Preview
Introducing Views...(continued)
Domino generates it. It is based on the documents the developer determines should appear in the view. It determines the order of the documents. Domino determines where to store the view index depending on the View type (for example, Shared or Private) and where the database resides. Describe the view index and its function.
Delay further discussion about the last bullet until the Explain the guidelines for setting initial view properties section.
150
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Introducing Views...(continued)
St uden t G ui de P age No . 76
151
Preview
Introducing Views...(continued)
152
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Introducing Views...(continued)
Open and close collections. Update the index. Locate notes within an index. Locate index entries. Update collections.
St uden t G ui de P age No . 77
153
Preview
Introducing Views...(continued)
154
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Introducing Views...(continued)
St uden t G ui de P age No . 78
155
Preview
Designing a View
Instructional methodology
Designing a view is a complex procedure and has been divided into five smaller tasks as listed in the checklist on the Student Guide. As a developer becomes more comfortable with Designer, these tasks can be done in almost any order. This is an instructional methodology and not intended to be a design methodology.
Tips on designing a view Emphasize the importance of understanding the business needs as you design a view. Give some real-life examples from your experience.
Explain that views should show no more or less than the users need to see in order to locate the document(s) of interest. Views can make or break an application.
Design a view
Design a new view for the Instructor database with input from the students. Demonstrate how to sketch a simple view on the board for a set of documents. Use this design to demonstrate the many procedures involved in creating a view.
156
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing a View
Effective views allow users to find information quickly and easily. As a developer,
you must understand the needs of the users.
When designing a view, consider the following:
Note: These steps will be discussed in more detail in the following sections of this lesson.
St uden t G ui de P age No . 79
157
Preview
View name: Whatever you want View type: Shared Location: Views Copy style from: Blank Select condition: None
Refresh the view to show that many documents are being viewed. Note: Continue working with this view as you go through the next several demos.
158
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a view
Follow these steps in Domino Designer to create a new view.
Step 1 2 3 In the Design pane, click Views. In the Work pane, click New View. In the Create View dialog box, set the initial view properties. Click OK. Result: Domino creates the view and adds it to the list in the Work pane. Action
St uden t G ui de P age No . 80
159
Preview
160
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
the user typically stores documents in folders and wants to quickly find all others. Select Shared, contains deleted documents for users to drag out of the trash to a folder, or undelete, if the soft deletions option has been activated. Select Private to create a personal view for a single user. Select Shared, private-on-first-use views to distribute views that begin as shared, but change to private once a user has accessed and saved the view. Note: You cannot change the type once you create a view. Location
Use up to two levels in a hierarchy. Group views that include the same documents together. Creates a cascaded list of views.
Note: Typing a backslash (\) after a views name with a new name accomplishes the same cascaded view menu. Copy style from Selection conditions Use the design of another view in the current database as a template.
Leave the condition blank to include all documents in the
database.
Click Add Condition and use the Search Builder to specify
criteria for including a subset of documents in the view. Change the selection conditions after you create the view.
Note: It is better to have one well designed view than a dozen poorly designed views.
St uden t G ui de P age No . 81
161
Preview
Using an alias
Using an alias is a good habit to practice. Encourage students to adopt a standard naming convention for aliases.
In the Instructor database, open the Demo View. Enter an alias and comment.
162
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 82
163
Preview
Open the Instructor database. Add a selection condition to the View Demo view to include only documents that use the Demo form. Refresh the view to show the change.
Walk through the different conditions to show how the available options change.
164
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
5 6
In the Simple Search dialog box, create a condition. Click OK. Refresh the view index in Designer. Result: Designer rebuilds the view index with the new selection condition.
St uden t G ui de P age No . 83
165
Preview
166
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Note: The Simple Search builder is a tool used mainly by end users to simplify setting view conditions. It does not replace formulas. Developers should use the select statement Formula building will be discussed in Module C, Programming in Domino Applications.
St uden t G ui de P age No . 84
167
Preview
168
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result
The create view box is opened. A new blank view is created and displayed in the Work pane.
St uden t G ui de P age No . 85
169
Preview
170
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
9 10
12
St uden t G ui de P age No . 86
171
Preview
172
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 87
173
Preview
Computed for display Rich text Encrypted (Stay high level on what encrypted fields are because it is beyond the scope of this course.)
Explain that constants can be considered formulas in this context. For example a column with the formula 1. Note: Module C: Programming in Domino Applications discusses formulas.
Open the View Demo view and select the first column. In the Programmers Pane, select each of the three values, Simple Function, Field and Formula to demonstrate the different options available.
174
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Simple Function
Formula
Formula
Write a formula.
Displaying multiple fields in a single view column will be discussed in Module C: Programming in Domino Applications.
St uden t G ui de P age No . 88
175
Preview
176
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Title
column programmatically. This is similar to giving a form or view an alias name. Indicate if the values in the column should appear as links when the view appears on the Web.
St uden t G ui de P age No . 89
177
Preview
178
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The Programmers pane displays all the fields available in the Practice.nsf database.
3 4
The Department column appears to the right of the Last Name column.
8 9 10
St uden t G ui de P age No . 90
179
Preview
180
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Standard: Sorts documents by the column value in ascending or descending order. Categorize: Groups together documents with the same column values.
When you sort or categorize a column, you are changing the order in which the view displays the documents to users.
Sorted columns
A sorted column displays documents in a specific order. The following table describes how a view sorts different types of values.
Columns that Display... Text values Number values Date/time values Sort Documents... Alphabetically Numerically Chronologically
If the column being sorted contains text, there are two other options that could be useful:
Case sensitive sorting: sorts lowercase letters before uppercase letters -- for example, "ab" sorts before "Aa." Accent sensitive sorting: sorts accented characters after non-accented characters. For example, "ab" sorts before "a."
St uden t G ui de P age No . 91
181
Preview
Sort the documents in a view using the column properties. Use the Refresh icon to display the changes to the view.
In the View Demo view of the Instructor database, sort the documents in ascending order by last name.
182
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
St uden t G ui de P age No . 92
183
Preview
184
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Descending
Both
St uden t G ui de P age No . 93
185
Preview
186
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The Last Name column has a two headed arrow in the column title header.
St uden t G ui de P age No . 94
187
Preview
188
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Categorized columns
A categorized column groups related documents together in a view based on the column value. The following graphic shows a categorized view.
St uden t G ui de P age No . 95
189
Preview
190
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Set the width of the column to 1. Show twisties when the row is expandable. Use bold and color to make the categorized column value stand out from other information in the view.
St uden t G ui de P age No . 96
191
Preview
Formatting a View
Set view properties
Do not spend too much time on the Options and Security tabs. Demonstrate how to set the following properties and display the results:
In the Instructor database, modify the view properties for the View Demo view.
192
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Formatting a View
Use the View properties box to format the view.
Formatting a view
The following table describes some of the properties in the View properties box.
Tab Options Set Properties to...
Open the view by default when the database opens. Specify this view as the default for all new views. Specify how the view displays the documents when it
opens. Style
Apply color to the views background. Apply an image to the views background. Display alternate rows in different colors. Display totals in the column. Set row spacing.
Advanced Security
Determine when Domino refreshes the view index. Set colors for links in a Web browser. List users who will use the view in the database.
Note: This option does not prevent users from seeing data in the documents displayed in the view. Users could select to display the same documents in another view or folder that they create.
St uden t G ui de P age No . 97
193
Preview
What is a view and what is its function? Why should you use the sort capability of a view, rather than build one view for each way that your users want documents to be sorted? What should you consider when designing a view? List the ways that you can determine the values that a column displays. What are some best practice guidelines you should use when categorizing a view?
Discuss the knowledge and procedures required to complete the exercise. Open the Policy form and talk through the data the students should display in the view. Encourage students to sketch the view before they start building it. Direct students to create the view from scratch. Allow 20 minutes for this exercise.
194
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
List documents created with the Policy form. Display the title of the policy and its effective date (in that order). Organize the documents by the type of policy (Guidelines, Holidays, and so on).
Tasks
St uden t G ui de P age No . 98
195
Preview
196
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
A page is a design element similar in concept to a static HTML page. Domino pages contain text, graphics, and links, and are used to display information. This lesson introduces the information you need to create and modify a page in an application.
Objectives
After completing this lesson, you should be able to:
9 Describe the page design element.
9 Describe the differences between pages and forms.
9 Create and modify a page in an application.
9 Create and incorporate shared resources.
9 Format information in section.
9 Display pages.
St uden t G ui de P age No . 99
197
Preview
Pages do not have fields to collect and calculate data. Users can not create pages. Only developers can.
Note that HTML on a page CAN define fields. Students familiar with HTML may bring this point up.
198
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
All of the elements available to pages are available to forms; however, not all elements available to forms are available to pages. Caution
Organizing elements
The following elements can be used to organize and display information on a page.
Element Tables Sections Layers Description Information organized in rows and columns Collapsible and expandable areas that can include text, graphics, and objects Control the placement, size, and content of information in overlapping blocks.
199
Preview
200
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Programmable elements
The following programmable elements can be used on pages.
Element Applets HTML Javascript libraries Actions OLE objects Computed Text Description Small programs such as an animated logo or self-contained application. Hypertext Markup Language which can be written directly on the page or imported from another source. A JavaScript library is a place for storing and sharing common JavaScript programs and code. You can insert an existing JavaScript library into a page, form, or subform. Buttons or hotspots which automate tasks for a user. Links or objects which represent data in another application. Generates dynamic text based on formula results.
Navigational Elements
The following navigational elements can be used on pages.
Element Imagemaps Description A graphic or collection of graphics, overlaid with programmable hotspots. Hotspots, in the form of pop-up text, actions, links, and formulas, perform an action when clicked by a user. You can embed the following elements in a page: A view or folder pane Navigator Outlines Date picker Use these elements alone or combine them to control how users navigate through your application.
Embedded elements
201
Preview
202
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Examine a page
Follow these steps to examine a page, its elements and properties.
Step 1 2 3 4 Action In the Design pane, select Pages. Double-click the First Look page to open it. Choose Design Page Properties. Single click on the following elements to see the different properties boxes: The IBM logo The picture The text Close the properties box. Result A list of pages appears in the Work pane. The First Look page opens The Page properties box opens. The properties box changes to Pictures and Text.
203
Preview
204
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Using pages
When developing or updating an application, designers determine when to use a page versus a form to display information. The following table lists the conditions used to determine whether to use a page or a form.
If the goal is to... Display static information such as company data and background information Collect and store information from end users Use a... Page to structure and display information
205
Preview
Creating a Page
Explain the process for creating a page.
Create a page
Walk through each phase of creating a page as you discuss the process.
Create a new page in the Instructor database.
Point out the similarities between creating a page versus a form.
206
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a Page
Application developers design, create and control the display of pages. Application users see pages as they navigate through the application. When developing pages:
Create the page Set the page properties. Add the required elements.
Creating a page
Follow these steps to create a page.
Step 1 2 3 4 5 6 7 Action In the Design pane, click Pages. In the Work pane, click New Page. Select Design Page Properties Enter a name in the Name field. Close the properties box. Add appropriate elements to the page. Save the page.
207
Preview
Reference the diagram of the properties box on the Student Guide page.
208
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
209
Preview
210
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create a page
Follow these steps to create a logo page.
Step 1 2 3 4 5 Action Open the Practice database in Designer. Select Pages in the Design List Click on New Page. Name the page: Practice Page Type the following text at the top of the page Practice Page. Leave the text left-justified and format it however you like. Save and preview the page. The Pages design list appears. A blank page opens in the Work pane. The page name is set. Result
211
Preview
Incorporating Graphics
Explain the ways to add graphics
This lesson covers importing an image and inserting a shared image. There are two different menu bar options when importing a graphic from the file system:
Both produce the same result, an imported graphic image. Make sure to note that image size in bytes remains the same regardless if it is scaled down. Images should be optimized prior to importing.
Copying and pasting a picture Importing it from the file system and Inserting it as a shared resource
Talk about your experience with the pros and cons of each option.
212
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Incorporating Graphics
The use of graphics can make an application more appealing and effective. Domino provides several tools for incorporating graphics. You can:
Copy and paste a graphic from the clipboard. Import an image from a file. Insert a shared image from the shared resources area of the Domino database.
BMP (Bitmap) CGM JPEG GIF Lotus PIC PCX Tiff 5.0
Images can be used in pages and forms. Note: Web browsers support GIF and JPEG formats directly. Use these formats when designing for the Web.
213
Preview
Incorporating Graphics...(continued)
Import an image
Open the page you created earlier and demonstrate importing an image. Show both methods of importing an image:
214
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Incorporating graphics...(continued)
Action
Import
Select the images file type. Result: The Create Picture dialog box displays only image file types. File Import displays all file types that can be imported into a Designer page or form. Select or enter the file name. Click Import. Result: The image is inserted onto the page.
5 6
215
Preview
Incorporating Graphics...(continued)
216
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Incorporating Graphics...(continued)
Picture properties
A picture, like other elements, has properties which are modified using the properties box. Once a picture is added, the picture Properties box becomes available. Use properties to specify attributes or aspects of a picture such as:
Tabbed Panes
217
Preview
218
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Images
Files
Applets
Style Sheets
Data Connections
219
Preview
Select an image from image resources and choose export from the Resource menu.
Select Shared Resources Images in the Design list. Click New Image Resource. Select the any of the available image files.
220
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
221
Preview
An image resource has properties like other design elements. The difference is the actual image is not opened in the Work pane to access the properties.
222
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
223
Preview
Insert a shared image into the Page you created earlier. Preview the Page in Notes and a Web browser.
View the source information for: An imported picture A shared image resource
224
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The following graphic shows the source of an image that is a shared resource.
225
Preview
226
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
2 3 4 5
227
Preview
At the bottom of Designer Help documents, there is a section labeled Related topics. The Lotus Web site also uses sections.
228
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Expanded
Make a page less cluttered. Collapse information that is referred to only occasionally. Collapse information that is not of interest to all users.
229
Preview
Creating Sections
Create a section
Open your page:
230
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating Sections
It is more efficient to add content such as text and graphics to a page and then group that content by creating sections. However, it is possible to create sections prior to adding content.
Creating a section
Follow these steps to create a section.
Step 1 2 Create or open a page. If the content exists on the page, highlight the information to be used in the section. Choose Create Section from the menu. Result: The section is created. The first line of the section becomes the section title. If the content does not exist, place the cursor where you want to locate the section. Choose Create Section from the menu. Action
Section title border style Font attributes for the sections title Expand and collapse options
231
Preview
232
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
As part of a frameset.
As a link from a form, subform outline, or another page.
From an action.
As an outline entry that displays the page.
233
Preview
What is a Domino page and what can it consist of? How does a page differ from a form? What is the benefit of using a shared resource? When would you use sections?
234
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Create the following shared images: LOGO WW1.GIF bluerule.GIF Create a page named Info that displays the company logo, Logo WW1.gif and the company address 123 Worldwide Blvd. Metropolis, PA 45555 in a table. Place bluerule.GIF below the table. Enter the following text that describes the company. Give the text a heading. Worldwide is an international pottery manufacturer. The company sells ceramics worldwide. Products include tiles, china, and various kinds of pottery. The corporate office houses manufacturing, research and development, product management, quality control, human resources, and system administration. There are several smaller sales offices and resellers throughout each region, and some sales representatives who work from their homes. Create a section that contains the text. Save and preview your work.
235
Preview
236
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
C
Programming in Domino Applications
Lesson 6 Introducing Formula Language Lesson 7 Using Formula Language in Forms
Preview
238
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
In this lesson you will learn the basics of working with the Formula Language. You will use this information throughout the rest of the course.
Objectives
After completing this lesson, you should be able to:
9 Define the rules and syntax of Formula Language
9 Compute values
9 Compare values using operators
9 Use @Functions in formulas
9 Perform Formula language best practices
9 Interface with the user
239
Preview
Instructor Action Computing values examples: Computing the average salary of a group of employees Computing the number of products in an inventory
Important Information Point out that the students can find more detailed information on Formula language rules, syntax, etc., in Designer Help.
application Comparing two values to see which is higher or lower Automating tasks examples: Updating fields in a group of documents Notifying users in a workflow application
Statements
Describe the elements listed in the table.
240
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Statements
Formulas consist of one or more statements that are made up of a combination of the following components:
Element Variables Constants Description Variables can be fields or temporary variables. A constant is something whose value does not change. Constants can be text, numeric, or time-date. Operators assign values, modify values, and combine values into new values. @Functions are built-in formulas that perform a particular calculation and return a value. Keywords are reserved words within the Formula language that perform special functions.
241
Preview
Instructor Action Briefly discuss syntax rules and where to code the Formula language. Show them the Objects tab in the Programmers pane.
Important Information
This leads into a further discussion of objects and events in the next section.
242
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Syntax rules
All programming languages have rules. The Formula language is no exception. A formula must conform to the following general rules:
Rule title Statement separators Rule description Separate multiple statements using a semicolon. For example:
@IsNewDoc(TrueArgument;FalseArgument)
Spaces
Any number of spaces, including none, can be used between operators, punctuation, and values. Keywords and functions, however, must be separated by at least one space. Case is not significant except within text constants. By convention, keywords are usually upper case and @function and @commands are usually written in mixed upper and lower case. Two values must be separated by at least one operator.
Case
243
Preview
Triggering Events
Describe objects and events
Objects contain events. Events contain code. Discuss Domino objects, their events, and what triggers the events. Emphasize that the students need to be aware of the event triggers as they plan the code for the application. Use Domino Designer Help for a complete list of events, their descriptions, and sequencing. Look for the following topics:
244
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Triggering Events
Code is placed in an event of an object in the Programmers pane. The term object refers to the element, such as the form, field, etc. For instance, you might create a formula to compute the default value of a field. The list of Domino objects includes, but is not limited to:
Description of events
Code executes in response to an event in a Domino object. Events include opening a database, opening a view, opening a document, moving the cursor into or out of a field, etc. The following table describes several common objects, some of their related events, and what triggers their execution:
Object Database Page or Form Event & Timing Postopen - After a database is opened Queryclose - When a database is being closed onHelp - When Help is selected, i.e., when F1 is pressed onLoad - When the Form or Page is loaded PostRecalc - After the object is refreshed (and values are recalculated) Default value - When document is created Input translation - When document is saved onBlur - When the field loses focus onFocus - When the field gets focus Click - When the button is clicked
Field
Button
245
Preview
Triggering Events...(continued)
Instructor Action Demonstrate this concept using the Demo form in the Instructor demo database.
Important Information The FullName field is computed based on the values in the FirstName and LastName fields. Note that you have to save or refresh the document for the FullName field formula to run.
246
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Triggering Events...(continued)
247
Preview
Constants represent static values. Fields represent values (items) in a document. You will see text constants enclosed in both brackets and quotation marks throughout this course.
248
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Examples
Hello world. {Hello world.} 10 -6.37 37E6. [5:30 PM] [13:50] [7/11] [10/18/71 6:30 AM]
Numeric
Date-Time
12-hour format.
249
Preview
250
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
For Example...
10 + 2.37 + 15 6.05 - 2.35 TotalScore / Quantity TotalPrice * DiscountRate Welcome, + FirstName
Text values
251
Preview
252
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Then, use that variable in other statements of the same formula. For example:
@Sqrt(x);
You can also reuse a temporary variable within a formula by assigning a different value it.
253
Preview
254
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The values of A and B are equal. The value of A is less than the value of B. The value of A is less than or equal to the value of B. The value of A is greater than the value of B. The value of A is greater than or equal to the value of B. The values of A and B are not equal.
The values of A and B are not equal. The value of B is greater than or equal to the value of A. The value of B is greater than the value of A. The value of B is less than or equal to the value of A. The value of B is less than the value of A. The values of A and B are equal.
A is less than B and B is less than C. A is less than B or A is less than C. A is not less than B.
B is less than or equal to A or C is less than or equal to B. B and C are both less than or equal to A. B is less than or equal to A.
Note: A and B represent values and can be constants, variables, or combinations of constants, variables, and operators.
255
Preview
256
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Accessing information about the application, its data, and the user
Modifying values
Acting on a condition
Formatting text strings
Calculating numeric values or values in a list
Syntax
@Functions contain the name of the function followed by arguments, if any. The general format of an @function is:
@FunctionName(argument1; argument2; argument3);
257
Preview
258
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Examples of @functions
The following table contains common examples of formulas.
This Formula...
@Adjust ([2/11/99]; 0; 1; -4; 0; 0; 0) @Text (10) @ProperCase (hello world.) @Trim ( hello world. )
Returns... The date-time value, 3/07/99 The text value, 10 The text value, Hello World. The text value, hello world.
Acting on a condition
The @If function executes one statement or another depending on whether a logical value is true or false. The @If statement has an odd number of parameters, with a minimum of three. The parameters are:
condition - the first parameter is the condition to check True statement - the action to perform if the condition is true False statement - the action to perform if the condition is false
@If statements are evaluated from left to right. The first true condition evaluated causes its corresponding True statement to be processed. If an @If statement contains two conditions, the syntax is:
@If( condition1; TrueStatement1; condition2; TrueStatement2;
False statement)
Returns... True My document if the field Author contains the name of the current user.
259
Preview
260
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Now look at the same formula written following simple formatting rules:
@If(Invoiceamount>POamount;
@If (Invoiceamount-POamount>1000.00;
@Mailsend(Vendor:Approver;"";"";"Rejection";"Invoice"+
invoiceno+ " has been rejected");
@Mailsend(Approver;"";"";"Invoice overage";"Invoice"+
invoiceno+"has been submitted";
@Mailsend(Vendor:Approver;"";"";"Processed";"Invoice"+
invoiceno+" for purchases made under PO#"+Pono+"))
The formula has been formatted so that the conditions, True, and False statements start on separate lines. The statements related to a condition are indented under the condition. The formula gets even easier to understand when you add comments.
261
Preview
262
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
263
Preview
Describe the types of operations you can perform with the Formula language.
What is an event?
What are constants?
What is a temporary variable and when do you use them?
Direct the students to use Help if they do not know what the @function does. Allow 10 minutes for this exercise.
Discuss the knowledge and procedures required to complete the exercise. Go through the formulas together so students can be sure they got them right. Describe the behavior of the @functions. Discuss and resolve any doubts on the results of the formulas.
264
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Based on the information above, determine the result for each formula in the following table.
Formula 1 2 3 4 5 6 7 8 9 10
FirstName LastName FirstName + LastName LastName + , + FirstName FirstName = Susan (FirstName != Larry) & (LastName = Sunshine) @Adjust (@Created; 0; 6; 0; -2; 0; 0) @If (@Created < @Today; Old; New) @Text (10.22) fullName := FirstName + + LastName; Welcome back, + fullName
Result
265
Preview
266
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Use formulas in forms to automatically add, calculate, and format data. With formulas, you can:
Display one title when the document is new, and another title when the document is being edited. Calculate ending dates based on start dates and lengths. Enter the document creation date. Populate a list of options. Ensure that users do not save the document with specified fields left empty. Format user entries to be consistent in all documents.
Objectives
After completing this lesson, you should be able to:
9 Set the window title of a page or form.
9 Create computed text fields to dynamically display values.
9 Use values in a view column as choices in a field.
9 Create computed fields to dynamically store values.
9 Set default values for editable fields.
9 Write input translation formulas to automatically format user entries.
9 Write input validation formulas using @Failure and @Success.
9 Write reusable code
9 Interact with users using prompts
267
Preview
Open a form in Designer and show students where to add formulas and how to use the reference tabs. Open the Programmers Pane properties box and customize the colors.
268
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Set the window title for a page or form. Display values on a page or form. Compute choices for a list field. Compute values to store in a document. Add logic to editable fields.
Programming a form
Each element of the form, including the form itself, is an object. The Programmers pane provides access to the programmable properties and events of objects on the form.
2 3
4 5
269
Preview
This time when you preview the form in the browser, note that the text displays, but no name exists yet to display. This leads to the next step. They have seen @If already. @IsNewDoc is discussed on the following page.
270
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Guidelines
It is good practice to always set the window title when designing forms and pages. If the form or page opens in a frameset, the window title will not display in a Web browser.
271
Preview
Instructor Action Ask the participants how to write a formula to display some text plus the contents of the FirstName field if the document has been saved. Go back to the Demo Form in Designer and add the following formula: @If(@IsNewDoc;New Demo Document; Demo document for + FirstName)
Important Information This will reinforce what they learned in the previous lesson.
Point out that when the new document first opens it displays New Demo Document. You can enter a value in the First Name field then save, but do not close the document. Point out that the window title changed.
Note: use the formatting guidelines discussed in the last lesson whenever you enter a formula. Preview the form in Notes. Note: You dont actually need to specify a window title for a page unless you want to display something other than the page name. Unlike forms, pages do not display untitled.
272
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Using @IsNewDoc
The function @IsNewDoc is particularly useful when creating a window title. Window titles that incorporate a field from the document will not display the window tittle correctly when the document is new and there is no data yet. By combining @IsNewDoc and @If you can create a formula that displays one text phrase if the document is new, and another if the document is not new. The syntax for @IsNewDoc is simply:
@IsNewDoc
The function returns a value of 1 for True if the document has not yet been saved. It returns a value of 0 for False if the document has been saved.
In this case, the phrase New Document displays if the document is new. If the document has been saved, the window title changes to the value in the Subject field of the document.
273
Preview
Use functions and fields as values in Computed for display fields. Identify when the formula executes. Use the Document properties box to verify that the document does not store the value.
Instructor Action Important Information This field should display the creation date of the document.
In the Instructor database, add a Computed for display field to the Demo form.
274
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Example
Computed for display fields require a formula. The formula must evaluate to a value suitable for storage in the field. For example, if the type of field is date-time, the formula must result in a date-time value.
275
Preview
Use functions and fields as values in computed text. Identify when the formula executes. Use the Document Properties box to verify that the document does not store the value.
Instructor Action Create a new page and name it Welcome Page. Add computed text to the top and format the text to be big and bold in order to make it stand out. Enter a formula that welcomes the current user to the application, for example: "Welcome to the class " + @Name([CN]; @UserName)
Important Information
276
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Enter a formula that evaluates to a text value in the Script area of the Programmers pane. Set properties to format the text.
277
Preview
278
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
When a Policy document is opened, check to see if it is new or not. Display either the title of the Policy, or New Policy depending on the state of the document.
279
Preview
Modify the FlowerEnterer field so it has the following properties: Type: Computed when composed Value: @UserName Add another field with the following properties: Name: FlowerTotalPrice Type: Number, Computed Value: FlowerShipPrice + FlowerPrice Illustrate the behavior of both types of computed fields by creating and editing documents with the modified form.
280
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Computed
Computed when composed
Editable
This section describes how to use these field types and set their values.
281
Preview
282
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Compute a default value when users create documents. Translate or reformat the value when users save documents. Validate or verify the value when users save documents.
283
Preview
Run before saving to ensure consistent user input. Do not apply to rich text fields.
284
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Telephone numbers, by adding parentheses, hyphens, or periods Proper nouns, by capitalizing only the first letter
285
Preview
286
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
287
Preview
288
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Determines if the value is acceptable or not. If the value is acceptable, continues saving the document. If the value is not acceptable, displays a message to users indicating that the value is not acceptable and aborts the save operation.
Note: The input validation formula runs after the input translation formula.
289
Preview
290
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
291
Preview
Show the students what the final form looks like to give them an idea of what they need to accomplish. Discuss the knowledge and procedures required to complete the exercise. Verify that students used the appropriate computed field types and formulas.
Notes for the Instructor: The students are likely to place the effective date field above the policy created date field on the form. This means the effective date formula wont work. You can either warn them, or let them do it wrong to help make the point about order of evaluation more clear.
292
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The policy title should be formatted using proper case. Create a field to capture the date the policy is created. This date should be displayed without the time element. Name it PolicyCreatedDate. The effective date should calculate to one month from the date the policy is created in order to account for an internal review process. This date should also be displayed without the time. When a policy is created, the document should not be saved unless it contains a title and category.
Tasks
Implement the above specifications. Preview the form and test your formulas.
293
Preview
294
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
@Explode(String; separator)
@Implode(list;separat or)
Returns: Red*Green*Blue
@IsMember(Orange;Red : Green: Blue)
Returns: 0 (False)
@Member(I;A: E:I:O:U)
Returns: 3 @Subset(list;number)
@Subset({A}:{E}: {I}:{O}:{U};2)
Returns: {A}:{E}
@Unique({A}:{E}: {I}:{E})
@Unique(list)
Returns: {A}:{E}:{I}
295
Preview
296
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
297
Preview
298
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
299
Preview
300
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Description
Indicates the type of database (class) you are
Text list
view columnNumber
The formula returns a list of all the projects currently in progress (note the use of
temporary variables to make the formula more readable):
301
Preview
302
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create a Category form containing a field called Category. Create Category documents with the following categories: Office Guidelines Benefits Holidays Grievance Procedures Security Email Etiquette Diversity Create a view called Categories that only displays the Category documents. Modify the Policy form to perform a lookup to the Categories view to produce the list for the Category field.
Hint: The view should only display documents created with the Category form.
Tasks
Implement the above specifications. Preview the form and test your formulas.
303
Preview
304
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
305
Preview
306
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Triggering @Prompts
Prompt dialog boxes can be triggered in the following ways:
Trigger Field formulas Button formulas Form and View action buttons or manual agents Description Use @Prompt to prompt the user to enter a value in a field. @Prompt can be used in buttons to take input from a user. @Prompts are useful in Action buttons and agents. For example, you could prompt the user for a value and set the value of a field based on what the user enters. In combination with @Password, @Prompt can be used to prompt for a password on a form.
307
Preview
Demonstrate the use and reusability of formulas created using @ThisValue and @ThisName
Instructor Action In the Instructor database, open the form named Portable Code and preview it in Notes. Try to enter an email address without first entering a Contact name. Click OK to close the error message. Enter a Contact name, then try to select an item without entering a phone number. Click OK to close the error message. Open the Portable Code form in Designer and show students the identical input formulas for each of the three fields (ContactName, ContactPhone and ContactEmail). Switch back to the Portable Code form in preview mode, and now that you have filled in the three contact fields, click the Get Prices action without first selecting an item in the Items field. Point out that the code in the Contact name, Phone number, and Email fields is exactly the same. Important Information
308
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
You do not need to hard code field names. You can write code once that you can then cut and paste into multiple fields throughout an application. You do not need to manually revise code every time a field name changes.
For example, in an input validation formula for a listbox field that requires more than one selection, you can use @ThisValue to check whether a user has selected more than one list option, and, if not, use @ThisName to prompt the user to select a second option. The formula would look like this:
@If((@ThisValue != "") & (@Elements(@ThisValue) = 1);
@Failure("The " + @ThisName + "field must contain more than
one choice");
@Success)
309
Preview
What types of operations would you perform using formulas in a form? What types of fields display, but do not store, computed values on a document? What types of fields store computed values in a document? Why would you use an input translation formula? Why would you use field validation? Does it run before or after the input translation event? What are the two ways that you can build a list in a field? What @function lets you gather information from a user in a dialog box? Which @functions return the value and the name of the current field and what are the benefits of using them?
310
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Create a reusable formula. Copy it into the appropriate fields. Save and test your form.
311
Preview
312
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
D
Enhancing Design Elements
Lesson 8 Enhancing Forms Lesson 9 Enhancing Views
Preview
Enhancing Forms
314
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Enhancing Forms
Earlier in the course you created forms to collect and display information. In this lesson you will learn to use form design elements to increase the functionality and presentation of the forms in your Domino application.
Objectives
After completing this lesson you should be able to:
9 Use layers to control the display of information.
9 Create subforms.
9 Add a subform to a form.
9 Add a calculated subform to a form.
9 Create shared fields.
9 Add shared fields to a form.
9 Inherit data from one document to another.
9 Create response documents.
315
Preview
316
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Layers on a form or subform can contain anything a form can contain. Layers on a page can contain anything a page can contain.
Precise positioning to allow for complex layout options. Stacking layers provides great design control and flexibility. For example, different layers containing text and images can be stacked for a high-impact page title. Layers can be transparent or opaque, depending upon the type of effect desired.
Content of a layer
Add content to a layer just as you would add content to a form. You can copy and paste from another form or layer, type directly in the layer, or add graphics.
317
Preview
Show the layer anchor that was created when the layer was created. Demonstrate that moving a layer does not move the anchor.
318
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a layer
Follow these steps to create a layer on a form.
Step 1 2 3 Action Open a form, page, or subform in Designer. Place the cursor where the layer should appear. Choose CreateLayer. Result: A blank layer is inserted onto the form. Selection handles surround the layer, indicating it is selected. Click inside the layer and add the layers content. Save and preview the form.
4 5
319
Preview
320
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Layer properties
After you create a layer, you can change the following properties:
Layer background
The layers background color can be the system color, gray, transparent, black, or an RGB value. The following table lists the color icon choices in the Layer properties box.
Icon System color Function
Transparent
Black (0,0,0)
321
Preview
Create another layer on the Demo form. Change the name of the layer to BackgroundColor. Change the background color.
Add an image from the image resources to the layer with a background color. Demonstrate the various display options, center, tiled vertically, etc.
322
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Action
6 7 8
Click on the folder, to the right of Images, to insert an image resource. Select one of the image repeat values. Save and preview the form.
323
Preview
Positioning Layers
Demonstrate resizing and repositioning a layer by dragging and dropping
Use the layers you have created on the Demo Form.
324
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Positioning Layers
A layer can be resized and repositioned several different ways:
It can be dragged and dropped. Its position can be set explicitly. It can be positioned in relationship to other layers on the form.
0 is the default.
1 appears above 0.
Multiple layers can have the same level.
Negative values are placed behind the parent element.
325
Preview
Positioning Layers...(continued)
Pixels
Inches
EM units
A percentage of the distance from the parent element
Auto
Demonstrate the multiple layer options listed on the student guide. Use the three layers you created earlier. Make sure to emphasize the flexibility and control this feature allows
326
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Positioning Layers...(continued)
327
Preview
Hiding Layers
Hide a layer using Hide/When
Select the layer anchor of one of the layers that you created in the earlier demos. Choose TextText Properties. Note: Clarify that the hiding of a layer in this case has to do with text properties, and that you can hide a layer dynamically like other text and fields. This is as opposed to using the Layer Tree to hide a layer. Click the Hide/When tab and select to hide the layer from Notes R4.6 or later and web browsers. Save and preview the form in both the Notes Client and a web browser.
328
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Hiding Layers
The layer tree
Like other design elements, layers can be hidden using Hide/When properties. For ease of development, however, Designer provides another method for hiding layers. The layer tree hides one or more layers for the current session. You can work on one layer without another layer, or layers, getting in the way. If a layer is hidden, a grey circle appears next to the name of the layer; otherwise, the circle is empty. The following image shows a layer tree properties box with three hidden layers:
Note: When a hidden layer is selected, the top button in the properties box toggles from Hide to Show.
Hiding a layer
Follow these steps to hide a layer:
Step 1 2 3 Choose DesignLayer Tree. Select the name of the layer you want to hide. Click Hide. Result: The layer will not be visible for the current session. Action
329
Preview
330
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The layer, along with its fields and text are repositioned. The layer properties box appears.
7 8 9
10 11 12 13
331
Preview
332
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Benefits of subforms
The benefits of using subforms in your application include:
A form can contain one or more subforms. One subform can be used in many different forms within the same database or across different databases. Subforms can also be used conditionally depending on the results of a formula. The following graphic shows one subform being used in multiple forms:
333
Preview
Subforms can only be used as part of a form. Changes that are made to the subform affect all other forms that use the subform.
334
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a subform
Creating and using a subform in a database is a two-part process:
335
Preview
Also mention the do not add field na,es to index option and its purpose.
Create a subform
Name the subform subAddress. Leave the text on two lines, left justified.
336
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating a subform
Follow these steps to create a subform.
Step 1 2 3 4 5 Open the database in Designer. Choose Shared Code in the Design list. Select Subform from the Shared Code list. Click New Subform in the Work pane. Result: A new blank subform opens in the Work pane. Choose Design Subform Properties to open the properties box Action
Note: The Include in Insert Subform dialog option is selected by default. 6 7 8 Name the new subform. Add elements to the subform as you would a form. Save and close the subform.
Subform properties
Like other design elements, subforms have properties you can set, using the Subform properties box. Use the Subform properties box to:
Give the subform a name and an alias. Specify display options for the subform.
337
Preview
Point out that the address is currently on two lines and left justified.
Go back to the subAddress subform.
Change the text to be all on one line and centered.
Reopen the Demo form and show that the address format has changed.
338
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Computed subforms
You can have different subforms appear conditionally, depending on the result of a formula. This is called a computed subform. For example, you might offer users a choice of custom mail forms with different graphics and styles for various types of messages.
339
Preview
340
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
341
Preview
342
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
343
Preview
344
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Maintaining consistent formulas throughout an application Providing single point maintenance for a given field Standardizing keyword lists
345
Preview
346
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Open a form or subform and position the cursor where you want the field to appear. Choose CreateInsert Shared Field. Result: The Insert Shared Field dialog box appears. Select the shared field you want to use and click OK. To select a shared field from another database, click the Database pull-down list, highlight a database, select a shared field in that database, and click OK.
Open the form. Click the field to be shared. Choose DesignShare This Field.
347
Preview
Inheriting Information
Introduce inheritance
Inheritance is introduced before response documents so that the students do not get the mistaken idea that inheritance is dependent upon a parent/child document relationship.
348
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Inheriting Information
Designer allows you to create fields that inherit values from other fields. The source fields and target fields can be in separate documents or in the same document. Therefore, data can be entered or assigned once and reused as needed in multiple places. For example, when an employee is first hired there are many forms that need to be completed that include the employees name, address, employee number, job title, etc. Using inheritance this information need only be entered once. Domino provides for this sharing of information by providing a method for inheriting information from one document to another.
Benefits of inheritance
The ability to inherit information automatically from one document to another has a number of benefits, including:
It is more efficient than typing the same information multiple times. It helps preserve the accuracy of the information contained in each document.
349
Preview
Inheriting Information...(continued)
How it works
Make the point that inheritance is not dependent upon a parent/child or main/ response relationship between the documents.
350
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Inheriting Information...(continued)
351
Preview
Inheriting Information...(continued)
Demo\InheritedFields
Note that inheritance is a one-time occurrence. The data in the documents are not linked based on the fact that one value was inherited from another document.
Open the Demo\InheritedFields form in Designer. Open the Form properties box and show the Defaults tab. Open the properties box for the InheritFName field. Show the formula for the field in the Programmers pane.
Point out the On Create options dealing with inheritance. Point out that is a Computed when Composed field. In this case the field is text to match the field it is inheriting from. Note that the formula is simply the name of the field being inherited.
352
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Inheriting Information...(continued)
Enabling inheritance
Forms can be designed to inherit information from an existing document. Fields can receive information from fields in other documents, or fields in the same document. Creating a form to inherit values from another document requires that the developer:
Enable the On Create: Formulas inherit values from selected document Form property. Create field(s) containing the following characteristics: Computed when composed field type Includes a formula that specifies the source field
Tip: Fields that inherit information do not need the same field name as their source fields; they do, however, need to be the same data type.
353
Preview
Inheriting Information...(continued)
354
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Inheriting Information...(continued)
2 3
The Defaults tab of the Form Properties box appears. The property is set and the Form properties box closes.
355
Preview
Inheriting Information...(continued)
356
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Inheriting Information...(continued)
357
Preview
358
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Form types
Domino provides for this type of main/response structure, sometimes referred to as a response hierarchy, by letting the developer designate a forms type. The following table lists the three Domino form types and how they are used.
Form Type Document Description This document type is the default for Domino forms. It is used to create the top level in a hierarchy of documents. These documents are sometimes referred to as main or parent documents. Creates response documents associated with a main document. Response documents are sometimes referred to as response or child documents. Creates response documents associated with either a main document or a response document.
Response
Response-to-response
359
Preview
360
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
361
Preview
Imagine a company which makes and sells a product. Document - Details of the product (the product specification). Response - An order for the product (You can't order something we don't sell!) Response to Response - Customer comments based on either the product ("Why don't you make them in blue?" "Why don't you sell them in boxes of 100?") or orders which have been placed ("Arrived two days late!" "Great service! Thank you!")
362
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
363
Preview
Explain how the relationship between main and response documents is established
Explain the different ways to inherit the contents of a main document to a response
Create a new form. For the sake of clarity, name it Response to Demo. Have it inherit a couple of fields from Demo documents. Open a Demo document and create a Response to Demo. Do this several times as you will use these documents when you demonstrate creating a hierarchical view.
364
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create a link to the main document in a rich text field. Copy the contents of the main document as collapsible rich text. Copy the contents of the main document into a rich text field.
Linking to the main document takes up much less disk space and is generally the preferred method.
365
Preview
366
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4
The Form properties box opens. You will see the following choices:
Select the ParentDoc field from the drop down list. Select Link. On the Form Info tab, select Response as the form type. Save the form. To test your changes, select a document in the Employees view and create an Employee Benefits document. Note that there is now a link to the parent document.
6 7 8
367
Preview
What are layers and what are the benefits of using them? What is a subform, what the benefits of using one. When would you use a subform? What is a shared field? What are the benefits of using a shared field? What is inheritance and how does it work? What does the developer need to do to allow one document to inherit a value from another document? How do you create related forms? How does the user establish a main document/response document relationship when creating a response document? Is inheritance dependent upon a relationship between documents? What things can you do to make a discussion thread easier to follow?
368
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Use a layer and the mod_menu_background.gif file to enhance the look of the forms. Create a subForm that can be used to provide a consistent header to both forms. Design and create the Question form. Design and create the Answer form.
In the next lesson you will create a view to display the question and answer documents correctly.
369
Preview
370
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Challenge
Use tables to create a more pleasing, balanced look and feel for the fields and field labels. Apply any subForm you create in this exercise to the Policy form as well.
371
Preview
Enhancing Views
372
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Enhancing Views
This lesson includes more tools for creating more efficient, easier to read views.
Objectives
After completing this lesson you should be able to:
9 Write a view selection formula. 9 Concatenate values in a view column. 9 Display response documents in a view.
373
Preview
374
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
375
Preview
Open the Date Hired view to show a view with a selection formula. Show where the formula is entered in the Programmers pane.
376
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Includes All Documents That... Are in the database. This is the default formula for view selection. Were created using a form with the name or alias ei. Contain a field called Price whose value is less than 1000 and a field called Instock whose value is Yes. Were created using the form named ei and contain a field named Department whose value is not equal to Accounting.
SELECT Form = ei
Select (Price < 1000) & (InStock = Yes) SELECT Form = ei & Department != Accounting
377
Preview
The Guided Practice asks students to build a view based on the Employee Info view they created earlier. The new view includes only employees whose salaries are greater than $30,000. Allow 10 minutes for this Guided Practice.
378
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result A list of views appears in the Work pane. The view is created and appears in the Design list. The view appears in the Work pane.
3 4 5 6
SELECT @All appears in the Programmers pane. The new formula is created.
379
Preview
Use conversion functions to make the values the same data type. Concatenate the values with operators or functions.
@Text(DateHired; S0D2);
380
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
You can only concatenate text values. To include other data types in your concatenation, do the following:
Convert, also known as normalize, the values to text. Concatenate the text values.
Where:
Value can be a number, time-date, rich text. Format-string is optional. It controls the formatting of the returned text value. For example, if a currency value is converted to text, you might want the new value displayed with the appropriate currency symbols and punctuation.
381
Preview
Using @Text
Have the students open Designer Help for @Text and look at the Examples. This has a more complete listing of the @Text format-string components.
382
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Using @Text
There are two types of format string components available for text values: date-
time components and numeric value components. These components can be
combined in various ways. Listed here are several of the more commonly used
string components and what they display:
D0 - year, month, day
D2 - month and day
S1 - Time only
C - Current
The following table provides some examples of converting values to text.
Original value The Sales field contains the value 800. The Date field contains 12/31/99 11:59:59 PM. The Date field contains 12/31/99 11:59:59 PM.
Formula
@Text(Sales; "C,2")
@Text(Date; "S0D2")
@Text(Date; "S1T0")
383
Preview
384
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The view appears in the Work pane. The default column header is deleted.
Employees first names and hire date will appear. If the employee was hired this year, only the day and month will display.
5 6
The view will only display documents created with the Employee Information form.
385
Preview
386
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
387
Preview
388
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Columns to the left of the responses-only column, such as a date, will display response data (if available in the document) in the row. Columns to the right of the responses-only column do not appear for response documents; the contents of the responses-only column appear instead.
389
Preview
Add the responses only column to the view you just created. Add a formula to the responses only column to display some data from the response documents.
390
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
4 5 6
391
Preview
On the white board, draw a form that represents the Question form. Include the fields. Do the same for the Answer form. Ask the students how they would set up the view: What would the selection formula be? What data would they show from the Question documents? What data would they show from the Answer documents? How would the data in the view be presented? (sorted? categorized?)
392
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Create a view that displays the subject field of the question document, and the date the question was created. Show the subject of the answer document, along with the date the answer was created, in a single column. Display the questions by category.
393
Preview
394
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
E
Automating Tasks
Lesson 10 Using Actions to Automate Tasks Lesson 11 Using an Agent to Update Documents
Preview
10
Actions Agents
396
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
10
Actions make it possible for you to set up user-activated shortcuts in forms and views to perform routine tasks. You make the action available in the actions menu or as a button in the action bar. In this lesson, you will learn how to use actions to automate common user tasks.
Objectives
After completing this lesson, you should be able to:
9 Create form and view actions.
9 Create shared actions.
9 Format how actions are displayed.
9 Create sub-actions.
9 Create action hotspots.
397
Preview
Defining Actions
Provide examples of using actions
398
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Actions
An action is a program associated with either a view or form and used to automate tasks for users. Actions are added to applications in order to:
Speed up repetitive tasks. Update information. Simplify the usage of the database. Perform complex calculations. Check for errors.
Examples of actions
You can use an action to:
Recreate Notes menu commands as buttons. For example: Create a document Edit a document Save a document Mail the current document. Move user selected documents in a view. Calculate complex formulas that dont need to be saved with individual documents.
399
Preview
Defining Actions...(continued)
Open the Edit Info Action Properties box and select the Hide/When tab. Show that the options selected so that the Action does not appear when the document is in Edit mode, but does appear when the document is in Read mode.
400
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Actions...(continued)
Note: Simple actions cant be customized and are not supported in Web applications.
The Action Bar is a row of buttons across the top of a form or view. To execute an action from the action bar, users simply click the button.
Hide an action that edits a document when the document is in Edit mode. Hide an action that saves a document when the document is in Read mode.
401
Preview
By sliding it open.
By using the menu option. ViewAction pane.
402
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Action pane
403
Preview
404
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Basics Tab
405
Preview
406
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
5 6 7
Ensure that Client and Formula are the defaults in the Programmers Pane. In the Script area of the Programmers pane enter the formula:
@Command([EditDocument])
407
Preview
408
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
System actions
By default, new forms and views do not contain actions. Designer provides a set of pre-defined system actions for common tasks. System actions can be added to a form or view. The following is a list of Domino system actions:
Categorize Edit Document Send Document Forward Move to Folder Remove from Folder
System actions can not be modified; individual actions can be removed if they arent needed. System actions do not translate to Web applications. You can create your own actions to perform the same functions using the Formula language instead.
409
Preview
Note: If the users notes.ini file includes the following statement, the @Command formula will not execute:
NoExternalApps=1
410
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
411
Preview
412
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
@Command ([FileSave])
@Command ([FileCloseWindow])
@Command ([EditDocument])
Caution
To Web-enable all action buttons in a database as well as certain @commands, select the database property "Web access: Use JavaScript when generating pages." Without this property set, Domino recognizes only the first button in a document and treats it by default as a Submit button that closes and saves the document.
413
Preview
Shared Actions
Review the concept of shared resources
Display and review the types of shared code in the Design pane. Review the benefits of using shared resources.
414
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Shared Actions
Shared actions are actions that you create as resources for the entire database. Once you create a shared action you can insert it in multiple views and forms. If you need to modify the action, the modification will take effect in every form or view that refers to it.
415
Preview
Shared Actions...(continued)
416
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4 5
417
Preview
Use these actions to demonstrate action bar properties and the action bar applet in the following sections.
418
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create actions with sub actions. Customize the action button bar.
Sub actions
Sub actions group related actions under a single main menu choice or button. Use sub actions if you have:
A long list of actions and do not want to overwhelm users Related actions that you want to group together
3 4 5 6
419
Preview
420
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
421
Preview
When users scroll the form or view, the action bar remains at the top of the screen. Domino provides an applet that displays a fully functioning action bar to Web users. The action bar applet is not completely functional on web. Some formatting is lost.
422
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Change the action bars appearance by specifying: Alignment options for action buttons Background image or color for buttons on the bar The style and color of the bottom border Enable the Domino action bar applet for Web users.
Actions that appear on the button bar use the Action Bar Properties box to set additional characteristics, such as font, color, and button size.
423
Preview
Demonstrate how to change the size and colors of the action bar on the Demo form. Show results in Notes.
Note: You will continue to modify the action bar in the next demo (Enable the action bar applet demo).
424
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
5 6
In the Action Bar Background tab: Select the button bas background color. Select the button bar background image and how it is displayed. In the Action Bar Borders tab: Select the button bar border style and effect. In the Button Properties tab:
Select button size. Select button display options. Select button background color or image.
7 8
The changes affect all buttons on the action bar. 9 10 In the Button Font tab: Select the font properties for all buttons on the Action bar. Close the Action Bar Properties box.
425
Preview
Demonstrate the Display Using Java Applet for the action bar on the Demo form. Show the results on the Web.
426
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Provides a scroll bar, when needed. Looks like the action bar in the Notes client. Supports cascading actions. When the user clicks the main action, the action selections appear as a second row of slightly smaller buttons.
427
Preview
Action Hotspots
Introduce action hotspots . In addition to action hotspots the other hotspot types are:
Important Information
You must click and drag to select the image, if you just select it you will not be able to create an action hotspot.
Create a second action hotspot using the following JavaScript code: window.alert("This action is done with JavaScript!");
Create a new document using the Demo form. Click the action hotspot(s) you just created.
428
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Action Hotspots
Action hotspots are programmable areas on a form, subform or page that can complete an automated task. Hotspots can be associated with:
Text Graphics
4 5 6 7
429
Preview
How would you use actions and where? What programmatic feature can you use in an action to simulate some Notes menu options? When would you use sub-actions?
Action Create Policy Edit Policy Create Question Edit Question Create Answer Edit Answer Policies View
Where used
Policies View When policy document is open in read mode. Q&A View Policies View Q&A View When question document is open in read mode. Q&A View When question document is open in read mode. Q&A View When answer document is open in read mode.
430
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create a policy or a question from the Policies view. Edit a policy when the document is open. Create a question or an answer from the Q&A view. Edit a question or an answer either when a document is open or selected in the Q&A view. Save any of the documents by clicking a button instead of using menu commands.
Tasks
Make a list of actions you need to create and where they are to be used. Determine which of them could be shared. Create the actions and add to the appropriate views and forms. Hide the actions at the appropriate times. For instance, if a document is in edit mode there is no reason for the Edit action to be available.
431
Preview
11
432
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
11
Agents are programs that perform a series of automated tasks. Use agents to set up user-activated or background tasks that run on a schedule. You can use agents to run automated tasks for views, documents, fields, and databases. In this lesson, you will create an agent that updates existing documents.
Objectives
After completing this lesson, you should be able to:
9 Define an agent and describe its benefits.
9 Create an agent that modifies data in existing documents.
433
Preview
Defining Agents
Explain the following:
The benefits of using agents The differences between actions and agents.
434
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Agents
Agents are programs within a Domino application. The benefits of using agents include:
Agents can run manually by users or automatically in the background as scheduled agents. Agents are not associated with a specific design element. Agents can be run on a specific server, on several servers, on workstations, or the Web. Agents can call other agents. Agents can consist of simple actions, formulas, LotusScript, or Java programs. Agents can be distributed easily because they can be replicated. Agents can be shared or private.
Form and view actions work only when the form or view is open. Agents are not restricted to a specific form or view. Use agents to set up useractivated tasks or background tasks in any part of a Domino application.
435
Preview
Defining Agents...(continued)
Shared agent: An agent to archive or delete all documents in a database on a regular scheduled basis. Private agent: An agent used by one person to mark documents in a view as read, move them to a folder, mark them as "approved"
436
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Agents...(continued)
Examples of agents
Use agents to:
Update a group of documents. Archive documents. Send messages and documents. Run other agents.
Types of agents
There are two types of agents:
Shared agents are agents created by one user and can be run by other users or scheduled to run on the server. Private agents are agents that users create for themselves. Users cannot run another users private agent. Private agents are stored on the machine where the agent is created.
Once an agent is created, its type can be changed from shared to private, and vice versa, at a later date. This could be used to test a new agent on a live application before it is distributed generally.
437
Preview
Defining Agents...(continued)
Click the New Agent button to open a new blank agent. Point out the parts of the screen as shown in the Student Guide.
438
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Agents...(continued)
Parts of an agent
The following table describes the parts of an agent.
Part Trigger Target Program Function Specifies when the agent program should run. Selects which documents the agent program acts upon. Specifies the code to execute.
Manually or automatically
Against all documents or a subset of documents in a database
Object pane
Programmers pane
439
Preview
Defining Agents...(continued)
440
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Defining Agents...(continued)
441
Preview
Designing an Agent
Run the Agent Demo
Look at the document properties of a document in the Demo form documents view. Note that there is no AgentField in the document. Run the Agent Demo agent. The agent runs on all documents in a view. After running the agent, open the document properties of a document in the view. Show the new field in the Document Properties box.
442
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing an Agent
Before creating an agent, consider the following:
When the agent runs. Which documents the agent processes. What program the agent runs.
443
Preview
444
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing an Agent...(continued)
Trigger
Trigger options
Target options
445
Preview
Designing an Agent...(continued)
446
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing an Agent...(continued)
The following example selects only documents created using the Employee Information form:
SELECT Form=Employee Information
If you do not include a SELECT statement in the formula, Domino Designer appends the following formula to your code:
SELECT @All
Note: If the LastName field does not exist in the document, it is added along with the value Sunshine. The field does not become visible unless you add it to the form design, but you can access it by naming it in formulas.
447
Preview
Designing an Agent...(continued)
Manual agents run on the local Notes client. Scheduled agents can run locally or on a server.
Creating agents to run from a server poses deployment issues involving security and performance. Security will be handled in the next module, Module F. The focus of this lesson is creating an agent.
448
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing an Agent...(continued)
Agent events
The following table describes the events that can trigger an agent and examples of when to use them.
Event Before new mail arrives After new mail arrives When to use it. Before mail is deposited in the mail database; for example, to delete unwanted mail. Once new mail is delivered to the client; for example to forward mail while a user is on vacation. To update new or existing documents; for example, to change an area code for phone numbers. When copied documents are pasted into the database and need to be modified as they are being pasted; for example, to add the current date to the document.
449
Preview
Designing an Agent...(continued)
450
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Designing an Agent...(continued)
Scheduled events
The following table lists when agents can be scheduled to run.
Schedule More than once a day Use for Critical tasks that are updated constantly. Note that a servers performance can be adversely affected. Important tasks that arent as high priority as critical tasks; for example, sending a company wide email. Routine tasks; for example, calculating a departments sales performance. Low priority tasks; for example, deleting older documents. Agents that you do not want to run in particular circumstances; for example, agents that run on the Web or agents which are disabled or called by other agents.
Daily
451
Preview
Creating an Agent
Naming the agent
Discuss the best practices for naming agents.
452
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating an Agent
Create the agent after you have defined what your agent should do as well as when and where it should run.
Agent names
Agent names within the same database need to be unique. However, if the same
agent is used in several different databases use the same agent name to help
users recognize the agents purpose.
Agent names:
Are case-sensitive.
May include letters, numbers, spaces and punctuation.
Should be self-descriptive.
Should be short if appearing as an Action menu option.
The names you give to manually-run agents appear as options in the Actions
menu. Use an alias (an internal name for an agent) when naming an agent. This
allows you to change or translate the name that users see without disabling
formulas that reference the original name.
453
Preview
Creating an Agent...(continued)
Create an agent
In the Practice database, demonstrate how to build an agent with the following
options:
Shared
Act on documents created using the Demo Form.
Add a dateModified field with the current date as its value.
454
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating an Agent...(continued)
Creating an agent
Follow these steps to create an agent.
Step 1 2 3 4 5 6 7 8 9 10 11 12 Open the database in Designer. Select Agents under the Shared Code design element. Click New Agent. Name the agent and add a comment if desired. Select the agent option Shared or Private. Select the agent trigger On Event or On Schedule. Select the appropriate agent trigger option from the drop down list. Select the appropriate documents for the agent to target from the target option drop down list. Close the Agent Properties box. Select the appropriate programming type from the drop list. Type the programs code into the Programmers pane. Save and test the agent. Action
455
Preview
When would you use an agent rather than an action? What do you use to reduce the number of documents an agent has to process? What are the rules and guidelines you use when naming an agent?
456
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Write a formula that computes the policy number and saves the new policy number in the PolicyNo field. The agent should run on all existing policy documents. Run the agent and check the results.
Hint: Look up the @DocumentUniqueID. Challenge: Modify the Policy form so that it computes a new policy number when a new Policy document is created.
457
Preview
458
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
F
Working with Security
Lesson 12 Defining Access to a Database Lesson 13 Accessing Elements within a Database
Preview
12
460
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
12
Domino offers database security at several levels. This module focuses on security to a database and within a database.
Objectives
After completing this lesson, you should be able to:
9 Describe how access control levels restrict access to a database. 9 Describe how access options refine the access control levels. 9 Describe how user types provide additional security to the access control
461
Preview
Database Security
Discuss the information on the student page
Discuss each of the levels depicted in the diagram.
Layer in the Diagram Network Authentication Description This refers to access to the server over the wire. The process of establishing trust between the server and that which is trying to access the server. This refers to the restrictions available in the servers Server document. This refers to the levels of access controlled by the Access Control List (ACL) in a specific database. This refers to anything from read access lists to controlling who can see a particular design element based on who they are. This refers to Readers and Authors fields. This refers to encryption. Note that the field on the form is where encryption is enabled. It is actually the data stored in the document that is encrypted.
Note: Typically the system administrator deals with the first three levels, so do not go into any detail about these. The database developer/manager deals with the last four layers of security.
462
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Database Security
Until this point, the focus of your database design has been on building an application that meets the needs of the users. Now that the process is near completion, database security becomes more critical. This includes securing the database from unauthorized entry as well as restricting user access within the database. Dominos layered security model provides many ways to customize security to the database and its content.
463
Preview
464
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
465
Preview
466
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Manager
467
Preview
468
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Content Pane
Name List
Roles List
469
Preview
470
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
functionality in the database If a user is a member of two groups, and both groups appear in the ACL, the user receives the higher access level. Individual names
A specific Notes or Web user This will override settings for any group to which the
Control List, unauthenticated users will use the Default access level.
471
Preview
472
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Prevent unknown users from accessing the database Grant anyone the ability to read documents Allow all users in the Students group to modify the application Preview your forms in a Web browser, as you are working on the database design
Default to No Access. Anonymous to the Reader access. Students to Designer access. Anonymous to Author access.
473
Preview
In the Instructor database on the server, modify the ACL so that the Students group has Depositor access. Ask each student to create and save a document using the Demo form. Have them use their own name (or their class user name) so they can recognize the their own documents. Ask them to try to read the document they just saved. They cant open the document. Change the students ACL access from Depositor to Author. While the ACL dialog box is open, take the opportunity to ask students about their own access levels and the default access levels. Ask students to create, save, and read another document.
474
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Advanced
475
Preview
Ask students to try deleting one of the documents they created in the previous demonstration. Select the Delete Documents option for the Student group. Ask students to try deleting the document again.
476
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Optional privileges
Read public documents Write public documents
Create documents
Script/Java agents
Write public documents
477
Preview
478
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Optional privileges
Create documents Delete documents Create private agents Create personal folders/views Create LotusScript/Java agents Write public documents
Editor
Delete documents Create private agents Create personal folders/views Create shared folders/views Create LotusScript/Java agents
Designer
Create documents Create private agents Create personal folders/views Create shared folders/views Read public documents Write public documents
Manager
Create documents Create private agents Create personal folders/views Create shared folders/views Create LotusScript/Java
Delete documents
agents
Read public documents Write public documents
Enable the read and write public documents options to give users with No Access or Depositor access limited access to specific forms, views, and documents.
479
Preview
480
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Chris Jones opens the ACL to the Policies and Procedures database and notes that Terry Smith has Editor access. Chris Jones gets access to the server, creates a group called Terry Smith, and adds himself to the group.
Chris Jones now has access to the Policies and Procedures database as part of the group Terry Smith. One way to prevent this is to designate Terry Smith as an individual with the Person user type.
Server
Prevents someone from accessing the database from a Domino workstation using the server ID. Identifies a group of servers that will host replicas of the database. Grants Person access to each user in a group without listing each user in the ACL. Grants the same access to a group of users and servers. Has Domino look up the user type in the Address Book.
The database manager applies user types to meet the access restrictions.
481
Preview
Optional: If time allows, discuss the different privileges that students would or would not grant the user groups. For example, would Employees be allowed to create documents?
Suggested questions
The following questions can be used to help students design their ACLs.
482
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Working with the instructor and the rest of the class, plan the ACL
Use the following table as a starting point to plan the access restrictions.
User/Group Default Anonymous Employees Policy Makers Department Head Managers Designer Access Control Level
483
Preview
13
484
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
13
After users open a database, security measures can limit access to data and design elements such as documents, forms and views.
Objectives
After completing this lesson you should be able to:
9 Describe User Roles
9 Control access to various elements using User Roles
9 Describe Readers and Authors fields
9 Use Readers and Authors fields to control access to documents
485
Preview
Explain the difference between roles and groups. Mention that groups can only be created and maintained by someone with administrative rights to the Domino Directory. Describe how roles work on local databases. Give examples of how roles can be used to refine access to elements in the application. Solicit other suggestions from the students.
486
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Provide a flexible method of restricting access to a specific set of users. Can be used in formulas. Provide a method to define a set of users within an application. Do not need to be maintained or added as a group in the organizations Domino Directory. Make it unnecessary to modify the application when users leave or new users join.
2 3 4 5
487
Preview
Assign a role
Demonstrate assigning roles in the Instructor database. Assign the roles you created in the previous demonstration to the appropriate students.
488
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Once roles have been assigned to users, you can use them to determine what users can do or see in the database.
489
Preview
490
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
This section shows how to write a formula to determine who can see a specific
design element based on a role. This involves capturing the current users role
and comparing it in a Hide When formula.
491
Preview
492
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Use the @IsNotMember function to determine if a text string does not match an item in a list. The syntax for using @IsNotMember is:
@IsNotMember(textValue; textListValue);
The following table provides some examples of using @IsMember and @IsNotMember.
Example
@IsMember("[Student]"; @UserRoles)
Returns True, if the current user is assigned the Student role True, if the current user is not assigned the Student role True, if the current user is not assigned the Student role.
493
Preview
Use the Demo form to demonstrate how to write a Hide When formula that shows the Salary field to users with a particular role. For example, use @IsMember and @UserRoles to hide the field for everyone except the users in the Wall role. Test the formula by having students open Demo documents. Certain students will see the field, and other wont depending on which Role they are included in.
494
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Caution
495
Preview
Note: In this exercise the students create the roles in the ACL. They will apply the roles in design elements later in this lesson.
496
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Perform the following tasks to complete this exercise:
Determine appropriate roles for the application. You will do this in conjunction with the instructor and the rest of the class. Create the roles in the Policies and Procedures database.
497
Preview
498
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
This section focuses on using Readers and Authors fields to control document access.
499
Preview
Describe the relationship between Readers fields and the ACL. Emphasize in this section that it is NOT a best practice to explicitly list users and servers in readers fields. Ensure that servers are somehow included in the Readers field on every form so that documents will replicate among servers.
500
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Documents that do not contain a Readers field are visible to all users. Documents with a Readers field are only visible to users listed in the Readers field. Other users do not see those documents.
Thus, you do not need to alter the view to hide certain documents from general viewing.
501
Preview
In the Instructor database, use the Demo form to create a Readers field. Compute the value using @UserName. Create a document and have the students try to open it. Go back and change the formula to include @UserName plus a role that contains all of the students. Have the students create another Demo document. Now have the students try to open it. Ask them if they can edit it.
Note: Make sure the students understand that the Readers field restricts access. Even an Editor or Manager can be restricted from reading (and therefore editing) a document
502
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Specifying Readers
Entries in a Readers field must compute to a text value. Designers and managers specify readers in a Readers field by using one of the following methods:
Write a formula to compute user names, roles, or groups. This is the most frequently used option, as it allows designers to predetermine the readers. For example:
"[Policy Managers]" : "Suzy Sunshine" : "Managers"
Make the field editable, so application Authors and Editors can select and change readers.
503
Preview
504
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
505
Preview
506
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Author Author Author Manager Manager Manager Editor Editor Editor Reader Reader Reader
507
Preview
Ask students to try to edit the documents they created in the Instructor database. Add an Authors field with @UserName to the Demo form.
Ask students to create a new document with the Demo form and then to try to edit it.
508
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
edit the document. Computed fills in the value based on a formula each time the document is refreshed. Computed when composed will evaluate only if the data does not already exist. This value is computed only once. Computed for display. Because they do not store an item or a value in a note, Computed for display is not appropriate for this type of field. 4 Enter a formula to calculate the value of the field. Note: Computed fields must have a formula. Editable fields can use a formula to calculate a default value that the user can change.
509
Preview
510
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
511
Preview
Discuss the difference between the low and high security ACL examples
512
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
513
Preview
514
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
All employees should be able to read any document in the application. The people who create documents should be able to edit them. Members of the Managers and Policy Makers groups should be assigned the PWriters role. Only people assigned the PWriters role should be able to create Policy documents. All employees can create Question documents. Only the person who creates a Question should be able to modify it. Only PWriters should be able to create and edit Answers.
Tasks
This exercise involves making changes to the ACL and the Policy, Question, and Answer forms. Determine the changes that need to be made and implement them. Work with other students to help test that your application works as expected.
515
Preview
516
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
G
Deploying the Application
Preview
14
518
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
14
After an application has been designed, developed, and tested, there are a few more things to do before putting it into production.
Objectives
After completing this lesson you should be able to:
9 Create a template from an existing database
9 Create a new database from the template
9 Link a database template to a database
9 Set the ACL of your application to allow proper replication
9 Describe Dominos replication process
9 Create a database replica on a server
519
Preview
520
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
A production template which contains the design of the production database. You update the production database with the production template. A development template which you use to perform updates and bug fixes. Once you finish testing the modifications, you replace the production template with the development template. A backup template which is the previous version of the production template. You want this in case you need to roll back to the previous version. Make a backup of the production template before you replace it with the newer development template.
521
Preview
Database Templates
Show the list of standard design templates
522
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Database templates
A template is a Domino file that contains the design structure for a Domino database. File extensions differ for databases and templates. The file extension for a Domino database is .NSF. The file extension for a Domino template is .NTF. When you use a template to create a database, like you did in Module A, the database receives the design elements from the template. IBM Lotus Notes and Domino contain several standard database templates. You can create an application from a standard template, customize the standard templates to meet your needs, or create a custom template from scratch. Example standard Domino templates include:
523
Preview
524
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Extract the design elements of your database to a new database Designate the new database as a template.
Once the template is created, link the database template to your application database.
525
Preview
526
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Select the database in either Notes or Designer. Choose File Database New Copy. Select the location to store the new database. Enter a title. Enter a file name with the .NTF extension. Note: The NTF file extension does not make the file a template. It simply causes it to appear as a choice in the list of templates when you create a new database.
527
Preview
528
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
529
Preview
530
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
In order to complete this exercise, do the following:
Create a template from the Policies database you created during the course. Create a new Policies database from the template. Make sure that the new database is set to inherit future design changes from the template.
531
Preview
Replication allows users on various networks in a variety of locations to share the same information. When you replicate, Notes updates the replicas, copying changes from one to the other. Domino eventually makes all replicas identical. You can replicate between two servers, or between a workstation (such as a laptop) and a server.
532
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
It allows developers and administrators to distribute applications across geographic locations for faster access. It allows users to work with an application offline, and then add (or replicate) their changes when reconnected to the network.
533
Preview
534
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Replica databases
Replica databases are databases that share the same replica ID. The replica ID is generated automatically when a database is created. Replication can only occur between Domino databases that have the same replica ID. The names of two database replicas can be different, and they can contain different documents or implement different designs. However, if their replica IDs are the same, they can replicate with each other.
Authenticate with each other. Build a list of document, design element, and ACL changes since the last replication. Transfer the changes to the replica databases. Domino only replicates the items that have changed not the entire document or design element. Before the servers transfer changes, they check the ACL of the replica databases. Domino can only transfer those changes permitted by the ACL.
535
Preview
536
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
No replication occurs. Server can send new documents, but cannot receive any documents. Server can receive changes, but cannot send changes. Server can send the following changes:
New documents created since last replication. Modifications to documents that list the replicating
server (or user) in an Authors item. If the server is replicating changes, and it has Author access to the replica database, the server (in addition to the user who created the document) must be listed in the Authors item for replication to occur. Editor Designer Manager Server can send all new documents and changes to existing documents. Server can send all new and modified documents and design elements. Server can send all new and modified documents, design elements, and the ACL.
537
Preview
538
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Replication settings
Replication settings allow a further refinement of which documents are going to replicate between any two servers, and between client and server. The following table describes these settings.
Group Space Savers Settings
Remove documents not modified in the last Include specific Address Book fields. Replicate a subset of Documents.
n days.
Send
Do not send deletions made in this replica to other replicas. Do not send changes in database title and catalog info to other
replicas. Do not send changes in local security property to other replicas. Other
Temporarily disable replication. Scheduled replication priority. Only replicate incoming documents saved or modified after. CD-ROM publishing date.
Advanced
539
Preview
Creating Replicas
Review the procedure
Make note that depending on the production environment, application developers may not be able to create new replicas on a production server.
540
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Creating Replicas
Creating replicas manually
Follow these steps to manually create a replica:
Step 1 2 3 4 5 6 Open the database. Choose FileReplicationNew Replica. Select the destination server (server on which to place the replica). Keep the default file name and title for the new replica. Select Create: Immediately. Select Copy Access Control List to copy the ACL from the original to the new replica. Click OK. Action
541
Preview
542
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Tasks
Modify the ACL of the newly created Policies database so that all documents and design changes will replicate. Create a new replica of the Policies database on the classroom server. Create some new documents in the server copy of the database. Replicate with the local copy to show that the documents replicate properly. In the template, change the design of the Policy form. Perhaps modify the background or header. Refresh the design of your local Policies application. Open an existing Policy document to see the new change. Lastly, replicate the Policies application from local to server in order to see that the design change replicates.
543
Preview
544
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Appendix
Exercise Solutions
Preview
Lesson 3: Create a database, and a form that contains a table and fields
This solution has three parts:
Create a database
Follow these steps to create the Policies and Procedures database.
Step 1 2 3 Action Open Domino Designer. Choose File Database New. Accept the default of Local to create the database on the local computer. Enter the title Policies and Procedures for the database. Enter the file name Policies_ABC.nsf. Replace ABC with your initials Select -Blank- from the template list. Click OK. The new database is created. Policies and Procedures appears in the title box. The New Database dialog box appears. Result
6 7
A 2
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Lesson 3: Create a database, and a form that contains a table and fields...(continued)
Create a form
Follow these steps to create the Policy form.
Step 1 2 Action Open the Policies and Procedures database in Designer. In the Design pane, click Forms. In the Work pane, the list of existing forms appears. The New Form button appears on the button bar. Result
3 4 5
In the Work pane, click New Form. Choose Design Form Properties Enter Policy in the Name field. Note: It is a good idea to give the form an alias. Close the properties box. The Form properties box opens. Policy appears in the name box.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 3
Preview
Lesson 3: Create a database, and a form that contains a table and fields...(continued)
5 6
7 8
A 4
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Lesson 3: Create a database, and a form that contains a table and fields...(continued)
12
13
14
15
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 5
Preview
Lesson 3: Create a database, and a form that contains a table and fields...(continued)
Step 16
Action Select the Category field and click the Control tab. Type the following in the Choices box: Office Guidelines Benefits Holidays Grievance Procedures Click and drag to highlight the Category row. Click the Hide/When tab and select to Hide paragraph when document is: Previewed for reading Opened for reading Printed Select the DCategory row. Click the Hide/When tab and select to HIde paragraph when document is: Previewed for editing Opened for editing Close the Field properties box. Enter the following formula in the Programmers Pane of the DCategory field:
Category
17
The Categories row will not be seen when the document is in read mode.
18
The Display Category row will not display when the document is being edited.
19 20
The option selected in the Category field will display in the DCategory field when the document is in Read mode.
21
A 6
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The Create View box opens. The Policies view appears in the view list. The Policies view opens in the Work pane. The Add Condition dialog box opens. A list of the forms in the Policies and Procedures database appears. Uses Policy form appears in the Programmers Pane.
10
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 7
Preview
12
4 5
A 8
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 9
Preview
A 10
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The Image Resource box opens. The bluerule.gif image is added below the table. The text is added to the page.
9 10
Click and drag to highlight the text. Choose Create Section. Choose SectionSection Properties and change the Title to About Worldwide. Select a border style. Save and preview the page.
A twistie appears to the left of the text. The Section heading About Worldwide is created with a border around it.
11
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 11
Preview
Result Susan LastName SusanSunshine Sunshine, Susan True True 9/7/99 4:59:37 AM Old Text value, 10.22 Welcome back, Susan Sunshine
A 12
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The form appears in the Work pane. The Programmers pane is empty. When users create a new policy, the title will display New Policy. When users open or edit an existing document created with the Policy form, the title will display the content of the PolicyTItle field. Designer stores the changes in the database. The title should display as New Policy. The policys name is displayed in the title.
4 5 6
Save the form. Preview the form. Open an existing Policy in Notes.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 13
Preview
The policy title should be formatted using proper case. Create a field to capture the date the policy is created. This date should be displayed without the time element. Name it PolicyCreatedDate. The effective date should calculate to one month from the date the policy is created in order to account for an internal review process. This date should also be displayed without the time. When a policy is created, the document should not be saved unless it contains a title and category.
Result
The PolicyTitle field and its objects appear in the Objects list. The formula appears in the Script area.
A 14
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result
A blank row is inserted above the Effective date row. The text appears in the left cell. The Create Field box opens. The PolicyCreatedField is added to the right cell.
5 6
7 8
The formula appears in the Script window. The Control tab of the field properties box is displayed.
Open the field properties box and click the Control tab. In the Show dialog box, select Only month, day, year. Save and test the form.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 15
Preview
Result
The EffectiveDate field and its objects appear in the Objects list. The field type is changed to indicate that the field is going to be computed. The formula appears in the Script window.
A 16
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The PolicyTitle field and its objects appear in the Objects list. The formula appears in the Script area.
Repeat Steps 1 and 2 for the following Category field. Use the following formula:
@If (Category != ""; @Success; @Failure("Please enter a Category."))
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 17
Preview
Create a Category form with a Category field Use the Category form to create several documents Build a view to display only Category documents Modify the Policy form so the Category field gets its value from the Categories view
3 4 5
In the Work pane, click New Form. Choose Design Form The Form properties box opens. Category appears in the name box.
Properties
Enter Category in the Name field. Note: It is a good idea to give the form an alias. Close the properties box. Enter the field label, Category, at the top of the page. Choose Create Field to create a field with the following characteristics: Field name: Category Field Type: Text, Editable Save the form and test in the Notes client. A field named Category is created.
6 7 8
A 18
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 19
Preview
10
11
A 20
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The form appears in the Work pane. The Field properties dialog box opens.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 21
Preview
The formula returns the message, Please enter your FirstName if the field is left empty.
Reuse this formula by copying it and pasting it as an Input Validation formula for the LastName field. In the Salary field, enter the following formula: @If(@ThisValue="";@Failure( "The "+@ThisName+"field must contain a value.");@Success) Save and preview the form in Notes.
The formula returns the message, Please enter your LastName if the field is left empty. The formula returns the message, The Salary field must contain a value if the field is left empty.
A 22
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Use a layer and the mod_menu_background.gif file to enhance the look of the forms. Design and create the Question form. Design and create the Answer form.
10
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 23
Preview
A 24
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4 5 6 7 8 9
In the Work pane, click New Form. Choose Design Form Properties Enter Question in the Name field. Close the properties box. Choose Create Insert Subform. Select Worldwide Header. Click OK. Click below the subform and enter the following text: Question Position the cursor several spaces below the text and choose Create Table. Create a table with 5 rows and 2 columns. Click OK. The Create Table box opens. The Insert Subform box opens. The subform is inserted at the top of the Question form. The Form properties box opens. Question appears in the name box.
10
11
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 25
Preview
Result The first row is populated with a field label and field.
13
14
Repeat step 12 in the next row with the following changes: Field label: Date of Question Field name:QuestionDate Field type:Date/TIme, Computed In the Programmers pane, enter the following formula:
@Created
15
16
Repeat step 12 in the next row with the following changes: Field label:Category In the right cell choose Insert Shared Field. Select Category. Repeat step 12 in the next row with the following changes: Field label: Subject Field name: Subject Field type: Text, Editable
The row is populated with a field label and field. The Category shared field is inserted in the right cell. The row is populated with a field label and field.
17 18
A 26
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
20 21 22
A blank layer is inserted on the form. The layer is positioned behind the table. The mod_menu_background.gif image is added to the layer.
23 24
25
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 27
Preview
3 4 5 6
In the Work pane, click New Form. Choose Design Form Properties Enter Answer in the Name field. Select Response as the form Type. Click the Defaults tab and select On Create Formulas inherit values from selected document. Close the Properties box. Choose Create Insert Subform. Select Worldwide Header. Click OK. Click below the subform and enter the following text: Answer Position the cursor several spaces below the text and choose Create Table. Create a table with 5 rows and 2 columns. Click OK. The Create Table box opens. The Form properties box opens. Answer appears in the name box. When a document is created using the form it will inherit values from another document. The Insert Subform box opens. The subform is inserted at the top of the Question form.
7 8 9
10
11
A 28
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The first row is populated with a field label and field.
13
The field derives its value from the UserName field. The row is populated with a field label and field.
14
Repeat step 12 in the next row with the following changes: Field label: Question Subject Field name: QuestionSubject Field type:Text, Computed In the Programmers pane, enter the following formula:
Subject
15
The field derives its value from the Subject field The row is populated with a field label and field.
16
Repeat step 12 in the next row with the following changes: Field label: Date of Question Field name:QuestionDate Field type:Date/TIme, Computed In the Programmers pane, enter the following formula: @Created. Repeat step 12 in the next row with the following changes: Field label: Answer Subject Field name: AnswerSubject Field type: Text, Editable
17
18
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 29
Preview
20 21 22
A blank layer is inserted on the form. The layer is positioned behind the table. The mod_menu_background.gif image is added to the layer.
23 24
25 26
A 30
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
The Create View box opens. The Categories view appears in the view list. The Categories view opens in the Work pane. The Add Condition dialog box opens. SELECT @All appears in the Programmers pane. The new formula is created.
Double click the first view column to open the Column Properties box. Modify the column as follows: Name: Question Width: 25 In the Programmers pane, select Formula and add the following formula:
Subject + " - " + @Text(QuestionDate)
10
The Question column displays the content of the Subject and QuestionDate fields.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 31
Preview
Result
A 32
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Create a list of actions. Determine where they need to be executed and if they are shared. Create the actions. Add the actions to the appropriate views and forms. Hide the actions when appropriate. Save any of the documents by clicking a button instead of using menu commands.
List of actions
The following table lists the actions that need to be added to the Policies database.
Action Create Policy Edit Policy Create Question Edit Question Create Answer Edit Answer Save and close the document. Policies View Policies View When policy document is open in read mode. Q&A View Policies View Q&A View When question document is open in read mode. Q&A View When question document is open in read mode. Q&A View When answer document is open in read mode. Q&A View Policies View When policy, question or answer document is open in edit mode. Where used
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 33
Preview
Result The view appears in the Programmers pane. The Action properties box opens. The action is named Create Policy. The formula appears in the Script area.
A 34
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The Work pane opens to the shared actions list. The Shared Action Properties box opens. The shared action is named Edit Policy. The Action Hide/When tab appears. The properties are set which will hide the button if the document is in Edit mode.
2 3 4 5
6 7
Close the Action properties box. Enter the following formula in the Script area for the Click object of the action:
@Command([EditDocument])
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 35
Preview
10
Note: Use the form alias if you created one, in place of the form name. 11 12 Save the shared action. Repeat steps 1-6 with the following change: Name: Create Question Enter the following formula in the Script area for the Click object of the action:
@Command([Compose];"Question" )
13
14
A 36
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 37
Preview
A 38
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The Work pane opens to the shared actions list. The Shared Action Properties box opens. The shared action is named Save and Close. The Action Hide/When tab appears. The properties are set which will hide the button if the document is in Read mode.
2 3 4 5
6 7
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 39
Preview
Add the Save and Close shared action to the forms and views
Follow these steps to add the Save and Close shared actions to the forms and views in the Policies application.
Step 1 2 3 4 5 6 Action Open the Answer form in Designer. Choose CreateInsert Shared Action from the menu. Select the Save and Close shared action. Click Done. Save and close the Answer form. Repeat steps 1 - 5 to insert the Save and Close shared action onto the Policy and Question forms. Open the Policies view in Designer. Choose CreateInsert Shared Action from the menu. Select the Save and Close shared action. Save the view. Repeat steps 7-10 to insert the Save and Close shared action onto the Q & A view. The Save and Close action appears on the two additional forms. The view appears in the Programmers pane. The Insert Shared Action dialog box appears. Designer adds the shared action to the view. Result The form appears in the Programmers pane. The Insert Shared Action dialog box appears. Designer adds the shared action to the form. The Insert Shared Action dialog box closes.
7 8 9 10 11
A 40
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Result The Work pane opens to the agents. The Agent Properties box opens in the Work pane. The agent is given a name. The agent is designated as a shared agent. The Programmers pane is split into the InfoList and the Script area. The formula is entered in the Script area.
Check that Shared is selected. In the Programmers pane, select Formula from the Run list. In the Script area, enter the following formula:
REM {Generate a random number}; TempNum := @Random * 100; REM {Select the rightmost 4 digits of the number to use in the policy number}; REM {and make it text.}; NewTemp := @Right(@Text(TempNum);4); REM {Set the PolicyNO field to "PN" plus the NewTemp}; FIELD PolicyNo := "PN" + NewTemp; SELECT @All
7 8
Save the agent. Open the database in the Notes client, run the agent, and check the results.
The new agent is saved. The PolicyNo field in all Policy documents contains the reassigned policy numbers.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 41
Preview
A 42
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Determine the roles for the Policies application Create the roles
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 43
Preview
4 5
A 44
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Lesson 13: Control access to documents in the Policies and Procedures application
In this exercise you will control access to documents in the Policies and Procedures application based on the following:
All employees should be able to read any document in the application. Prevent users not in the Group/Users listed in the ACL from accessing the application. Only people in the PWriters role should be able to create Policy documents. All employees can create Question documents. Only the person who creates a Question should be able to modify it. Only PWriters should be able to create and edit Answers.
Change the ACL to modify the access rights of different groups of users Change the Policy form to allow only users assigned the PWriters role to create or edit documents created with this form Change the Question form so only the author can edit their question Change the Answer form to allow only users assigned the PWriters role to create or edit documents created with this form Set the hide/when formula for actions
This solution assumes the database has the groups and roles from the previous two exercises.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 45
Preview
Lesson 13: Control Access to Documents in the Policies and Procedures Application...(continued)
5 6
Select the Policy Makers group from the list of users. Select Author as the access level. Select the [PWriter] role. Select the Department Heads group from the list of users. Assign the [PWriter] role to the group. Click OK to close the Access Control List box and save the database.
A 46
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Lesson 13: Control Access to Documents in the Policies and Procedures Application...(continued)
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 47
Preview
Lesson 13: Control Access to Documents in the Policies and Procedures Application...(continued)
Result Only users assigned to the PWriter role can create a Policy document.
A 48
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Lesson 13: Control Access to Documents in the Policies and Procedures Application...(continued)
Result
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 49
Preview
Lesson 13: Control Access to Documents in the Policies and Procedures Application...(continued)
Result
The Answer form opens in the Work pane. The Form Properties box opens.
A 50
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Lesson 13: Control Access to Documents in the Policies and Procedures Application...(continued)
2 3
The Shared Action Properties box opens. The Create Answer action is hidden from anyone who is not assigned the PWriters role.
5 6
Save the shared action. Repeat steps 1- 5 for the Create Policy shared action.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 51
Preview
Select the Policies and Procedures database in either Notes or Designer. Choose File Database New Copy. Make sure that the server is set to Local. Enter the title
Policies_Template. The Copy Database box opens.
2 3 4 5
Note: The NTF file extension does not make the file a template. It simply causes it to appear as a choice in the list of templates when you create a new database.
6 7
Only the database design elements will be copied, not the documents. The database design is copied locally.
A 52
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
3 4 5
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
A 53
Preview
A 54
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Appendix
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Just as important as where the code is written is where it is executed. The location
of execution, i.e., server versus client, can affect how the data is accessed, as
well as the security provisions that are taken to protect the data.
B 2
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
B 3
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
B 4
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Property/Event
Field
View
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
B 5
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Examining LotusScript
LotusScript is an embedded BASIC scripting language that offers access to Domino data and services beyond the capabilities of the Formula language.
B 6
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Examining Java
Internally, Domino only supports the use of Java in agents. However, external Java programs can access Domino applications. The Designer IDE provides a basic Java editor in the Agent Builder, with color formatting and reference Help for the standard Java language and the Domino classes.
Limitations
Internally, Domino only supports its use
in agents.
Complex program development
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
B 7
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Examining JavaScript
JavaScript is integrated in Designer to allow Domino applications to support users with Web browsers. The Notes 6 client interprets JavaScript and thus benefits from its unique characteristics. This functionality is critical in building applications for mixed clients.
Property/Event
Field or Button
Limitations
Built-in editor, but no debugger Requires programming skills
browsers
B 8
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
Choosing a Language
Choosing the best language to use for a given situation can be complex. Many times, the requirements of the situation will narrow the number of choices available.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
B 9
Preview
Ap pend ix B Iden tif yin g P ro gra mming Lan guag es S uppo rt ed b y D omin o
B 10
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Appendix
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
This section includes the relevant information about the standard curriculum development learning processes and icons. Use this section as a tool to prepare to deliver the course successfully. Note: The terms instructional unit and unit are used to refer to general units of instruction, including modules, lessons, topics, activities, and so on.
A summary description
The appropriate icon
A table indicating what the instructor and students will see in their guides
Teaching tips
Note: Not all the learning processes are used in every course.
What is e-learning?
Some of the descriptions that follow include references to e-learning. E-learning education offerings and seminars are delivered using online tools. E-learning courseware can be self-paced or instructor-led. Instructor-led e-learning courses use the tools of either the Lotus Sametime Meeting Center or the Lotus LearningSpace Virtual Classroom.
C 2
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Assessment
An Assessment is an evaluation learning process used to gauge the student's
knowledge. Assessments provide feedback to both the student and instructor,
and can be formal or informal. Assessments can be collected and graded, or
assessment answers are provided.
Assessments are used to:
The following table lists the supporting materials that may be included in the
Instructor and Student Guides for this learning process.
reference to the Question Set or assessment that was enabled for the session.
Note: Answers to the assessments are included in the Assessment Answers appendix of both the Student Guide and Instructor Guide.
Teaching tips
9 Clearly state the purpose of the assessment (for example, to provide self-assessment, assess prior knowledge, or calculate course grade). 9 When applicable, provide information on the organization's policies regarding grading and privacy of information. 9 When delivering an e-learning question, allow for transmission time before tallying answers.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 3
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
Case Study
A Case Study is an experience-based learning process used for discovery and exploration, or as a culmination of learning objectives. The Case Study presents a problem or scenario. Students work independently or in groups to provide recommendations, problem resolutions, or solution strategies. Although Case Study materials may not include a correct answer, they may include recommended solutions, a list of considerations, or resolution strategies. The following table lists the supporting information that may be included in the Instructor and Student Guides for this learning process.
Instructor Guide Contents
Case Study icon Presentation strategy Workgroup recommendations Solution methodology Estimated timing for student work Possible solutions, considerations, or
strategies
strategies
Estimated timing for discussion Discussion tips
Teaching tips
9 Follow the recommended timing for the case study, but modify accordingly based on the students expertise. 9 Lead a discussion on a recommended solution.
9 Discuss the solution(s) and, as a group, list the advantages and disadvantages of the suggested alternatives.
C 4
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Demonstration
A Demonstration is a presentation of a procedure, user interface, solution, or
other course-related task or structure. In general, instructors use Demonstrations
to present content, procedures, and structure.
Students watch but do not participate in Demonstrations.
Demonstrations can be used to:
The following table lists the supporting information that may be included in the
Instructor and Student Guides for this learning process.
instructor uses to perform a particular Demonstration Specific content information that should be presented For e-learning materials, instructions to transition to the Screen Sharing mode
Demonstration database For some offerings, a Demonstration database is included on the Classroom Tools media. Sample Demonstrations are pre-built for the instructor to use.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 5
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
9 Ask questions during the Demonstration to ensure student comprehension of the task or information referenced in the demonstration. 9 Consider directing the students to look at the Procedure after completing the demonstration to help ensure that the students watch the instructor perform the steps. 9 For e-learning delivery, use Screen Sharing and enable participants to complete some procedural tasks.
C 6
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Discussion
A Discussion is an interactive activity in which the instructor solicits opinions,
ideas, beliefs, and experience regarding course-related content or issues.
Discussions can be used to:
The following table lists the supporting information that may be included in the
Instructor and Student Guides for this learning process.
could result from the Discussion Transition statements to begin or summarize discussion For e-learning materials, tips or alternatives for conducting the Discussion with a large or distributed student group
Teaching tips
9 9 Limit the Discussion to topics directly related to the lesson objective. Ask questions to encourage participation.
9 Summarize the Discussion to help students relate the topics discussed with the course content. 9 For e-learning delivery, use the hand raise tools, chat, and poll techniques to solicit feedback. 9 For e-learning delivery, in sessions that do not use online audio, encourage students to use the electronic hand raise feature to indicate that they would like to participate. 9 For e-learning delivery, remind students to state their name before speaking, to identify themselves to classmates who might not recognize their voice. 9 For e-learning delivery to large groups, consider conducting the discussion using other means, for example, Chat or Discussion Board.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 7
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
Exercise
There are two types of exercises: online and paper-based.
should perform the Exercise, such as working in groups or individually Special preparation instructions Tips to help students resolve any problems that they may encounter For e-learning materials, instructions for conducting a small group Exercise using the Breakout Session tools or other methods of collaboration.
C 8
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
9 Review the Exercise solution in Appendix A: Exercise Solutions at the end of the exercise. 9 Make group assignments clear and achievable.
9 For e-learning delivery that uses the Breakout Session tools, schedule the session as a final class activity, one that does not require students to return to the main live session. This simplifies the navigation that students need to complete. 9 For e-learning delivery where students have little or no experience with Breakout Session tools, assign a teaching assistant to initiate the session and facilitate the groups work.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 9
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
Guided Practice
A Guided Practice is a student-centered learning process that allows students to learn by performing a task. Guided Practices can be instructor-led or self-paced.
Instructor-led practice is used to present a new procedure or a new user interface. The instructor and students perform the procedure at the same time. The classroom projection system or monitor displays the instructors actions. The Student Guide includes detailed instructions for completing the task.
Self-paced practice allows students to apply a learned skill or knowledge. Students perform a procedure independently, using instructions. The following table lists the supporting information that may be included in the Instructor and Student Guides for this learning process.
Instructor Guide Contents
Guided Practice icon Heading that indicates whether the
Guided Practice should be instructorled or self-paced Preparation directions Estimated timing for the self-paced practice Potential issues Content details that should be presented in the instance of an instructor-led practice
that contains specific information Step/Action or Step/Action/Result table that contains specific tasks to complete
Teaching tips
9 Briefly review the directions before starting the Guided Practice.
9 If the students perform the Guided Practice on their own, be available during the guided practice so they can ask questions. 9 Review the Guided Practice results when completed to ensure that students have successfully completed it or demonstrated comprehension of the skills. 9 9 Provide additional information as required. Relate the Guided Practice information to the job task whenever possible.
C 10
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Presentation
A Presentation is an instructor-led learning process used to present content and
instruction using a variety of media.
Presentations include:
Freelance slides
Multimedia executables
Videos
Whiteboard slides for e-learning offerings
Follow Me pages for e-learning offerings
The following table lists the supporting information that may be included in the
Instructor and Student Guides for this learning process.
the Classroom Tools database or directory Estimated timing for the Presentation Special setup or delivery instructions Content information to be presented For e-learning materials, instructions to share or use Whiteboard Tools For e-learning materials, Follow Me page name For e-learning materials, instructions to select and send the Follow Me page
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 11
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
9 Enhance the Presentation using your own words and relate the information to the appropriate objective. 9 For e-learning delivery, use the Whiteboard Tools to annotate the slide and the Whiteboard Pointer tool to focus attention. 9 For e-learning delivery, when displaying a new Whiteboard or Whiteboard slide, pause to allow time for each student's display to refresh. 9 For e-learning delivery, when presenting a Web page, pause to allow the new browser window to open and display the page on the student's machine. When finished presenting the page, instruct students to close the window and display the live session window.
C 12
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Procedure
A Procedure is a generic task that is documented using step-by-step instructions. Procedures are always presented in a table format. A Procedure can also be in the form of a checklist. Checklists can be used to list:
Tasks required to complete a specific objective. Tasks that are part of a process. Items, equipment, requirements, or other materials necessary to complete a task.
The following table lists the supporting information that may be included in the Instructor and Student Guides for this learning process.
Instructor Guide Contents
When accompanied by a
Demonstration, instructions, such as preparation and specific steps The purpose of the procedure as it relates to the subject matter
Teaching tips
9 If the Procedure is related to a Demonstration, direct the students to look at the Procedure after completing the Demonstration. This helps ensure that the students watch the instructor perform the task. 9 For a checklist, periodically review the checklist to show progress in completing a task or process. 9 For a checklist, recommend to students that they use the checklist as a reference.
9 For a checklist, create and present a slide or flipchart containing the checklist. Track the progress of the larger process on this flipchart or slide.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 13
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
Review
A Review is used to reiterate main concepts and can be used to gain feedback,
assess learning, review critical material, or transition from one instructional unit to
another.
A Review may be used to:
The following table lists the supporting information that may be included in the
Instructor and Student Guides for this learning process.
Teaching tips
9 Use questions to review content and not restate objectives.
9 If students exceed the course prerequisites and/or demonstrate mastery of the key concepts, consider excluding some questions. 9 For e-learning delivery, refer to the Course Setup Guide for instructions to create the Question Set and add it to the live session materials. 9 When delivering an e-learning Question Set, allow for transmission time before tallying the responses.
C 14
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Preview
Caution
Cautions are short, descriptive paragraphs meant to warn of potential pitfalls or areas where students could experience problems during class or back on the job.
Critical classroom setup procedures that the instructor must complete before presenting subsequent content. Instructor Task
Note: Notes appear in the Instructor Guide and Student Guide and can be used to note differences in content.
Notes for the Instructor: Special notes the course developer wants to communicate to the instructor regarding delivery, classroom strategy, classroom tools, exceptions, and other special considerations.
Tip: Tips provide additional guidance, or a hint, for students about a topic or task.
Dev elop ing IB M Lot us Dom ino 6 A ppl icat ions : F ound ati on S kil ls
C 15
Preview
Ap pend ix C Lear nin g P ro cesses and Ins tr uct or Guide Co nvent ion s
C 16
Deve lopi ng IBM Lot us D omin o 6 App lica tio ns: Fou ndat ion Ski lls
Lotus software IBM Software Group One Rogers Street Cambridge, MA 02142