Thursday, January 29, 2009

Serious bug in N/D 8.5 standard configuration - NotesUIWorkspace.CurrentDocument returns Nothing

Update: I got a question by mail if this bug is in the Gold release. It is. I'm running Revision 20081211.1925 (Release 8.5).

When debugging code that fetches the active NotesUIDocument from NotesUIWorkspace, NotesUIWorkspace.CurrentDocument randomly (?) returns Nothing. Sometimes the client also crashes when running code that does the above.

A couple of colleagues that work exclusively on the Client have gone back to Notes 8.0.2 because of the problem. Code that's affected by the above problem in the standard client seems to work when running the basic client.

I use this method to run the Basic Client.

A thread about the problem in the Notes 8.5 forum

If you have the same problem, please join in the discussion.

Thursday, January 22, 2009

Thoughts on XPages hijacking the id-attribute

I don't think I'm alone in thinking that the XPages hijacking of the id-attribute on fields/etc is a bad design choice. Matt White is amongst the people that have struggled with/found a way to work around the problem.

I don't think there has been much public debate around the problem. Hopefully enough people will read this post, to get a debate started, and maybe get IBM to change it's implementation in the nearby future.

With Dojo as the base framework, there is no reason for IBM to use the ID-attribute to reference elements. There is a speedy CSS selector engine available to them that enables them to use any attribute they want to, to get a pointer to an element. There is also a CSS selector API in the works, which when implemented (soon, in FF 3.1, others will follow) will allow even faster lookups.

In the still not finished HTML 5 specification by W3C/WHATWG, a data-attribute is proposed to use for storing custom values in. Since XPages is something that will last for a good while, and IBM want to play with the cool kids and follow web standards. Why not use data-attributes to add pointers for the XPages engine, and leave the id-attribute to us developers?

If it wasn't for Douglas Adams, I might not be here - Wrapping up LS09

So I learned a couple of new things during these last days. Apart from the class browser in the new LS designer, you will also get type-ahead from your own code, which I think is kind of neat. This is something you get in most of the IDEs based on Eclipse, but since I've worked in the clunky "old" designer for over three years, I'm surprised/excited by news like this.

I also heard a rumour from a former IBM employee that NSFDB2 is more or less dead. Having played around with it a little, I may understand the (not confirmed) decision. NSFDB2 doesn't seem to bring much functionality to the table. There is still the 64GB limit on Notes databases, the structure isn't easy to work with and with XPages, as Nathan proved, you are now able to do speedy semi-relational lookups with the new View Control.

On to Douglas Adams.

I was at a great dinner on tuesday, hosted by Symfoni Software. Met a lot of nice people. Amongst them, there was a guy from the Linde Group. He was from Gilford in the UK. As Gilford is the place Arthur Dent believed Ford Prefect to come from, this reminded me of Hitchhiker's guide to the Galaxy, which reminded me of my blog, which is more or less the reason I got to go to Lotusphere 2009, and also the reason I got invited to the Symfoni dinner (thanks, Trond Are). If it wasn't for Douglas Adams and his Hitchhiker's "trilogy", my blog would at least have a different name, or even worse, I might not have had a blog at all, resulting in not being at Lotusphere 2009..

On to wrapping up..

LS has been a nice experience. I learned what XPages is all about, got insight into what is planned for future versions of Domino Designer/XPages will bring, got to experience the warm weather in Florida, got a cold for walking around Epcot in too few layers of clothing, got to meet a lot of great people, got to taste the american cuisine (not to fond of the bagel), and a lot more.

This last day, I think I'll mostly stay at my room to keep the cold at bay. I'm leaving the sunny state tomorrow (just when it's starting to warm up), and I don't want to be a sneezing feverish monster. :)

Tuesday, January 20, 2009

LS09 Day two - Wrapping up

On the technology side, I learned a couple new things. XPages lets you show RichText in a view and it lets you communicate with several data sources on one page. In XPages.Next, you will be able to use XPages with SOAP and relational sources.

On the social side, I went out with IBM Norway to the Epcot centre. It was a really beautiful place. I literally know no other people going to Lotusphere, so I was a bit intimidated at first, just walking around getting boozed up. When it came to dinner, it was a bit easier. Just popped down on a random table, and started talking. As several speakers as Lotusphere have said, I didn't get bitten :)

I met a couple of new people, heard some impressions. Most of the people I've met so far on Lotusphere seems to be excited about the same technology as I (Admins partially included). The two most exciting technologies I've seen so far is XPages and Sametime Unified Telephony.

XPages for the obvious reasons(?). Sametime Telephony because it seems to make it A LOT simpler to make conference calls/etc. It's kind of a Skype for the enterprise. Usability wise, it seems even simpler to use than Skype.

More sessions to attend..

Monday, January 19, 2009

LS09 OGS - As reported by a bald guy in sandals

The OGS started great, with the Blue Man Group.

Then a small introduction from Bob Picciano, followed by Dan Aykroyd coming on stage as an alien. It might have been a reference to one of his films, but I didn't recognize his performance.

While a great speaker, I felt his jokes/etc. fit more with the american crowd than the rest of us.

On announcements.

IBM is joining forces with OpenNTF. They mentioned that they would provide code and templates, and I guess they also will provide server space/hosting.

Bluehouse changes name to Lotus Live (Engage). Sounds a bit to close to Windows Live in my ears..

Sametime Unified Telephony. This seems to bring IP Telephony to Sametime. They showed some great demos of conference calls/etc. You should be able to call to regular phones as well. Not sure how this is set up. Maybe through a third party.

Sametime Meeting - No more Java Applets. Lotus seems to have done a great deal of work on Lotus Sametime. Among the new features is being able to share documents in a meeting without the need for any (Java) plugin. All demos were showed in Firefox, so no ActiveX trickery. Videos are stored in quicktime format. Not sure why, but could be to make it more Mac friendly.

After the OGS, I went to a session about the future of Lotus Domino. Not a lot of exciting news, but there were a couple interesting things mentioned.

Improved NSF quality and recovery, the ability to save script libraries with errors, class browser, improved performance of XPages, improved usability in DDE, new components in DDE; outline, menu bar, tool bar and tag cloud.

They didn't specify a date on these improvements. Some of them should be included in the 8.5.1 release.

More sessions to attend.. Busy busy.. :)

Sunday, January 18, 2009

New LS/Java Editor coming in Notes/Domino 8.5.1

Writing my previous post, I missed the session I had planned on going to, "Getting to know XPages and the new Domino designer" (it was full by the time I arrived), I instead went to a session named "Introducing IBM Lotus Domino Designer 8.5 Now with Eclipse!".

There, they showcased the new editors for Java and LS. The LS editor looks promising, but the Java editor looked a little bit clunky usability-wise. The reason the new Java editor didn't appear in the current Notes release, 8.5 apparently has something to do with how Java code is stored in the NSF. IBM seems to have found a way around this, and in N/D 8.5.1, we will have the Eclipse Java editor for Domino Java code.. Good news! :)

They also skimmed the surface on what you can do with XPages. It seems like a quantum leap in flexibility above what you can do with the "old" Domino applications. Hopefully I'll make it in time for the next XPages sessions.

I didn't get the planned release date for 8.5.1. Not sure if they mentioned it/know when it will be ready.

Now I'm going to the a session about Cloud Computing with Bob Balaban. Could be interesting.

Day 0 of Lotusphere - Getting there

So the day started of well. I reached Sola airport in Norway an hour before the flight. I had plenty of time, so I read a little.

The first part of the trip went well. Sola - Copenhagen, no problems.

At Copenhagen, there were a few difficulties.

When I was boarding the plane, the jet engine was runnin at full speed, or so it seemed. When I got settled in, the captain let us know that there was a leakage from one of the engines, so the flight engineer had to repair this. Should only take fifteen minutes or so (he thought).

Fifteen minutes later, another message. The engineer wasn't able to fix the problem, so he had to get a new part. It should take about 45 minutes to fix. 45 minutes later, the engine was ok, but the driver of the car that was going to move the plane had gone home (resulted in an ironic laugh from all the passengers).

About 75 minutes over time, we finally got off the ground.

Around an hour late, the plane arrived at Washington. This was the part I feared the most. I'd heard a lot about US customs, and how strict they were. Maybe I was lucky, I don't know, I had no problems getting into the US. There were a lot of people waiting to get in, so that maybe resulted in the customs agents spending less time per person.

Then it was off to Orlando. Everyting went well. At this part of the journey, I felt totally lost, but somehow I found the places I needed to be. The last part of the journey was enjoying kids arguing with their parents for half an hour, while waiting for the bus to the hotel. All in all, I felt the trip went quite well.

Off to the first XPages session!

(this was written in a hurry, so please excuse me for any spelling mistakes)

Friday, January 16, 2009

Shipping off to Orlando

Tomorrow (Saturday) morning, Norwegian time, my plane leaves for Orlando and my first Lotusphere. Hopefully I've remembered to pack everything.

Just in case I need to be formal, I've packed a suit. Unfortunately, the tie was undone, and I don't know how to tie a tie. A few years ago, I'd have to ask a relative to tie the tie for me, but in this information age, all I needed to do was to go to youtube and do a search.

In case you also don't know how to tie a tie, here's how:

I'd hoped to arrive in time for B.A.L.D., but looking over my plane reservation, I see that I won't arrive at Orlando before 8pm.

But still.. Lotusphere! :)

My first bug found in N/D 8.5

When you're working with an application in the new Domino Designer, and open/close the application in the Client, the QueryClose event doesn't get fired.

I had to close DD to get the event to fire. This probably isn't the most serious bug, but it is annoying when working with/testing QueryClose.


Thursday, January 8, 2009

Use "nsd -kill" when killnotes doesn't work

Today, I got a "Shared memory error" after the Notes client crashed.

KillNotes didn't clean all the processes. This resulted in not being able to start Notes again. I did a little search, and found the solution.

I created a small bat-file that executes the NSD-command. If you want to use it, you probably have to change the line that has the path to Notes, "cd \Program Files\lotus\notes\" to fit your environment.

Wednesday, January 7, 2009

Useful new LS-method in Notes 8.5 - NotesDocumentCollection.StampAllMulti

Input parameter, NotesDocument. Add the values you want to stamp the collection with as fields in a (temporary) NotesDocument.

Dim s As New NotesSession
Dim doc As New NotesDocument( s.CurrentDatabase )
Call doc.replaceItemValue( "field1", "1" )
Call doc.replaceItemValue( "field2", "2" )

'col is a NotesDocumentCollection
Call col.StampAllMulti( doc )