Successfully reported this slideshow.
Lotus Symphony and You
  How to stop giving Microsoft
          your money!
Before we begin …
• Please turn off/set to vibrate/mute all
       Cell Phones
       Pagers
       Computers
• If they go...
50 Minutes of John talking about …
• Lotus Symphony
  – The Executive Perspective

  – The User Perspective

  – The Devel...
Who am I?
John D. Head
   •Director of Enterprise Collaboration at PSC Group, LLC
   •Involved in Lotus technology since 1...
PSC Group, LLC
 IBM Premium Business Partner for        • Host of the following blogs:
19+ Years                         ...
Let’s take a poll
• Who is using …
  – Office 97 and earlier
  – Office 2000
  – Office XP
  – Office 2003
  – Office 2007...
OpenOffice.org — The History
• StarDivision StarOffice written in the mid 80s
• Bought by Sun Microsystems in 1999, StarOf...
What is OpenOffice.org?
• Free office suite
• Description from their Web site
   – ―OpenOffice.org is a multiplatform and ...
What is OpenOffice.org? (cont.)

• Getting past the marketing message
  – OpenOffice.org is an alternative to Microsoft Wo...
Why Should I Care About OpenOffice.org?
• Only office suite that supports Open Document Format
  (ODF) 100%
• A free alter...
What is Lotus Symphony?
• IBM branded the Notes 8 Productivity
  Tools as Lotus Symphony
• Stand-alone Release
• Beta 1 wa...
Lotus Symphony Details
• How do they relate to OpenOffice.org?
   – They are based on OpenOffice.org 1.1
   – IBM has made...
Lotus Symphony – The Executive Perspective
• For the past 10 years, Office has been the
  monopoly
• Users are changing th...
Lotus Symphony – The Executive Perspective



                      Microsoft Office is cheap!

   • This is the #1 miscon...
Lotus Symphony – The Executive Perspective



         The Microsoft Desktop vs. Lotus Collaboration Suite Cost




      ...
Lotus Symphony – The Executive Perspective



                      But that isn’t the real cost

   • In 2007, Microsoft ...
Lotus Symphony – The Executive Perspective



                Microsoft Exchange Server 2007
Lotus Symphony – The Executive Perspective



     Microsoft Office Communication Server 2007
Lotus Symphony – The Executive Perspective



                Microsoft Sharepoint Server 2007
Lotus Symphony – The Executive Perspective



                 Microsoft Office Enterprise 2007
Lotus Symphony – The Executive Perspective


      The Microsoft Desktop vs. Lotus Collaboration Suite
                   ...
Lotus Symphony – The Executive Perspective



                         Do you want Support?

   • Now we have to add Softw...
Lotus Symphony – The Executive Perspective


    The Microsoft Desktop vs. Lotus Collaboration
         Suite with Enterpr...
Lotus Symphony – The Executive Perspective



                     But wait … we have the OS
   • You get your Operating S...
Lotus Symphony – The Executive Perspective


      The Microsoft Desktop vs. Lotus Collaboration Suite
              Cost ...
Lotus Symphony – The Executive Perspective



                    What are you really paying?

   • These are all Open Lic...
Lotus Symphony – The Executive Perspective



                       So what am I paying for?
Lotus Symphony – The Executive Perspective



                               What about support?
  Support Option 1       ...
Lotus Symphony – The Executive Perspective



                                         Resources

   Project Liberate     ...
Lotus Symphony – The User Perspective
• Why would a user want to use something
  other than Office?
• Why are they using G...
Lotus Symphony – The User Perspective



                              Identifying Users

   • Casual- Task Users
        ...
Lotus Symphony – The User Perspective




                             Identifying Users
   • Medium – Power Users
       ...
Lotus Symphony – The User Perspective



                              Identifying Users

   • Power & Macro Users
       ...
Lotus Symphony – The User Perspective



                      Lotus Symphony Features

        • Three applications
     ...
Lotus Symphony – The User Perspective




                   Lotus Symphony File Formats
               Application     IS...
Lotus Symphony – The User Perspective




                  Lotus Symphony Documents
   • Create, edit, & share complex wo...
Lotus Symphony – The User Perspective



                 Lotus Symphony Presentations
   •   Create, edit, and share comp...
Lotus Symphony – The User Perspective




                 Lotus Symphony Spreadsheets
   • Create, edit, and share comple...
Lotus Symphony – The User Perspective



                   Lotus Symphony Deployment

   • Included with Lotus Notes
    ...
Lotus Symphony – The User Perspective



    Can we update the embedded tools ourselves?

   • NO

   • Not Yet

   • Comi...
Lotus Symphony – The Developer Perspective
• Symphony has multiple methods for
  customization
  – UNO API
  – Symphony Pl...
Lotus Symphony – The Developer Perspective




      Introduction to OpenOffice.org Development
     • Designed on an inte...
Lotus Symphony – The Developer Perspective



            Does this work with Lotus Symphony

   • All of the demos will b...
Lotus Symphony – The Developer Perspective



                   What is the ServiceManager?

     • ServiceManager is sim...
Lotus Symphony – The Developer Perspective



                            What Did That Do?




    • Calling the ServiceM...
Lotus Symphony – The Developer Perspective




  Let’s Start Writer — Word Processing Application
     • So far we have an...
Lotus Symphony – The Developer Perspective



                            The Picture So Far




    • Now we have an appl...
Lotus Symphony – The Developer Perspective



                          Let’s Add Some Text
    • First, we need to get a ...
Lotus Symphony – The Developer Perspective



                                 Hello World!




• After executing all of t...
Lotus Symphony – The Developer Perspective




      Notes to Writer/Lotus Symphony Documents



             Demo — Examp...
Lotus Symphony – The Developer Perspective



       Let’s Start Calc — Spreadsheet Application
     • Calc uses a differe...
Lotus Symphony – The Developer Perspective



 Let’s Start Calc — Spreadsheet Application (cont.)
     • Finally, we acces...
Lotus Symphony – The Developer Perspective



 Calc/Lotus Symphony Spreadsheets ―Hello World‖

                Demo — Exam...
Lotus Symphony – The Developer Perspective




                         Notes with Calc — D7!




    • Why did the text g...
Lotus Symphony – The Developer Perspective




      Rows and Columns Are Numbered from Zero




   • Just like arrays in ...
Lotus Symphony – The Developer Perspective



                        Introduction to Impress

     • Impress and Draw are...
Lotus Symphony – The Developer Perspective



    Let’s Start Impress — Presentation Application
    • To create the insta...
Lotus Symphony – The Developer Perspective



     Let’s Start Impress — Presentation Application (cont.)
     • Each layo...
Lotus Symphony – The Developer Perspective



                Impress and Notes — The Result
Lotus Symphony – The Developer Perspective



    Impress/Lotus Symphony Presentations ―Hello World‖



               Dem...
Lotus Symphony – The Developer Perspective



     Using OpenOffice.org/Lotus Symphony Within Your Applications


   • Add...
Lotus Symphony – The Developer Perspective



                             Exporting to PDF
     • Creating a PDF from any...
Lotus Symphony – The Developer Perspective




    OpenOffice.org Integration in a Real-World Application




            ...
Lotus Symphony – The Developer Perspective



              Using the Lotus Symphony Toolkit
   • Documentation and sample...
Lotus Symphony – The Developer Perspective



                 Productivity Tools Architecture
Lotus Symphony Toolkit
• Developer Guide
   – Overview, development environment setup,
     development process, API intro...
Lotus Symphony with Eclipse.org Plug-ins
• Enable deploying Eclipse plug-ins to Symphony
• API for accessing Symphony cont...
Lotus Symphony – The Developer Perspective




                         Lotus Symphony Plug-ins




                   Dem...
Notes 8.5.1 and the Symphony API
• Included with Notes 8.5.1 is the new Symphony
API
• Supports LotusScript and Java
• Mus...
Symphony Documents LotusScript API
Symphony Spreadsheets LotusScript API
Symphony Presentations LotusScript API
Step 1: Symphony Application
• Create a new SymphonyApplication object
• This is a base level object, much like the
NotesS...
Step 2: Symphony Documents
• Initialize the Documents Application
 You should see the Symphony Application at this
point

...
Step 3: Open a New Document
• Create a new document
• You can also create a new document based on a
Template using the sec...
Step 4: Set the Range
• You can set a range based on a paragraph, table,
or in this case, the entire document contents

Di...
Step 5: Insert Text
• Using the InsertBefore or InsertAfter methods,
you can insert text based on any range or object

Cal...
“Hello World” in Symphony Documents
               via LotusScript
Dim application As SymphonyApplication
Dim documents As...
Lotus Symphony – The Developer Perspective




                 Lotus Symphony API via LotusScript




                   ...
Lotus Symphony – The Developer Perspective




                 Lotus Symphony API via LotusScript




                   ...
Possible Future for Developers
•   Content model for easy control and
    content manipulation
•   As editor component in ...
Lotus Symphony – The Developer Perspective




                Third-Party Application Support


   • Product vs. Custom D...
Lotus Symphony Programmability Summary
                    Symphony in Notes 8.5.1           Symphony 1.3         Symphony...
Lotus Symphony Roadmap
2009 / 10
•   Symphony 2.0
     •   Major rewrite
     •   Built on top of the OpenOffice 3.X code ...
Wrap Up
• Lotus Symphony will continue to mature
• Notes 8.5.1 includes Symphony 1.3
• We have multiple options
   – Offic...
Questions?




                  John Head
jhead@psclistens.com www.johndavidhead.com
               Twitter: johnhead
Uklug 2009   Lotus Symphony
Uklug 2009   Lotus Symphony
Uklug 2009   Lotus Symphony
Upcoming SlideShare
Loading in …5
×

Uklug 2009 Lotus Symphony

2,256 views

Published on

UKLUG 2009 Presentation on Lotus Symphony for Executives, Users, and Developers

Published in: Technology, Business
  • Be the first to comment

Uklug 2009 Lotus Symphony

  1. 1. Lotus Symphony and You How to stop giving Microsoft your money!
  2. 2. Before we begin … • Please turn off/set to vibrate/mute all Cell Phones Pagers Computers • If they go off and I hear them, they are mine  Please remember to fill out your evaluations
  3. 3. 50 Minutes of John talking about … • Lotus Symphony – The Executive Perspective – The User Perspective – The Developer Perspective
  4. 4. Who am I? John D. Head •Director of Enterprise Collaboration at PSC Group, LLC •Involved in Lotus technology since 1993 •OpenNTF.org Steering Committee Member and IP Working Group Chairman Speaker •Over 30 sessions at Lotusphere since 1996 •Speaker at Lotus Developer , ILUG, UKLUG, and other conferences Author •Publications on Office and SmartSuite integration with Notes •LotusUserGroup.org contributing Author and Forum moderator •―Lotus Symphony for Dummies‖ Technical Editor •―Self Assessment and Strategy Guide for Migrating from Domino Document Manager ― Redbook Author www.johndavidhead.com twitter.com/johnhead 4
  5. 5. PSC Group, LLC  IBM Premium Business Partner for • Host of the following blogs: 19+ Years • Ed Brill’s (www.edbrill.com)  Microsoft Managed Partner • Lotus Design Blog(Mary Beth Raven)  Notes & Domino 8.5 Design Partner (www.notesdesign.com) • LotusStaffNotes (Brent Peters)  OpenNTF.org Alliance Member, (www.lotusstaffnotes.com) Steering Committee Company, & Former • Lotus Connections Team (synch.rono.us) Host of OpenNTF.org • Lotus Sametime (www.thesametimeblog.com)  Winner of 2007 & 2009 Lotus Awards! • Domino Server Team (www.dominoblog.com) • Lotus Mashups (www.mix-and-mash.com) • Chris Pepin – IBM CTO’s Office (www.chrispepin.com)
  6. 6. Let’s take a poll • Who is using … – Office 97 and earlier – Office 2000 – Office XP – Office 2003 – Office 2007 – OpenOffice / StarOffice – Lotus Symphony – Other
  7. 7. OpenOffice.org — The History • 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 Beta 1 released in October 2007 • Lotus Symphony 1.0 May 2008 • Lotus Symphony 1.3 Spring 2009 • Lotus Notes & Domino 8.5.1 Fall 2009
  8. 8. What is OpenOffice.org? • Free office suite • Description from their Web site – ―OpenOffice.org is a multiplatform and multilingual office suite and an open-source project. Compatible with all other major office suites, the product is free to download, use, and distribute. To help build the community, join us.‖ • Their mission statement – ―To create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open-component based APIs and an XML-based file format.‖
  9. 9. What is OpenOffice.org? (cont.) • Getting past the marketing message – OpenOffice.org is an alternative to Microsoft Word, Excel, and PowerPoint, and it is free • Provides the following applications: – Writer — document editor – Impress — presentation program – Math — math function creator – Draw — vector drawing tool – Calc — spreadsheet – Base — database
  10. 10. Why Should I Care About OpenOffice.org? • Only office suite that supports Open Document Format (ODF) 100% • A free alternative to Microsoft Office • Runs on three platforms – Windows – Mac – Linux • Saves to PDF natively • OpenOffice.org is the basis of the IBM Lotus Symphony
  11. 11. What is Lotus Symphony? • IBM branded the Notes 8 Productivity Tools as Lotus Symphony • Stand-alone Release • Beta 1 was released in Oct 07 • IBM is on a 8 week release cycle with Symphony • Notes 8.0.1 has Symphony Beta 4 • Notes 8.5 Beta 1 has Symphony 1.0 • Notes 8.5.1 has Symphony 1.3 • Symphony 1.3 stand-alone available
  12. 12. Lotus Symphony Details • How do they relate to OpenOffice.org? – They are based on OpenOffice.org 1.1 – IBM has made changes since the code branch • Do they support ODF? – Yes, as well as Microsoft Office 97 through 2003 • Do they have an API? – Yes, an HTML-like document API – Supported in Eclipse.org development and composite applications • What about LotusScript? – No support for LotusScript or OLE/COM in 8.0.0 – 8.0.1 adds basic OLE/COM support – 8.5.1 adds LotusScript and Java API
  13. 13. Lotus Symphony – The Executive Perspective • For the past 10 years, Office has been the monopoly • Users are changing the way they work • Speed and mobility vs feautures – Lightweight applications – On-line editing – Mobile editing
  14. 14. Lotus Symphony – The Executive Perspective Microsoft Office is cheap! • This is the #1 misconception in our industry • Microsoft is more expensive than Lotus … • ―Prove It‖ • OK …
  15. 15. Lotus Symphony – The Executive Perspective The Microsoft Desktop vs. Lotus Collaboration Suite Cost Note: All MS prices are approximate Open Price License prices in US$
  16. 16. Lotus Symphony – The Executive Perspective But that isn’t the real cost • In 2007, Microsoft broke the Core CALS for many of the servers • Standard and Enterprise • Many features now require an Enterprise CAL
  17. 17. Lotus Symphony – The Executive Perspective Microsoft Exchange Server 2007
  18. 18. Lotus Symphony – The Executive Perspective Microsoft Office Communication Server 2007
  19. 19. Lotus Symphony – The Executive Perspective Microsoft Sharepoint Server 2007
  20. 20. Lotus Symphony – The Executive Perspective Microsoft Office Enterprise 2007
  21. 21. Lotus Symphony – The Executive Perspective The Microsoft Desktop vs. Lotus Collaboration Suite with Enterprise CALS Note: All MS prices are approximate Open Price License prices in US$
  22. 22. Lotus Symphony – The Executive Perspective Do you want Support? • Now we have to add Software Assurance • Upgrade Assurance – Did you buy Windows SA in 2003? – You didn’t get Windows Vista until 2006/07 – You wasted money!
  23. 23. Lotus Symphony – The Executive Perspective The Microsoft Desktop vs. Lotus Collaboration Suite with Enterprise CALS and SA Note: All MS prices are approximate Open Price License prices in US$
  24. 24. Lotus Symphony – The Executive Perspective But wait … we have the OS • You get your Operating System with your machines – Windows OEM – Linux – Mac OS • Your numbers are bloated! • Ok … let’s fix that
  25. 25. Lotus Symphony – The Executive Perspective The Microsoft Desktop vs. Lotus Collaboration Suite Cost with Enterprise CALS and SA Note: All MS prices are approximate Open Price License prices in US$
  26. 26. Lotus Symphony – The Executive Perspective What are you really paying? • These are all Open Licensing or SRP pricing • You won’t pay those prices • Even with license agreement savings, you will pay 50% to 70% more for Microsoft
  27. 27. Lotus Symphony – The Executive Perspective So what am I paying for?
  28. 28. Lotus Symphony – The Executive Perspective What about support? Support Option 1 Support Option 2 Symphony Embedded Version Standalone Symphony Free –Passport Advantage support Support –Included with purchase of other products – Web based moderated forum support • Notes 8, 8.5, & 8.5.1 – Forums monitored by IBM and the community • Foundations –No additional charge – Hints and Tips – Developer support forum Support Option 3 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
  29. 29. Lotus Symphony – The Executive Perspective Resources Project Liberate Executive Briefings • SW License Optimization Can: • 2 Day on-site briefings – Understand how to demonstrate the • Covers the Lotus Symphony story alternatives to Microsoft EA bundle for so your customers could reduce their budget and be able to invest in – Executives mission critical projects. – Administrators – Explain Microsoft interdependencies – Developers strategy and how customers can be • Includes a Microsoft Office tied without being able to negotiate. assessment and strategy white – Show customers the Real Cost of Microsoft’s collaboration strategy paper based on lessons learned from • Contact jhead@psclistens.com for hundreds of customers engagements. more info • liberate@us.ibm.com • www.ibm.com/software/info/liberate
  30. 30. Lotus Symphony – The User Perspective • Why would a user want to use something other than Office? • Why are they using Google Docs?
  31. 31. Lotus Symphony – The User Perspective Identifying Users • Casual- Task 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 • Start now!
  32. 32. Lotus Symphony – The User Perspective Identifying Users • Medium – Power Users • More robust needs for documents, spreadsheets & presentations • Stronger interoperability requirements as need to collaborate with Office users • Example: Sales, marketing, • Move over time
  33. 33. Lotus Symphony – The User Perspective Identifying Users • Power & Macro Users • Heavy Excel users • Third-party application integration • Heavy reliance on macros • Example: Finance department • Symphony 1.3 added Data Pilots (Pivot Tables) • Symphony 2.0 will allow VBA macros to be run
  34. 34. Lotus Symphony – The User Perspective Lotus Symphony Features • Three applications • Lotus Symphony Documents • 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
  35. 35. Lotus Symphony – The User Perspective Lotus Symphony File Formats Application ISO/IEC ODF Microsoft OpenOffice.or Other Office g XML Formats Documents .odt .doc, dot .sxw .rtf read .docx, .txt dotx Spreadsheets .ods .xls, xlt .sxc .csv read .xlsx, xltx Presentations .odp .ppt, pot .sxi Read .pptx, potx • Additional supported formats – Export documents, spreadsheets and presentations to Adobe PDF – Import Lotus SmartSuite documents, spreadsheets, and presentations
  36. 36. Lotus Symphony – The User Perspective 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 – Drawing tools – Pre-defined document styles – Pre-defined fields (i.e., dates, page numbering)
  37. 37. Lotus Symphony – The User Perspective 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 – Speaker notes – Flexible navigation views – page by page, text outline, page thumbnail, and speaker note views
  38. 38. Lotus Symphony – The User Perspective 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
  39. 39. Lotus Symphony – The User Perspective Lotus Symphony Deployment • Included with Lotus Notes – 8.0.0 = Productivity Editors – 8.0.1 = Lotus Symphony Beta 4 – 8.0.2 = Lotus Symphony 1.0 – 8.5.0 = Lotus Symphony 1.1 – 8.5.1 = Lotus Symphony 1.3 • Included with Lotus Foundations • Stand-alone
  40. 40. Lotus Symphony – The User Perspective Can we update the embedded tools ourselves? • NO • Not Yet • Coming soon post 8.5.1 • Symphony 2.0 Beta will install on top of Notes 8.5.1 • Sametime 8.5 should also update the 8.5.1 client
  41. 41. Lotus Symphony – The Developer Perspective • Symphony has multiple methods for customization – UNO API – Symphony Plug-ins – Composite Applications – 8.5.1 Symphony API for LotusScript and Java
  42. 42. Lotus Symphony – The Developer Perspective Introduction to OpenOffice.org Development • Designed on an interface-based component model called Universal Network Objects (UNO) • UNO definition – 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
  43. 43. Lotus Symphony – The Developer Perspective Does this work with Lotus Symphony • All of the demos will be done using Lotus Symphony • You will need Notes 8.0.1 or higher – IBM has exposed the Lotus Symphony objects to the registry to allow COM to work • If you want run the demos in 8.0.0, they will invoke OpenOffice.org • There is a way to hack 8.0.0 to work, but it is not supported
  44. 44. Lotus Symphony – The Developer Perspective 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")
  45. 45. Lotus Symphony – The Developer Perspective What Did That Do? • Calling the ServiceManager created an OpenOffice.org window, but we need to do more …
  46. 46. Lotus Symphony – The Developer Perspective Let’s Start Writer — Word Processing Application • So far we have an OpenOffice.Org window, but it doesn’t know what application it will be — we have to tell it Dim args() Set WriterApplication=Desktop.loadComponentFromURL ("private:factory/swriter","_blank",0,args) • Args is a variant array – We don’t 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
  47. 47. Lotus Symphony – The Developer Perspective The Picture So Far • Now we have an application open • Time to do something!
  48. 48. Lotus Symphony – The Developer Perspective Let’s Add Some Text • First, we need to get a handle to the text part of the document Set WriterText=WriterApplication.getText() • Next, we need a cursor position where we can insert the text Set Cursor=WriterText.createTextCursor() • Finally, we can make the traditional greeting Call WriterText.insertString(Cursor,"Hello World!",False)
  49. 49. Lotus Symphony – The Developer Perspective Hello World! • After executing all of that code, this is the result • Now let’s try it for real
  50. 50. Lotus Symphony – The Developer Perspective Notes to Writer/Lotus Symphony Documents Demo — Example 1 “Hello World” from Notes to Writer/ Lotus Symphony Documents
  51. 51. Lotus Symphony – The Developer Perspective Let’s Start Calc — Spreadsheet Application • Calc uses a different URL to define the application Set CalcApplication = Desktop.loadComponentFromURL_("private:factory/scalc","_bl ank",0,args) • The command above creates the workbook • Next, we need to get the first sheet Set Worksheet=CalcApplication.Sheets.getByName("Sheet1")
  52. 52. Lotus Symphony – The Developer Perspective Let’s Start Calc — Spreadsheet Application (cont.) • Finally, we access the cell into which we want to enter text Set cell=Worksheet.getCellByPosition(3,6) • We have set the string in a cell, but which cell is it?
  53. 53. Lotus Symphony – The Developer Perspective Calc/Lotus Symphony Spreadsheets ―Hello World‖ Demo — Example 2 “Hello World” with Notes and Calc/ Lotus Symphony Spreadsheets Where will the text go?
  54. 54. Lotus Symphony – The Developer Perspective Notes with Calc — D7! • Why did the text go into cell D7? • Didn’t we write to cell (3,6)?
  55. 55. Lotus Symphony – The Developer Perspective Rows and Columns Are Numbered from Zero • Just like arrays in Notes, the index starts at 0!
  56. 56. Lotus Symphony – The Developer Perspective Introduction to Impress • Impress and Draw are almost the same application • Pages contain shapes • Shapes can contain text • Text is handled just as it is in Writer
  57. 57. Lotus Symphony – The Developer Perspective Let’s Start Impress — Presentation Application • 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)
  58. 58. Lotus Symphony – The Developer Perspective Let’s Start Impress — Presentation Application (cont.) • Each layout type has its own number – To create a title page, enter the following: Slide.layout=1 • Finally, we need to get the title and handle it like it’s a Writer text object Set title=Slide.getbyindex(0) Set TitleText=title.getText() Set Cursor=TitleText.createTextCursor() Call TitleText.insertString(Cursor,"Hello World!",False)
  59. 59. Lotus Symphony – The Developer Perspective Impress and Notes — The Result
  60. 60. Lotus Symphony – The Developer Perspective Impress/Lotus Symphony Presentations ―Hello World‖ Demo — Example 3 “Hello World” with Notes and Impress/ Lotus Symphony Presentations
  61. 61. Lotus Symphony – The Developer Perspective Using OpenOffice.org/Lotus Symphony Within Your Applications • Add value by: – Writer — printing – Calc — number crunching and charting – Impress — presentations • One of the great value adds you get is PDF generation • Instead of ―exporting‖ to ODF, you select PDF
  62. 62. Lotus Symphony – The Developer Perspective Exporting to PDF • Creating a PDF from any OpenOffice.org application is very easy args1.Name = "URL" args1.Value = "file:///"+strOutputFN args2.Name = "FilterName" args2.Value = "writer_pdf_Export" Set argsFinal(0)=args1 Set argsFinal(1)=args2 Kill strKillFN Call objDocument.storeToURL("file:///"+strOutputFN,argsFinal) • A PDF of the same name as the file will be saved
  63. 63. Lotus Symphony – The Developer Perspective OpenOffice.org Integration in a Real-World Application Demo — Example 4 An invoicing application that uses OpenOffice.org
  64. 64. Lotus Symphony – The Developer Perspective Using the Lotus Symphony Toolkit • Documentation and samples for integrating the Lotus Symphony with Notes 8 Standard • Lotus Symphony Developers API 8.0 Windows.exe • Download this from Lotus Symphony website • Targeted at people who know: – Java – HTML internals – ODF • Most of the time you will use this from a Composite Application (CA)
  65. 65. Lotus Symphony – The Developer Perspective Productivity Tools Architecture
  66. 66. Lotus Symphony Toolkit • Developer Guide – Overview, development environment setup, development process, API introduction, Sample code – How to customize Symphony and make use of UNO API • Samples – Customize Symphony menu, toolbar, side shelf – API usage (Java, UNO) • API reference – Javadoc
  67. 67. Lotus Symphony with Eclipse.org Plug-ins • Enable deploying Eclipse plug-ins to Symphony • API for accessing Symphony controls and document content • Enable UI extensions – Menu (add-ins) – Toolbar (set of buttons) – Stack in side shelf – Another window • Examples – AutoRecognizer – Translator – Backend integration – Customized editor
  68. 68. Lotus Symphony – The Developer Perspective Lotus Symphony Plug-ins Demo — Example 5 Insert Graphic Demo More info in the ―IBM Lotus Symphony Developer's Guide.pdf‖ that comes with the Symphony Toolkit
  69. 69. Notes 8.5.1 and the Symphony API • Included with Notes 8.5.1 is the new Symphony API • Supports LotusScript and Java • Must run from Notes client – does not work with Standalone Symphony Application (applications or plug-ins) • API is modeled after Notes Object Model • Symphony Container added to Composite Applications thru the CA Editor
  70. 70. Symphony Documents LotusScript API
  71. 71. Symphony Spreadsheets LotusScript API
  72. 72. Symphony Presentations LotusScript API
  73. 73. Step 1: Symphony Application • Create a new SymphonyApplication object • This is a base level object, much like the NotesSession • You will not see anything on screen after setting this Dim application As SymphonyApplication Set application = New SymphonyApplication
  74. 74. Step 2: Symphony Documents • Initialize the Documents Application You should see the Symphony Application at this point Dim documents As SymphonyDocuments Set documents = application.Documents
  75. 75. Step 3: Open a New Document • Create a new document • You can also create a new document based on a Template using the second property Dim document As SymphonyDocument Set document = documents.AddDocument("",False,True) • New Document based on a template Set document = documents.AddDocument("D:FileTypeAssociationtest.ott",True,True)
  76. 76. Step 4: Set the Range • You can set a range based on a paragraph, table, or in this case, the entire document contents Dim range As SymphonyTextRange Set range = document.content.End
  77. 77. Step 5: Insert Text • Using the InsertBefore or InsertAfter methods, you can insert text based on any range or object Call range.InsertBefore("Hello World")
  78. 78. “Hello World” in Symphony Documents via LotusScript Dim application As SymphonyApplication Dim documents As SymphonyDocuments Dim document As SymphonyDocument Dim range As SymphonyTextRange Set application = New SymphonyApplication Set documents = application.Documents Set document = documents.AddDocument("",False,True) Set range = document.content.End Call range.InsertBefore("Hello World")
  79. 79. Lotus Symphony – The Developer Perspective Lotus Symphony API via LotusScript Demo — Example 6 “Hello World” in Documents using LotusScript More info in the ―Symphony Developer's Guide for Notes.pdf‖ that comes with the Symphony Toolkit
  80. 80. Lotus Symphony – The Developer Perspective Lotus Symphony API via LotusScript Demo — Example 7 Generating a Document via LotusScript More info in the ―Symphony Developer's Guide for Notes.pdf‖ that comes with the Symphony Toolkit
  81. 81. 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 • UNO API and StarBasic • Interoperability with MS Office programmability • VBA interpreter • Symphony in a browser • DOM model for accessing content via JavaScript
  82. 82. Lotus Symphony – The Developer Perspective Third-Party Application Support • Product vs. Custom Development • Both have their place • Integra for Notes Symphony Edition • Supports Lotus Symphony and the Notes Productivity Editors • Requires 8.5.1 www.integra4notes.com • Lotus Spreadsheets support today
  83. 83. Lotus Symphony Programmability Summary Symphony in Notes 8.5.1 Symphony 1.3 Symphony in Expeditor (future) Eclipse Plug-in Yes Yes Yes Composite Yes (in nsf) Yes Yes (via Portal) Application Lotuscript Yes No No Support Server Domino No Lotus Expeditor Server Support/Manag Websphere Portal ed Local services Editors/Mail/Calendar/... Editors, Web Browser Editors/DB2e/Encryption... Development Toolkit for Productivity Tools Symphony Toolkit Expeditor Toolkit Tools Domino Desinger Support Service Symphony Web Site Service Skills needed Notes/Java Eclipse, Java, Expeditor/Portal for developers Expeditor
  84. 84. Lotus Symphony Roadmap 2009 / 10 • Symphony 2.0 • Major rewrite • Built on top of the OpenOffice 3.X code trunk • Performance enhancements • New functions – Support for Office 2007 file format (write) – Improved pivot table capabilities – Macro enablement • Continued Focus Items – Usability – Developer 3rd party application support – Performance
  85. 85. Wrap Up • Lotus Symphony will continue to mature • Notes 8.5.1 includes Symphony 1.3 • We have multiple options – Office, Symphony, OpenOffice.org, etc. • The battle is just begun – ODF vs. Office XML (OOXML) • Notes 8.5.1 bring us a LotusScript and Java API • Symphony 2.0 targeted for 1H 2010 • Competition will be good for us … if we can deal with all the changes
  86. 86. Questions? John Head jhead@psclistens.com www.johndavidhead.com Twitter: johnhead

×