OpenNTF.org - .Domino Framework
    Advanced
   Project: .Domino Framework (Managed by Peter D Presnell)
Actions:


Project Overview

Introduction
Categories
The .Domino Framework provides Lotus Notes developers with an Object Oriented architecture for rapidly developing extensible applications.
Rating:
Not Rated Yet 
Project Category:
Software Development Tools 
Target Release:
R 6.x 
Primary Contact:
Peter D Presnell 
Team
Releases (last 3)
Chef(s):
Peter D Presnell
09/14/2008 - .Domino Framework (0.6)
06/27/2008 - .Domino Framework (0.5 Beta)
06/11/2008 - .Domino Framework (Graphics)

Total downloads (all releases): 2049

Details
Introduction :
There is an enourmous amount of generic code and other resources in the public domain for Notes developers to apply to their own applications. The .Domino Framework has been developed as a way of leveraging this code by providing a extendable framework into which code can be placed and easily shared across multiple applications. A lot of the functionaility provided in the framework is not unique - much of it is readily available in the public domain. The power of the framework comes in the way the code is structured and implemented.

Using well established principles for software design the .Domino Framework encourages developers to separate the business logic from the presentation of the data. The .Domino Framework provides Lotus Notes developers with an Object Oriented architecture for rapidly developing and deploying highy quality applications. The framework attempts to provide a practical balance between good software design and Rapid Application Development (RAD). Because the LotusScript scripting language is very similar to Visual Basic, the framework seeks to take many of the good ideas developed for the VB.Net framework developed my Microsoft. These have been adapted into a Lotus Notes context.


Benefits:
Code Reuse: The framework seeks to improve the productivity of Notes Developers by facilitating the reuse of code. This is dones by separating out functionality that is common across multiple applications and code specific to a single application.

Application Interaction: The process of applications interacting is simplified (as per Sevices Oriented Architecure) by having each application define how it can be accessed/maniuplated within class libraries it controls. It becomes possible to implement the concepts of SOA even without utilizing Web Services. The advent of new capabilities such as Composite Applications will make this an important capability moving forward.

A standard UI for applications making applications easier to use (less training) and providing a consistent UI for intregration into portals/mash-ups.

Developer Toolkit: A series of Notes Developer tools are also included in the Framework database as an aid to Notes application development.

Requirements:
The .Domino Framework has been design to work with Notes 6.0 or later. Over time fetaures will be added that exploits the power of Notes 8.0, especially Composite Applications. The current release targets Notes client applications but Web client functionality will be progressivley added over time.

Key Principles:
A significant proportion of code developed for most applications is not unique to that one application. If an effort is made to take the generic compnents and separate them from application specifc components it is possible to build components that can then be used by other applictions with little or no additional programming effort.

Wherever possible adopt commonly accepted object oriented programming practices.

Where possible, adopt standards from existing Lotus Notes best practices e.g. the field Categories is commonly used in many standard Notes template to categorize/tag documents.

Where possible, adopt standards adopted by the .Net Framework (e.g. namespaces, classe names, method names, property names etc)

Don't get too hung up on theories. Notes differentiates itself from most other development alternatives because of the speed with which Notes applications can be developed. It is important to retain that edge by ensuring a practical approach is taken.

In attempting to be All things to All people there is a danger of becoming Nothing for Everyone. The .Domino Framework recognizes that need for it to be customized to meet the specific needs of organizations or even individual departments. Every effor is made to design the .Domino Framework in such a way as it can be asily customized to meet those needs whilst maintaining the ability to leverage new release of the framework.

Key Components:
Presentation Layer: A standard UI for applications is provided with common UI components that can be shared across multiple applications. The standard UI implements IBM's user experience guidelines for IBM Lotus rich client applications.
Business Logic Layer: As far as practical the business logic layer is separated from the presentation layer via a series of classes that are consolidated into namespaces (LotusScript libraries)
Developer Tools: A series of tools and resources are also made available within the .Domino Framework database.



Latest activity

Screenshots
Documentation
08/06/2008 - Composite Applications
06/11/2008 - Inspector
02/17/2008 - .Domino Framework Wiki
02/17/2008 - Property Generator
02/17/2008 - Notes Colors
02/17/2008 - Graphics Library
02/17/2008 - Design Elements With Sidebar


Feature Requests
Bugs
02/18/2008 - Links/inheritance beween Docs; integration with openLog


From the Project discussion
Testimonials
03/25/2008 - OpenLog

Project News
07/09/2008 - Project Roadmap: For those of you that have found the code contained within the .Domino Framework usefull, the following is a brief roadmap for the project. July 2008: Beta 0.6 is planned as the last public beta for the framework. No major enhanceme (.Domino Framework)
03/13/2008 - Beta 0.3 (April 2008) The following is an updated list of the features being added to the next release of the ,Domino Framework. * Wiki updated from the standard DominoWiki template to a .Domino Framework adaptation of a beta version of the DominoWi (.Domino Framework)
02/18/2008 - Recognition of Code Contributions: In the rush to get the code published The 0.1 beta neglected to address the important need to identify the source for many of the ideas and/or code that is represented in the framework. This will be addressed as pa (.Domino Framework)
02/14/2008 - Beta 0.1 To Be Released 2/15/2008 Provide framework into which class libraries can be organized. Provide new classes that extend key production objects such as NotesSession?, NotesDatabase, NotesView?, and NotesDocument?. Provide classes for accessi (.Domino Framework)
02/06/2008 - New Project Announcement! (.Domino Framework)


Check out other projects
Switch to project: