Each year, corporations spend countless hours and dollars designing, building, and deploying Lotus Notes applications. However, if you spend some time assessing the core functionality of these applications, you'll find that virtually all can be classified into one of five categories:
- Reference Library
- Web Site
Although most books focus on programming language syntax, the remainder of this book will focus on the design and implementation of applications based on these five classifications. Later chapters in this book will also provide step-by-step, fast-track instructions for building each application typeallowing you to streamline the development process. Before we get there, let's first review the application types.
- Calendar Application Calendars are perhaps one of the most popular and easy to use components of Lotus Notes. This type of application enables users to add and track events using an online calendar. The calendar can be formatted to display a single day, a week, or an entire month. This type of application is typically used to schedule conference rooms, manage vacation schedules, or display a timetable for events.
- Collaborative Application Collaborative applications are used to gather feedback from a group of people. There are many types of collaborative applications, such as a "discussion forum." This type of application often displays information in tiers and includes three elementsa main document, a response, and (optionally) a response to a response. The top-level document is called the main topic. This is followed by response documents, which are indented and appear directly underneath the main topic. Finally, some applications also implement a third level of information and permit a response to response. This type of application is used to discuss subjects. For example, a discussion forum is often used for online help. A person could request help on a particular subject (this would be the main topic), and members of the forum could then respond with possible solutions (these would be the responses).
- Reference Library Application As the name implies, a reference library stores information related to a particular subject. This type of application is sometimes used to track project status or to archive important information. For example, many companies utilize a structured project management methodology that includes project tracking. Using a reference library, you could track meeting agendas, minutes, attendees, and reference materials associated with the project. Another example is a quality assurance database that tracks test results and performance metrics.
- Workflow Application Workflow applications are used to electronically route documents to people. Using this application, you can eliminate the hassles associated with the delivery of paper documents. Workflow applications electronically manage document delivery, online approvals, and timestamps, and they provide real-time status of documents. For example, let's say your company has a specific process for procurement of new assets (e.g., computers, office supplies, business cards, etc.). The process enables anyone to submit a procurement request. However, all requests must first be approved by the requester's immediate manager and then be approved by the finance manager. Using a workflow, the appropriate manager is notified at each step in the process, and approvals are obtained online. After being approved, the document automatically goes to the next approver for review. This provides the real-time status of the request without having to track down a document. Workflow applications are truly one of the most powerful features of Lotus Notes.
- Web Site Application Finally, Web-based applications enable the user to view or enter information through a series of Web pages. This type of application can be accessed from both the Notes client and a Web browser, such as Netscape Navigator, Microsoft Internet Explorer, or Mozilla Firefox.
Although virtually all Lotus Notes applications can be classified into one of these categories, it's also possible to build an application that encompasses several of these elements. For example, you may have a Web-enabled workflow application that also includes a calendar with project due dates.
The Application Development Life Cycle