Lotus Symphony leverages OpenOffice.org code with the Eclipse open framework, resulting in a stronger, more flexible offering that liberates the manipulation of document "pieces" from the Lotus Symphony application and user interface. OpenOffice.org provides the specifications and extensions to manipulate content directly (for example pictures, tables, spreadsheets, nested frames) and how those document pieces might be managed by or integrated with other applications. Alternatively, Eclipse delivers the higher level programming interfaces for customizing the user interface (for example toolbars, file menus, side shelf, context menus) and an open framework to extend with other applications. As a result, Eclipse enables developers to easily integrate Lotus Symphony with other applications, building useful composite applications without having to know the internals of OpenOffice.org.
This approach makes better use of your development skills for software development. Consequently, you do not need to learn different programming models when building applications.
Here are just a few reasons why Lotus Symphony makes Eclipse and OpenOffice.org better together:
- Clean, simple user interface for creating documents, spreadsheets and presentations
- Easy integration with other applications through Eclipse plug-ins
- Easy customization of functions and user interface through Eclipse plug-ins
- Advanced, granular Eclipse deployment model for application management
- Ensured access to documents now and in the future via support for industry standard OpenDocument Format (ODF)
- Granular controls for manipulating document content through UNO component model APIs
- Interoperability with most Microsoft® Office file formats
- Support for multiple operating systems: Today Linux and pre-2007 Windows are supported. (Windows 2007 and MACOS support is currently planned for a future releases.)
- Open and available at no charge
Lotus Symphony provides support for leading development technologies – Java/Eclipse, LotusScript, OpenOffice.org, and .Net support is currently planned for a future release.
Lotus Symphony leverages a tiered API model to give you the flexibility to meet your needs – whether it is to create a simple plug-in to launch a Lotus Symphony document from another application or a more sophisticated solution like data manipulation in a Lotus Symphony spreadsheet from an inventory database with event-driven updates.
Application APIs based on Eclipse allow you to easily open, access, and close any of the Lotus Symphony applications. Editor ViewPart APIs, also based on Eclipse, go further and allow you to call load and save functions from Lotus Symphony, access Symphony-generated content for use in applications, and even customize the Lotus Symphony user interface for a particular solution.
For example, the development teams at Lotus used these APIs to create a plug-in for back-end integration and UI customization, enabling users to easily save Lotus Symphony content directly into Lotus Quickr™.
Lotus Symphony supports highly customized solutions. For solutions that need to go deeper, the Content API support based on the OpenOffice.org UNO API specification lets you locate a specific data object within Lotus Symphony and manipulate that data.
In the following example, Lotus Symphony Documents has been customized for a healthcare solution. Lotus Symphony acts as an integration platform and medical record editor, storing all associated data (text, image, charts, XML) in ODF. The application kicks off workflows based on input such as diagnoses, prescriptions, and treatment plans, and integrates with other systems.

View full size
In another prototype, the UNO APIs provided by Lotus Symphony allowed a developer
to visualize data from a Lotus Notes database in a Lotus Symphony spreadsheet and enable it as a composite component to put into a larger application. The application provides the ability to drill down and open the Notes document related to a specific data point. This sample application also demonstrates how Lotus Symphony Spreadsheets can be integrated with Lotus Sametime®, providing presence awareness for live names directly in the spreadsheet and the ability to chat and communicate without leaving the context.

View full size
To learn more about the UNO API's and programming, download the OpenOffice.org Developer Toolkit.
Lotus Symphony productivity applications come with Notes 8.0 and later, providing both office applications and editor components for enhancing Notes-based solutions. LotusScript can be used to call the UNO API to create and control Lotus Symphony functions and create objects for use both inside and outside of Notes composite applications. The LotusScript support in Notes 8.0.1 uses Java, but currently planned future releases will provide support directly as LotusScript objects.
This screen capture demonstrates how LotusScript can be used to call Lotus Symphony functions to import Notes and Domino data into Lotus Symphony, change the style and color of the cell range, create a bar chart and even provide an intuitive data entry user interface. This example is similar to the Zetabank example above... but instead of using UNO component model and Eclipse plug-ins, this example was created using LotusScript. With Lotus Symphony's support for multiple development models, you can decide how you want to build your solutions.

View full size
If you are a LotusScript programmer or are interested in using Lotus Symphony in Notes composite applications, check out resources on IBM developerWorks, specifically the IBM Lotus Symphony Toolkit Guide 8.0.1.