Lotus Symphony has matured quite a bit the past year, but are you taking full advantage of it in your own applications? This session will provide you the roadmap for integrating Lotus Symphony within your custom applications using the UNO API, Composite Applications, IBM Lotus Expeditor, OLE/COM, and the new LotusScript API that debuts with the current version of Lotus Symphony. We will walk thru each option, review the pros and cons of each, and build samples that demonstrate real-world usage. The session will end with an application that uses multiple integration techniques that you can take home and put to use straight away! This session is designed for those familiar with LotusScript development.
2. BP110: IBM Lotus Symphony and You - A Developer's Perspective
3. Before we begin
- Please turn off/set to vibrate/mute all Cell Phones Pagers
Computers Please remember to fill out your evaluations
4. Agenda
- What you get 'out of the box'
5. Who are we?
- Director of Enterprise Collaboration at PSC Group, LLC
- Involved in Lotus technology since 1993
-
- Over 30 sessions at Lotusphere since 1996
-
- Speaker at Lotus Developer and ILUG conferences
-
- Advisor Magazine and other publications on Office and
SmartSuite integration with Notes
-
- LotusUserGroup.org contributing Author and Forum moderator
6. PSC Group, LLC
- IBM Premium Business Partner for 18+ Years
- Microsoft Managed Partner
- Notes & Domino 8.5 Design Partner
- Former Host of OpenNTF.org
- Winner of 2007 & 2009 Lotus Awards!
- Host of the following blogs:
-
- Ed Brills(www.edbrill.com)
-
- Alan Lepofskys Notes Tips(www.alanlepofsky.net)
-
- Alan Gartenberg - Sametime(www.adamgartenberg.com)
-
- Domino Server Team (www.dominoblog.com)
-
- Chris Pepin IBM CTOs Office ( www.chrispepin.com )
-
- Lotus Usability (Mary Beth Raven) (www.notesdesign.com)
7. The Demo Databases
- Presentation example database
-
- Single database with all examples
-
- You can configure it for your Notes client
-
- Example numbers in the presentation match those in the
database
- Lotusphere 2009 session database
-
- Updated version inside the demo database
- Personal name and address book
-
- My demos work with the standard Notes 6, 7, 8, & 8.5
templates
8. Lets take a little poll
9. Agenda
- What you get 'out of the box'
10. What is Lotus Symphony?
- IBM branded the Notes 8 Productivity Tools as Lotus
Symphony
- Symphony 1.0 released Q2 2008
- IBM is on a 8 week release cycle with Symphony
- Notes 8.0.2 has Symphony 1.1
- Symphony 1.2 stand alone available
- Notes 8.5 has Symphony 1.2
11. Identifying Users
-
- Common uses of documents, spreadsheets & presentations
-
- Mostly viewing and light editing
-
- Filling out templates (status reports, etc.)
-
- Use out of box with little to no customization
-
- Example: Customer service, and other supporting functions
12. Identifying Users
-
- More robust needs for documents, spreadsheets &
presentations
-
- Stronger interoperability requirements as need to collaborate
with Office users
-
- Example: Sales, marketing,
13. Identifying Users
-
- Third-party application integration
-
- Example: Finance department
14. Lotus Symphony Features
-
- Lotus Symphony Presentations
-
- Lotus Symphony Spreadsheets
- Robust and complete feature set
-
- Designed for the majority of end users
-
- Intuitive interface, easy to learn
-
- Multiple file formats supported
15. Lotus Symphony File Formats
- Additional supported formats
-
- Export documents, spreadsheets and presentations to Adobe
PDF
-
- Import Lotus SmartSuite documents, spreadsheets, and
presentations
16. Lotus Symphony Documents
- Create, edit, & share complex word processing
documents
- Robust feature set including:
-
- Formatting options for text, page, paragraph
-
- Headers, footers, footnotes, indexes, table of contents
-
- Pre-defined document styles
-
- Pre-defined fields (i.e., dates, page numbering)
17. 18. Lotus Symphony Presentations
- Create, edit, and share complex presentations
- Robust feature set including:
-
- Pre-defined presentation templates
-
- Slide show mode with animations and page transitions
-
- Speaker presentation timing and rehearsal modes
-
- Flexible navigation views page by page, text outline, page
thumbnail, and speaker note views
19. 20. Lotus Symphony Spreadsheets
- Create, edit, and share complex spreadsheets
- Robust feature set includes:
-
- Supports conventional row and column format for
spreadsheets
-
- Spreadsheet sizes up to 256 columns and 65,536 rows
-
- Supports up to 256 sheets per spreadsheet
-
- Large library of pre-defined calculation functions
21. 22. What About Support?
-
- Symphony Embedded Version
-
- Passport Advantage support
-
- Included with purchase of other products
-
- Standalone Symphony Free Support
-
- Web based moderated forum support
-
- Forums monitored by IBM and the community
-
- Symphony Standalone Fee Based Support Offering
-
- Passport Advantage support Passport Advantage or Express
Contract required
-
- $25,000 for up to 20,000 users Limited to 20 technical
contacts
-
- Worldwide 24x7 Unlimited Incidents
23. Agenda
- What you get 'out of the box'
24. Introduction to OpenOffice.org Development
- Designed on an interface-based component model called Universal
Network Objects (UNO)
-
- UNO offers interoperability between different programming
languages, different object models, different machine
architectures, and different processes; either in a local network
or even via the Internet
-
- UNO components can be implemented in, and accessed from, any
programming language for which a UNO language binding exists
25. OpenOffice.org? StarOffice? Lotus Symphony?
- StarDivision StarOffice written in the mid 80s
- Bought by Sun Microsystems in 1999, StarOffice released in
August 1999
- Source code released October 2000
- OpenOffice.org 1.0 released May 2002, 2.0 in October 2005
- OpenDocument format becomes international standard ISO/IEC
26300 November 2006
- IBM Lotus Workplace Productivity Editors released 2005
-
- Based on OpenOffice.org 1.1
- OpenOffice.org 2.2 released March 2007
- Notes 8 to include IBM Productivity Tools, based on
OpenOffice.org 1.1X
- Lotus Symphony 1.2 Released December 2008
26. What is the ServiceManager?
- ServiceManager is similar to the NotesSession class
- It is a factory class that gets you to other places
-
- Set SM=CreateObject("com.sun.star.ServiceManager")
- Think of the ServiceManager as a back-end class, and we want
the front end (like NotesUIWorkspace)
-
- Set
Desktop=SM.createInstance("com.sun.star.frame.Desktop")
27. What Did That Do?
- Calling the ServiceManager created an Lotus Symphony window,
but we need to do more
28. Lets StartLotus Symphony Documents
- So far we have an Lotus Symphony window, but it doesnt know
what application it will be we have to tell it
-
- Set WriterApplication=Desktop.loadComponentFromURL
("private:factory/swriter","_blank",0,args)
-
- We dont want to pass any parameters, but it must be an
array
- The s in swriter stands for Star
- Now we have a word processor up and running
29. The Picture So Far
- Now we have an application open
30. Lets Add Some Text
- First, we need to get a handle to the text part ofthe
document
-
- Set WriterText=WriterApplication.getText()
- Next, we need a cursor position where we can insertthe
text
-
- Set Cursor=WriterText.createTextCursor()
- Finally, we can make the traditional greeting
-
- Call WriterText.insertString(Cursor,"Hello World!",False)
31. Hello World!
- After executing all of the code we walked through, this is the
result
32. Notes toLotus Symphony Documents Demo Example 1 Hello World
from Notes to Lotus Symphony Documents pe01832_ 33. The Help Files
How to Read Them
- Interfaces collections of properties
- In LotusScript you can use methods and properties from any
interface
- In Java and C you have to specify which interface you want to
use
34. OpenOffice.org Help Demo Example 2 Walking through help
pe01832_ 35. Help from Your Browser
- You can get a Firefox extension for OpenOffice.org
36. Mail Merge with OpenOffice.org Writer
- Just like the other applications, mail merge has itsown
URL
-
- Set objMailMerge = objServiceManager.createInstance
("com.sun.star.text.MailMerge")
- Mail merge has seven arguments
37. Mail Merge with OpenOffice.org Writer (cont.)
-
- Set args(1) = OOoNamedValue("DocumentURL", url)
-
- Set args(0) = OOoNamedValue("DataSourceName", "mrgdata")
-
- Set args(2) = OOoNamedValue("CommandType", 0)
-
- Set args(3) = OOoNamedValue("Command", "mrgdata")
-
- Set args(4) = OOoNamedValue("OutputType", 2)
-
- Set args(5) = OOoNamedValue("OutputURL", savelocation)
-
- Set args(6) = OOoNamedValue("FileNamePrefix",
"mailmergeoutput1")
38. Mail Merge with OpenOffice.org Writer (cont.)
- Finally, call the Execute method to complete themail merge
-
- objMailMerge.Execute args()
39. Mail Merge and Notes Demo Example 3 Mail Merge from
LotusSymphony pe01832_ 40. Lets StartLotus Symphony
Spreadsheets
- Calc uses a different URL to define the application
-
- Set CalcApplication =
Desktop.loadComponentFromURL_("private:factory/scalc","_blank",0,args)
- The command above creates the workbook
- Next, we need to get the first sheet
-
- Set Worksheet=CalcApplication.Sheets.getByName("Sheet1")
41. Lets StartLotus Symphony Spreadsheets(cont.)
- Finally, we access the cell into which we want toenter
text
-
- Set cell=Worksheet.getCellByPosition(3,6)
- We have set the string in a cell, but which cell is it?
42. Notes withLotus Symphony Spreadsheets Demo Example 4 Hello
World with Notes and Lotus Symphony Spreadsheets Where will the
text go? pe01832_ 43. Notes withLotus Symphony Spreadsheets D7!
- Why did the text go into cell D7? Didnt we write to cell
(3,6)?
44. Rows and Columns Are Numbered from Zero
- Just like arrays in Notes, the index starts at 0!
45. Introduction toLotus Symphony Presentations
- Text is handled just as it is in Lotus Symphony Documents
46. Lets StartLotus Symphony Presentations
- To create the instance of Impress, call its URL
-
- Set ImpressApplication=Desktop.loadComponentFromURL_
("private:factory/simpress","_blank",0,args)
- Next, call the getDrawPages function to create the default
presentation
-
- Set Presentation=ImpressApplication.getDrawPages()
- To get the first slide, use the getByIndex method
-
- Set Slide=Presentation.getByIndex(0)
47. Lets StartLotus Symphony Presentations(cont.)
- Each layout type has its own number
-
- To create a title page, enter the following:
- Finally, we need to get the title and handle it like its a
Lotus Symphony Documents text object
-
- Set title=Slide.getbyindex(0)
-
- Set TitleText=title.getText()
-
- Set Cursor=TitleText.createTextCursor()
-
- Call TitleText.insertString(Cursor,"Hello World!",False)
48. Lotus Symphony Presentations &Notes - Result 49. Lotus
Symphony Presentationsand Notes Demo Example 5 Hello World with
Notes and Lotus Symphony Presentations pe01832_ 50. Managing
OpenOffice.org Templates
- How did I get that template in my new dialog?
- Use the template installation tool
-
- Each template is a document
-
- Supports OpenOffice.org Writer, Calc, and Impress
applications
- Can also be used as a programmatic template tool
- Located on OpenNTF.org and on the conference CD
OpenNTF Logo 51. Lotus Symphony Real World Application
- Using Lotus Symphony as the end point for a real world
application
- Uses UNO API to generate an editable file in OpenOffice.org
format
- Uses UNO API to generate a read-only file in PDF format
52. Lotus Symphony in Real World Application Demo Example 6
Invoicing Application that Uses Lotus Symphony for edit and
read-only files pe01832_ 53. Symphony Edition 820x400.jpg
Third-Party Application Support
- Product vs. Custom Development
- Integra for Notes Symphony Edition
- Supports Lotus Symphony Spreadsheets
www.integra4notes.com 54. Integra for Notes Quick Reports to
Spreadsheets Demo Example 7 Integra for Notes Symphony Edition
Sample pe01832_ 55. Agenda
- What you get 'out of the box'
56. Lotus Symphony LSX
- For use within Lotus Notes
- Creates classes and objects much like the Domino Object
Model
- First version will come with Symphony 1.3 and Notes 8.5.1
- Focus on basic operations in first release
57. 58. Symphony LSX with Documents Demo Example 8 Symphony LSX
integrating Lotus Notes with Documents pe01832_ 59. 60. Symphony
LSX with Spreadsheets Demo Example 9 Symphony LSX integrating Lotus
Notes with Spreadsheets pe01832_ 61. 62. Symphony LSX with
Presentations Demo Example 10 Symphony LSX integrating Lotus Notes
with Presentations pe01832_ 63. Symphony Edition 820x400.jpg
Third-Party Application Support
- Integra for Notes Symphony Edition using the LSX
- Supports Lotus Symphony Documents and Mail Merge
- Winner of the 2009 Lotus Awards CTO Award for EMEA
www.integra4notes.com 64. Integra for Notes Quick Reports to
Spreadsheets Demo Example 11 Integra for Notes Symphony Edition LSX
Demo pe01832_ 65. Agenda
- What you get 'out of the box'
66. Using the Productivity Editor Toolkit
- Documentation and samples for integrating the Notes 8
Productivity Editors with Notes 8 Standard
- Lotus Productivity Toolkit 8.0 Windows.exe
- Download this from IBM Passport Advantage or PartnerWorld
- Targeted at people who know:
- Most of the time you will use this from a Composite Application
(CA)
67. Productivity Tools Architecture 68. Automating Lotus
Symphony Demo Example 11 Lotus Symphony within a Composite
Application pe01832_ 69. Agenda
- What you get 'out of the box'
70. Lotus Symphony with Eclipse.org Plug-ins
- Enable deploying Eclipse plug-ins to Symphony
- API for accessing Symphony controls and document content
71. Lotus Symphony Plugins
- Plugins can extend the functionality of Lotus Symphony
-
- Acts like the Quickr Plugin for Notes
- Not the same as Notes plugins or sidebar panels
- Built using Java via the Eclipse.org platform
72. Lotus Symphony Plugins Demo Example 13 Demonstrating a
LotusSymphony Plugin pe01832_ 73. Lotus Symphony Programmability
Summary 74. Possible Future for Developers
- Content model for easy control and content manipulation
- As editor component in Expeditor solutions
- Composite application on Symphony
- Need stand alone composite application editor
- Interoperability with OpenOffice.org programmability
- OpenOffice.org 3.x Code Stream Merge
- Interoperability with MS Office programmability
- Enable plug-ins for Symphony in Notes
- DOM model for accessing content via JavaScript
75. 2009
- Expanded OS platform support
-
- Support for Office 2007 file format (read only)
-
- Improved pivot table capabilities
-
- Developer 3rd party application support
- Full Office 2007 file format support
-
- Major enhancements to Data Pilots (Pivot Charts)
-
- Lots of changes for developers
Lotus Symphony Roadmap 76. Sessions you should see this week
- JMP205: Integration of IBM Lotus Notes and Lotus Domino with
Microsoft Office, .NET, and IBM Lotus Symphony
- BP305: The Document Format Dance
- BP111: Reports, Charts, and Graphs 2.0
-
- Julian Robichaux & Rob McDonagh
77. Project Liberate
- SW License Optimization Can:
-
- Understand how to demonstrate the alternatives to Microsoft EA
bundle so your customers could reduce their budget and be able to
invest in mission critical projects.
-
- Explain Microsoft interdependencies strategy and how customers
can be tied without being able to negotiate.
-
- Show customers the Real Cost of Microsofts collaboration
strategy based on lessons learned from hundreds of customers
engagements.
- www.ibm.com/software/info/liberate
Executive Briefings
- Covers the Lotus Symphony story for
- Includes a Microsoft Office assessment and strategy white
paper
Resources 78. Resources (cont.)
- LDD Discussions (Notes.Net)
http://www-130.ibm.com/developerworks/lotus
- OpenOffice.orghttp://www.openoffice.org
- OpenOffice Developers Guide
http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html
- Programming OpenOffice with Visual Basic
http://www.kalitech.fr/clients/doc/VB_APIOOo_en.html
- John Heads blog http://www.johndavidhead.com
- Slides and content available from http://www.johndavidhead.com
http://www.psclistens.com
79. Resources (cont.)
- OpenNTF.org the open source Web site for Notes
- PSCs Reporting and Office Integration page
-
- www.psclistens.com/enTouchCMS/app/viewCategory? catgId=66
80. Thank You! Questions & Answers Please remember to fill
out your evaluation. [email_address] www.johndavidhead.com
www.psclistens.com 81. Legal disclaimer
- IBM Corporation 2008. All Rights Reserved.
- The information contained in this publication is provided for
informational purposes only. While efforts were made to verify the
completeness and accuracy of the information contained in this
publication, it is provided AS IS without warranty of any kind,
express or implied. In addition, this information is based on IBMs
current product plans and strategy, which are subject to change by
IBM without notice. IBM shall not be responsible for any damages
arising out of the use of, or otherwise related to, this
publication or any other materials. Nothing contained in this
publication is intended to, nor shall have the effect of, creating
any warranties or representations from IBM or its suppliers or
licensors, or altering the terms and conditions of the applicable
license agreement governing the use of IBM software.
- References in this presentation to IBM products, programs, or
services do not imply that they will be available in all countries
in which IBM operates. Product release dates and/or capabilities
referenced in this presentation may change at any time at IBMs sole
discretion based on market opportunities or other factors, and are
not intended to be a commitment to future product or feature
availability in any way.Nothing contained in these materials is
intended to, nor shall have the effect of, stating or implying that
any activities undertaken by you will result in any specific sales,
revenue growth or other results.
- IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino and
Lotusphere are trademarks of International Business Machines
Corporation in the United States, other countries, or both. Adobe,
the Adobe logo, PostScript, and the PostScript logo are either
registered trademarks or trademarks of Adobe Systems Incorporated
in the United States, and/or other countries. Java and all
Java-based trademarks are trademarks of Sun Microsystems, Inc. in
the United States, other countries, or both. Microsoft and Windows
are trademarks of Microsoft Corporation in the United States, other
countries, or both.