<< March 2007 | Home | May 2007 >>

A bit disappointed with Sametime 7.5.1 screen capture annotations

As previously mentioned I upgraded to Sametime 7.5.1 yesterday to follow along but also because of the update to the screen capture utility which I use a lot. Although the new functionality is nice it falls short of actually replacing manually using SnagIt! that I otherwise use for screen capture. I know that SnagIt! does a lot more, but when I need to capture some part of my screen and send it off I almost always need to highlight or annotate it in some way before sending it off. That being said I like the ability to automatically send the screen capture to chat partner(s) from the annotation window.

I would think that the basic required annotation tools would be:

  • Ability to draw basic geometric shapes (circle, square, line) apart from freehand
  • Ability to use different colors based on color picker
  • Ability to add text
  • Ability to add arrows
  • Ability to adjust line thinkness

I guess that the above can be consider a feature request... :-)

Upgraded to Sametime 7.5.1

I upgraded to Sametime Connect 7.5.1 this morning to test it out and to take advantage of the new features. I'm especially looking forward to screen capture annotations - the new tabbed chat interface will also be nice.

The upgrade process itself went smoothly, but unfortunately there was an issue which makes it a no-go for us for the time being. The sametime.ini file was replaced and since we have made customizations to that an out-of-the-box installation is a problem for us. Whether modifying the sametime.ini is supported at all I do not know but it doesn't change the fact that sametime.ini was replaced... :-(

Another issue is that the UI has been slightly modified. Apart from the general color scheme and that the "Primary Contacts" miniApp has been added per default at least one menu item has been moved. The one I'm looking at is the action for managing plug-ins which used to be at "File -> Manage Updates -> Configure..." but in Sametime 7.5.1 is at "Tools -> Plug-Ins -> Manage Plug-Ins...".

This isn't too bad - I actually prefer the new location. The problem is that my next/newest article for THE VIEW just went off to the press and the article contains numerous screen shots - some of the functionality for managing plug-ins. I smell an Sametime 7.5.1 errata coming up... :-)

Saved by NOMAD

One of my colleagues Thinkpad crashed on Friday afternoon and was sent to the repair center on Monday morning. Due to this crash he didn't have access to Notes e-mail or any of our databases during the weekend. Fortunately he installed a 4GB USB-stick with NOMAD (Notes, Designer, Administrator 7.0.2) some weeks ago so he has been able to continue working of any spare computer available. Only requirement - an USB port. Nice! Zero actual downtime work wise.

Only downside is the lack of VPN support to run off a USB key.

I'm just afraid he's growing too fond of not having to lug his Thinkpad around... ;-)

Tags :

Preferred LotusScript comment style

As previously mentioned I'm looking into starting development of LotusScript.doc version 2 and for that I'm also rethinking how comments are written when writing LotusScript. In version 1 of LotusScript.doc I have only supported a LotusScript'ified version of the Javadoc syntax which meant that only the following comment syntax is considered valid:

'/**
' * This is my comment for the DoStuff sub-routine.
' */
Public Sub DoStuff()
   ...
End Sub
Comments of this kind can be placed inside or outside of code constructs (class, sub, function etc.) and will be picked up by LotusScript.doc accordingly. Apart from this you can write a description for a design element by using the lsdoc_description() sub-routine. This is the equivalent of the package.html from javadoc. Normally it would be used like this:
Private Sub lsdoc_description
%REM

%END REM
End Sub

For LotusScript.doc v. 2 I would like to make this more flexible and support multiple commenting schemes so I'm thinking:

  • "How do you comment your LotusScript?"
    • Do you comment using %REM sections?
    • Do you comment inside or outside the sub/function/class etc.?
    • How do you document the design element it self?
Also - one thing is how you do it now - another is how would like to document your code in the future.

I would really appreciate any input...

E-mail question: Notes/Domino Java API development for Sametime Connect

I received an e-mail from a reader of the blog asking some questions on developing Sametime plug-ins using the Notes/Domino Java API. Since the answers might be of benefit to others I'm also posting the reply here. Please note that my upcoming article in THE VIEW will go into a lot more detail on install handlers, native library loading in Sametime etc.

I really wanted to talk on this at ILUG 2007 since I think it's an issue which will come to haunt a lot of developers, but unfortunately I was unable to get in contact with Paul Mooney so I wont be there... :-(

<Name>,

well you are really opening a big jar of issues and I'm afraid that it would be too time consuming for me to point out what you need to do in detail. The article you mention will show you exactly how to do what you need. I can however give you a pointer... :-)

If you get a java.lang.NoClassDefFoundError it sounds like the actual class from notes.jar (lotus.domino.Session) isn't on the runtime classpath of the plug-in. Look into adding it to the deployed plug-in. Do this on the Build tab of the MANIFEST.MF file in Eclipse (use the Binary Build section on the lower left).

Additionally if you haven't already be sure to read my post on plugging the necessary classes into Eclipse for Sametime development using the Notes/Domino Java API.

Please note that if you are using local sessions you need to modify the Sametime Connect client sametime.ini file to enable it to correctly load native libraries on Windows (DLL's). This is best and most easily done using a feature install handler which is a little advanced but it will be thoroughly explained the my upcoming article.

Hope this helps.

Threads by example

Nice article on onjava.com on threading in Java: Controlling Threads by Example.

Tags : ,

Version 2

I'm starting to think of features and improvements for LotusScript.doc version 2 and was thinking what you had to say... What issues/problems do you have? What kind of features are you lacking? Please let me know so I might include them.

Please send comments and suggestions by e-mail to lekkim [at] lsdoc.org or as comments to this post.

Thanks.

What's the future of Java in Notes/Domino?

At Lotusphere 2007 there was a session on the future directions of Java in Lotus Notes and Domino called AD508 (AD508: Java 5 Upgrade for IBM Lotus Notes and Domino). Basically the session discussed the future of Java in Notes/Domino and how IBM is planning to ship Java 5 as part of Notes 8/Domino 8. Although it appears that IBM held its promise and moved to Java 5 in Notes 8 I think it was a poor choice and that they should have moved to Java 6. This post is a longer opinion piece and explains why. Comments are more than welcome.

Read more...

Learn to multiply big numbes

Wow - this is amazing!! :-)

Update: Seems like the control doesn't work any more. Go to youtube.com and search for "multiply big numbers".

Properties as top level members of script libraries

Is anyone actually using the possibility of defining a Property as a top level member in a LotusScript script library? Apparent you are able to define a property as a top level member of a script library just as it is possible with a Sub or Function. The below code will actually compile and run ("SomeProperty" is not a variable but actually a Property defined in the Declarations section).

Sub Initialize
   SomeProperty = "HelloWorld"
   Msgbox SomeProperty
End Sub

Below is how the code actually looks in Domino Designer with "value" being a String variable defined in the Declarations section. Although possible I wonder if anyone actually uses it as I think it makes the code a little difficult to read.


Beware of object scoping in Visual Basic

I'm doing some Visual Basic programming in Microsoft Word at the moment and spent some time on Friday trying to find out why all my objects (based on a Visual Basic class module) apparently had the same values. Apparently the following doesn't work:

Dim col As New Collection
Dim i As Integer

For i=0 To 10
  Dim obj As New Person
  obj.Firstname = "Firstname" & i
  obj.Lastname = "Lastname" & i
  Call col.Add(obj)
Next
If you run the above code all the objects will hold Firstname10 and Lastname10 in their class variables. The solution is to do this instead:
Dim col As New Collection
Dim obj As Person
Dim i As Integer

For i=0 To 10
  Set obj = New Person
  obj.Firstname = "Firstname" & i
  obj.Lastname = "Lastname" & i
  Call col.Add(obj)
Next
The difference is that in the latter example the definition of the Person reference is done outside the loop while both the definition and the instantiation is done inside the loop in the first example. While both of the above cases are quite okay in LotusScript, and works as you would expect, you apparently have to define the reference outside the loop in Visual Basic for it to work. Why that would be the case is unclear to me...

Oh well... :-)