« A thought experiment | Main| Lotusphere 2012 OGS »

RAAWWWWRRRR!!!

There's some tuning left to do, but I wanted to get this out to the world before Lotusphere.

I've created an XPages SDK for Eclipse RCP, so you can install the latest version of Eclipse and easily set up Notes or Domino as your target platform for your Java code. I assigned myself the task of documenting this internally for GBS in January, and I realized that I could spend a day documenting it, or spend two days writing a program that would do it automatically.

It was really no contest.

I'll add some documentation to the project soon (unless someone else wants to do it,) but the really short version is that once you install the plugin, you go to your Eclipse preferences and point to your Notes and/or Domino installations, and it automatically configures your JREs. It also provides Plugin Target Platform templates, so you can create target platforms for either Notes (and Designer) or Domino. The whole process takes about 30 seconds.

There's still some tuning to do on the platform settings for Domino installs. That's why it's not version 1.0 yet.

I can easily use this baseline to create a Domino Designer SDK as well. In fact, I'll definitely do that internally -- but I've yet to see anyone outside GBS asking for this. Is there demand?

Eventually, I'd like to add project wizard support so that creating your own XPages library (like the Extension Library) is as simple as New - XPages - Library. I haven't explored the wizard templates for this yet, so I don't yet know how big a task it is. But if I can make it work, I might link it to the XPages Starter Kit project so that you could select what base XPages concepts you'd like to implement, and it would automatically set up the context for you.

If you're unfamiliar with all this stuff -- well, I would simply encourage you to go to OpenNTF, grab the projects, and dive in.  If you have been historically resistant to using Java as your language of choice as a Domino developer, I strongly suggest that you re-evaluate that position.

I'm 90% sure that you could use this SDK natively on a Mac. It should be the case that if you copy an installation of Designer or Domino on to your Mac environment, then if you install the Mac version of Eclipse 3.7, you can point it to the proper installation folder. If that doesn't "just work" it's probably because I messed up the directory separators. At any rate, those with Apple platforms should try it out and see!

Thanks so much for your time. Happy coding!

Comments

1 - Thanks a lot Nathan. This is very useful for developers who want to get started with Java/Eclipse/extensibility programming for XPages, esp. in combination with your starter project.

2 - Great post Nathan, and nice work!

It's this sort of thinking that is needed right now in the, (un-necessarily ?), growing levels of complexity to accomplish what would previously be classified as the simple.

3 - Does this include "normal" non-xpages java agents as well?
In any case, this is quite a monumental submission, so thanks for the effort and time you put into it.

4 - @3 I don't see why you couldn't write Java agent code in the resulting IDE, but I certainly haven't tested it.

You have the full Notes.jar available as part of the JRE setup, so I would expect it to "just work."

5 - What is the future of Lotus Notes?

6 - I tried to install the plug-in but I get the following error:
Cannot complete the install because one or more required items could not be found.
Software being installed: XSP Starter Library 1.0.2 (org.openntf.xsp.starter.feature.feature.group 1.0.2)
Missing requirement: XSP Starter Kit 1.1.0.201201072344 (org.openntf.xsp.starter 1.1.0.201201072344) requires 'bundle com.ibm.xsp.core 8.5.2' but it could not be found
Cannot satisfy dependency:
From: XSP Starter Library 1.0.2 (org.openntf.xsp.starter.feature.feature.group 1.0.2)
To: org.openntf.xsp.starter [1.1.0.201201072344]

Am I doing something wrong?

Also, thank you for this Emoticon

7 - @6 - I'm working on some fixes to allow the Starter Kit to be installed into an Eclipse environment that has the SDK installed. There are some ways in which Eclipse defines dependencies that need tweaking. In the meantime, installing the SDK, and then IMPORTING the source code from the Starter Kit is the recommended path. The Starter Kit is really a source code sample set, not a dev tool.

9 - Hi!
Nathan! I have read a lot of your articles and find them very useful most of the time.
There is one thing that almost always is missing(in general when it comes to developers), and if it is not missing it is not good and that is a decent explanation of "what is this", for example your starter kit.
And I would say that the Extension library also lacks of decent information on how to use it.
Don't make things complicated, give simple examples.
As I understand you are going to do documentation to the starterkit then I suggest after that is done give it to one of your friends that do NOT work with development and ask them if they understand it, if they do then it is OK, of course they do not understand technical terms and so but if it is pedagogic they will understand most of it.
Documentation written in a proper way is half the development.
I hope you don't get mad at me or so, I just want developers to focus more on how to explain things.
Happy weekend
regards
Tommy Stenberg developer at Edgeguide

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Search 

Disclaimer 

Welcome to Escape Velocity!

Opinions expressed here by Nathan T. Freeman are not necessarily those of his employer. However, there's a decent chance they are, so check with them if you really want to know.

But really... do you need that kind of validation? Are the opinions expressed here in doubt?

MiscLinks