Introduction to the Lotus Symphony LotusScript API

October 14 2009

As you might have heard, Notes 8.5.1 includes a new API for Lotus Symphony - in native LotusScript. It works with all three of the Symphony applications, but the Lotus Symphony Presentations API is very bare in this release. I will cover more about each Symphony application in individual blog entries to follow, but I wanted to give an overview of the LotusScript API first.

To begin working with the Lotus Symphony LotusScript API, you need to download the file lotus_symphony851_win_CZ5SZEN.exe. You can get this from both PartnerWorld or Passport Advantage. There is also a version of the file for Linux.

Once you have downloaded and unzipped the Toolkit, you will see the following:

Image:Introduction to the Lotus Symphony LotusScript API

Here is a description of each folder:

docs - contains two pdf's: "IBM Lotus Symphony Developer's Guide.pdf" which is all about working with the Symphony API for modifying the menu, sidebar, and menu bar and is targeted at Expeditor developers and "Symphony Developer's Guide for Notes.pdf" which is for Notes developers and have a great walk thru around the sample applications
ja_JP - the docs and API items in Japanese
javadoc - contains the Java documentation in javadoc format in both general and from within Notes formats
license - the toolkit license docs
lsxapidoc - the documentation of the LotusScript API. More on that below
samples - samples for both the Java and LotusScript APIs

If we expand the lsxapidoc folder, we see the following:

Image:Introduction to the Lotus Symphony LotusScript API

As you can see from the image, the API is documented in HTML and is very extensive. And yes, I have already asked IBM to create a Notes version - and if they don't, I will. :-)

So to get started with the LotusScript API, you need to load the LSX. IBM implemented the API as a LSX for one main reason - as Symphony and Notes are on different development schedules, the Symphony team does not have to wait for Notes to get updated to improve and/or fix the API. This will become critical as Lotus Symphony 2.0 gets ready to be released next year. It also makes it easy for the user to update the embedded version of Symphony and get a new version of the LSX without upgrading the client at all. In 8.5.1, every install of the Notes client has a copy of the LSX installed.

To use the Symphony LotusScript API, go into any design element that allows for LotusScript. This could be a form or view action, a form or view event, an agent or a script library. Enter the following into the Options section of the element:

Image:Introduction to the Lotus Symphony LotusScript API

This one line will tell Designer to use the Symphony LSX. It seems that the planets aligned correctly for the Symphony team on this one - since Domino Designer in Eclipse with 8.5.1 supports custom LSX's for type-ahead, the developer gets to see something like this:

Image:Introduction to the Lotus Symphony LotusScript API

So hopefully this has gotten you excited about the possibilities. Many more articles to come in the next couple days including:

  1. Lotus Symphony Documents "Hello World" in LotusScript
  2. Lotus Symphony Spreadsheets "Hello World" in LotusScript
  3. Lotus Symphony Presentations "Hello World" in LotusScript (and why it doesn't work)
  4. Lotus Symphony Documents and Mail Merge via LotusScript
  5. Using the Symphony LotusScript API in a Document Action
  6. Using the Symphony LotusScript API in a View Action
  7. Building Charts in Symphony Spreadsheets with the Lotus Symphony API
  8. Building Data Pilots (Pivot Tables) in Symphony Spreadsheets with the Lotus Symphony API
  9. Saving to PDF via the Lotus Symphony LotusScript API