LotusScript Next


Future Proofing LotusScript


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.

Over the past five years there has been a lot of debate within the community. First about the need to adopt XPages and, more recently, the pros and cons of basing applications on JavaScript/SSJS versus Java. My good friend Tim Tripcony was one of those who had strongly urged Notes developers to embrace Java. At the ATLUG Day of Champions Tim gave a short presentation on Future-Proofing LotusScript. The idea for that session came from a Lunch Scrum in which we kicked around a few ideas about how reducing the differences between LotusScript and Java could help Notes developers transition from one language to the other. For Tim it was about “Taking the Scary out of 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:-

Set Servers = getServers().Iterator
While
(Servers.hasNext())
  Set Server = Servers.next()
  If (Server.Exclude <> “”) Then
    Call Servers.remove()
  End If
Wend

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.

Peter Presnell
Peter Presnell
CEO at Red Pill NOW. Strategist, technologist, blogger, presenter, and IBM Champion 2011/12. For years many companies have invested heavily in the Notes/Domino platform and I see my role as helping to find paths forward for that investment.

6 Comments

  1. Carl Tyler says:

    Will the documentation be in crayon? Sorry I couldn’t resist.

    Great idea.

  2. mathew says:

    “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.”

    No, for me it’s the lack of CORBA support.

  3. ulrich krause says:

    Would love to help. Aside from XPages. C++ and Java, I do a lot of LS at BCC

  4. Hi Peter,

    I would love to help. I’m not sure what you need (or if I would fit,) so feel free to reach out.

    – Grant

  5. Peter Presnell says:

    @Grant (And others). The project will be able to make use of contributions from developers with a wide range of skills in LotusScript from Novice through to Advanced.

  6. I would love to help out! I work almost 100% in Lotusscript (with some Javascript/jQuery for web frontends).

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: