售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
IBM Lotus Domino: Classic Web Application Development Techniques
Table of Contents
IBM Lotus Domino: Classic Web Application Development Techniques
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
Getting started
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Preparation and Habits
Preparing yourself as a developer
Gather a list of public websites that use Domino
Get certified in Lotus Notes / Domino application development
Use Domino Help
Consider using external editors and development tools
Create sandbox applications
Create a personal cookbook
Create a personal document library
Create a website
Adopt new language and terms
Pay attention to web programming developments and practices
Standardizing applications
Abide by your organization's web development guidelines
Usability
Style
Mechanics and process
Create libraries of common resources
Planning your work
Take notes
Use to-do lists
Keep a list of all active projects and tasks
Report your progress
Working the project
Work with users, not against them
Identify the champion and other players
Don't start without clear requirements
Understand the budget and timeline; provide an estimate
Avoid scope creep
Assume that all Notes applications will be web-enabled in the future
Familiarize yourself with an unknown design
Assess an existing application for web enablement
Think like a user
Think like a developer
Write a report
Keep an issues log
Improve the application under the covers
Enhance performance wherever possible
Add error trapping
Add diagnostic and repair aids
Provide the customer with a summary of changes
Documenting your applications
Add comments to the code
Create internal developer notes
Add release notes to the About document
Include external documentation in the design as file resources
Create user-oriented help pages
Summary
2. Design and Development Strategies
Planning the design
Understand the scope of the project
Annotate the requirements document
Understand the workflow
Determine the need to access external databases
Decide on one database or several
Review existing designs
Copy the design of an existing application
Evaluate the security needs of the application
Using consistent naming conventions
Name databases so that URLs are easy to remember
Use standard versioning for design templates
Use standard versioning for major design elements
Use unique names for all major design elements
Name design elements sensibly
Name form fields consistently and appropriately
Create different versions of design elements for Notes and the Web
Name Domino groups and roles appropriately
Use Domino groups and roles appropriately
Name roles consistent with other applications
Attending to human factor issues
Create clean and flexible designs
Design for specific display characteristics
Design for accessibility
Add titles to pages, forms, and framesets
Optimize the use of images
Use image resources instead of pasted images
Using appropriate design elements and techniques
Consider alternate design strategies
Learn the Properties dialog box
Use hide-when formulas
Avoid using the Java applets
Avoid server refresh round trips
Conform to HTML standards
Avoid using non-standard, deprecated, and invalid HTML tags
Avoid using HTML formatting tags
Use configuration documents
Developer testing
Add diagnostic and repair tools
Set up test IDs
Test with browsers used by your users
Clear the browser cache
Promoting the design from testing to production
Use a staging server for user acceptance testing
Segregate administrative and developer duties
Request that templates be signed by an authorized signing ID
Understand how templates are applied to production applications
Reviewing other sources of help
Read the Notes and Domino release notes
Summary
3. Forms and Pages
Setting properties appropriately
Set the content type (MIME) property
Take full control with content type HTML
Leave the "Use JavaScript when generating pages" option enabled
Generate HTML for all fields
Opening forms and pages directly
Viewing the source in a browser to investigate anomalies
Composing and saving documents
Create documents
Edit documents
Save documents
Save documents using $$Return to specify the next page
Save documents using a WebQuerySave agent to specify the next page
Improving the layout of design elements
Identify all HTML tags
Use view template forms to display views
Use framesets for layout
Use <div> tags to replace framesets
Align fields
Use tables to align fields
Use <div> and <label> tags to align fields
Use <fieldset> and <legend> tags to group related fields
Using computed text
Display a customized title bar
Display customized messages
Using hidden computed fields
Add fields to provide access to key document attributes
Access CGI variables
Improve @DbLookup and @DbColumn formulas
Using HTML to add value to a form or page
Use special fields
Convert between Notes and HTML
Creating pseudo Action Bars for the Web
Summary
4. Navigation
General precautions
Do not hardcode URLs, filenames, or UNIDs
Use @WebDbName
Use $Ref
Use a "go forward" navigational strategy on the Web
Avoid generating complex dynamic pages
Application launch options
Launch the About document
Launch a specific homepage
Launch a frameset
Launch a view
Launch a form
Launch a graphical navigator
Launch documents in context using Auto Frame
Creating a custom application login form
Creating menus
Create Hotspots
Create menus with outlines
Create menus with tables
Create menus with HTML and CSS
Create dynamic menus with views
Displaying a design element after exiting a document
Use $$Return to select a design element
Display the previous view
Display the parent document
Using response forms for interim workflow steps
Coding default error pages
Providing directions and help
Add meaningful labels and guidance text
Add titles to design elements
Link to the About and Using documents
Add customized help pages
Opening another application in a separate window or tab
Summary
5. Cascading Style Sheets
Using CSS for styling design elements on the Web
Learn basic CSS coding
Associate CSS rules with design elements
Locating style rules in applications
Use a page design element
Use Style Sheet Resources
Add style (sparingly) to Properties
Minimize the use of internal and inline styling
Use common style sheets
Use a Domino application as a style sheet repository
Use the HTML directory on the server
Developing CSS rules
Work with an application rather than a template while writing CSS
Make sure you have control over the style of an element
Clear the browser cache
Remove HTML formatting
Remove conflicting inline and internal CSS rules
Use fully qualified CSS selectors
Accommodate different browsers
Adding style to form and page elements
Use color effectively
Style text
Style headings and labels
Underline links in text but not in menus
Style fields
Highlight required fields
Style buttons
Replace the default Action Bar buttons with hotspot buttons
Style the default Action Bar buttons
Style borders and margins
Work with images
Style menus
Style printed pages
Add more than one class to an element
Summary
6. JavaScript
Using JavaScript in web applications
Keep it simple, comment the complex
Be alert for disabled JavaScript and other options in browsers
Be alert for inconsistent JavaScript behavior in different browsers
Use browser object detection
Use browser detection only when really necessary
Locating JavaScript in applications
Place functions in JavaScript libraries
Add JavaScript in the JS Header
Add JavaScript to web events
Use a page for JavaScript
Use a subform for JavaScript
Consolidate and co-locate JavaScript
Developing and debugging scripts
Use browser debugging tools
Validate JavaScripts
Using JavaScript to enhance forms and pages
Run JavaScript on load
Access CGI variables
Validating fields
Validate number fields
Use a date picker for date fields
Warn users before leaving an un-submitted form
Use Ajax calls to avoid server round trips
Summary
7. Views
General guidelines
Create some diagnostic views
Display documents in a hierarchy
Display Replication or Save conflict documents
Specify a default view
Use view templates
Use the same view template for several views
Compute the view title
Exploring view options for the Web
Understand view Action buttons
Use Domino-generated default views
Include HTML tags to enhance views
Use the "Treat view contents as HTML" option
Structure HTML views as tables
Code links to open documents
Structure HTML views as lists
Set the view line count
Create Notes versions of HTML views
Use the View Applet (with caution)
Creating Action buttons
Provide view navigation buttons
Code next and previous navigation buttons
Code first and last buttons
Let users specify a line count
Code expand and collapse buttons for categorized views
Co-locate and define all Action buttons
Create your own Action buttons
Adding style to views
Style Domino default views
Style HTML views
Opening documents in a separate window
Adding view scrollbars dynamically
Summary
8. Agents
General LotusScript agent guidelines
Give agents meaningful names and aliases
Structure and document agents
Use agent subroutines and LotusScript libraries
Harvest ideas from Designer Help
Setting agent attributes
Set who can view and run an agent
Set an agent's runtime context
Set an agent's runtime privileges
Hide unused agents
Developing agents
Use web safe @formulas and LotusScript
Include a basic error trap
Write messages to the browser as a web page
Write messages to the browser with a JavaScript alert
Write messages to an agent log file
Working with documents
Use WebQuerySave
Access a document from an agent
Access a document open in the browser
Access a document not open in the browser
Detect the type of client invoking the agent
Detect whether a document is in Read or Edit mode
Prevent a document from being saved
Redirect the browser to the next page
Process selected documents in a view
Writing special purpose agents
Send e-mail notifications
Export data to a spreadsheet on the Web
Summary
9. Security and Performance
Security
General guidelines
Plan your security
Manage Domino groups
Specify anonymous access
Set the maximum Internet access level
Manage the application ACL
Enable SSL
Prevent opening an application in a browser
Hiding is not securing Use element access lists
Understand application backup and restore procedures
Add security to forms and documents
Understand the "Generate HTML for all fields" attribute
Prevent users from reading existing documents
Prevent users from editing existing documents
Prevent users from editing selected fields using a Controlled Access Section
Prevent users from editing selected fields using hide-when formulas
Do not use field encryption
Track document changes
Make a form available to anonymous users
Control navigation options
Code an explicit logoff
Manage agent security
Performance
General guidelines
Listen to your users
Design for ease of use
Archive or delete old documents
Remove obsolete code and design elements
Clean up and optimize code
Use tools to assess response time
Improve forms
Limit the use of images
Use Ajax calls to retrieve data
Use simpler hide-when formulas
Validate fields with JavaScript
Improve views
Remove unused or redundant views from the design
Limit the data displayed in views
Remove unnecessary view column sorting
Minimize the use of view column formulas
Avoid time-based view column formulas
Create views as an alternative to common searches
Modify database properties
Investigate Domino server options
Summary
10. Testing and Debugging
Testing
Test with different browsers
Test with different user privileges
Craft the staging environment to resemble the production environment
Engage other people for testing
Test every feature if possible
Test responsiveness
Create a written test plan
Track defects
Create detailed user documentation while testing
Require user sign-off
Monitor the application after Go Live
Debugging
General guidelines
Reproduce the problem
Isolate the failure
Code a $$ReturnGeneralError form
Check the Domino Log
Use the Web
Use Design Synopsis
Troubleshoot forms
Dynamically display hidden fields on the Web
Expire the cache
Debug CSS
Use browser-based debugging tools
Troubleshoot agents
Incorporate dynamic debugging messages
Create troubleshooting tools display scheduled agent information
Troubleshoot problems with data
View field values in Document Properties
Create diagnostic views
Write document repair agents
Document problems and solutions
Keep a personal problem solving journal
Report back to the user
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜