Tuesday, July 8, 2014

Widget deployment does not work on some Notes 9.0.1 FP1 clients

We deploy our custom plugins and features with the widget catalog to our Notes clients. This works very well in 8.5.3, but in our 9.0.1 FP1 pilot environment the automatic deployment does not always work. When i select a category to install on a client which is affected by this problem in the preferences nothing happens. The strange thing is that on some client this works always, on some sometimes and on the others it works never.

I have opened a PMR 48817 060 618 with IBM to analyze the problem. I hope the can provide a fix for this problem.

In the meantime i have debugged the problem a little bit and found out that the root cause of the problem is that on affected clients the replication listeners for the CatalogProvider are not registered. So after a replication of toolbox occurs the widget update job will not be launched. 

Here is the code which adds the replication listener for the Catalog Provider on start up. On working clients the PolicyUtil.usingRcpPlatformPersonlity() (sic!) returns true and on failing clients it returns false.

In the usingRcpPlatformPersonlity() method the problem is that on not working clients the shell is null. This looks like a race condition because on start up sometimes the earlyPerspectiveStartup is called to early when the Shell is not already available.

I have developed a workaround for this problem.


  1. Thanks for blogging this!
    I have had a similar problem, I selected categories in the desktop policy and they initially worked and installed the widgets. Then after updating the policy with extra categories and updating client, they are then all deselected on the client and the checkboxes are disabled as well. Would this be a similar issue?

  2. No this looks like another problem. My problem is about selecting a category manually, but then the widgets of this category will not be installed. I think you have a problem with your desktop policy. Check if you have a wrong value delimiter in the category list of your Desktop policy.

    1. Thanks Ralf, great suggestion I will check tomorrow! for the record I was using new line

    2. AFAIK the list should be comma seperated.

    3. Comma worked perfect. Thanks Ralf.
      I had made the false assumption that it was a multivalued field! Looking at the design of the form it is just a single value field and must be split at some other point in the code.