MyWidgets just got better – Option to hide and unhide display of widget thumbnail

Disclaimer: The following is from the release notes of Notes 8.5.2 so I don’t take credit for writing this. Lotus Notes 8.5.2 is in beta and there are no guarantees that the features described here will be in the final product that IBM ships.

You can now control whether a widget’s thumbnail is visible in the My Widgets sidebar panel. As an administrator or power user you can add a hideThumbnail=true or hideThumbnail=false parameter to the palleteItem element in the widget’s XML. Users can hide any visible widget thumbnail using a new “Hide” user interface option. Users can un-hide all hidden widget thumbnails using a new “Show All” user interface option.

To prevent users from displaying a hidden widget thumbnail, add the following statement to the user’s plugin_customization.ini file:

com.ibm.rcp.toolbox/allowUserShowHideWidgets=false

An administrator or power user can create a widget, export it, and manually add a flag that controls whether the widget is hidden on the My Widgets sidebar panel. If you install a widget that has been modified in this way, the widget will not be visible on the My Widgets sidebar panel. A “Show All” option becomes enabled. The attribute that controls this feature is hideThumbnail and is set in the widget’s .XML.

  • hideThumbnail=true — Hides the widget thumbnail in the My Widgets sidebar panel
  • hideThumbnail=false — (default) Displays the widget thumbnail in the My Widgets sidebar panel

Example:

<?xml version="1.0" encoding="UTF-8"?>
<webcontextConfiguration version="1.1">
<palleteItem hideThumbnail="true" id="Test1"
    providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
    title="Test1" url="file:///c:/provUpdateSite2/site.xml">
    <data>

You can disable display of the client’s “Hide” and “Show All” options by adding the com.ibm.rcp.toolbox/allowUserShowHideWidgets preference to the user’s plugin_customization.ini file.

  • com.ibm.rcp.toolbox/allowUserShowHideWidgets=false — Prevents display of Hide” and “Show All” options
  • com.ibm.rcp.toolbox/allowUserShowHideWidgets=true — (default) Allows display of Hide” and “Show All” options

Policy control over business card retrieval settings and retrieval order

Disclaimer: The following is from the release notes of Notes 8.5.2 so I don’t take credit for writing this. Lotus Notes 8.5.2 is in beta and there are no guarantees that the features described here will be in the final product that IBM ships.

You can access a person’s business card to find out more about the person and retrieve their contact information. The following products can potentially provide the data that is displayed in the business card:

  • Lotus Connections
  • Lotus Notes
  • Lotus Sametime

If you have more than two of these products installed and enabled, you might want to specify which product should serve as the primary source of the business card data or you might want to prevent one of the products from contributing to the business card altogether. This is not a required task.

To prioritize the source of the business card data, complete the following steps:

  1. Find the plugin_customization.ini file in the following directory: <Notes>/framework/rcp
  2. Open the plugin_customization.ini file in a text editor
  3. Do one of the following:
    • To prevent one of the products from being the source of the business card data, add the following property to the file:
      com.ibm.rcp.bizcard/disable.content.for.<provider_name>=true
      where <provider_name> is one of the following values:

      • Lotus Connections: profiles
      • Lotus Notes: NotesContacts
      • Lotus Sametime: com.ibm.lconn.client.bizcard.livename
    • To change the order of products from which to retrieve the business card data, add a com.ibm.rcp.bizcard/change.priority.for.<provider_name>=<priority> property for each of the supported products where is one of the following values:
      • Lotus Connections: profiles
      • Lotus Notes: NotesContacts
      • Lotus Sametime: com.ibm.lconn.client.bizcard.livename
        and <priority> is a relevant alphabetic character. Use letters that come later in the alphabet to specify higher priority products and letters that come earlier in the alphabet to specify products with a lower priority. For example, a priority of A is lower than a priority of B.

      By default, the business card is populated with data from the products in the following order:

      • Lotus Connections
      • Lotus Sametime
      • Lotus Notes

      You can change the order and have the business card retrieve data from Notes first, then Lotus Connections, then Sametime, for example:

      com.ibm.rcp.bizcard/change.priority.for.NotesContacts=G
      com.ibm.rcp.bizcard/change.priority.for.profiles=E
      com.ibm.rcp.bizcard/change.priority.for.com.ibm
           .lconn.client.bizcard.livename=C
      
  4. Save the changes to the file.
  5. Restart Notes.

Option to install a widget from a .zip file, file structure, and focus on provisioning

Disclaimer: The following is from the release notes of Notes 8.5.2 so I don’t take credit for writing this. Lotus Notes 8.5.2 is in beta and there are no guarantees that the features described here will be in the final product that IBM ships.

Notes users can now install a widget that is supplied to them as a .zip file. Users can either drag and drop the .zip file into their My Widgets sidebar panel or use the Import menu option from the My Widgets sidebar panel.

This option is available for all supported widget types and enables the user to install a widget while working online or offline. The widget definition xml-file must be at the root of the zip file and the widget definition file name must be extension.xml. To make provisioning widgets self-contained in the .zip file, the updateSite URL in the widget definition must be set to jar:${zip.root}!/ and the updateSite itself must also reside in the .zip file.

The structure of the .zip file must be as follows:

features (DIR)
plugins (DIR)
extension.xml
site.xml

When a provisioning widget’s .xml definition is processed, the updateSite URL is replaced with a URL to the embedded updateSite in the .zip file. Automatic update is not supported.

Nice Notes 8.5.2 feature – policy control for access settings for Lotus Connections

Disclaimer: The following is from the release notes of Notes 8.5.2 so I don’t take credit for writing this. Lotus Notes 8.5.2 is in beta and there are no guarantees that the features described here will be in the final product that IBM ships.

From Notes 8.5.2 administrators can now define the Lotus Connections server to which the sidebar should connect by adding the following properties to the plugin_customization.ini file located in the <Notes>/framework/rcp directory. Modify this file within the installation package prior to distributing it to end users. If you are installing this code drop for the server as well, use the new policies to manage the accounts instead.

com.ibm.lconn.client.base/server=<server_URL>
com.ibm.lconn.client.base/authtype=<authentication_method>
com.ibm.lconn.client.base/authserver=
     <server_URL>:443/activities/j_security_check

where

  • <server_URL> is the full Web address of the Activities feature on the Lotus Connections server including the protocol. Add a backslash before each colon. For example: http://enterprise.example.com/activities
  • <authentication_method> is one of the following values:
    • J2EE-FORM: Form based authentication, default
    • TAM-FORM: Tivoli Access Manager Form authentication
    • SM-FORM: Siteminder Form authentication

    The port number might need to be changed from the default of 443 depending on your deployment.

To tell the Notes client where to read the server information from, add the following property to the plugin_customization.ini file:

com.ibm.lconn.client.base/policy-mode=<mode>

where <<mode> is one of the following values:

  • DEFAULT: Allows users to modify the server URL. This is how the client behaves by default.
  • FORCED: Prevents users from being able to edit the Server URL field in the Activities preferences page.
  • OVERWRITE: Overwrites the server URL that was specified in the preferences page with the one specified in the com.ibm.lconn.client.base/server property. Use this setting if you change deployments and want to force users to switch from accessing one server to accessing another.

If you choose to specify the server using the plugin_customization.ini file, keep these things in mind:

  • When you define the Lotus Connections server to connect to using the plugin_customization.ini file, be sure to specify the full URL of the Activities feature.
  • Tell users to access the Activities sidebar before opening the Connections preferences page when starting the Notes client for the first time. Accessing the sidebar is what triggers Notes to pull the server information from the plugin_customization.ini file.
  • If the server information displayed in the server URL field of the Connections properties page is not the information specified in the plugin_customization.ini file, click Restore Defaults, provide your log in credentials, and then click OK.

Nice Notes 8.5.2 feature – upgrading multiple local databases to a new ODS

Please note: The following is from the release notes of Notes 8.5.2 so I don’t take credit for writing this. Lotus Notes 8.5.2 is in beta and there are no guarantees that the features described here will be in the final product that IBM ships.

In the latest code drop of Notes 8.5.2, using either the Notes Client, Domino Administrator Client, or Domino Designer Client, a customer can force the client to perform ODS upgrades of all local databases. For most non-essential databases, the ODS upgrade will take place in a background process and while a database is upgraded, the end user will not be able to use the database. For essential databases that are in use at the point that an upgrade is attempted, the ODS upgrade will be done at the next first time open which will typically occur at client restart.

Configuration Options – Required

The following new NOTES.INI setting performs the upgrade:

NSF_UpdateODS=1

With this set, the client will do a one time pass to upgrade local databases using the compact task.

Configuration Options – Optional

In addition, the specific ODS level that is desired should be set (if none set, ODS51 will be forced):

To create ODS 51 databases:
Create_R85_Databases=1

To create ODS 48 databases:
Create_R8_Databases=1

User Feedback

For databases compacted in the background, there will not be any user visible indication that the database compacts are in progress. If a user attempts to use a database while the compact is in progress, they will see the error:

"Database is being Compacted; Compact must finish before use"

For databases that are in use at the time the compact is attempted (names.nsf, cache.ndk, log.nsf, and possibly user mail files), the compact will occur at the next client restart. When the database is compacted at restart, progress will be shown in the splash screen or in the status bar, depending on when the database is opened.

For each database that is compacted, a “Compacting…” and “Compacted….” will appear in the log.

11/12/2009 03:01:49 PM  Compacting dummy.nsf (dummy),  -r -C
11/12/2009 03:01:52 PM  Compacted  dummy.nsf, 0K bytes recovered (0%)

For each database that is at the desired ODS (or later), only “Compacting…” will appear in the log

11/12/2009 03:01:49 PM  Compacting dummy.nsf (dummy),  -r -C

At the end of the upgrade, the following will appear in the log:

10 databases had an older NSF ODS version. 8 of
those databases were successfully upgraded to a
later NSF ODS.

Book keeping Options

NSF_UpdatedToODS=#

After the upgrade is attempted for all local databases, this will be set to the ODS level that was requested. Deleting this setting will cause the code to attempt to perform upgrades. If upgrades are not necessary, the database will be skipped. If the client is shut down before all databases are completed and processed, then this is not set, and the next retry will attempt compacts on databases that are not at the desired ODS.

Clarifications/Not in scope

If there is an error during the compact, the database ODS will not be changed. There will not be any retry logic. If there is not enough space, which can be one of the errors, then the database ODS will not be changed. If a database takes a while to compact then the user does not have access to that Db during the compact. For always in use databases, their compact will be done on the next client restart, and will block user usage.

Limitations

Only Windows and Linux are supported. Macintosh support will be available in a later code drop.

Properly signed XTAF dictionaries now available for Notes 8.5.x

The wait has been long but I just got word (via Christian Henseler) that IBM yesterday released properly signed XTAF dictionaries for Notes 8.5.1. In case you’re wondering “XTAF dictionaries” are the common dictionaries shared by Lotus Notes, Lotus Sametime and Lotus Symphony. Additional language dictionaries has been available for a while but the Eclipse feature wasn’t signed so it was troublesome to install on client machines. The Eclipse features are now properly signed and they are easy to add to an update site and roll out using a widget catalog.

The bundle you need to grab from PartnerWorld or Passport Advantage is “IBM Lotus Notes XTAF Dictionaries 8.5.1 for Windows and Linux Multilingual (CZHE3ML)”.

Java class line numbers for plugin developers

If you’ve been tasked with developing and/or debugging Java extensions for the Notes 8 client you know that line numbers has been missing from the stacktraces produced by Notes. This can be a real problem when trying to debug stuff in a production client. There has been some discussion among the ones of us developing these extensions on how to enable these line numbers. The other day this information was provided by Srinivas Rao of IBM and I wanted to publish it here for all to read.

Line numbers are removed from the classes added to the shared class cache to reduce the memory needed for the memory mapped classes. To re-enable the line numbers, one needs to edit the <notes>frameworkrcpdeployjvm.properties file and add comment out the ignorelinenumbers vm argument. However, if the classes have already been added to the JVM shared class cache, then they will have been added without line numbers. Either comment out the shared class cache (which will dramatically affect performance at startup) for temporary work, or shutdown notes and remove the shared class cache so that it can be repopulated with classes with line numbers. Of course, this will also affect the startup performance, but not so much as not having a cache

These are two of the key lines … to comment them out, add a # to the front of the line

vmarg.Xnolinenumbers=-Xnolinenumbers
vmarg.Dshare=-Xshareclasses:name=xpdplat_.jvm, **line cont**
   controlDir=${prop.jvm.shareclasses.loc}, **line cont**
   groupAccess,keep,singleJVM,nonfatal
jvm.shareclasses.loc=${rcp.data}/.config/org.eclipse.osgi

The shared class cache is typically located in the data/workspace/.config/org.eclipse.osgi

IBM Developer Kit-In-A-Box – Composite Application

I want to bring your attention to a blog entry by Bob Balfe called Labs for “Eclipse, extensions, composites and XPages!” are now available! The site he points to is really cool and has some very nice hands-on exercises on how to do composite applications incl. XPage components and Eclipse components. If you’re new to Composite Applications or want to brush up this is for you.

Ribbon IDE for Lotus Notes?

As you know Lotus Notes is built on Eclipse so following Eclipse plugins and projects makes a lot of sense from a platform point of view. Surfing the other day I stumbled over an Eclipse project that provides a Ribbon IDE for the Eclipse platform. It makes your mind wander to Microsoft centric but it might make sense for other applications incl. Lotus Notes.

For more info see “Eclipse plug-in sightseeing: Ribbon IDE / Eclipse”. There’s also a PDF showing it off.

Fix your calendars week numbering with Notes 8.5.1 FP2

For us in Europe using the ISO standard for week numbering one of the fixes delivered in Notes 8.5.1 FP2 has been a long time coming. Previously when using the calendar regional setting of “Use my operating system regional setting” Notes would still get the week number wrong. Of course the solution was simply to specify “Always use the ISO standard” though it didn’t feel right.

Now with Notes 8.5.1 FP2 there is a fix for this issue and Notes will now behave correctly (at least it does so on my client).

“SPR# FPAI7X7KL3 – There is a preference for how week numbering is handled in the Notes calendar. There are 3 choices for the preference: “Use my operating system regional setting”, “Always use the ISO standard”, and “Custom week numbers”. Prior to this fix, the choice of “Use my operating system regional setting” was not working properly for those users who had their OS regional setting set for a country/language that used the ISO standard. It should be noted that this fix does not make an inspection of the registry settings (on windows platforms). Instead, the fix uses the Java JVM’s settings for week numbering based on the country/language the user’s OS is running in at the time the Notes client is started.