Hi everyone.
So, yesterday I faced a doozy. We wanted the XPages Extension Library installed on one of our Client’s Servers using the UpdateSite that ships with Lotus Domino 8.5.3. Interestingly enough, no matter what we tried, it just wouldn’t install.
FIRST THINGS FIRST
In order to use the UpdateSite to deploy OSGI plugins, you’ll need to do the following:
1. Create a Database called “Whatever UpdateSite” in the Domino Data Directory, using the UpdateSite Template that ships with the Lotus Domino 8.5.3 Server.
2. In the Domino Server’s notes.ini, add the following ini Variable:
OSGI_HTTP_DYNAMIC_BUNDLES=yourupdatesitefilename.nsf
3. In the UpdateSite Database, import your OSGI Plugins.
4. Restart the Domino Server. (Note: A Server restart is only required if you modified the notes.ini. Other than that, a Restart Task HTTP will do the trick).
5. During the restart of the HTTP Task, you should see at some point a message along the lines of installing OSGI plugins. If you don’t see this message, then it’s not working.
BACK TO THE MATTER AT HAND
If you’ve done everything mentioned above, and the Server still won’t install the OSGI plugins, then the problem most likely lies with the Security settings for the specific Domino Server. When you import the OSGI Plugins into the UpadateSite database, the System automatically performs a Signing of all the Imports that took place. This means that it will sign the Imported Profiles with your current Lotus Notes ID.
So, it’s important that your Notes ID has access to perform XPages based operations on that Specific Server. To confirm this, do the following:
1. In the Domino Server’s Address Book, navigate to the All Server Documents view, and open the relevant Server Document (Note: You’ll need some Admin Access to perform these operations)
2. Click on the Edit Server button.
3. Navigate to the Security Tab.
4. In the Top right section of the Security Tab, you’ll see a field called “Sign agents or XPages to run on behalf of the invoker:“. If this field is empty, then every signature will be authorized on that Server as a default. Otherwise, you’ll need to be part of the list either as a User or as part of a Group. If the list is not empty and you are not featured in any way, the OSGI Plugins will NOT be installed.
That should do the trick. I don’t know of any other reason that the OSGI plugins won’t install from the UpdateSite Database.
Until next time…happy coding.
Cheers,
John
I also had the same problem yesterday where after using install steps (ending with “tell http restart”), then using:
tell http osgi ss com.ibm.xsp.extlib
… it still wasn’t loaded.
Then after double-checking everything and not finding any problem, I used the separate commands: tell http quit and load http, and it now loaded! Not sure why, but if anyone else has the problem, give this a try.
Hi there Don. Thanks for the comment. Yes, you’ll see in my Post that I make mention of “Restart Task Http” which will work as well. The “Tell http restart” for some reason does not restart the Java or XPages runtime engine.
I experienced a problem when editing the NOTES.INI and inserting the OSGI_HTTP_DYNAMIC_BUNDLES setting as the last line. Restarting the Domino service, or restarting the HTTP service had the same effect — the update site did not load. However, when I moved the OSGI setting to another arbitrary line of the INI and restarted the Domino service, the update site then did load. This kind of behavior has happened before, when the last line of the INI is not processed. So beware!
@tjt59design… Did you leave a blank line at the end of the NOTES.INI file? The last line is never processed, and must always be left blank – This has been the case for as long as I can remember.
Very good point. I do that as a default, which explains why I never hit that particular issue.
I tried all of the above & continue to get the same error “Cannot find the library com.ibm.xsp.extlib.library, required by the application /Demo/xpagesExt.nsf.”
What is happening? When I tell http osgi ss com.ibm.xsp.extlib on the server, I get a ton of “Installed” messages but only ONE “Resolved” message. What does that mean? I’m reaching the end of my rope on this thing.