Lotus Notes/Domino ::
Lotus Celebrates 25 Years in Cambridge
Colour Your Text
Cool IBM Lotus Notes 8 Admin Features
Lotus Connections Screen Saver
Webcast: Collaborative applications with Lotus Notes and Domino 8
Back In Boston
I LUV ILUG
Notes 8 Beta 3
The UrlFetcher LotusScript Library (Tuesday, May 22)
Last week we talked about getting URLs in LotusScript, and Jan-Piet Mens asked about a more cross-platform approach (actually, he also made the same request on his own blog a few months ago). So, I recycled some old code and wrote some new, and J-P helped me test and debug it. As a result, here is a database with some Java and LS2J code that allows you to easily make cross-platform GET and POST requests from Java or LotusScript:
The UrlFetcher Java library is pretty well commented, and should answer most of your questions about how everything works. The UrlFetcherLS library in LotusScript is just an LS2J wrapper around the Java stuff, and it's not nearly as well documented, but just read the comments in the Java class and you'll figure it out.
There are also a few sample agents that show how some of the functionality works. For example:
Option Public
Option Declare
Use "UrlFetcherLS"
Sub Initialize
Dim fetcher As New UrlFetcher
Print fetcher.getUrlAsString("http://www.nsftools.com")
End Sub
That's not too bad, is it? You can also get HTTP headers, set headers, add POST parameters, make proxy settings, and a few other things. I even have an example of making an SSL/HTTPS request, but that's Notes 7 only. Everything else should work in both Notes 6 and 7.
[ permalink ] [ e-mail me ] [ read/add comments ]
Why can?t I click on that URL?
GMail Spellcheck (Correction: It’s Firefox) (Monday, May 21)
CORRECTION: Okay, I'm a bonehead. It's actually Firefox 2.0 doing the spellchecking, not Gmail. I finally updated from Firefox 1.5 on the machine I usually check mail on. I thought about deleting this blog entry and pretending I never wrote it, but then I figured I'd just leave my tattered laundry out for everyone to see. What the heck.
This is cool. There's inline spellcheck in Gmail Firefox -- using the familiar red dotted underline for unknown words and right-click to get suggestions:
Then again, maybe it's been there for a while (UPDATE: yes, it has...) and I've never noticed (UPDATE: stupid, stupid, stupid...). It works in Gmail chat too.
[ permalink ] [ e-mail me ] [ read/add comments ]
Lotus and the PGA Tour
Reorder lists
Article on Web Services in Domino 8 (Wednesday, May 16)
There's a new Domino Web Services article on developerWorks today: Engineering WS-I compliant Web Services for IBM Lotus Domino V8.
Even if you're not specifically interested in trying to make your Domino Web Services fully WS-I compliant, there are some great tips and gotchas in there, including:
- Web Services created on Notes/Domino 8.0 will not work on Domino 7 (however, the D7 Web Services work just fine on D8).
- Using arrays as method parameters in D7 only works when using the RPC/Encoded format (all formats work properly in D8). They do show a very interesting workaround using imported WSDL, though.
- Another workaround is to use a custom class as a parameter, with an array as a public member of the custom class (see below). However, in D8 a custom class that has an array as its only member is treated as an array in the WSDL, not as a proper complex data type (there has to be at least one other public member variable).
- Custom SOAP Fault subclasses are not returned properly in D7 (although they are in D8).
- Remember to set the server to "Run web agents concurrently" (I always forget that this isn't default behavior).
Regarding arrays as parameters using custom classes/complex data types, here's how I like to set that up:
Class PhoneNumbers
Public phoneNumberArray() As String
Public count As Integer
End Class
Class DirectoryAssistance
Public Function reverseLookup (nums As PhoneNumbers) As NameList
...
End Function
End Class
I mention this type of setup in one of my web services articles. The nice thing about this structure is that it's easy for the client to determine whether or not an array that is a return value is empty (count=0) or not -- you can decide for yourself if you want to enforce proper "count" values on the server side when accepting the class as a parameter.
Luckily, it also seems to have the fortunate side-effect of making the arrays work properly as method parameters for WSDL formats other than RPC/Encoded. I need to do some more testing to confirm, but I don't remember having problems before, and the new "WS-I Compliant Web Services" article seems to say that it's true.
[ permalink ] [ e-mail me ] [ read/add comments ]
Daily chuckle
How integrated are you?
Native TNEF Decoding, Java Library Crashes (Monday, May 14)
Here are two [hopefully] unrelated interesting things I saw recently on the IBM Support site.
First, SPR #SBRN5PGPCN describes a fix for TNEF extraction on Domino. The really interesting thing is that it applies to Domino 7.0.2 and 6.5.6. So maybe native TNEF extraction is in the Domino 6.5.6 server too? That would be cool. I'm not sure if I saw that anywhere before or not.
Second, Technote #1202732 describes a scenario where Java JAR files that are attached to agents or script libraries can cause Out Of Memory errors. There's an SPR associated with it, which would seem to indicate that it's a problem that hasn't been fixed yet. The solution is to detach the JAR file to the local file system and access it that way (either the JavaUserClasses INI setting or just plopping it in the JRE ext directory).
The wording of the technote (at the time I'm writing this -- it may change) makes it a little unclear as to whether this affects code that run on servers, or just clients. It talks about a "Domino client" (?!?), and also mentions that if you access the library using JavaUserClasses then every time the JAR file changes "you must copy it to your local server" -- and, um, I don't think that a Notes client that has a JAR file listed in JavaUserClasses would look on a Domino server for a JAR file. But hey, maybe it does, and that's one more thing I don't know.
[ permalink ] [ e-mail me ] [ read/add comments ]


