XPages Debug Toolbar – now as a plugin

In preparation for the session with Phil Riand on Bootstrap4XPages last week at IBM Connect (slides) I’ve been doing quite some work on the Bootstrap4XPages plugin. That got me pretty good up to speed with the subject of OSGi plugin development, so I decided to take another shot at a thing that had been on my todo list for way too long: create a plugin version of my XPages Debug Toolbar.

So I watched the NotesIn9 episode by Tim Tripcony on creating a global custom control again, applied what he described to the toolbar custom control and, to my surprise, it worked! As of last week the XPages Debug Toolbar version 4 can be downloaded from OpenNTF and installed server wide. That means easy access to it from all your applications and no need anymore to more copying all those design elements manually.
This is the Debug Toolbar v4
It turned out that the plugin version also solves one of the biggest annoyances of the toolbar: because of the XPages classloader architecture, you needed to “Clean” your applications way too often to deal with ClassCastExceptions (DebugToolbar incompatible with DebugToolbar).

Included also in release 4:

  • The number of toolbar messages and errors are now also shown when the toolbar is collapsed.
  • Easy access to global objects from the Inspector tab (view, database, facesContext, …).
  • Couple of minor UI changes. Or, more popular phrased, “Optimised for Retina screens!”.
  • Scope variables that use a number as a key (yes, that is allowed) are now correctly shown.
  • Built-in XPages Request Processing Lifecycle explorer (written by Tony McGuckin)
  • You can now dump a list of all design note signers.
  • Because it’s now a plugin, you can also log messages from the beforePageLoad event.
  • And as always: “various performance and scalability enhancements”. No, really.

I need to shout a big “THANK YOU” here to Christian Guedemann from Webgate Consulting. He helped me to optimise the code and refactored a huge chunk of SSJS code to Java. Great job and thanks!

Unfortunately this release has an issue that will be apparent the minute you install it: it shows up twice in the Designer controls palette. At IBM Connect last week we tried to solve that with some IBM help (thanks Tony McGuckin!),Look, it's a bug! but it looks like this is an issue in the Designer code that will hopefully be solved in a future version (that’s a hint if anyone from the Designer developer team reads this :-). Apart from the double palette entry, I’ve seen no other drawbacks.

Distributing components like this through an OSGi plugin is definitely the way forward and comes with a lot of advantages, so I would highly encourage you to install this version! If you want to try it out first, check out the demo.

8 thoughts to “XPages Debug Toolbar – now as a plugin”

  1. You guys rock! And to have the chuzpa to publish it right before leaving the Connect event is way too cool 😉
    Tried it instantly and it works great!
    Once again: thank you & you all are some kind of nicely crazy 😉

  2. Hi Mark,

    Its just so swift, could accomplish it in minutes. I have a query in assigning managed bean property. Is it also possible to configure logdbpath with this plugin?

    1. Hi Sachin,

      Thanks!

      In this first release it isn’t possible to configure the logDbPath and/or enable the persistent logging function (log messages to documents). That’s something I’ll add in probably the next release.

  3. I am looking forward to implementing this one. The instructions you linked to are prior to n9.01 and since we are in the process of upgrading to n9.01 I hope the instructions for the Designer and Server installs are basically the same.

    Thank you for your time and effort you put into this marvelous tool.

    1. Hi Eric,

      Yes, the instructions for R9+ are exactly the same. Should be easy to install it on both the server and client.

      Good luck and thank you!

      1. Mission accomplished. Our test environment was updated to n9.01 and updatesite.nsf is implemented along with the Debug toolbar. It is much easier installing it into developing applications now.

        I suppose I will look into Boostrap4XPages now for some side projects I am working on. I am thinking about creating a web and mobile based series of reference applications and Bootstrap would lend itself well.

        Thank you again for the time and effort you have given to the Notes community.

Comments are closed.