<< March 2010 | Home | May 2010 >>

BAT-files (yup - you heard right!) to sign an entire update site

Digitally signing an Eclipse update after the fact (i.e. it's not part of the build) can be tedious and time consuming. To make the process easier I wrote two small BAT-files that does the recursive signing of all plugin and feature JAR-files for you. Just stick the two BAT-files (signall.bat and dosign.bat) in the root Eclipse update site directory (together with site.xml) and invoke signall.bat.

Syntax
signall.bat <keystore path> <keystore password> <certificate alias from keystore>

Example
signall.bat mykeystore changeit signer_key

signall.bat

@echo off
set jdkhome=%JAVA_HOME%
for /f %%a IN ('dir /b /s *.jar') do call dosign.bat %1 %2 %3 %%a
set jdkhome=
dosign.bat
@echo off
echo Signing: %4
%jdkhome%\bin\jarsigner.exe -keystore %1 -storepass %2 %4 %3

Congratulations to Her Majesty, The Queen of Denmark

...on her 70th birthday. Long live the Queen!

LotusLive annoucements - available in Danish plus some other nice stuff

The day before yesterday I was invited on a special blogger web conference discussing yesterdays press release on the new features announced for LotusLive. The conference was hosted by Ed Brill and Sean Pulley (VP, OnLine Collaboration Services). Among the announcements it was very nice to see Danish, Swedish, Norwegian and Finnish to be announced as GA languages. Nordic languages among the first 15 languages - yahoo!! Very happy to see that.

Besides the language announcements the call showed some 3rd party integrations into the LotusLive "experience". The integrations are provided by salesforce.com, Silanis (eSignRoom; demo also showed at Lotusphere), Skype and UPS package tracking and shipping label printing. From my point of view the Skype integration is the most exciting as it proves Skype as a possibility as a general purpose PBX in the SMB market. Very nice.

Showing 3rd party application integration highlights the need for the general availability of a SDK for LotusLive. We asked about the SDK but no promises were made besides what's described on the business partner page at LotusLive.com. What was nice to see was that the 3rd party integration was split across subtle integration (Skype; action buttons and drop downs), full screen integration in the LotusLive UI (eSignRoom; integrates with Files and Contacts) and integration from another source with full SSO (salesforce.com). Good stuff and it makes me much more eager to see some information about the SDK. Gimme it!!

Tags :

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>\framework\rcp\deploy\jvm.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.

Websphere Application Server animations

As mentioned last week you really should consider learning more about Websphere Application Server if you're into Lotus products. As part of this you might want to check out the Websphere Application Server animations. If requires that you register but there are some nice animations such as

  • What is WebSphere Application Server
  • Characteristics of WebSphere Application Server
  • Business Value of WebSphere Application Server

Want to learn how to write administrative scripts for Lotus Connections?

While reading my developerWorks newsletter for today I saw this nifty article (Scripting from scratch: Creating a Jython administrative script for IBM WebSphere Application Server) that teaches you how to write Jython administration scripts for Websphere Application Server. Now remember that Lotus Connections and Lotus Sametime 8.5 runs on Websphere so it might be worth checking out. Now I don't know too much yet about Sametime 8.5 but Lotus Connections has a lot of so-called wasadmin commands that lets you issue administrative commands and these commands are written in Jython. Using this article I could probably get started learning how to automate some of the administration work in a Lotus Connections environment. Nice isn't it?!

Why iPhone OS 4 is interesting for Lotus Traveler customers

Today on my commute I was reading about the iPhone upcoming iPhone OS 4 (Multitasking tops tentpole features in iPhone 4.0). Much, and probably way too much, have already been written about the iPhone and iPad lately but one feature of iPhone OS 4 is important to Lotus Traveler customers.

As you might know the iPhone uses the ActiveSync protocol for communication with the Lotus Traveler server. On the iPhone this is called an "Exchange account" of which you could only have a one. For many this is not an issue but it's really a frustrating and silly restriction (among other things it made it difficult for those of us with multiple e-mail accounts). Reading the run down I was very happy to read that this restriction will be lifted and you now may have more than one ActiveSync account. <insert waves of joy here>

As to the other features being added I guess one can only say that competition is healthy and is advantageous to the customer.

Info centers and wikis

Really wanted to highlight Stuarts blog entries on making it easier to find the wikis and info centers we all use on a regular basis. To find out how see Stuarts two blog entries - for wikis see Making it easier to find the Lotus product wikis and for info centers see And while we're at it... LotusInfocenters.com.

The direct links to the sites are http://lotuswikis.com and http://lotusinfocenters.com.

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.

Enough with all the widget specifications already!!

After what feels like a cascade of widget specifications (iWidget, Google Gadget, Wookie) the World Wide Web Consortium (W3C) is working on a widget specification to unite them all. If you're interested in stuff like this I recommend this developerWorks article (W3C widget configuration and packaging (Learn about the candidate specification for W3C widgets)).

Good thing is that we're still talking JavaScript, CSS and HTML so existing widgets should be pretty easy to port if need be.