Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
IBM Lotus Domino: Classic Web Application Development Techniques
IBM Lotus Domino: Classic Web Application Development Techniques

IBM Lotus Domino: Classic Web Application Development Techniques: This tutorial takes Domino developers on a straight path through the jungle of techniques to deploy applications on the web and introduces you to the classic strategies. Why Google it when it’s all here?

eBook
$35.98 $39.99
Paperback
$65.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

IBM Lotus Domino: Classic Web Application Development Techniques

Chapter 2. Design and Development Strategies

An application enhancement or development task can be daunting depending upon your experience and the size of the task. In practice Domino developers can play several project roles: analyst, architect, programmer, coder, tester, technical writer, and often database administrator, trainer, and help desk as well. New developers may be assigned modest enhancement assignments while the more experienced tackle the more challenging projects. But you may not have a choice in the matter; you may be the only Domino developer in your organization and a part-time one at that.

Your goal is to align the application design with the business, to make users more productive more effective, accurate, and timely. The more you know about the business jargon, processes, priorities, and problems, the better positioned you are to interpret user requirements, and to offer suggestions for enhancing an application.

Your application should satisfy user requirements and launch...

Planning the design


Time spent planning means less time spent debugging and reworking the application later on. Resist the "newbie" tendency to jump right to the programming. Take some time to think, to write, to plan.

Identify your key user contacts and strike up relationships. Your customers will clarify their requirements, offer suggestions, and weigh in on decisions about the design. They will approach and test the application from different perspectives, which will highlight issues you had not considered.

Understand the scope of the project

From the requirements that you have, determine what kind of project this is. Are you changing the design of an existing application? Web-enabling an application? Or crafting an entirely new design? The answer to this question will in part tell you how much planning effort is required; the larger the task, the more planning that should be done.

Classify the project and its requirements. Here is a straight-forward taxonomy:

  • Bug fixes

  • Modifications to...

Using consistent naming conventions


If you have only a few things to keep track of your children, for example then it probably makes little sense to worry about a consistent naming strategy. But as a developer, you will create or modify hundreds or even thousands of objects (fields, forms, views, roles, databases) over a period of years. Consistent naming conventions will help you to reduce errors and to be more productive.

The name of a file or design element should convey some human meaning about its purpose. Elements which belong together should be named in some common manner. If a design element provides a space for comments, use it to further clarify the purpose of the element.

Name databases so that URLs are easy to remember

Meaningful and non-cryptic URLs are easier to remember and less likely to be mistyped by users. When you create an application, use simple and meaningful titles and filenames. Filenames like the following are easier to remember:

  • Resumes.nsf

  • ProcessingErrors.nsf...

Attending to human factor issues


Application usability considerations were noted in Chapter 1, Preparation and Habits. Consideration should be given also to other aspects of your applications that will make them easier to use or to change later on.

Create clean and flexible designs

Keep in mind that your application will likely be enhanced or modified in some way in the future. If your design is convoluted and uses clever but difficult to understand algorithms or techniques, you do a disservice to future developers. Cleaner, more straight-forward designs are easy enough to create and certainly easier to rework.

As you learned in your first programming class, comment your code and otherwise document it.

Use shared elements like subforms, image resources, and script libraries to minimize the number of design elements that may have to be modified in the future.

Limit the scope of the JavaScript functions, and LotusScript functions and subroutines. Simpler functions and subroutines are easier to...

Using appropriate design elements and techniques


Understand that not all design elements work on the Web. Native @Prompt or @PickList functions, for example, do not translate to the Web. Refer to Designer Help for a list of @Functions and @Commands that do not translate to the Web.

On the other hand, some Web techniques do not work within Notes. For example, if you build a process which relies on CGI variables, that process will not work in the Notes client.

Consider alternate design strategies

After your first project or two, you will begin to see that there are usually several ways to build a feature. Designer enables you to use several coding and mark up languages, several kinds of images, several ways to control layout, several strategies for validating input, and so on. You are free to mix and match techniques within an application.

Topics in later chapters often suggest alternate ways of doing something. Typically every technique offers benefits and limitations. As you dive into development...

Developer testing


As you develop, you will continually test the design as you implement features and make other changes in accordance with the requirements. At the end of the development phase, and before you turn the application over for user acceptance testing, spend some time seriously challenging the revised application. See if you can break it.

Add diagnostic and repair tools

Especially for existing applications with which you are unfamiliar, create some diagnostic and repair tools that do not interfere with or depend upon any functional components. For example, views that display documents in ways that help you to understand the data can be extremely helpful during development and testing, and also afterward when the design is in production. If test cases fail to produce expected results, diagnostic views can help you locate incorrect documents and provide insight into what went wrong.

If you are aware of data errors which exist in some of the documents, code some agents to repair those...

Promoting the design from testing to production


An experienced QA Tester can be invaluable to your project. Engage one if possible to challenge your application before you turn it over for customer testing.

Once the application is turned over for customer testing, engage your users early and often to discuss progress and findings. Several customers are better than one. They will discover things you don't find because they will challenge the application in ways you did not consider.

Provide your testers with test scripts and suggestions appropriate to specific design changes or features. Remind them that only after they sign off can the new design move to production.

Use a staging server for user acceptance testing

A staging server should be configured as if it were a full production server. You and your customers should have the same privileges on the staging server as you do on the production server, no more, no less. Identical privileges and conditions will tend to root out many residual...

Reviewing other sources of help


Some of your development time will be spent browsing the Web and reading articles that address specific issues with which you are dealing. In addition, find some off-task time to read more generally in order to pick up ideas for your projects. There are many sources of information on the Web. Here are some places to start:

http://www-01.ibm.com/software/lotus/notesanddomino/library.html

http://www.ibm.com/developerworks/lotus/products/notesdomino/

Note

URLs are subject to change over time, so these and other referenced links may not work in the future.

Read the Notes and Domino release notes

Release notes are prepared for each version and numbered release of the product. Up through Version 8, release notes were generally available as NSF, PDF, or possibly HTML files. After Version 8, these documents may be available only as Web or Wiki pages.

Browse through the release notes for your current and the new versions of the software. Pay special attention to those...

Summary


A development project begins with a set of requirements, proceeds through design, development, and testing phases, and then fulfills when the new or revised design is rolled into production. Good planning and sensible execution of the plan are essential to every successful deployment, although the effort required should be commensurate with size of the project. This chapter has provided tips and recommendations applicable to all phases of a project, but especially to the design phase.

Left arrow icon Right arrow icon

Key benefits

  • Classic techniques used for Web-enabling traditional Domino applications
  • Demonstrates how to incorporate HTML, CSS and JavaScript into designs
  • Offers tips and suggestions for testing, debugging, and troubleshooting
  • Organized, easy to read, and well-illustrated, with numerous code examples
  • Instructions valid for Domino versions 6, 7, and 8

Description

Domino is an application server that can be used as a standalone web server. As part of the Domino suite, it provides a powerful collaborative platform for the development of customized business applications. It provides enterprise-grade e-mail, messaging, and scheduling capabilities. There are many novice and moderately experienced developers who would like to enhance a Web-enabled Domino application, but to do so they need to learn the fundamentals of HTML, CSS, and JavaScript, and also how to use those technologies in the context of a Domino application. Information about how to do this is available on the Web, but the sheer volume of that information makes it very difficult for the newbie to get started. Topics and techniques presented in this book provide a comprehensive overview of all major design strategies used to Web-enable traditional Domino applications. Illustrations provide clear working examples of how HTML, CSS, and JavaScript can be incorporated into existing applications to improve both look and performance. Early chapters provide suggestions for working with users and for managing your development time and effort. Later chapters focus in detail on forms and pages, views, navigation, agents, security, performance, and troubleshooting. Examples demonstrate clearly how to incorporate HTML, CSS, and JavaScript into Domino designs. By the end of this book you will have learned what you need to know to quickly and competently tackle web application enhancement tasks. Beyond providing a good understanding, this book will continue to serve as a valuable source of ideas and techniques. This book brings together essential classic strategies and techniques used to deploy Domino applications to the Web. Chapters cover all major design elements, with a special emphasis on how to craft these elements to work well with web browsers. Many topics include alternative techniques for solving particular problems. Illustrations and examples can be used where appropriate, or they can serve as jumping off points for your own solutions.

Who is this book for?

This book is for novice to moderately experienced Domino developers who are new to the task of Web-enabling traditional Domino applications. Readers should be familiar with using Domino Designer to develop applications for the Lotus Notes client. It is also assumed that readers have, or can acquire, at least rudimentary knowledge of HTML, CSS, and JavaScript.

What you will learn

  • Incorporate dynamic debugging, which can be turned on after an application is in production
  • Learn to style design elements with CSS rules
  • Learn how to use the various application launching options
  • Create and customize views for the Web
  • Work with hidden fields and CGI variables
  • Validate fields with JavaScript
  • Include a date picker on a web form
  • Learn to incorporate AJAX into an application
  • Include diagnostic features to help you understand an existing application
  • Understand how LotusScript agents work with web pages
  • Learn to troubleshoot web applications
  • Review ways to improve application performance

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Mar 23, 2011
Length: 344 pages
Edition : 1st
Language : English
ISBN-13 : 9781849682411
Vendor :
IBM

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Mar 23, 2011
Length: 344 pages
Edition : 1st
Language : English
ISBN-13 : 9781849682411
Vendor :
IBM

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 175.97
Microsoft SharePoint 2010 Developer's Compendium: The Best of Packt for Extending SharePoint
$54.99
IBM Lotus Domino: Classic Web Application Development Techniques
$65.99
IBM Lotus Notes 8.5 User Guide
$54.99
Total $ 175.97 Stars icon

Table of Contents

10 Chapters
Preparation and Habits Chevron down icon Chevron up icon
Design and Development Strategies Chevron down icon Chevron up icon
Forms and Pages Chevron down icon Chevron up icon
Navigation Chevron down icon Chevron up icon
Cascading Style Sheets Chevron down icon Chevron up icon
JavaScript Chevron down icon Chevron up icon
Views Chevron down icon Chevron up icon
Agents Chevron down icon Chevron up icon
Security and Performance Chevron down icon Chevron up icon
Testing and Debugging Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(9 Ratings)
5 star 33.3%
4 star 44.4%
3 star 11.1%
2 star 11.1%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Gavin Bollard May 09, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have to admit to wondering, when I was first asked to review this book, exactly what the market was that it's aimed at. After all, aren't all domino developers heading towards XPages now? Could a book on "traditional web programming in domino" still be relevant today?Well, surprisingly it is.The opening chapters deal with issues and requirements that our developers and I still constantly struggle with . They cover version control, issues logs, staging servers, commenting/documentation, standards and the big killer "scope creep". There are sections on using the "champions" in your office to drive projects, maintaining consistent URLs and setting up a developer test environment.These are aspects which affect all domino development regardless of the technology level (XPages, Notes, Pure HTML or JavaScript/CSS). If you regularly contract domino developers to develop applications for your environment, those first chapters are absolutely required reading. They're not overly technical and are very suitable for management level reading.The last two chapters of the book cover Security, Performance, Testing and Debugging. Again, these are mostly high-level. The security sections discuss planning for security, ACLs, reader and editor fields, the problems of hidden fields and sensible additions such as edit prevention after approval and logout facilities. The performance sections discuss archiving, code optimisation and the measurement of response time. The testing and debugging chapter talks about the requirements and limitations of user-testing and suggests various ways this testing could be improved. There are also some great sections on debugging which will help those new to domino to track down issues in their applications.The middle chapters cover CSS and JavaScript as it relates to forms, views and agents. The book talks about some features which are only available in Notes/Domino 8.5 but it never discusses XPages.If you're already a domino developer and you're looking to move into XPages, then this book certainly isn't for you. If however, you've been using Notes and want to quickly port some applications to the web or if you're familiar with classic HTML, CSS and JavaScript but want to get some Domino projects off the ground, then this is the right book.Of course, if you're on a version of notes/domino prior to 8.5 with little prospect of upgrading in the near future, this book will help you to get the best development potential out of your existing systems.The book offers a lot of great web development advice and code. It covers basic design rules mentioning some stylistic considerations which many web developers seem to overlook. It looks at form validation, usability and export functionality.The book exposes each increment in usability/design one step at a time. This will provide people new to domino with an understanding of the effect of each of their changes. It's a great way to cover these topics.There's also a whole chapter dedicated to navigation. It covers action buttons (how to style them, where to put them and when to use them). It provides tips for adding better URLs to your applications and provides some great coverage of the "go forward" navigational strategy.This is a really good book with great explanations and good technical detail. If this book had come out three years ago, it would have been a bestseller. Sadly though, XPages is taking over (at least in the minds of cutting domino developers) and this dates the technology in the book a little.If you're not going XPages yet and you're interested in classic domino development, then this is easily the best book I've seen on the subject.
Amazon Verified review Amazon
Melu26 Jun 16, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
La référence que je recherchais.Attention, ne s adresse pas aux débutants.Tres complet. Je vous le recommande vivement !!
Amazon Verified review Amazon
JLDMan Aug 11, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I would divide up the audience into three readers for "Classic Web Application" with Lotus Domino: 1. The "classic" adjective in the book's title is an acknowledgment that not all Domino developers are jumping into XPages and mastering the subtleties of Dojo. Some developers wear many hats and don't have time (or, are not ready) to push into frontiers. 2. There are Domino applications that are essential to a business, in which the architecture is late 1990's or early 2000, and does not need to be modernized, just maintained. This is the book for building the checklist of what can be polished up. 3. There is also the newbie programmer, frequently presented with the task of taking on a Domino application as their entry into enterprise application development. This is the book for them.With sections on design strategies, testing, and core application development (e.g., forms and views) anyone will find the right orientation for working in Domino web development. CSS and Javascript were clearly explained (and their integration isn't exactly transparent in Domino). Finally, the security chapter is terrific, with a very practical perspective on what is a good idea and what doesn't work well.
Amazon Verified review Amazon
K. Yee Jun 23, 2011
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The short summary is that this is a book that gives you guidelines for developing Domino web applications the non-XPages way (introducted in Domino 8.5), and gives you pointers to where you can look for more information, but isn't a "cookbook" kind of book with a lot of samples. It's targeted at Domino developers who are new to web development on Domino, but are decent at HTML/CSS, and Javascript.This book covers techniques used in Domino 6.5 and up, but unfortunately doesn't point out which versions specific features were added; this would help if you're maintaining older versions of Domino, but doesn't matter if you're running the latest version of Domino because it has always been good about backwards compatibility.Good best practices are recommended for things like using div tags to replace framesets and aligned fields, how to organize css/styling. There's good overage of making the ugly default Domino web views prettier using CSS and Javascript. Domino techniques for security (hidden fields, controlled access sections, and read/author fileds) are covered well. There's also good coverage of things that can slow down the server so you can avoid them. And there's a good guide to testing/debugging.There are also some oddities like recommending that you avoid coding java applets, but it's ok to use built-in Domino applets like the action bar. An example of using Ajax calls to call an agent is used but there's no mention of using jQuery or Dojo to make it easier. There's good coverage of Lotuscript agents, but no coverage of Java agents.Overall, it's a good "best practices" guide, with a lot of mentions of design elements mentioned that you can look up fairly easily, but be prepared to dig at other resources to get the most out of this book. Packt Publishing has PDF/ePub e-book versions of this book if you'd prefer an electronic version.
Amazon Verified review Amazon
AlexK May 11, 2011
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The folks at Packt Publishing are continuing to expand their shelf of IBM Lotus books. Their latest addition - Classic Web Application Development Techniques by Richard G. Ellis.Before I tell you how absolutely awesome this book is, I have to get something off my chest. The word "Classic" in the title is the absolute key word here. Mr. Ellis starts off the book by saying that everything here was written for and tested with Domino Designer 8.0. Upon reading that sentence I just had to go back to the very first page to check the publication date: someone is playing a trick on me. Alas, no tricks. The book was indeed published in March of 2011.The book also stays away, far away, from anything related to XPages and says so right off bat. But it is about classic development after all.Once you get over those two facts, the book is actually very good.I was afraid that it would stick to the trivial topics of web enabling Domino applications and using framesets and tables to layout an application. Of course, you can't talk about web development without explaining the basics of including HTML in a Notes form. And the book certainly does mention framesets and tables. However, it quickly moves to more advanced techniques of using DIV tags and CSS to effectively build a modern-looking web application. And for Notes developers who are not faint of heart, there are even sections devoted to advanced JavaScript and AJAX calls to boost performance.If you are an advanced Domino developer building web applications every day, this book may not be for you. But if you are a Notes developer who is making a transition to the web and want to know how to web enable your awesome Notes apps without looking like they were built by 5th-grader in 1999, get a copy of the book. You'll be hard pressed to find a better single source collection of Domino web development tricks.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.