As mentioned I was considering whether to get a N95 or a Windows Mobile based phone to be ready for Notes Traveler and I think I’m set on the latter…
Month: September 2007
6.5.6 fixes panic when doing DXL export
The following is a technote was sent to me from a LotusScript.doc user: LotusScript and Java code hangs Notes when exporting certain documents to .dxl/.xml. Only difference was that his client redboxed.
Anyways – upgrading to Notes 6.5.6 solved the issue.
Lotus Symphony mentioned on the Windows Weekly podcast
I listened to the Windows Weekly podcast today (episode 36) and Lotus Symphony was mentioned (from 28:55-32:30). The podcast is from the TWIT network. Besides being a very positive review, although they mention that it’s still beta 1, they also mention that it’s the same technology used in the Notes products. Very nice.
Some quotes:
- “I’m excited!”
- “But unlike openoffice.org and Star Office this Lotus branded suite is actually nice looking. It really is!”
- “There’s already in this early version a certain clarity and polish that doesn’t exist in Open Office”
- “It works on Linux AND Windows”
- “For most people Office is a daunting purchase”
- “It already is, as you said, more polished than anything Open Office or Star Office has ever come out with by far!”
N95 vs. Lotus Notes Traveler
I strongly need a new mobile phone as the joystick on my Sony Ericsson is completely worn down due to wear and tear. I guess a couple of trips over the Pyrenees on bike in my back pocket didn’t help either… Anyways – I have been looking at the Nokia N95 and it seems like a really nice phone I can see myself owning – built in Wi-Fi is very nice!. However with the recent announcement of Lotus Notes Traveler I seriously have to wonder if I want to commit to a Symbian based phone. Maybe Windows Mobile is the route to take so I’m ready come 1Q 2008…
On the other hand I’m not really an email-on-the-go! person so maybe I should opt for the Nokia. I’m torn!
Lotus cancelling the Redbooks?
Rumors are circulating that Lotus/Mike Rhodin plans to pull the plug on the Lotus Redbook center. This can’t and must not be true… Be sure to chime in over at the Business Controls Caddy…
It’s been quiet in LotusScript.doc land but…
…I have been hard at work and I’m getting close to a pre-release of LotusScript.doc v.2.
LotusScript.doc v. 2 is being completely rewritten from scratch (in Java), supports multi-threading and handles a wide array of new design elements compared to the 1.0.x code stream. The code and comment parsing is done and I’m currently working some of the more esoteric parsing bugs out.
One of the design goals for version 2 is also adding support for other output formats than the “traditional” framed HTML view. Writing custom output formats will also be possible using a template engine. I’m planning to ship the following documentation formats:
- XML
- Traditional framed HTML
- A more comprehensive HTML report
- DocBook
The main XML format is almost done and it’s what I wanted to show of today and is what I’m showing above. Click the image (or here) for a larger version. The larger XML snippet shows:
- Ability to see which subforms are used from which forms
- Ability to see which embedded views are used from which forms/pages and what their singlecategory formula is (if any)
- Support for buttons (anonymous and named)
- Support for actions (in action bar and as shared actions)
- Ability to see which shared actions are used from which action bars
- Support for subforms
The list of new features is quite a lot longer including vast performance improvements but lets not get carried away. Of cause the XML format will also carry the code comments.
Exporting DXL for databases with Java web services
Today I needed to export a database application containing a web service written in Java as DXL. How stupid of me to think that I could do this with only Notes.jar on my build path… Doing such an export will make your code throw java.lang.ClassNotFoundExceptions unless you have the following libraries on your build path:
- jvm/lib/ext/notes.jar (not much surprise there)
- jvm/lib/ext/websvc.jar (due to missing lotus.domino.websvc.client.Service)
- jvm/lib/ext/mail.jar (due to missing java.mail.Multipart from lotus.domino.ws.ServiceContext)
- jvm/lib/ext/jsdk.jar (due to missing javax.servlet.http.HttpServlet)
- jvm/lib/xml.jar (due to missing org.apache.xerces.parsers.SAXParser)
The above was found by diagnosing and reading ClassNotFoundExceptions in Eclipse at runtime since ClassNotFoundException is a runtime exception.
Now back to exporting…
Effective API Design presentation by Joshua Bloch
Although from JavaPolis 2005 this is still a very nice presentation by one of the gurus in the field of API design, Joshua Bloch. The presentation runs about 70 minutes but is well worth it.
Summary: “A well-written API can be a great asset to the organization that wrote it and to all that use it. Given the importance of good API design, surprisingly little has been written on the subject. In this talk (recorded at Javapolis), Java library designer Joshua Bloch teaches how to design good APIs, with many examples of what good and bad APIs look like.”
DB2 LUW Performance blog
DB2 Magazine blog on LUW Performance. For those not in the know when talking about DB2 LUW stands for “Linux, Unix and Windows” and testifies to the great difference between DB2 on LUW and zSeries/iSeries.
Discovering Notes 8: Web service enabled script libraries

In a recent edition of the LotusUsergroup.org newsletter Julian listed some of the new AppDev features of Notes 8. Among them were the new web service enabled script libraries.
Basically what you do is simply pointing a script library to a WSDL file and some stub code is automatically generated for you. Then when you use the script library from agents etc. the methods you call will automatically be forwarded to the actual web service without you worrying about SOAP, HTTP etc. It actually is that easy!
To test it out I found an example of a public stock quote web service (http://www.webservicex.net/stockquote.asmx?WSDL) and used that for an example.
Start by creating a new empty LotusScript script library. Now click the “WSDL…” button at the bottom of Domino Designer and simply select “Import WSDL”. Now paste the above URL into the filename field and click Open (it’s really nice that you can actually simply paste the WSDL URL into the dialog instead of first saving the WSDL to a local file). Now your script library should look like this:
%INCLUDE "lsxsd.lss"
Const n4 = "http://www.webserviceX.NET/"
Class StockQuoteSoap_n4 As PortTypeBase
Sub NEW
Call Service.Initialize ("HttpWwwWebserviceXNETStockQuote", _
"StockQuote.StockQuoteSoap", _
"http://www.webservicex.net/stockquote.asmx", _
"StockQuoteSoap_n4")
End Sub
Function GetQuote(symbol As XSD_STRING) As XSD_STRING
Set GetQuote = Service.Invoke("GetQuote", symbol)
End Function
End Class
Now save the script library and call it “Stock quote”.
Create a LotusScript agent and in Options import the script library (Use “Stock quote”). Now we want to call the script library which is done using code like this:
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim sq As New StockQuoteSoap_n4()
Dim symbol As String
Dim symbols(2) As String
symbols(0) = "IBM"
symbols(1) = "JAVA"
symbols(2) = "AAPL"
symbol = ws.Prompt(4, "Stock symbol", _
"Select stock for quote...", "", symbols)
If symbol = "" Then
Exit Sub
Else
Print "Using symbol: " + symbol
End If
Dim sh As New XSD_STRING()
Call sh.setValueFromString(symbol)
Set sh = sq.GetQuote(sh)
Msgbox sh.getValueAsString()
End Sub
Now when you run the agent and you select a stock symbol it will actually automatically go out to the web service, get the quote and return it to the caller. All this with the code I just showed you. Nice!
Stand by for a post on the nitty, gritty details…