Book Image

IBM Lotus Domino: Classic Web Application Development Techniques

By : Richard G Ellis
Book Image

IBM Lotus Domino: Classic Web Application Development Techniques

By: Richard G Ellis

Overview of this book

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.
Table of Contents (16 chapters)
IBM Lotus Domino: Classic Web Application Development Techniques
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
10
Testing and Debugging

Standardizing applications


Application development is part engineering and part art. Building some pieces of an application is fairly routine, while other aspects call for inventiveness and creativity.

Domino caters to developers to some extent by enabling applications to be built with any of the several programming languages. It also supports many web technologies which can be pieced together in an unlimited number of ways. This flexibility enables programmers to work the way they want to work. But this same flexibility makes it all too easy to ignore organizational standards.

Standardizing applications makes it easier to develop new ones since reusable components may already exist. And if applications look and operate in a similar manner, then users of new applications will need less training and will be more willing to use them.

Abide by your organization's web development guidelines

If your organization has written web development guidelines, find out what they are and try to embrace them in your own applications. The set of web applications deployed by your organization is probably much larger than just the Domino applications. If they exist, these development guidelines and standards define stylistic and functional commonality that your organization determined to be beneficial. Someone above your pay grade approved those standards, so abide by them!

Web application development guidelines can provide several benefits. They promote an organizational identity or brand through a common look and feel. They improve the effectiveness and the usability of web applications as a whole by standardizing how features and functions operate. And from a developer's point of view, they speed the deployment of new applications and simplify the maintenance and enhancement of existing ones.

If your organization has no written standards, consider discussing this issue with management. Consider taking on the task yourself.

The number of specific development standards can easily number in the hundreds, depending upon how detailed they are. Whoever determines these standards must understand to some extent the entire universe of options, and then must select those guidelines which make sense and which can be implemented within the existing development environment. Many guidelines turn out to be "nice to have" suggestions that are not practical to implement within the confines of budget and project deadlines.

Development guidelines can be classified roughly into three kinds:

  • Usability guidelines

  • Stylistic guidelines

  • Mechanical or process guidelines

Usability

Guidelines that address the usability of an application or website concern themselves with issues of effectiveness, efficiency, learnability, and overall user satisfaction. How well does this application achieve its goals? How easy is it to learn to use? How well do users like it? Usability influences how willing people are to use an application, which can have a dramatic impact on whether they choose your solution or go somewhere else for assistance.

Usability guidelines focus on what things make a website easy to use from the end user's point of view. Examples of usability considerations include the following:

  • Content organization

  • Headings and labels

  • Page and form layout

  • Features and functions

  • Accessibility

  • Navigation

  • Images

Explore this topic in greater detail. One online reference which you might consider reviewing is the http://usability.gov website maintained by the U.S. Department of Health and Human Services.

The Guidelines documents at this site were written based on the extensive research. They can serve as a good starting point for understanding usability issues.

Style

Guidelines which address style concern themselves with issues of look and feel, and sometimes function. An organization's font preferences and color palette can be identified. Layouts and menu styles can be defined. Acceptable logos and images can be specified, as can boilerplate text for Copyright, Privacy, and other notices. Very specific guidelines might address issues such as whether or not to underline links or how wide margins should be.

Beyond simply specifying preferences, an organization might codify style requirements into common style sheets. The guidelines would then provide information about how to link to and incorporate those style sheets into applications. Details such as style class names for headings and labels would be included.

Mechanics and process

Guidelines which address issues of coding and application deployment can be extensive and no small task to gather together.

Because Domino web applications can include so many different technologies, coding guidelines could address various options, including the use of these design tools:

  • HTML

  • CSS

  • JavaScript and JavaScript frameworks

  • LotusScript

  • Java

  • Images

Other guidelines might specify requirements for the following design aspects:

  • The About and Using documents

  • Element naming conventions

  • Form and page layout

  • Navigation

  • E-mail notifications

  • Data import and extract

  • Context sensitive help

  • Agent error handling

  • Security and access control

Still other guidelines might concern themselves with the general way in which applications are designed, tested, and rolled into production:

  • How development work is requested and prioritized

  • How applications are named and sponsored

  • The use of templates

  • The use of shared code and resource libraries

  • The use of roles

  • The use and management of Domino groups

  • Application signing

  • Replication

  • Testing and approval

  • Migration to production

  • Documentation and user training

Some developers might find coding and process guidelines to be onerous and overly constraining. Inevitably, there will be requests for exceptions to the rules, so organizations must be prepared to deal with the issues of exceptions and non-compliance.

Clearly, an extensive effort is required to compile standards and guidelines that are appropriate to application development within the context of a specific organization. Additional effort will be required periodically to review, update, and reapprove those guidelines.

Create libraries of common resources

Organizations should consider creating common repositories of reusable objects. The most obvious kinds of libraries (not surprisingly supported natively by Designer) would contain standard design elements such as:

  • Images

  • Java code

  • JavaScript code

  • LotusScript code

  • Style sheets

Images can be organized into common types as follows:

  • Arrows and lines

  • Banners and logos

  • Buttons

  • Patterns

  • Photos

  • Squares and other common shapes

  • Watermarks

Other repositories might include standard or approved "boilerplate" text:

  • Copyright notice

  • Disclaimers and caveats

  • Error messages

  • Privacy notice

Common repositories enable developers to work more rapidly and to create products which conform to organizational standards. Organizational management must address the following issues:

  • Who will create and maintain the repositories?

  • What process will be used to approve, add, and deprecate repository objects?

  • Will applications be reviewed to assure the use of the approved objects?

  • How will developers (especially new developers) be informed about the repositories and how to use them?

Common repositories, like development standards in general, can seriously boost productivity, but they also require ongoing maintenance and commitment. If your organization has such repositories, learn to use them. If no such collections yet exist, speak to management about instituting common repositories for approved design resources.