Showing posts with label Notes 8. Show all posts
Showing posts with label Notes 8. Show all posts

Monday, March 22, 2010

FYI : Understanding the IBM Lotus Notes 8.5.x client directory structure

 Worth a repost for those who have not seen it.

http://www-10.lotus.com/ldd/dominowiki.nsf/dx/Understanding_the_IBM_Lotus_Notes_8.5.x_client_directory_structure

This article explains the changes that were introduced in the IBM® Lotus® Notes® 8.5 File System installation and describes them with respect to the installation, setup/launch/run, and uninstall phases in the client's life cycle. Also included are answers to some FAQs on the client file system.

 Thanks to Stuart for sending through this info.

Friday, June 12, 2009

Simply Amazing - if Apple did a medical kiosk...

It's not often that you see an application that simply blows you away. This video has been receiving well deserved praise in the yellow-verse during the last week. If you are not a member, of said yellow-verse, you might have missed it. Frankly, its well worth watching regardless of which is your preferred platform/language/religon/taste in beer yada, yada.



Nathan Freeman and Chris Blatnick have been presenting and actively evangalising 'impactful' interfaces. This new one, blows away what has been in their presentations thus far (which has been pretty good anyway). 'Bones' sets the bar well and truly high. The whole project, not just the UI, is pretty astounding. Peter Presnell has a good write up which is worth a read.

Nathan and the team at Lotus911 have worked out some of the trickier details in crafting the interface, kiosk mode and composite applications, but have been smart in choosing Lotus Notes & Domino for the ancillary parts of the project around security, encryption and network failure. They've also been smart in choosing the hardware specifically for the target environment.

Dare I say a smart choice for a smart planet.

The take-away for Lotus Notes developers, who don't develop kiosk applications all that often, is that with composite applications you can craft any user interface you or your users desire.

It may not be easy, but at least now we know it's possible.

Well done Lotus911, Nathan and the Team.

Thursday, December 20, 2007

SnTT : Unit Testing In Domino

I've had this database of code that is a framework for Unit testing in Domino/LotusScript. Its somewhat similar to JUnit. I wrote it so that I could double check code that was high risk and to give me another level of confidence that it would cope with the unexpected. I've been meaning to add a little polish to the database before I release it into the community. I've finally got around to it this week (and just in time for SnTT). It's not 100% complete, but might be of use to someone and rather than it sitting on my disk I've published it as a project on OpenNTF (here).

Follow this link to find out what is JUnit?

JUnit fits into a technique for Test Driven Development (TDD) where the basic premise is that you write tests for a unit (function, method etc) before writing the actual code. You then write your intended function (or method etc) until it passes all of your pre-written tests. In practice this is quite a large shift in mindset for some programmers. However, writing unit tests without adopting the whole TDD can still be beneficial (and I believe is quite common). For me it means that I can have a set of tests that I can check against code quickly, in a repeatable way and if I need to refactor my code I can quickly determine the impact of those changes by the success (or failures) of the existing tests.

The 'Domino Unit Framework' (DUF) is the Domino (or maybe that should be LotusScript - although LUF isn't quite as funny) take on this framework. The database contains example code in the one and only agent, but here are a few snippets so that you can see how it works.

Dim OutputStream As NotesDatabaseOutputStream
Set OutputStream = New NotesDatabaseOutputStream(session, "", "DominoUnitResults.nsf")

Dim testObject As New Test("Test Objects", Outputstream)
Call testObject.AssertEqual(session.currentdatabase,Null)

You can also check for True or False, in the example below I have just passed a True/False but typically you would include your code that returns a true or false.

Call testTrue.AssertTrue(True)
Call testFalse.AssertFalse(False)
Call test.AssertFalse(object.myMethodThyatIExcepectToReturnFalse)


You can also group up a set of tests into a 'suite of tests' which you can get an overall pass or fail or maybe just group them into logical functions.

Dim testSuite As New TestSuite("isMemberTests", OutputStream)
Call testSuite.Add(test1)
Call test1.AssertEqual(True,isMember(vArray2,vArray1))


So what objects does this support ?

Currently the following objects are supported as they were the ones that I needed - I might added more later or maybe someone else might like to (if you fancy contributing).

Numeric
- integer
- long
- double
- currency
LS Date
Boolean (Integer)
String
NotesObjects
- NotesDocument (based on UNID)
- NotesDatabase (based on Replica Id)


Can I test my Own classes ?

You can also unit test your own custom classes. You will need to implement an isEqual method which the framework expects.

Dim tony As New Person
Dim emp As New Person

Call tony.init("Tony","A","Palmer")
Call emp.init("Tony","A","Palmer")

Call Test101.AssertEqual(tony,emp)

Class Person
...
Function isEqual(people As Person) As Integer
' add in your own code that determines equality or not.
End Function
..
End Class

How can I have a quick look ?

Just download the DUF Database from OpenNTF and then create a copy (without Documents) in the root directory with a name of DUFResults.nsf. Then in the DUF database run the 'Development / Unit Test Agent'. There are some screen shots here of the database here.


Until Next Year.

I expect that this will be my last SnTT post until after LS08, I'm not going but will spending my time following all the news remotely.

Merry Xmas (Happy Holidays!) and Happy New Year.

Thursday, November 22, 2007

IBM Education Assistant - Building Composite Applications

from the Notes 8 forum,

For those building Composite Applications here is the latest version of the multi-media tutorial on building Notes 8 Composite Applications using IBM Education Assistant. It provides a great overview of Composite Applications, as well as, detailed step-by-step instructions on how to build one:

more