As software engineer I consider the OpenNTF Domino API to have been one of the few great advances in programming for Notes/Domino applications in the past 10 years. Rather than waiting endlessly for IBM to provide some much needed leadsership, members of the community got together and achieved a great many things that needed to be done to modernize the language. We were also given a few things that very few of us dared to even imagine might be possible.
Perhaps the only thing holding back the widespread adoption of the OpenNTF Domino API is the number of people who feel completely comfortable developing in Java. Of the 10 million Notes applications currently in use it is estimated that 9 million of these are programmed using a combination of LotusScript and @Formula alone. That means 90% of Notes applications are not able to take advantage of the OpeNNTF API because they have no XPages and/or Java.
Today we are continuing that conversation with the creation of a new OpenNTF project called “LotusScript Next”. The goal is to do for the LotusScript language what the OpenNTF Domino API has done for the Java language. To take many of the ideas for enhancements to the LotusScript language languishing on IdeaJam and other forums, to combine those with the vision and direction taken by the OpenNTF Domino API and take LotusScript to the next level. To do this as an Open Source project as Tim would have wanted so that it can be used to extend the capabilities of those 9 million Notes client applications still waiting to be modernized.
In the process of doing this, it is hoped that the language differences between Java and LotusScript will be reduced to the level that more Notes developers are encouraged to make the transition to XPages and Java. That means learning the concepts of Object Oriented Programming within the familiar environment of the LotusScript language. It means taking many of the same classes found in the OpenNTF Domino API and making them available to LotusScript developers.
As an example. The following LotusScript code demonstrates the use of an Iterator class as an alternative to looping over collections such as NotesView, NotesDocumentCollection and NotesViewEntryCollection:-
To get this project started I have been refactoring a lot if the work I did many years ago with the .Domino Framework. Nathan Freeman has contributed his detailed knowledge of the OpenNTF Domino API to assist in laying out some of the vital groundwork for the libraries. Yes, much to my surprise Nathan has been happily doing some coding in LotusScript! A project has now been created on OpenNTF and we will work to uploading the first code contribution soon. The next step is to seek contributors from the community that are interested in joining this project. If you would like to join the effort to defined the next version of LotusScript and at the same time help take some of the scary out of java please contact me so that I can add you to the project.