Notes 8.x shortcut of the day

If you haven’t docked the Open menu in Notes 8 on the left you want to be able to access it using the keyboard. As always the shortcut list is to the rescue. Ctrl-Shift-L shows a list of all shortcuts and in that list you find “Open list” which is what you want. The shortcut for “Open list” is Alt-B so put away that mouse and use the keyboard.

Update: Just relealized that it works just as well with the Open list docked.

Diagnosing wierd widget installation issue

I had a customer report a widget (plugin) installation issue to me. They had clients being unable to install a widget (and hence a plugin) from an update site on our servers (external to their network). The error was reported as below:

Unable to access "http://<host>/site.xml".
Contains: Error parsing site stream. [White spaces are
   required between publicId and systemId.]

The issue turned out to be caused by a firewall issue and hence wrongly reported in the log. The issue was solved by relocating the update site to the customers network.

Deploying XTAF dictionaries to Notes clients via a Widget Catalog

So Vladislav Tatarincev just blogger this as well but I wanted to highlight it as it pertains to plugins and widget deployment which is so dear to my heart. IBM has written up a very nice technote on how to deploy extra dictionaries for use with Sametime and Notes 8 and it’s really worth a read. Especially if you write emails and chats in some languages other than English. And yes there are some of us who do… 🙂

Now if just there was an easy ways to switch between the dictionaries at runtime and by easy I mean something that does not require the use of the preferences dialog. It really has to be easy as most – if not everyone – installing extra dictionaries write in multiple languages say Danish and English, German and English etc.

Deploying XTAF dictionaries to Notes clients via a Widget Catalog

Tip of the day – my Copy Link Location plugin

There are some questions I get asked a lot by customers, colleagues and people I meet at conferences. One of them is why there isn’t an easy way to copy links detected in Notes documents using LiveText to the clipboard. And I must admit that it is odd. To remedy I’ve actually developed a plugin that installs into Notes 8 to add an action item to links in Notes documents. After installing the plugin an action to the Copy Link Location to the clipboard is added to all links in the Notes client.

The plugin really highlights the power of Notes, LiveText and the plugin architecture in Notes. As you will probably recall – plugins are fun!!!

Besides that a right-click context menu is also added when right-clicking Notes documents to copy the Notes link (notes://) to the clipboard. It’s all part of the same package.

To see how to install etc. head over to my Notes 8 Utils page.

AbcWidget is trying to be downgraded to a lower installation scope. Reinstallation of this item will not be permitted.

When trying to update a plugin (feature) using a widget the installation failed and I got the below message.

<widget name> is trying to be downgraded to a lower installation
scope. Reinstallation of this item will not be permitted.

I wondered what it meant as I didn’t really understabd the “installation scope” thing so I asked IBM and here’s the answer I got from Doug MacDonald. Very useful and nicely explains why the installation failed.

When you install a widget, it is assign a scope. The scopes have a heirarchy.

  1. If the widget was installed from the corporate catalog using a category of widgets, the scope is catalog.push.
  2. If the widget was installed from the corporate catalog using drag and drop, the scope is user.catalog.
  3. If the widget was installed from a location other than the corporate catalog, the scope is user.import.

You cannot move down the scope hierarchy. For example:

  • Not allowed: If you install a widget from the corporate catalog using a category of widgets and then you try to drag and drop the same widget.
  • Not allowed: If you install a widget from the corporate catalog using drag and drop and then you try to drag and drop the same widget from a file on the file system.

You can move up in scope. For example:

  • Allowed: If you install a widget from the corporate catalog using drag and drop and then you install the same widget from the corporate catalog using a category of widgets.
  • Allowed: If you install a widget by drag and drop from the file system and then install the same widget from the corporate catalog using drag and drop.

Developing an Eclipse plug-in from start to finish

Ryan Baxter from IBM who I had the honor of co-presenting with at Lotusphere just published a new article on the appdev wiki titled Developing an Eclipse plug-in from start to finish. The article takes you step-by-step through building a nice plugin and uses the Eclipse WindowBuilder (GUI editor) for taking the hassle out of building the UI.

A very nice Friday read.

March Lotus Technical Information and Education (LTIE) community meeting

If you’re interested in plugin development and the recently published RedWiki on plugin development for Lotus Notes, Sametime and Symphony (easy url is http://bit.ly/pluginredwiki) be sure to join us for the March March Lotus Technical Information and Education (LTIE) community meeting. The conference call will be on 22 March at 10am Central Time (10am Eastern, 3pm CET).

For more info head over to the Lotus Technical Information and Education wiki on Lotus Greenhouse (look under “When we meet” at the bottom of the page).

jWidgets to make it easier to develop Eclipse based components for composite applications

Perusing the the Composite Application Wiki I discovered a technology IBM calls jWidgets. Basically they are for Composite Application Java component development what iWidgets are to websites that is a widget framework for easily and more quickly doing stuff. Developing Java components for composite applications is a little hard as you have to manage wires etc. yourself. A framework would make that a lot easier and that’s exactly what jWidgets are.

Having the technology available to Lotus Notes (and not just Lotus Expeditor) would be really cool. From an IBM’er I however learned that they haven’t been formally tested in Notes, but the technical capability is there. They have only been tested formally in Lotus Expeditor 6.2.2.

jWidgets – Easy Creation of Java Composite Application Components

What is new in 8.5.2 for XPages

Lotus Notes/Domino 8.5.2 is out and the other day I was hosting an XPages training session so I thought a little bit about what’s new with XPages. Of course XPage ninjas like Matt has already written about it (Matt White: What’s new with XPages in 8.5.2) but as I was reading up I found some links I wanted to highlight. Most info may be found on the IBM wiki.

  • onClientLoad Event. Its now possible to add scripts in the events to be executed when the page is submitted or this panel or some containing panel is partial updated.
  • Extensions API
  • Two new Global Objects for Server Side JavaScript, sessionAsSigner (open a session using the signer rights) and sessionAsSignerWithFullAccess(open a session using the signer rights, while giving it full access to the data)
    • sessionAsSigner – Assigns credentials based on the signer of the of XPages design element. The session is restricted by the application’s ACL and the security tab of the server’s Domino Directory entry.
    • sessionAsSignerWithFullAccess – Assigns credentials based on the signer of the of XPages design element and allows full administrative access to the application’s data. The signer must have the right to such access or the session is not created.
  • New resource xp:headTag – this allow you in an easy way to put stuff into the header of a XPage
  • XPages ECL to Permissions updated to include more Java Permissions
    In V851 of XPages, security for executing Java code in XPages in the Notes Client was very restricted. For XPages V852, the Java Permissions managed by the XPages ECL settings have been broadened to be similar to the set of Java Permissions allowed by Java Agents and to bring a level of equivalence between Java Permissions allowed for XPages on Domino Server (Unrestricted) and XPages in the Notes Client. For example, in V851 the ECL Network permission only covered the Java SocketPermission, now it covers NetPermission and other related Java network permissions.
  • Referencing a Managed Bean from JavaScript now supported in XPiNC. This fixes a bug where a Managed Bean, first referenced in JavaScript (which triggered the creation of the Bean) caused a security exception. The workaround was to first have this Managed Bean referenced and created as a DataSource (referencing the Bean from then on was fine). This bug is now fixed.