ShowTable of Contents
Introduction
IBM Lotus Symphony
TM is IBM's free software suite of word processing documents, spreadsheets, and presentation files. Available to anyone at
http://www.ibm.com/software/lotus/symphony, Lotus Symphony has become one of the leading alternatives to Microsoft® Office, capable of saving individuals and businesses hundreds or even thousands of dollars.
Adopting Lotus Symphony can reduce stress on IT budgets, which can mean more money to drive innovation and investments in human capital.
Lotus Symphony is designed to handle the majority of office tasks. The Lotus Symphony tools support the Open Document Format (ODF), enabling organizations to access, use, and maintain their documents over the long term, without worrying about end-of-life uncertainties or ongoing software-licensing and royalty fees.
ODF helps provide interoperability and flexibility and, by using tools that support ODF, customers are not locked into one particular vendor for their productivity tools.
The objective of this document is to describe the ways for enterprises to leverage Lotus Symphony. We share common scenarios in which enterprises like yours can benefit from using Lotus Symphony.
This document is intended to be used when working out the details of an office-productivity- related solution, and to enable you to reduce the stress on your IT budget.
We begin with a brief overview of the Lotus Symphony product. It is not a comprehensive overview; instead, it is intended to provide a basic grounding so that the comparative discussion that follows can be placed in context.
Lotus Symphony overview
Lotus
Symphony is a richly featured set of productivity tools that cross multiple platforms. Its user interface is quite intuitive and easy to use. Built with IBM Lotus Expeditor, an Eclipse-based product, and OpenOffice.org, Lotus Symphony offers more than a simple office-application suite.
With Lotus Symphony, users can create, manage, edit, and import documents in ODF. Moreover, Lotus Symphony tools can also import, edit, and save documents in Microsoft Office formats or export those documents to ODF for sharing with ODF-compliant applications and solutions.
Three applications make up Lotus Symphony, providing the functionalities that most people use in their daily work:
- Lotus Symphony Documents
- Lotus Symphony Spreadsheets
- Lotus Symphony Presentations
In addition, Lotus Symphony provides a development toolkit. Through the public Application Programming Interfaces (APIs), third-party developers can customize and further develop solutions based on Lotus Symphony.
Scenarios
Below we introduce some common scenarios in which Lotus Symphony can be used, all of which are summarized from real-user cases.
With millions of downloads after the first release on the Web, more and more people are using Lotus Symphony to perform their daily work. For example, a Legal department uses Symphony Documents to manage its contracts, a deal-making team uses Symphony Documents to make proposals to clients, and an education department creates education and training material using Symphony Presentations.
In addition, a marketing department uses Symphony Documents to create publications and pricing guides, a sales department uses Symphony Spreadsheets to determine potential client sales, to forecast product sales in different countries, or to calculate a winning bid to a client.
Using Lotus Symphony as just office software
With the promotion of legal software, more and more enterprises are facing pressure to pay the high cost of office suites. The emergence of Lotus Symphony offers a good option for enterprise customers to relieve this pressure, with the following benefits:
- Since Lotus Symphony is free for all users, you won't encounter any legal issues after you customize, extend, and modify the product to meet the requirements of your enterprise.
- Lotus Symphony is able to perform most of your daily document-processing work while being in compliance with user-friendly principles. You can access 80% of the features you need in office work by clicking the Lotus Symphony Properties panel, whereby you can modify font attributes, paragraph properties, and graphic properties.
- If you cannot find your desired functions from the Properties panel, you can click the More options button to select the features from the displayed window.
- Lotus Symphony supports multiple file formats, so you can easily export the document to PDF format and easily convert a document from the default ODF format to other document formats. This support for multiple file formats enables you to easily exchange documents with other people.
- Suppose an enterprise has 1,000 employees, and it must pay $500 each year, for each employee for an office suite. If all departments use Lotus Symphony, the enterprise will save $500,000 a year, and if 80% of the employees use Lotus Symphony, the enterprise will save $400,000 a year.
As Lotus Symphony is powerful, easy to use and completely free, many enterprises regard Lotus Symphony as the first choice for office software. With the challenging economy, businesses are increasingly more focused on cost-effective technologies.
Consider the case of
Suame Magazine Industrial Development Organization (SMIDO), which provides critical technology training to the artisans, mechanics, and shop owners in the Suame Magazine section of Ghana.
Suame Magazine is an engineering cluster located in Kumasi, Ghana. With more than 200,000 workers, it is the biggest industrial estate in Africa and has business activities that generate daily cash financial transactions of over $1 million US.
"We need powerful productivity tools without a high price tag," said Yaw Adu-Gyamfi, a SMIDO instructor. "At an organization like SMIDO, incurring additional costs year after year is problematic and detracts from our ability to allocate funds to our long-term vision and goal. Above all, the open source nature of Symphony allows us the flexibility we need to upgrade and manage the software without the hassle of licensing fees and lengthy conditions."
Organizations across business, government, education and philanthropy are finding Lotus Symphony the easy choice as information technology and operating budgets tighten.
For example, the San Miguel School of Camden New Jersey, a specialized school for at-risk adolescent boys, wanted to make the most of its non-profit budget without sacrificing the quality of its education tools.
"Paying hundreds of dollars per user for office software isn't a possibility for us," said Brother Joseph Juliano of the school. "Lotus gives us the application for our staff and student needs at much lower cost."
Using Lotus Symphony with IBM Lotus Notes
Most Lotus Notes® developers are familiar with the limitations of publishing in Lotus Notes. Developers frequently need to create mail merges with data in Lotus Notes applications, create reports with specific formatting, or enable extra functionality, such as a DataPilot table. However, Lotus Notes does not natively support these features.
Beginning with Lotus Notes 8, the IBM Lotus Symphony productivity suite is included as an optional no-charge application that can be installed with the Notes client. It includes these applications:
Lotus Symphony Documents, a word processor
Lotus Symphony Spreadsheets, a spreadsheet program
Lotus Symphony Presentations, a presentation program
As a Notes developer, you can develop publishing solutions that take advantage of the Lotus Symphony toolkit for Lotus Notes. This toolkit offers capabilities for creating solutions that publish information stored in Notes databases. The toolkit is supported in Lotus Notes versions 8.5.1 and later.
Requirements and limitations
To use Lotus Symphony in Lotus Notes, you must have the Lotus Symphony embedded feature enabled. Note that this toolkit is supported only on Microsoft Windows and Linux®.
Getting started
The first step in sharing data between Lotus Notes and other applications is to get a reference to the target application. Although creating a reference in a simple application is not necessary, by including a reference to the Lotus Symphony LotusScript file, you are able to use constants associated with common activities such as setting font formats, indicating chart types, inputting documents contents, and setting file formats.
With the Lotus Symphony LotusScript API, you can begin fully controlling Lotus Symphony in a Notes application, performing such actions as creating or opening documents, passing text, and formatting that text. For more information about the Symphony LotusScript API, refer to the Symphony Development Guide and relevant documents in the Resources section at the end of this document.
Of course, you could also use the Lotus Symphony Component Object Model (COM) interface to control Symphony documents in your LotusScript codes. (Refer to the section below, “Using Lotus Symphony with Microsoft's Automation technology,” for more details.) However, we highly recommend using Lotus Symphony LotusScript API, which is easier to use and more readable than the Lotus Symphony COM interface.
Scenarios
Creating a report using Symphony Documents. In this scenario, you work as a program manager and use a Notes application to track the projects in your program. You regularly need to review information about one or more projects and their associated costs.
Since you are familiar with the Lotus Notes objects and the Lotus Symphony objects available through the toolkit, you can create an agent to generate the desired report automatically.
Creating a report using Symphony Spreadsheets. In this scenario, you are a sales director for a small company and would like to review your recent sales, using a variety of perspectives. The orders for the past month are contained in a Notes database.
You can use the NotesViewNavigator class to access the desired data in Lotus Notes and then enter the data in a Symphony spreadsheet. The unique aspect in this case is that you also use a DataPilot table to display and analyze the data.
The DataPilot feature is a powerful tool for quickly combining, comparing, and analyzing large amounts of data. The data can be arranged, rearranged, or summarized according to different points of view. For more details on DataPilot tables, refer to the
Lotus Symphony Product Documentation.
The Symphony LotusScript toolkit is a powerful tool that offers the experienced LotusScript developer a short learning curve to develop a wide range of publishing solutions. You can publish content from Notes databases into a variety of formats, generate reports in Lotus Symphony documents, and perform analyses or even create charts using Lotus Symphony spreadsheets.
Using Lotus Symphony in a Notes composite application. Lotus Symphony supports the composite application programming model in Lotus Notes. Developers can build a customized Eclipse component with Symphony APIs based on the Symphony toolkit. The component can be integrated into the composite application by an end user or developer, who can also use an out-of-box Lotus Symphony component and the Lotus Symphony Spreadsheet container.
In this scenario, you are a sales manager and would like to review your recent sales, using a variety of perspectives. A Lotus Notes database contains the orders for the past month, so you can build a Notes composite application to integrate the Notes database with the Symphony Spreadsheet container.
Using Lotus Symphony as an application platform
With the development of enterprise information, business documents are no longer isolated. More and more documents must interact with business information systems, and the information in documents comes from a variety of information sources.
Since Lotus Symphony is based on Eclipse technology, which is easily customized and extended, many enterprises opt to use Lotus Symphony as an application platform.
Requirements and limitations
To use Lotus Symphony as an application platform, you must have the Lotus Symphony stand-alone version installed. You can use Java
TM for building Eclipse plug-ins to connect to your applications.
You can also use StartBasic for building a macro that uses COM to your Lotus Notes, IBM DB2®, or IBM Rational® data. For more details about StartBasic, refer to the
OpenOffice.org BASIC Programming Guide. Note that other languages, such as C++, are not supported.
Getting started
The first step to sharing data between your applications and Lotus Symphony is to build an Eclipse plug-in. Using the Symphony Java API, you can handle events in a file such as opening, saving, or closing a document, or changing a cell value changing or selecting an object. With the Java API you can also control most of the objects in a file, such as tables, fields, paragraphs, pictures, sheets, and charts.
With Lotus Symphony JAVA API you can build your own plug-in to make Lotus Symphony more powerful and improve your productivity. Refer to Lotus Symphony Developers Guide to start building your Symphony plug-ins.
Scenario
In this specific case the financial manager in XYZ company must prepare a summary report of the company's financial situation every month that includes the month's total sales, each salesman's performance, and the company's financial expenditures. To prepare such a summary report, the manager must obtain data from different internal application systems.
For example, to obtain this month's sales information, the manager must:
- Log in to the sales performance management system to inquire about the sales information.
- Copy the inquired result to a spreadsheet.
- Create a chart from the data in the spreadsheet.
- Copy the chart to the presentation to make a part of the summary report.
To obtain the financial expenditures data, the manager must:
- Log in to the company's financial management system.
- Inquire into this month's final expenditure.
- Copy the inquiry results to a spreadsheet.
- Create a chart from the data in the spreadsheet.
- Copy the chart to the presentation to make it part of the summary report.
So, when producing the summary report, the manager logs into different systems to obtain the necessary data, which takes a lot of time and energy. This work should be repeated every month, and the retrieved data can be inaccurate.
However, by using the Lotus Symphony plug-ins extension mechanism to develop a plug-in, the manager can avoid the repetitive work. This plug-in obtains relevant data from the company's business-information and financial-management systems and creates a summary report every month, automatically, based on the template.
Using this plug-in, the manager needs only to click a few times, and the appropriate report is automatically generated, with guaranteed data accuracy. Figure 1 shows how the plug-in process works.
Figure 1. Flow chart of the report generation plug-inIntroduction
IBM Lotus Symphony
TM is IBM's free software suite of word processing documents, spreadsheets, and presentation files. Available to anyone at
http://symphony.lotus.com, Lotus Symphony has become one of the leading alternatives to Microsoft® Office, capable of saving individuals and businesses hundreds or even thousands of dollars.
Adopting Lotus Symphony can reduce stress on IT budgets, which can mean more money to drive innovation and investments in human capital.
Lotus Symphony is designed to handle the majority of office tasks. The Lotus Symphony tools support the Open Document Format (ODF), enabling organizations to access, use, and maintain their documents over the long term, without worrying about end-of-life uncertainties or ongoing software-licensing and royalty fees.
ODF helps provide interoperability and flexibility and, by using tools that support ODF, customers are not locked into one particular vendor for their productivity tools.
The objective of this document is to describe the ways for enterprises to leverage Lotus Symphony. We share common scenarios in which enterprises like yours can benefit from using Lotus Symphony.
This document is intended to be used when working out the details of an office-productivity- related solution, and to enable you to reduce the stress on your IT budget.
We begin with a brief overview of the Lotus Symphony product. It is not a comprehensive overview; instead, it is intended to provide a basic grounding so that the comparative discussion that follows can be placed in context.
Lotus Symphony overview
Lotus
Symphony is a richly featured set of productivity tools that cross multiple platforms. Its user interface is quite intuitive and easy to use. Built with IBM Lotus Expeditor, an Eclipse-based product, and OpenOffice.org, Lotus Symphony offers more than a simple office-application suite.
With Lotus Symphony, users can create, manage, edit, and import documents in ODF. Moreover, Lotus Symphony tools can also import, edit, and save documents in Microsoft Office formats or export those documents to ODF for sharing with ODF-compliant applications and solutions.
Three applications make up Lotus Symphony, providing the functionalities that most people use in their daily work:
- Lotus Symphony Documents
- Lotus Symphony Spreadsheets
- Lotus Symphony Presentations
In addition, Lotus Symphony provides a development toolkit. Through the public Application Programming Interfaces (APIs), third-party developers can customize and further develop solutions based on Lotus Symphony.
Scenarios
Below we introduce some common scenarios in which Lotus Symphony can be used, all of which are summarized from real-user cases.
With millions of downloads after the first release on the Web, more and more people are using Lotus Symphony to perform their daily work. For example, a Legal department uses Symphony Documents to manage its contracts, a deal-making team uses Symphony Documents to make proposals to clients, and an education department creates education and training material using Symphony Presentations.
In addition, a marketing department uses Symphony Documents to create publications and pricing guides, a sales department uses Symphony Spreadsheets to determine potential client sales, to forecast product sales in different countries, or to calculate a winning bid to a client.
Using Lotus Symphony as just office software
With the promotion of legal software, more and more enterprises are facing pressure to pay the high cost of office suites. The emergence of Lotus Symphony offers a good option for enterprise customers to relieve this pressure, with the following benefits:
- Since Lotus Symphony is free for all users, you won't encounter any legal issues after you customize, extend, and modify the product to meet the requirements of your enterprise.
- Lotus Symphony is able to perform most of your daily document-processing work while being in compliance with user-friendly principles. You can access 80% of the features you need in office work by clicking the Lotus Symphony Properties panel, whereby you can modify font attributes, paragraph properties, and graphic properties.
- If you cannot find your desired functions from the Properties panel, you can click the More options button to select the features from the displayed window.
- Lotus Symphony supports multiple file formats, so you can easily export the document to PDF format and easily convert a document from the default ODF format to other document formats. This support for multiple file formats enables you to easily exchange documents with other people.
- Suppose an enterprise has 1,000 employees, and it must pay $500 each year, for each employee for an office suite. If all departments use Lotus Symphony, the enterprise will save $500,000 a year, and if 80% of the employees use Lotus Symphony, the enterprise will save $400,000 a year.
As Lotus Symphony is powerful, easy to use and completely free, many enterprises regard Lotus Symphony as the first choice for office software. With the challenging economy, businesses are increasingly more focused on cost-effective technologies.
Consider the case of
Suame Magazine Industrial Development Organization (SMIDO), which provides critical technology training to the artisans, mechanics, and shop owners in the Suame Magazine section of Ghana.
Suame Magazine is an engineering cluster located in Kumasi, Ghana. With more than 200,000 workers, it is the biggest industrial estate in Africa and has business activities that generate daily cash financial transactions of over $1 million US.
"We need powerful productivity tools without a high price tag," said Yaw Adu-Gyamfi, a SMIDO instructor. "At an organization like SMIDO, incurring additional costs year after year is problematic and detracts from our ability to allocate funds to our long-term vision and goal. Above all, the open source nature of Symphony allows us the flexibility we need to upgrade and manage the software without the hassle of licensing fees and lengthy conditions."
Organizations across business, government, education and philanthropy are finding Lotus Symphony the easy choice as information technology and operating budgets tighten.
For example, the San Miguel School of Camden New Jersey, a specialized school for at-risk adolescent boys, wanted to make the most of its non-profit budget without sacrificing the quality of its education tools.
"Paying hundreds of dollars per user for office software isn't a possibility for us," said Brother Joseph Juliano of the school. "Lotus gives us the application for our staff and student needs at much lower cost."
Using Lotus Symphony with IBM Lotus Notes
Most Lotus Notes® developers are familiar with the limitations of publishing in Lotus Notes. Developers frequently need to create mail merges with data in Lotus Notes applications, create reports with specific formatting, or enable extra functionality, such as a DataPilot table. However, Lotus Notes does not natively support these features.
Beginning with Lotus Notes 8, the IBM Lotus Symphony productivity suite is included as an optional no-charge application that can be installed with the Notes client. It includes these applications:
Lotus Symphony Documents, a word processor
Lotus Symphony Spreadsheets, a spreadsheet program
Lotus Symphony Presentations, a presentation program
As a Notes developer, you can develop publishing solutions that take advantage of the Lotus Symphony toolkit for Lotus Notes. This toolkit offers capabilities for creating solutions that publish information stored in Notes databases. The toolkit is supported in Lotus Notes versions 8.5.1 and later.
Requirements and limitations
To use Lotus Symphony in Lotus Notes, you must have the Lotus Symphony embedded feature enabled. Note that this toolkit is supported only on Microsoft Windows and Linux®.
Getting started
The first step in sharing data between Lotus Notes and other applications is to get a reference to the target application. Although creating a reference in a simple application is not necessary, by including a reference to the Lotus Symphony LotusScript file, you are able to use constants associated with common activities such as setting font formats, indicating chart types, inputting documents contents, and setting file formats.
With the Lotus Symphony LotusScript API, you can begin fully controlling Lotus Symphony in a Notes application, performing such actions as creating or opening documents, passing text, and formatting that text. For more information about the Symphony LotusScript API, refer to the Symphony Development Guide and relevant documents in the Resources section at the end of this document.
Of course, you could also use the Lotus Symphony Component Object Model (COM) interface to control Symphony documents in your LotusScript codes. (Refer to the section below, “Using Lotus Symphony with Microsoft's Automation technology,” for more details.) However, we highly recommend using Lotus Symphony LotusScript API, which is easier to use and more readable than the Lotus Symphony COM interface.
Scenarios
Creating a report using Symphony Documents. In this scenario, you work as a program manager and use a Notes application to track the projects in your program. You regularly need to review information about one or more projects and their associated costs.
Since you are familiar with the Lotus Notes objects and the Lotus Symphony objects available through the toolkit, you can create an agent to generate the desired report automatically.
Creating a report using Symphony Spreadsheets. In this scenario, you are a sales director for a small company and would like to review your recent sales, using a variety of perspectives. The orders for the past month are contained in a Notes database.
You can use the NotesViewNavigator class to access the desired data in Lotus Notes and then enter the data in a Symphony spreadsheet. The unique aspect in this case is that you also use a DataPilot table to display and analyze the data.
The DataPilot feature is a powerful tool for quickly combining, comparing, and analyzing large amounts of data. The data can be arranged, rearranged, or summarized according to different points of view. For more details on DataPilot tables, refer to the
Lotus Symphony Product Documentation.
The Symphony LotusScript toolkit is a powerful tool that offers the experienced LotusScript developer a short learning curve to develop a wide range of publishing solutions. You can publish content from Notes databases into a variety of formats, generate reports in Lotus Symphony documents, and perform analyses or even create charts using Lotus Symphony spreadsheets.
Using Lotus Symphony in a Notes composite application. Lotus Symphony supports the composite application programming model in Lotus Notes. Developers can build a customized Eclipse component with Symphony APIs based on the Symphony toolkit. The component can be integrated into the composite application by an end user or developer, who can also use an out-of-box Lotus Symphony component and the Lotus Symphony Spreadsheet container.
In this scenario, you are a sales manager and would like to review your recent sales, using a variety of perspectives. A Lotus Notes database contains the orders for the past month, so you can build a Notes composite application to integrate the Notes database with the Symphony Spreadsheet container.
Using Lotus Symphony as an application platform
With the development of enterprise information, business documents are no longer isolated. More and more documents must interact with business information systems, and the information in documents comes from a variety of information sources.
Since Lotus Symphony is based on Eclipse technology, which is easily customized and extended, many enterprises opt to use Lotus Symphony as an application platform.
Requirements and limitations
To use Lotus Symphony as an application platform, you must have the Lotus Symphony stand-alone version installed. You can use Java
TM for building Eclipse plug-ins to connect to your applications.
You can also use StartBasic for building a macro that uses COM to your Lotus Notes, IBM DB2®, or IBM Rational® data. For more details about StartBasic, refer to the
OpenOffice.org BASIC Programming Guide. Note that other languages, such as C++, are not supported.
Getting started
The first step to sharing data between your applications and Lotus Symphony is to build an Eclipse plug-in. Using the Symphony Java API, you can handle events in a file such as opening, saving, or closing a document, or changing a cell value changing or selecting an object. With the Java API you can also control most of the objects in a file, such as tables, fields, paragraphs, pictures, sheets, and charts.
With Lotus Symphony JAVA API you can build your own plug-in to make Lotus Symphony more powerful and improve your productivity. Refer to Lotus Symphony Developers Guide to start building your Symphony plug-ins.
Scenario
In this specific case the financial manager in XYZ company must prepare a summary report of the company's financial situation every month that includes the month's total sales, each salesman's performance, and the company's financial expenditures. To prepare such a summary report, the manager must obtain data from different internal application systems.
For example, to obtain this month's sales information, the manager must:
- Log in to the sales performance management system to inquire about the sales information.
- Copy the inquired result to a spreadsheet.
- Create a chart from the data in the spreadsheet.
- Copy the chart to the presentation to make a part of the summary report.
To obtain the financial expenditures data, the manager must:
- Log in to the company's financial management system.
- Inquire into this month's final expenditure.
- Copy the inquiry results to a spreadsheet.
- Create a chart from the data in the spreadsheet.
- Copy the chart to the presentation to make it part of the summary report.
So, when producing the summary report, the manager logs into different systems to obtain the necessary data, which takes a lot of time and energy. This work should be repeated every month, and the retrieved data can be inaccurate.
However, by using the Lotus Symphony plug-ins extension mechanism to develop a plug-in, the manager can avoid the repetitive work. This plug-in obtains relevant data from the company's business-information and financial-management systems and creates a summary report every month, automatically, based on the template.
Using this plug-in, the manager needs only to click a few times, and the appropriate report is automatically generated, with guaranteed data accuracy. Figure 1 shows how the plug-in process works.
Figure 1. Flow chart of the report generation plug-in
Figure 2 shows an example plug-in.
Figure 2. Report generation plug-in
Figure 2 shows an example plug-in.
Figure 2. Report generation plug-in
Using Lotus Symphony as an editor component
Lotus Symphony is not only an extensible application platform but is also capable of being used as a productivity tools component in an Eclipse Rich Client Platform (RCP) system. Increasing numbers of enterprises are using Eclipse RCP as the development framework for application systems, most of which have a document-processing capability.
Often these document-processing functions are implemented by use of COM interfaces to connect with and control Microsoft Office, or by use of the Eclipse SWT components. However, both these implementations require a lot of code development work and are difficult to achieve.
Lotus Symphony provides easy-to-use Java interfaces that simplify document creation and manipulation, and thus it can be a good choice for enterprises as the productivity tools component in a RCP system.
Requirements and limitations
To use Lotus Symphony as a editor component, you must have a custom Lotus Symphony package in which all the Lotus Expeditor-related codes are removed. Additionally, your application must based on Eclipse RCP.
Getting started
Figure 3 shows how Lotus Symphony is put into the RCP system.
Figure 3. Lotus Symphony in Eclipse RCP
Using Lotus Symphony as an editor component
Lotus Symphony is not only an extensible application platform but is also capable of being used as a productivity tools component in an Eclipse Rich Client Platform (RCP) system. Increasing numbers of enterprises are using Eclipse RCP as the development framework for application systems, most of which have a document-processing capability.
Often these document-processing functions are implemented by use of COM interfaces to connect with and control Microsoft Office, or by use of the Eclipse SWT components. However, both these implementations require a lot of code development work and are difficult to achieve.
Lotus Symphony provides easy-to-use Java interfaces that simplify document creation and manipulation, and thus it can be a good choice for enterprises as the productivity tools component in a RCP system.
Requirements and limitations
To use Lotus Symphony as a editor component, you must have a custom Lotus Symphony package in which all the Lotus Expeditor-related codes are removed. Additionally, your application must based on Eclipse RCP.
Getting started
Figure 3 shows how Lotus Symphony is put into the RCP system.
Figure 3. Lotus Symphony in Eclipse RCP
Scenarios
ABC bank has a RCP application to deal with customers' credit card request. The request file needs to be shown and edited in the RCP application, and the content of the request file must be updated by the application. The user's workflow is as follows:
- Customers send their request documents to the bank.
- The credit card manager in ABC bank logs in to the RCP system.
- All the pre-approved requestor files are shown on the manager's homepage.
- The manager reviews the request file in the RCP window directly and approves or rejects the request.
- The manager inputs information in the request file such as the name, the sex, the phone number, to be stored in other bank applications.
Figure 4 shows one of the Lotus Symphony RCP demos.
Figure 4. Bank demo based on Eclipse RCP
Scenarios
ABC bank has a RCP application to deal with customers' credit card request. The request file needs to be shown and edited in the RCP application, and the content of the request file must be updated by the application. The user's workflow is as follows:
- Customers send their request documents to the bank.
- The credit card manager in ABC bank logs in to the RCP system.
- All the pre-approved requestor files are shown on the manager's homepage.
- The manager reviews the request file in the RCP window directly and approves or rejects the request.
- The manager inputs information in the request file such as the name, the sex, the phone number, to be stored in other bank applications.
Figure 4 shows one of the Lotus Symphony RCP demos.
Figure 4. Bank demo based on Eclipse RCP
Using Lotus Symphony in IBM Lotus Expeditor client for Desktop
Lotus Expeditor Client for Desktop is a client offering that provides a runtime environment and integrated middleware components for extending many enterprise applications to server-managed laptop computers and desktop systems.
This client-side services-oriented framework enables applications to run locally while the system is disconnected from the network, and it provides synchronization of data, transactions, and applications when reconnected. Many Lotus products are based on Lotus Expeditor, including, for example, Lotus Notes, Lotus Sametime®, and Lotus Symphony.
Using Lotus Symphony in Lotus Expeditor is easy because you need only to install the Lotus Symphony update site to the Lotus Expeditor client. You can find the Lotus Symphony update site package updateSite.zip by unzipping the Lotus Symphony's installer.
After you finish the installation, you should see three menu entries added to the Open Launcher list. You can use Lotus Symphony in your Lotus Expeditor application through the Lotus Symphony Java API or the OpenOffice.org Universal Network Object (UNO) API.
Figure 5 illustrates this scenario.
Figure 5. Lotus Symphony in Lotus Expeditor
Using Lotus Symphony in IBM Lotus Expeditor client for Desktop
Lotus Expeditor Client for Desktop is a client offering that provides a runtime environment and integrated middleware components for extending many enterprise applications to server-managed laptop computers and desktop systems.
This client-side services-oriented framework enables applications to run locally while the system is disconnected from the network, and it provides synchronization of data, transactions, and applications when reconnected. Many Lotus products are based on Lotus Expeditor, including, for example, Lotus Notes, Lotus Sametime®, and Lotus Symphony.
Using Lotus Symphony in Lotus Expeditor is easy because you need only to install the Lotus Symphony update site to the Lotus Expeditor client. You can find the Lotus Symphony update site package updateSite.zip by unzipping the Lotus Symphony's installer.
After you finish the installation, you should see three menu entries added to the Open Launcher list. You can use Lotus Symphony in your Lotus Expeditor application through the Lotus Symphony Java API or the OpenOffice.org Universal Network Object (UNO) API.
Figure 5 illustrates this scenario.
Figure 5. Lotus Symphony in Lotus Expeditor
Using Lotus Symphony as a document-conversion service provider
Lotus Symphony not only supports the ODF file format but also supports the Microsoft Office file format, among others. With Lotus Symphony you can convert one file format to another easily, and some enterprises use Lotus Symphony as a document-conversion service provider in their server-side applications.
Requirements and limitations
To use Lotus Symphony on the server side, you must install a copy of Lotus Symphony on the server. The server-side applications can be run on Windows, Linux, and Macintosh platforms; however, AIX is not supported by Lotus Symphony. For enterprises who want to deal with their ODF file on the AIX platform, they can use the ODF toolkit.
Getting started
Normally Lotus Symphony starts the core office service as a local pipe, and to connect the core office service, you must know the pipe name. In the Symphony stand-alone product the name is hidden for users, so if you want to use Symphony document service in your application, you must start Symphony in you own way via batch, command line, or programmatic execution.
After you connect to the document service with your own parameters, you can use the UNO API to do the document conversion and to manipulate the contents of document.
For example, on Microsoft Windows you can start the Symphony document service by setting the correct environment variables and executing the following command:
Using Lotus Symphony as a document-conversion service provider
Lotus Symphony not only supports the ODF file format but also supports the Microsoft Office file format, among others. With Lotus Symphony you can convert one file format to another easily, and some enterprises use Lotus Symphony as a document-conversion service provider in their server-side applications.
Requirements and limitations
To use Lotus Symphony on the server side, you must install a copy of Lotus Symphony on the server. The server-side applications can be run on Windows, Linux, and Macintosh platforms; however, AIX is not supported by Lotus Symphony. For enterprises who want to deal with their ODF file on the AIX platform, they can use the ODF toolkit.
Getting started
Normally Lotus Symphony starts the core office service as a local pipe, and to connect the core office service, you must know the pipe name. In the Symphony stand-alone product the name is hidden for users, so if you want to use Symphony document service in your application, you must start Symphony in you own way via batch, command line, or programmatic execution.
After you connect to the document service with your own parameters, you can use the UNO API to do the document conversion and to manipulate the contents of document.
For example, on Microsoft Windows you can start the Symphony document service by setting the correct environment variables and executing the following command:
soffice.bin -nologo -nodefault -norestore -nocrashreport -nofirststartwizard -symphony -accept=socket,host=127.0.0.1,port=8111;urp;StarOffice.ServiceManager
And you can use following parameters to get the connection to the Symphony document service:
"uno:socket,host=127.0.0.1,port=8111;urp;StarOffice.ServiceManager"
Scenarios
Using Lotus Symphony in Web Conference Meetings. Most Web Conference Meetings allow users to share their desktops, conduct demonstrations, and deliver presentations effortlessly, without ever leaving their homes or offices. Here are the steps for a user to present files in a Web Conference Meeting:
- The user hosts a meeting on a Web Conference Meeting server and uploads the presentation file to the meeting.
- The Web Conference server calls Lotus Symphony on the server side to convert the presentation to JPEGS.
- The Web Conference server displays the JPEGS on the conference meeting. Figure 6 shows how the process works.
Figure 6. Lotus Symphony in Web Conference Meeting server
Using ODF Toolkit to generate ODF files for applications on AIX. The ODF Toolkit provides a home for libraries that facilitate the development of applications that support the ODF, the unique, vendor-neutral open standard for office documents. The ODF Toolkit also provides a home for tools that process ODF or check ODF conformance.
The ODF Toolkit contains a variety of projects, going from small tools that simplify using ODF in the software development process, all the way to an ODF validation tool, and on to large ODF Java and .NET libraries that can be used within other projects. And this is just the start.
Developers are invited to freely host their open source ODF libraries and tools within the ODF Toolkit, to join existing projects, and to collaborate with ODF developers everywhere. The ODF Toolkit provides Mercurial for hosting your code, along with forums, mailing lists, wikis, an issue- tracking system, and personalized home pages—with more to come.
Figure 7 shows the components of the ODF toolkit.
Figure 7. ODF toolkit components
Using ODF Toolkit to generate ODF files for applications on AIX. The ODF Toolkit provides a home for libraries that facilitate the development of applications that support the ODF, the unique, vendor-neutral open standard for office documents. The ODF Toolkit also provides a home for tools that process ODF or check ODF conformance.
The ODF Toolkit contains a variety of projects, going from small tools that simplify using ODF in the software development process, all the way to an ODF validation tool, and on to large ODF Java and .NET libraries that can be used within other projects. And this is just the start.
Developers are invited to freely host their open source ODF libraries and tools within the ODF Toolkit, to join existing projects, and to collaborate with ODF developers everywhere. The ODF Toolkit provides Mercurial for hosting your code, along with forums, mailing lists, wikis, an issue- tracking system, and personalized home pages—with more to come.
Figure 7 shows the components of the ODF toolkit.
Figure 7. ODF toolkit components
Let's consider a scenario in which our sales representative, Bob, needs to review the sales report data everyday and needs to use the report data to generate one ODF file. He can do this by using a template file, into which all the data can be inserted via the ODF toolkit. Figure 8 shows how the ODF toolkit can be used.
Figure 8. ODF toolkit on AIX server
Let's consider a scenario in which our sales representative, Bob, needs to review the sales report data everyday and needs to use the report data to generate one ODF file. He can do this by using a template file, into which all the data can be inserted via the ODF toolkit. Figure 8 shows how the ODF toolkit can be used.
Figure 8. ODF toolkit on AIX server
Using Lotus Symphony with Microsoft's Automation technology
Lotus Symphony supports Microsoft's Automation technology, providing programmers the possibility to control Lotus Symphony from external programs. There is a wide range of integrated development environments (IDEs) and tools available from which developers can choose.
Requirements and limitations
The Automation technology can be used only on a Windows platform with Lotus Symphony. There are COM implementations on Macintosh OS and UNIX®, but there has been no effort to support Automation on these platforms.
Using Automation involves creating objects in a COM-like fashion, that is, using functions like CreateObject() in VB or CoCreateInstance() in C. This requires the Lotus Symphony Automation objects to be registered with the Windows system registry.
This registration is performed whenever Office is installed on the system. If the registration did not take place, for example, because the binaries were just copied to a certain location, then the Automation clients work incorrectly or not at all.
Getting started
Automation is language independent; however, the respective compilers or interpreters must support Automation. The compilers transform the source code into automation-compatible computing instructions.
For example, the string and array types of your language can be used without caring about their internal representation in Automation, which is BSTR and SAFEARRAY. A client program that controls Lotus Symphony can be represented by an executable (Visual Basic, C++) or a script (JavaScript, VB Script). The latter requires an additional program to run the scripts, such as Windows Scripting Host (WSH) or Internet Explorer.
UNO was not designed to be compatible with Automation and COM, although there are similarities. Lotus Symphony deploys a bridging mechanism provided by the Automation Bridge to make UNO and Automation work together.
The bridge consists of UNO services, however, it is not necessary to have special knowledge about them to write Automation clients for Lotus Symphony. For additional information, see
The Bridge Services on the OpenOffice.org site.
Different languages have different capabilities, and there are differences in the way in which the same task is handled, depending on the language used. Examples in Visual Basic, VB Script, and JavaScript are provided in the Attachment accompanying this article showing when a language requires special handling or has some notable quality.
Although Automation should work across languages, there are subtleties that require either a particular treatment by the bridge or a style of coding. For example, JavaScript does not recognize out parameters, so Array objects must be used. Currently, the bridge has been tested with C++, JavaScript, VB Script, and Visual Basic, although other languages can also be used.
The name Automation Bridge implies the use of the Automation technology. Automation is part of the collection of technologies commonly referred to as ActiveX or OLE; therefore, the term “OLE Bridge” is misleading and should be avoided.
In addition, sometimes the bridge is called “COM bridge,” which is also wrong, since the only interfaces that are processed by the bridge are IUnknown and Idispatch.
The service manager component
The service manager is the starting point for all Automation clients and must be created before any UNO object is obtained. Since the service manager is a COM component, it has a CLSID and a programmatic identifier, which is com.sun.star.ServiceManager. It is instantiated like any ActiveX component, depending on the language used.
The code for the service manager resides in the office executable, soffice.bin. COM starts up the executable whenever a client tries to obtain the class factory for the service manager, so that the client can use it. Refer to
The Service Manager Component page for additional information.
Conclusion
Although this article has discussed only some of the ways for enterprises to use Lotus Symphony, our hope is that, by describing the more common scenarios, we have helped you understand how to best deploy and use Lotus Symphony in your enterprise.
Readers are encouraged to provide comments to the primary author contact,
Liu Da Li.
Resources
IBM Lotus Symphony Home Page:
http://www.ibm.com/software/lotus/symphony/
IBM Lotus Notes Home Page:
http://www-01.ibm.com/software/lotus/products/notes/
IBM Lotus Symphony wiki:
http://www-10.lotus.com/ldd/lswiki.nsf
IBM Lotus Symphony on IBM developerWorks:
http://www.ibm.com/developerworks/lotus/products/symphony
IBM Lotus Symphony documentation:
http://www.ibm.com/developerworks/lotus/documentation/symphony
Developer resources for Lotus Symphony:
http://www-10.lotus.com/ldd/lswiki.nsf/dx/10272008093319AMDDRMDU.htm
IBM Lotus Symphony Demos, Tutorials and Tours:
http://www.ibm.com/software/lotus/symphony/help.nsf/home
Knowledge Collection: Lotus Productivity Tools / Lotus Symphony in Notes 8:
http://www-01.ibm.com/support/docview.wss?rs=0&dc=DA400&q1=symphony&q2=symphony&uid=swg27010132&loc=en_US&cs=utf-8&cc=us&lang=en
The Bridge Services:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/The_Bridge_Services
Service Manager Component:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/The_Service_Manager_Component
Automating OpenOffice.org:
http://udk.openoffice.org/common/man/tutorial/office_automation.html
StartBasic Programming Guide:
http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide
About the author
Da Li Liu is a Staff Software Engineer based at IBM's China Software Development Lab, with six years of experience in Lotus products' technical support. He currently serves as the team lead for the Lotus Symphony ISV team, primarily responsible for the product's promotion and global customer/partner technical support. You can reach him at
liudali@cn.ibm.com.