202 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
XPages JDBC Configuration via NotesDocuments
Tue, Dec 5th 2017 154
My New Approach for Sharing XPages Controls and Extensions
Fri, Dec 1st 2017 37
Embedded Experiences not rendering after IBM Notes FP9
Wed, Sep 27th 2017 8
BuildXPages Deployment Automation Tools – v1.0.0
Thu, Sep 21st 2017 7
Generating and Downloading Files Using XPages’ Persistence Service
Wed, Sep 13th 2017 7
Bundle Inspector – Diagnosing XPages Plugin Resolution problems
Wed, Aug 2nd 2017 7
Swiper Official Version 2 Release
Fri, Jul 21st 2017 6
Top 10
XPages JDBC Configuration via NotesDocuments
Tue, Dec 5th 2017 154
My New Approach for Sharing XPages Controls and Extensions
Fri, Dec 1st 2017 37
Preventing pasting of remotely hosted images in CKEditor
Mon, Nov 14th 2016 12
Webmail UI – You must learn about MIME
Wed, Apr 20th 2016 11
Preventing Pasting of Images in CKEditor
Mon, Nov 14th 2016 11
Pasting Images into XPages CKEditor
Sun, Feb 12th 2017 11
XPages PhoneNumber Control - Part 2 Upgrades to the Converter
Mon, Feb 23rd 2015 10
XPages webmail – Using Mime Inspector to debug Mime
Tue, Feb 14th 2017 9
Tips for Creating a Webmail UI with XPages
Tue, Apr 19th 2016 8
Embedded Experiences not rendering after IBM Notes FP9
Wed, Sep 27th 2017 8


Bundle Inspector – Diagnosing XPages Plugin Resolution problems
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
camerongregor    

A common task with XPages development is to installing some plugins that provide additional functionality.
If you do any plugin development of your own, you end up doing this task a lot more as you create new plugins, install new versions etc.

It is also common to encounter some problems after installing plugins to your Domino Server! Maybe your expected plugin doesn’t load up at all? maybe the wrong version is loading?

The standard method of diagnosing these problems is to use the OSGi console via the Domino Console (for the server) or by launching Designer with the -RPARAMS -console arguments.

However to provide a more user friendly way to diagnose problems, I have written a plugin for both the Domino Server and Domino Designer which provides a little more user friendly experience of diagnosing plugin problems than the standard method of using the OSGi console.

Disclaimer: Throughout this I use the words Plugin and Bundle interchangeably. Technically in OSGi they are called Bundles, but Eclipse calls them plugins, so there is a weird overlap. But for the purpose of this they are the same thing.

The Some common root causes are:

  • You plugin is not loading at all
    Maybe your Server/Domino designer is not actually configured to load plugins from where you think it is?
  • Some extra versions of the plugin are being loaded from somewhere you didn’t realise
    Plugins can be loaded from more than one location, for example NSF Update Sites, File system, Eclipse Workspace Projects (when developing on a local Domino Server). So it is often very important to inspect exactly what plugins are loaded and where they are loading from.
  • You plugin is loaded but some of it’s dependencies cannot be resolved
    Even when plugins do load correctly, they may have problems resolving their dependencies, and then they end up with the state ‘INSTALLED’ but not resolved, and effectively useless.

How to Install Bundle Inspector

Download the latest release of GregorbyteXspLibrary, and Install the ‘Bundles Inspector’ feature to your Domino Server and Domino Designer.
I am assuming if you have a need for the Bundle Inspector, then you must know how to install plugins to Domino Server or Designer, but if you don’t know then let me know via a comment and I will detail the process.

You can also install the other main feature of GregorbyteXspLibrary if you would like some other XPages controls that I have blogged about before.

Using in Domino Designer

After you have installed and restarted, you should see 2 new buttons in the toolbar / menu bar

The Puzzle piece button will launch the Bundle Inspector. You can then filter for a particular plugin that you are having a problem with.

Note that by default it is a ‘starts with’ match,  but you can use wildcards such as * if you would like to do a ‘contains’ match as I am here for anything with ‘gregor’ in it.

  • Plugins are sorted alphabetically ascending, and then descending by version, so the most recent version should be at the top.
  • Plugins that are Resolved will show the green puzzle piece icon, plugins that have not resolved will show the grey puzzle piece icon.
  • Beneath the list you can view the ‘location’ of  the selected plugin e.g. where did the plugin load from.

If you would like to see the reason why a plugin has not resolved, select it from the list and click OK, as you can see here, the libphonenumber is plugin is not loaded because there is a newer version of it loaded.

Using on a Domino Server

The way Bundles Inspector works on the server is, by providing a ‘bundlesBean’ from an XspLibrary. To use this bean, you need to setup a particular page in an XPages Database.

For these steps, It is assumed that you have the Bundles Inspector plugin installed to both your server and your Domino Designer.

Setup the XPage

It is a good idea to put the BundleInspector XPage in a database that does not depend on any other Xpages libraries. This way, if there is a problem with any of the Xpages libraries that you usually use, it will not affect the BundlesInspector Xpage. You can also put access control on this database if you want to restrict who can use the Bundles Inspector.

Go to the XPages Properties page and enable the ‘com.gregorbyte.xsp.bundlesinspector’ library

Then Create a new xpage in your desired database

Select the ‘Copy Sample XPage to Clipboard’ button.

You should then see the confirmation message

Go to the Source tab of your XPage and paste the contents over the top

Feel free to customise this page to however you like, you could change the colours layout etc. The page is merely provided as a starting point.

Using the Bundle Inspector for the Server

Navigate to your XPage in your web browser. (The XPage should be on the Server that you are diagnosing bundles for)

  • You can filter for the plugin your are interested in using the filter
  • There is also an example of including a quick link to a common search e.g. extlib
  • The bundle location is shown in the table so you can see where the plugin is loading from
  • The bundle state is shown on the Right, green means resolved, red means not resolved

If a plugin is not resolved you can click the ‘Diagnose’ button and the diagnosis will show beneath the row of the plugin

 

Conclusion

So there you have it, the aim of the Bundle Inspector is to give a better experience for diagnosing plugin problems.

Let me know what you think, would this help you? any improvements? Can you think of a better name the Bundle Inspector? I don’t really like it but that is what I went with…

If you have any problems installing let me know!



---------------------
http://camerongregor.com/2017/08/02/bundle-inspector-diagnosing-xpages-plugin-resolution-problems/
Aug 02, 2017
8 hits



Recent Blog Posts
154
XPages JDBC Configuration via NotesDocuments
Tue, Dec 5th 2017 11:34a   Cameron Gregor
If you have used the Extension Library’s Relational controls, then you are probably familiar with the process of configuring your JDBC Connection details. You have the option of setting up a ‘named’ connection so you can reference a database connection by name. This involves creating an xml file .jdbc in the WebContentWEB-INFjdbc directory. This xml file specifies the driver, url, username, password, and perhaps some information about connection pooling. Alternatively your can
37
My New Approach for Sharing XPages Controls and Extensions
Fri, Dec 1st 2017 12:33p   Cameron Gregor
Over the past few years I have shared a handful of controls and techniques on my blog, and most of these I have made available on github in one way or another. Originally I was creating a separate github project for each one such as EmailValidator, PhoneNumberControl and the Messages Controls. After these few I decided it would be more efficient to create a single project that I could put them all into, so I then began to contribute them via my GregorbyteXspLibrary. From time to time I had a fe
8
Embedded Experiences not rendering after IBM Notes FP9
Wed, Sep 27th 2017 5:36a   Cameron Gregor
Embedded Experiences are no longer rendering after upgrading to FP9. I suspect it is something to do with the changes to Embedded Browser, either removing it or upgrading it or something else. I haven’t had a chance to investigate fully. Perhaps there may be a workaround, or perhaps this is specific to the way we are using embedded experiences. We use embedded experiences quite a bit at our company so we have rolled back for now. If I figure anything out I will post an update but just be a
7
BuildXPages Deployment Automation Tools – v1.0.0
Thu, Sep 21st 2017 12:47p   Cameron Gregor
After quite a bit of work I have finally published the first release of BuildXPages! What is BuildXPages? BuildXPages is a project which is useful if you are interested in Automating tasks that are involved in building XPages. For example you may be interested in automating some of these tasks: Building NSFs from an On-Disk Project Building Plugins and Features Refreshing NSF Designs Setting Template Inheritance of NSFs Start, Stop and Restart Http server Uploading Plugins to an NSF Update
7
Generating and Downloading Files Using XPages’ Persistence Service
Wed, Sep 13th 2017 4:42p   Cameron Gregor
When developing an XPages application you may run into the need to generate files to be downloaded by the user. For example: Generating a PDF Report Exporting Data to Excel Spreadsheet Creating a Zip File of several attachments Achieving these tasks usually raises 2 main problems to solve; What temporary place can I use to generate the files? How do I allow the user to download the generated files? For the temporary place problem, some common solution is to either generate the files to some
8
Bundle Inspector – Diagnosing XPages Plugin Resolution problems
Wed, Aug 2nd 2017 12:26p   Cameron Gregor
A common task with XPages development is to installing some plugins that provide additional functionality. If you do any plugin development of your own, you end up doing this task a lot more as you create new plugins, install new versions etc. It is also common to encounter some problems after installing plugins to your Domino Server! Maybe your expected plugin doesn’t load up at all? maybe the wrong version is loading? The standard method of diagnosing these problems is to use the OSGi c
6
Swiper Official Version 2 Release
Fri, Jul 21st 2017 1:52p   Cameron Gregor
So I have finally posted Swiper version 2 to OpenNTF! (and Github of course) Swiper OpenNTF Project Page Swiper Github Releases The latest version is 2.0.1,  and is the same as 2.0.0beta but with a bug fix for the toolbar buttons. Swiper 2.0.0 beta has been available on the Github project site for a few months, and the core functionality of it works as planned. There was however a bug within the shortcut buttons that I added to the menu bar, and this is a bit of a nasty bug that can cause del
1
Auto-width Bootstrap Column XPages Controls
Tue, Mar 21st 2017 1:13p   Cameron Gregor
I’ve been stuck working with OneUI Version 3 for the past couple of years, due to a regretful decision made at the beginning of my major project. OneUI was better than nothing but very frustrating at times. Finally, I have moved on to my next project and I am now using bootstrap (version 3) A common task when laying out a page using bootstrap is to divide sections up into rows and columns, and use the appropriate css styles to do so. I’m going to assume you are familiar with bo
1
Swiper FP8 Version Beta Release
Thu, Mar 16th 2017 12:50p   Cameron Gregor
Last week I released the ‘alpha’ version of Swiper which was untested on FP8 but presumed to be ok. So far I have only had good reports from the pioneers who have gone ahead and installed FP8 + the alpha version. I have since managed to ugrade my home office setup to FP8 which unfortunately has broken my ability to launch designer from eclipse but I am seeking some advice on fixing this up. In the meantime I have to test the slow way of building plugins, import plugins, restart R
3
Swiper FP8 Integration Rollout
Wed, Mar 8th 2017 12:43p   Cameron Gregor
Notes Domino 9.0.1 FP8 is finally here and as far as I know (I have yet to download it) it includes the necessary changes which will allow Swiper to swipe whatever it wants, whenever it wants, which is good news for people who don’t like to have ‘Build Automatically’ turned on. Plan of Attack for release of Swiper version 2.0.0 So, I haven’t actually downloaded FP8 yet,  so I can’t say for sure that the updated version works perfectly. Here is a bit of backgrou




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition