Title: Enterpol
1Enterpol
- Solutions for Public Safety
By Huber Associates
2Database Design
3Introduction to Notes Domino
- Rodney Viessman (rviessman_at_teamhuber.com)
- Darin Dutcher (ddutcher_at_teamhuber.com)
- Lotus Notes and Domino 6 Programming
Bible(Brian Benz Rocky Oliver) - Available at Amazon.com
4Introduction to Notes Domino
- Chapter 3
- NSF
- Contains all code, design elements, and data
- Database replica ID
- Basic storage mechanism is a Note
- Admin Notes (ACL)
- Design Notes (Form, View, Agent, Fields, etc.)
- Data Notes (Document, i.e. data)
- Each is uniquely identified by UNID
- Space allocation is dynamic, not pre-defined
- Response Hierarchy
5Introduction to Notes Domino
- Whats in a Note?
- Items
- Text
- Names
- Authors/Readers
- Number
- Date/time
- Rich Text
- Paragraphs
- Sections
- Tables
- OLE objects
- Attachments
- Images
- Document links
- Hotspots
6Application Building Blocks
- Chapter 4
- Forms
- A form is a design element that acts as a lens
for viewing or modifying information in a
document. A form is a collection of other
elements used for showing or modifying data. (p.
48) - Relational world vs. managing documents
- Contains Fields, buttons, text, tables,
graphics, events, etc. - Fields
- Container for specific data element
- Types
- Text
- Numbers
- Date/Time
- Dialog box, combo box (keyword list)
- Checkbox
- Authors/Readers
- Rich Text
7Application Building Blocks
- Subforms
- Reusable subset of the form
- Must be included on a form
- Use sparingly, performance hit
- Pages
- Similar to a form, except not used to store
documents - Contains static information
- Cannot place fields on a page
- Views
- Way to sort, organize and display documents
- Columns used to display a subset of documents
data - Actions can be used to act on all or subset of
documents in a view - Framesets
- Very similar to their web counterpart
- Outlines
- Tree structure used for navigation
8Application Building Blocks
- Agents
- Executable code
- More about this later
- Stylesheets
- Define how information is displayed (color, size,
font) - Allows global changing of appearance from a
single point - Similar to web counterpart
- Images
- Storage for graphic images
- More efficient than placing images on form
- Allows for global changes from single point
- Hands on!
9Design Templates
- Chapter 7
- Templates are pre-designed applications
- Built using same tools available to programmers
- Great source for code examples
- Can be modified. (Watch out!)
- Examples
- Mail Calendar
- Address book
- Welcome page
- Discussion database
- Document library
- Hands on!
10Page Form Basics
- Chapter 8
- Pages
- Page properties
- Text
- Computed Text
- Hands on!
11Page Form Basics
- Chapter 8
- Forms
- Form Properties
- Text Layout
- HTML
- Fields
- Hands on!
12Views Folders
- Chapter 9
- Views Folders
- 3 Types
- Tuning your views
- New Features in 6
- Hands on!
13Advanced Form Design
- Chapter 12
- Forms
- Tables
- Sections
- Hide-whens
- Layers
- Buttons Actions
- Images
- Hands on!
14Database Security
- Chapter 10
- Levels of security
- Server
- Database (ACL)
- Design
- Document
- Field
15Database Security
- Server Security
- Server Administrator has responsibility to
install, setup and manage the server - Server configuration and security is maintained
in server address book (names.nsf) - Individual users must be added to address book to
access the server - Address book security tab
16Database Security
- Server Security (cont)
- Who can access the server
- Restrict users from accessing server
- Create databases templates
17Database Security
- Server Security (cont)
- Run unrestricted methods and operations
(everything!)
- Run restricted LotusScript/Java agents
- Run Simple and Formula agents
18Database Security
- Access Levels
- Manager
- Designer
- Editor
- Author
- Reader
- No Access
- Attributes
- Create Documents
- Delete Documents
- Others (views/agents)
- Roles
- Similar to groups
- Database Specific
- Gives the Designer control
19Database Security
- Design Security
- Form security tab
- Very Important!!!
- This is not totally secure!
20Database Security
- Document Level Security
- Default Form security tab
- Readers Fields
- Read access to a document
- Authors Fields
- Edit access to a document
- Chapter 21 (additional info)
21Database Security
- Field Level Security
- Individual Fields can be marked for encryption
- Users who dont have the appropriate
encryptionkey will not be able to see the data - See designer help for more details
22Framesets Outlines
- Chapter 11
- Framesets Outlines
- Working with Outlines
- Working with Framesets
- Hands on!
23Formula Basics
- Chapter 15
- Formulas in Forms
- Events
- Titles
- Fields
- Formulas in Views
- Selection
- Columns
- Hide-when
24Actions, Buttons Hotspots
- Chapter 16
- Action Buttons
- On Forms
- Hide-when
- Subactions
- In Views
- Shared actions
25Actions, Buttons Hotspots
- Chapter 16
- Buttons Hotspots
- Creating Buttons
- Creating Hotspots
26Formula Language Techniques
- Chap. 23
- Introduction to Formula Language
- What is it?
- Why Use it?
- Where and When to use?
27Formula Language Techniques
- Chap. 24
- Working with _at_Functions
- The Beginning
- Simple _at_Function
- Value _at_Promt(OKCancelEdit Enter Name
Please - enter a name. _at_Name(CN _at_UserName)) FIELD
Name Value _at_True - Useful _at_Functions
28Formula Language Techniques
- Chap. 25
- Introduction to _at_Commands
- Execution order
- Useful _at_Functions
29Formula Language Techniques
- Chap. 26
- Using Formula to Retrieve Data
- _at_DbColumn
- _at_DbColumn( class cache server database
view columnNumber ) - _at_DbLookup
- _at_DbLookup( class cache server database
view key fieldName keywords ) or - _at_DbLookup( class cache server database
view key columnNumber keywords)
30Formula Language Techniques
- Chap. 27
- User Interaction using Formula
- _at_Prompts
- _at_Prompt(OKCANCELEDIT "Enter Your Name" "Type
your name in the box below." _at_UserName) - _at_PickList
- _at_PickList( CUSTOM SINGLE server file
view title prompt column categoryname ) - _at_DialogBox
- _at_DialogBox( form AUTOHORZFIT AUTOVERTFIT
NOCANCEL NONEWFIELDS NOFIELDUPDATE
READONLY SIZETOTABLE NOOKCANCEL
OKCANCELATBOTTOM title )
31Formula Language Techniques
- Chap. 28
- Advanced Formula Techniques
- Looping in Formulas
- _at_DoWhile
- _at_While
- _at_For
- Working with Lists
- _at_Trim
- _at_Replace
- Error-trap
32Agents
- Chapter 18
- Bits of executable code
- Agent targets
- All documents in the database
- All new and modified documents
- All unread documents in view
- All documents in view
- All selected documents
- None
33Agents
- Agent Triggers
- Agent menu selection
- From the actions menu
- Agent list selection
- Usually executed from other design elements
- Does not show in actions menu
- Before new mail arrives
- After new mail arrives
- After documents are created or modified
- When documents are pasted
34Agents
- Scheduled Agents
- Daily
- Weekly
- Monthly
- More than once a day
- Never
35Agents
- Agent run type
- Formula
- Simple Action(s)
- LotusScript
- Imported Java
- Java
- Hands On!
36Additional Resources
- Books
- Lotus Notes 6 for Dummies
- Lotus Notes and Domino 6 Programming Bible
- http//www.wiley.com/legacy/compbooks/benz/LotusNo
tes/downloads.html - Master Lotus Notes/Domino 6
- http//www.notes.net
- Discussion forum
- Sand box sample code
- Template sample code
- Designer help
- Very Good
- Cut and Paste code
37Hands on time
- Individual hands on.
- Test what you have learned.