Solving issue with using Notes 8.5.3 and integrated Symphony automation

2 minute read

I have installed Notes 8.5.3 and it has Symphony 3 integrated in it. When I tried to use some examples from the Symphony automation toolkit for Notes and when I start the sample database “PurchaseOrder” I got the following message:

The program can’t start because sal3.dll is missing from your computer. Try reinstalling the program to fix this problem.

and then

Error loading USE or USELSX module: *symphonylsx

The symphonylsx.lss is present in my Notes directory and also in the directory:

C:\Lotus\Notes\framework\shared\eclipse\features\com.ibm.symphony.apis.lsx.feature_3.0.0.20110822-1305

I have searched my Notes folder and found this file in the following location:

C:\Lotus\Notes\framework\shared\eclipse\plugins\com.ibm.symphony.ure.win32_3.0.0.20110822-1305\URE\bin

So I tried adding this path to my PATH env variable

After I did that the Notes database started to load. But when I am trying to use any Symphony example like create new purchase order document, it first waits for a long time and then I get an

Unknown error: 4000

on the line:

Dim application As New SymphonyApplication

So what I did next:

1) include Notes\framework\shared\eclipse\plugins\com.ibm.symphony.ure.win32_3.0.0.20110822-1305\URE\bin to the system path

2) fixed the Lotus\Notes\framework\rcp\rcplauncher.properties line with rcp.data (not sure this is needed but I have seen some posts that it might help)

after these steps are done I get no “missing sal3.dll” error but kept getting error 4000. Probably fixing rcplauncher.properties does nothing.

4) open existing application like PurchaseOrder or the similar one from OpenNTF in Notes Designer and use “Recompile all LotusScript” menu action

5) compilation fails giving quite a few errors. Errors are mostly related to the missing SymphonyTextField and SymphonyTextFields classes which are unavailable in v3. These classes have been replaced by SymphonyField(s) classes.

6) fix errors, compile again and it will work

One time I got Notes+Symphony stopped after the document appeared. Nothing happened, so I had to kill the client. Next time it worked OK.

There’s no documentation for LSX API for version 3. In the Symphony v3 toolkit there’s no LotusScript at all. So I used the java documentation from this toolkit to find out about the classes. Basically you need to use itemByType and countByType methods of SymphonyFields class with type = 0 (user field) and use SymphonyUserField class instead of SymphonyTextField

What is also not working well is the type ahead in Eclipse editor - it just doesn’t work for Symphony classes. In the old fashion editor used in form actions this works well. I don’t really understand this…

I believe IBM still has to work to make it working as it should and avoid developers from being upset. Also the fact that API’s aren’t backwards compatible is a pity. Especially when you can’t find a word about this in any documentation, including the article “how to migrate Notes apps to Symphony 3”. This is very very strange.

Update: I got a reply on my post in Symphony developer support forum with this link. I still have to try it out.