No April Fool’s joke. M1 is released.

Thanks to the tireless efforts of Jesse Gallagher, Tim Tripcony, Declan Lynch, Rene Winklemeyer, and Paul Withers, the Domino API has reached it’s first milestone. You can download the JAR file, including source, from OpenNTF here

I am seriously excited about this first release. It represents some world-class code-slinging from a team made up entirely of IBM Champions. M1 is all about fixing things that are fundamentally broken in the lotus.domino API, and I think we’ve accomplished that in spades:

  1. No more .recycle() calls required. PhantomReferences rule.
  2. No more NotesException catching required everywhere. Proper logging of Exceptions is provided
  3. Proper iterators for DocumentCollection, ViewEntryCollection and ACL
  4. Use of generics
  5. Massively overloaded .replaceItemValue and .getItemValue to allow for the inclusion of almost any Java object into an Item
  6. Complete encapsulation of Name, DateTime and International objects so they no longer need to maintain C++ handles, fixing a major source of handle leaks
  7. Parameter names for all methods across the entire API match the documentation, and have Javadoc to make content assist useful at last

There’s some other goodies in there too, including some useful Helper classes to both demonstrate how to use the API and provide some solutions to common real world problems.

I’m going to start using the M1 release in dev environments TOMORROW. I hope you’ll consider taking it for a ride too.

Posted in Uncategorized
11 comments on “No April Fool’s joke. M1 is released.
  1. Giulio Campobassi says:

    Congratulations. This achievement should be all the more impressive since you have done (are doing) what the largest software company in the world could not, despite having more than 10 years and 1000’s of qualified developers in its ranks to do it. Looking forward to putting this new api through its paces very soon.

    • To be fair to IBM, we don’t have to support existing Java code. We can write our methods to work in the way we want to. We can add methods that aren’t in LotusScript or SSJS. And we don’t have to go through as much rigorous testing as IBM would.

  2. martinoval says:

    Superb stuff! Been following on GitHub for a while and started using it already. Are you looking for any more contributors? Am happy to put the time in. Is there a wish list of updates you’re working through?

    • thentf says:

      We’d love to have more contributors. It is a requirement that you have an ICLA or CCLA on file with for us to grant write-access to the repository.

      What we need most is good unit tests. At the moment, no one working on the project has a strong background with test automation tooling like JUnit, TestNG or JMockit. If you have any expertise in that area, it would be a big help.

      Otherwise, there’s always more code that would help. You can see the list of issues in github today.

      • I would like to help with that! Testing and test driven development is my favourite “pet” now

      • martinoval says:

        Thanks Nathan. I’m already on github with OpenNTF for another project so have gone through the security bits already. My username is MartinRolph. Cheers!
        I haven’t had any experience with them but I’m really keen to learn TestNG and JMockit. Probably best if the other Martin take the lead in that area as just seen his comment.
        Martin J – Once you get going with this let me know if there’s any tasks you want to delegate to me.

  3. Don Mottolo says:

    Nathan, For those of us who may be “imaginatively-challenged” are there some code examples? Can it be used in Java agents without any name contention? Thanks.

  4. Don Mottolo says:

    Thanks (that was fast!)

Take the red pill.

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: