Disclaimer :
“This is beta software from IBM and does not represent a commitment, promise or legal obligation by IBM to deliver, in a future release of Notes/Domino or Lotus Notes Traveler, any material, code or functionality described/shown in this presentation.”
————————-
I should repeat the disclaimer on this one as it’s not in the release notes yet so there is no guarantee this will make it into the final released version of Domino 8.5.3 but from what I’ve been told the feature has tested very well.
To make the deployment of OSGi plugins like the Extension Library from OpenNTF easier a couple of updates have been made to the UpdateSite template and a new notes.ini variable has been added to Domino 8.5.3.
Firstly the UpdateSite has a new ‘Sign’ button that will allow you to sign all the documents in the UpdateSite. So if your going to be deploying ExtLib using this method you would create a new UpdateSite database based on the template and then import the UpdateSite from the ExtLib and then sign it. Only updates that have been signed can be deployed using this new method. Lets say we created our updateSite to be called AdminExtLib.nsf
Next you need to add in a new notes.ini variable on the Domino server called OSGI_HTTP_DYNAMIC_BUNDLES and point it to the UpdateSite database. In this case our new notes.ini variable would read OSGI_HTTP_DYNAMIC_BUNDLES=admin/extlib.nsf
Once this is done all you will need to do is issue a ‘Restart Task HTTP’ and when the HTTP task restarts it will tell the OSGI loader to read in the plugins from the database.
if your UpdateSite database isn’t at the correct version then you’ll see an error message during http startup stating that the view $vwOSGiLoader is missing.
If everything has gone successfully then you will see a message saying ‘NSF Based Plugins are being installed in the OSGI runtime’.
One of the nice things about this is that when newer versions of the plugin become available all you need to do is import them into your UpdateSite NSF and then restart the HTTP task.
Another thing that you will notice is that the plugins stay in the NSF and don’t get extracted out to the workspaceapplicationsplugins folder so if you have deployed older versions of ExtLib you can now get rid of all those old files and have a cleaner deployment.
And this isn’t just for ExtLib. You’ll be able to deploy any OSGi plugins to your Domino server this way. if you have heard of GBS Transformer then you may know that they have their own set of XPages Extensions that are deployed via OSGi plugins so they could be deployed using this method.
Fingers crossed that this feature does make it into the Domino 8.5.3 final code. It’s going to be great for admin and developers alike.
We’re REALLY looking forward to this feature. It’s amazing how often we have this conversation: “You’ll need to place these JARs on your server in the plugin folder to enable our extended features supporting the missing @Formula functions and the Lotusscript emulator.” “Oh no, we can’t do that! That’s against the rules.”
But we can have THIS conversation with the same person: “You’ll need to place this NSF on your servers to support the converted applications.” “Sure. No problem. Of course we do.”
LikeLike
I personally think that this is the most important extension in 8.5.3. Simply because there are/will be so many good things in the extension library that you don’t want to write apps without it. Copying jar files on the Domino server however has often been a deployment issue which is addressed by this particular feature.
LikeLike
Definitely looking forward to this new feature.
LikeLike
Yes, it can be replicated and you could set the notes.ini variable across all servers using a configuration document.
LikeLike
Just a FYI, you don’t need to “sign” content after you imported it, it gets signed automatically.
I provided the Sign button just as a convenience for existing content so that you don’t have to re-import it.
LikeLike
Definitely looking forward to this new feature.
LikeLike
Dec,
Looks very interesting. I am setting up an XPages environment for multiple databases. I want to deploy common classes as OSGI plugins (Export routines, validation, searching routines). This looks like the route!
LikeLike
And for all who can’t wait….
… use the modified updatesite.ntf template from OpenNTF. It also just requires a “put that NSF on your server” discussion but then deploys the files into 852 OSGi. So it would solve the “it will take me [insert-long-time] to get all servers from 8.5.2 to 8.5.3” challenge.
LikeLike