Below is the slide deck from Ryan and my session at IBM Connect 2013 earlier today.
[slideshare id=16226022&w=427&h=356&fb=0&mw=0&mh=0&style=border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px&sc=no]
Below is the slide deck from Ryan and my session at IBM Connect 2013 earlier today.
[slideshare id=16226022&w=427&h=356&fb=0&mw=0&mh=0&style=border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px&sc=no]
When I’m doing proff-of-concept code for SWT based plugins for Notes I often times simply use a popup Shell constructed from Eclipse. This is much easier and faster than using a full Notes launch for this kind of stuff. After moving to IBM Notes 9 I had an issue with this approach and would see stacktraces like the below when trying to launch my shells.
23-01-2013 09:21:20 OS loadIBMSwtWrapperLibrary WARNING: Throwable occurred: java.lang.UnsatisfiedLinkError: swtIbmWrapper (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1018) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:982) at java.lang.System.loadLibrary(System.java:506) at org.eclipse.swt.internal.win32.OS.loadIBMSwtWrapperLibrary(OS.java:6977) at org.eclipse.swt.internal.win32.OS.(OS.java:6993) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) at org.eclipse.swt.widgets.Display.(Display.java:139) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) at test_paint.BaseTest.run(BaseTest.java:17) at test_paint.Main.main(Main.java:17) Exception in thread "main" java.lang.UnsatisfiedLinkError: org/eclipse/swt/internal/win32/OS.VtblCallWrapped(II)I at org.eclipse.swt.internal.win32.OS.VtblCall(OS.java:6997) at org.eclipse.swt.widgets.Display.init(Display.java:2828) at org.eclipse.swt.graphics.Device.(Device.java:138) at org.eclipse.swt.widgets.Display.(Display.java:490) at org.eclipse.swt.widgets.Display.(Display.java:481) at test_paint.BaseTest.run(BaseTest.java:17) at test_paint.Main.main(Main.java:17)
The solution was to add the DLL-directory (I’m on Windows) for the org.eclipse.osgi plugin to the native libraries location in my launch configuration. My Notes client is installed in C:Notes9 so the full path for Notes 9 Beta is “C:Notes9Dataworkspace.configorg.eclipse.osgibundles12001.cp”. Adding that in the build path dialog for org.eclipse.osgi solved the issue.

OnTime is of course present at IBM Connect 2013 and we will be there in a variety of ways. We are sending 4 people so if you want to talk to us about anything from technology, to sales, to vision you should be good to go. Besides me being there and presenting a session (BP209 on Monday afternoon at 3.45pm) we are in the showcase demoing all our group calendaring goodness as well. We have an extremely cool line-up of products and will be demoing our new UIs namely the reintroduced Team-At-A-Glance sidebar plugin for IBM Notes and our new web UI which will knock your socks of. If you haven’t seen it be sure to stop by the booth or talk to one of us.
During Connect we will be giving a number of iPad minis away and the rules are simple. Simply Like our page on Facebook (www.facebook.com/ontimesuite) to join the fun and then watch Facebook.com/ontimesuite daily during Connect 2013 for extra chances to win. Each way we will post an OnTime related question on Facebook and the first one to come to the booth with the answer will win an iPad mini – there is a iPad up for grasps every day of Connect 2013!! So easy and should be all kinds of fun. Be sure to join in.
So why not head over and Like us right away!?
Nedenstående er fra IBM Danmark og klart et kig værd hvis du/I overvejer IBM Connections og/eller IBM Sametime eller andre Websphere baserede produkter.
“Denne dag gennemgår vi de helt fundamentale begreber og ser nærmere på, hvorledes WebSphere Application Server danner fundament for henholdsvis IBM Connections, IBM Sametime og IBM WebSphere Portal. Vi kigger også lidt nærmere på arkitekturen bagved og ser også på de mere driftsmæssige aspekter. Så emnerne for dagen er teknikken, arkitekturen, drift, fejlhåndtering med mere.
Det bliver en spændende dag, hvor vores lokale specialister øser ud af deres viden!
Tilmelding: Tilmeld dig ved at sende en mail til lotusdk@dk.ibm.com – deltagerantallet er begrænset, så først til mølle princippet er gældende.”
Yesterday I was editing some JavaScript code that used innerHTML to insert HTML into the Document Object Model (DOM). Given it’s not the best and even fastest way to accomplish the task the code was written this way so it was what I had to work with. That is I had code like this:
// build HTML into string var htmlResult = ""; htmlResult += Click me!"; htmlResult += ""; ... ... // insert HTML into DOM dojo.byId("target").innerHTML = htmlResult;
One major shortcoming of this approach is that that it is hard to hook up JavaScript events using dojo and similar frameworks as they require the target element of the event to be in the DOM at the time of the wiring. No declarative approach I know of there. To solve it I opted for a simple – although a bit kludgy approach where I simply save the event methods for later and apply once the DOM has been constructed. Easy. Like this:
var htmlResult = “
“;
dojo.byId(“target”).innerHTML = htmlResult;
// define holder for onclick functions
var onclickFunctions = {};
// build HTML into string
var htmlResult = "";
htmlResult += Click me!";
htmlResult += "";
...
...
// define onclick functions for ids
onclickFunctions["myLink"] = function() {
console.log("Do stuff...");
}
...
...
// add html to DOM
dojo.byId("target").innerHTML = htmlResult;
// hook up event handlers
dojo.forEach(Object.keys(onclickFunctions, function(id) {
try {
var elem = dojo.byId(id);
if (elem) elem.onclick = onclickFunctions[id];
} catch (e) {}
});
Kludgy I know but it gets the job done.
”
When a user or delegated user creates a contact within the mail file, the contact is later archived. The ProtectFromArchive, $NoPurge and ExcludeFromView fields are not being saved to the document when contacts are created in the mail file. These fields are generated on contacts in the local names.nsf Contacts lists.
Resolving the problem This problem was reported to IBM Development in SPR PBAO7NKL2X and is resolved in 8.5.4 (aka version 9).”
Technote 1621998: Personal Contacts are Archived when the mail file is archived
The below list outlines what I find the most interesting about the Notes 8.5.4 release.

In a technote titled Notes Client Jar files that can be Excluded from Anti Virus scanning (technote 1620953) IBM provides some guidance for setting up client side virus scanning for IBM Notes. The steps are very catch-all-like but at least there is information available.