BP215: Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOffice.org <ul><ul><li>John D. Head </li></ul></ul>
Before we begin <ul><li>Please turn off/set to vibrate/mute all Cell Phones Pagers Computers Please remember to fill out y...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Who am I? <ul><li>John D. Head </li></ul><ul><li>Framework Manager at PSC Group, LLC </li></ul><ul><li>Involved in Lotus t...
PSC Group, LLC <ul><li>IBM Premium Business Partner for 18+ Years </li></ul><ul><li>Microsoft Gold Partner </li></ul><ul><...
The Demo Databases <ul><li>Presentation example database </li></ul><ul><ul><li>Single database with all examples </li></ul...
Let’s take a little poll … <ul><li>Who is using  … </li></ul><ul><ul><li>Office 97 and earlier </li></ul></ul><ul><ul><li>...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
OpenOffice.org — The History <ul><li>StarDivision StarOffice written in the mid 80s </li></ul><ul><li>Bought by Sun Micros...
What is OpenOffice.org? <ul><li>Free office suite </li></ul><ul><li>Description from their Web site </li></ul><ul><ul><li>...
What is OpenOffice.org? (cont.) <ul><li>Getting past the marketing message </li></ul><ul><ul><li>OpenOffice.org is an alte...
Why Should I Care About OpenOffice.org? <ul><li>Only office suite that supports Open Document Format (ODF) 100% </li></ul>...
OpenOffice.org — Licensing <ul><li>What is the licensing? </li></ul><ul><ul><li>LGPL — the GNU Lesser General Public Licen...
OpenOffice.org    StarOffice <ul><li>StarOffice is Sun’s packaged version of OpenOffice.org </li></ul><ul><li>Sun adds ot...
The Notes 8 Productivity Editors <ul><li>How do they relate to OpenOffice.org? </li></ul><ul><ul><li>They are based on Ope...
What is Lotus Symphony? <ul><li>IBM branded the Notes 8 Productivity Tools as Lotus Symphony </li></ul><ul><li>Released th...
Lotus Symphony Details <ul><li>Free </li></ul><ul><li>Download from  www.lotus.com/symphony </li></ul><ul><li>Support will...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Introduction to OpenOffice.org Development <ul><li>Designed on an interface-based component model called Universal Network...
Does this work with Lotus Symphony <ul><li>All of the demos (minus one) will be done using Lotus Symphony </li></ul><ul><l...
What is the ServiceManager? <ul><li>ServiceManager is similar to the NotesSession class </li></ul><ul><li>It is a factory ...
What Did That Do? <ul><li>Calling the ServiceManager created an OpenOffice.org window, but we need to do more … </li></ul>
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Let’s Start Writer — Word Processing Application <ul><li>So far we have an OpenOffice.Org window, but it doesn’t know what...
The Picture So Far <ul><li>Now we have an application open </li></ul><ul><li>Time to do something! </li></ul>
Let’s Add Some Text <ul><li>First, we need to get a handle to the text part of  the document </li></ul><ul><ul><li>Set Wri...
Hello World! <ul><li>After executing all of the code we walked through, this is the result </li></ul><ul><li>Now let’s try...
Notes to Writer/Lotus Symphony Documents Demo — Example 1 “ Hello World” from Notes to Writer/ Lotus Symphony Documents
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Let’s Start Calc — Spreadsheet Application <ul><li>Calc uses a different URL to define the application </li></ul><ul><ul><...
Let’s Start Calc — Spreadsheet Application (cont.) <ul><li>Finally, we access the cell into which we want to  enter text <...
Calc/Lotus Symphony Spreadsheets “Hello World” Demo — Example 2 “ Hello World” with Notes and Calc/ Lotus Symphony Spreads...
Notes with Calc — D7! <ul><li>Why did the text go into cell D7? </li></ul><ul><li>Didn’t we write to cell (3,6)?  </li></ul>
Rows and Columns Are Numbered from Zero <ul><li>Just like arrays in Notes, the index starts at 0! </li></ul>
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Introduction to Impress <ul><li>Impress and Draw are almost the same application </li></ul><ul><li>Pages contain shapes </...
Let’s Start Impress — Presentation Application <ul><li>To create the instance of Impress, call its URL </li></ul><ul><ul><...
Let’s Start Impress — Presentation Application (cont.) <ul><li>Each layout type has its own number </li></ul><ul><ul><li>T...
Impress and Notes — The Result
Impress/Lotus Symphony Presentations “Hello World” Demo — Example 3 “ Hello World” with Notes and Impress/ Lotus Symphony ...
The Help Files — How to Read Them <ul><li>Objects </li></ul><ul><li>Interfaces — collections of properties </li></ul><ul><...
OpenOffice.org Help Demo — Example 4 Walking through help
Help from Your Browser <ul><li>You can get a Firefox extension for OpenOffice.org </li></ul><ul><li>Easier to navigate </l...
More to Say Than “Hello” <ul><li>So far, you have seen the basics </li></ul><ul><ul><li>How to connect to OpenOffice.org f...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Mail Merge Overview <ul><li>Same concepts as mail merge if you were using Microsoft Word </li></ul><ul><ul><li>User select...
Mail Merge Details <ul><li>Just like the other applications, mail merge has its  own URL </li></ul><ul><ul><li>Set objMail...
Mail Merge Details (cont.) <ul><li>Set the seven arguments </li></ul><ul><ul><li>Set args(1) = OOoNamedValue(&quot;Documen...
Mail Merge Details (cont.) <ul><li>Finally, call the Execute method to complete the  mail merge </li></ul><ul><ul><li>objM...
Mail Merge and Notes Demo — Example 5 Creating a mail merge letter from the Notes personal name and  address book
Managing OpenOffice.org Templates <ul><li>How did I get that template in my new dialog? </li></ul><ul><li>Use the template...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Spreadsheets with Calc <ul><li>How would you like your spreadsheet to work? </li></ul><ul><li>Something like this? </li></...
How It Works <ul><li>Class Spreadsheet </li></ul><ul><li>public cols list as Column </li></ul><ul><li>... </li></ul><ul><l...
Advanced Calc/Lotus Symphony Spreadsheets This sample was created by Alan Bell of Dominux Consulting Demo — Example 6 Crea...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Using OpenOffice.org/Lotus Symphony Within Your Applications <ul><li>Add value by: </li></ul><ul><ul><li>Writer — printing...
Exporting to PDF <ul><li>Creating a PDF from any OpenOffice.org application is very easy </li></ul><ul><ul><li>args1.Name ...
OpenOffice.org Integration in a Real-World Application Demo — Example 7 An invoicing application that uses OpenOffice.org
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Using the Productivity Editor Toolkit <ul><li>Documentation and samples for integrating the Notes 8 Productivity Editors w...
Productivity Tools Architecture
Automating Lotus Symphony Demo — Example 8 Lotus Symphony within a Composite Application
Third-Party Application Support <ul><li>Product vs. Custom Development </li></ul><ul><li>Both have their place </li></ul><...
Third-Party Application Support Demo — Example 9 Integra for Notes Lotus Symphony Edition
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
2008 and Beyond <ul><li>Lotus Symphony will continue to mature </li></ul><ul><li>Notes 8.0.1 will have an updated version ...
Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Deve...
Sessions you should see this week <ul><li>Reports, Charts, and Graphs in IBM Lotus Notes </li></ul><ul><ul><li>Julian Robi...
Resources <ul><li>OpenOffice.org  </li></ul><ul><ul><li>www.openoffice.org </li></ul></ul><ul><li>OpenOffice.org Developer...
Resources (cont.) <ul><li>Programming OpenOffice.org with Visual Basic </li></ul><ul><ul><li>www.kalitech.fr/clients/doc/V...
Thank You! Questions & Answers We will be in the speaker room after the session Please remember to fill out your evaluatio...
Upcoming SlideShare
Loading in …5
×

BP215 Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOffice.org

7,618 views

Published on

The inclusion of Lotus Symphony (productivity editors) with IBM Lotus Notes 8 and the release of the IBM Lotus Symphony product bring new and exciting integration options for Lotus Notes users and developers. This session will cover the integration options available today, including client provisioning of the Lotus Symphony editors. Inclusion of the editors in Composite Applications will demonstrate the programmatic options. This session will also cover integration of OpenOffice.org with Lotus Notes 8 and the development options available. Applications such as export, charting, and mail merge will be explored. This session will wrap up with a preview of integration options with Lotus Notes 8 and the editors as well as Lotus Symphony coming in future versions of Lotus Notes! Expect lots of code and take-home applications.

Published in: Economy & Finance, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,618
On SlideShare
0
From Embeds
0
Number of Embeds
194
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • BP215 Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOffice.org

    1. 2. BP215: Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOffice.org <ul><ul><li>John D. Head </li></ul></ul>
    2. 3. Before we begin <ul><li>Please turn off/set to vibrate/mute all Cell Phones Pagers Computers Please remember to fill out your evaluations </li></ul><ul><li>www.lotusphere08surveyonline.com </li></ul>
    3. 4. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    4. 5. Who am I? <ul><li>John D. Head </li></ul><ul><li>Framework Manager at PSC Group, LLC </li></ul><ul><li>Involved in Lotus technology since 1993 </li></ul><ul><li>Speaker </li></ul><ul><ul><li>Over 25 sessions at Lotusphere since 1996 </li></ul></ul><ul><ul><li>Speaker at View & Advisor conferences </li></ul></ul><ul><li>Author </li></ul><ul><ul><li>Advisor Magazine and other publications on Office and SmartSuite integration with Notes </li></ul></ul><ul><ul><li>LotusUserGroup.org contributing Author and Forum moderator </li></ul></ul><ul><li>www.johndavidhead.com </li></ul>
    5. 6. PSC Group, LLC <ul><li>IBM Premium Business Partner for 18+ Years </li></ul><ul><li>Microsoft Gold Partner </li></ul><ul><li>Notes 8 and NMFR Design Partner </li></ul><ul><li>Host of IdeaJam.net </li></ul><ul><li>Former Host of OpenNTF.org </li></ul><ul><li>Winner of 2007 Lotus Award! </li></ul><ul><li>Host of the following blogs: </li></ul><ul><ul><li>Ed Brill’s (www.edbrill.com)‏ </li></ul></ul><ul><ul><li>Alan Lepofsky’s Notes Tip’s (www.alanlepofsky.net)‏ </li></ul></ul><ul><ul><li>Alan Gartenberg - Sametime (www.adamgartenberg.com)‏ </li></ul></ul><ul><ul><li>Jeff Eisen – Hannover (www.jeffeisen.com)‏ </li></ul></ul><ul><ul><li>Domino Server Team (www.dominoblog.com)‏ </li></ul></ul><ul><ul><li>Lotus Connections Team </li></ul></ul><ul><ul><li>(synch.rono.us) </li></ul></ul><ul><ul><li>Chris Pepin – IBM CTO’s Office (www.chrispepin.com) </li></ul></ul>
    6. 7. The Demo Databases <ul><li>Presentation example database </li></ul><ul><ul><li>Single database with all examples </li></ul></ul><ul><ul><li>You can configure it for your Notes client </li></ul></ul><ul><ul><li>Example numbers in the presentation match those in the database </li></ul></ul><ul><li>Lotusphere 2008 session database </li></ul><ul><ul><li>From Genii Software </li></ul></ul><ul><ul><li>Updated version inside the demo database </li></ul></ul><ul><li>Personal name and address book </li></ul><ul><ul><li>My demos work with the standard Notes 6, 7, and 8 templates </li></ul></ul>
    7. 8. Let’s take a little poll … <ul><li>Who is using … </li></ul><ul><ul><li>Office 97 and earlier </li></ul></ul><ul><ul><li>Office 2000 </li></ul></ul><ul><ul><li>Office XP </li></ul></ul><ul><ul><li>Office 2003 </li></ul></ul><ul><ul><li>Office 2007 </li></ul></ul><ul><ul><li>OpenOffice / StarOffice </li></ul></ul><ul><ul><li>Lotus Symphony </li></ul></ul><ul><ul><li>Other </li></ul></ul>
    8. 9. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    9. 10. OpenOffice.org — The History <ul><li>StarDivision StarOffice written in the mid 80s </li></ul><ul><li>Bought by Sun Microsystems in 1999, StarOffice released in August 1999 </li></ul><ul><li>Source code released October 2000 </li></ul><ul><li>OpenOffice.org 1.0 released May 2002, 2.0 in October 2005 </li></ul><ul><li>OpenDocument format becomes international standard ISO/IEC 26300 November 2006 </li></ul><ul><li>IBM Lotus Workplace Productivity Editors released 2005 </li></ul><ul><ul><li>Based on OpenOffice.org 1.1 </li></ul></ul><ul><li>OpenOffice.org 2.2 released March 2007 </li></ul><ul><li>Notes 8 to include IBM Productivity Tools, based on OpenOffice.org 1.1X </li></ul><ul><li>Lotus Symphony Beta 1 released in October 2007, Beta 2 in December 2007 </li></ul>
    10. 11. What is OpenOffice.org? <ul><li>Free office suite </li></ul><ul><li>Description from their Web site </li></ul><ul><ul><li>“ 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.” </li></ul></ul><ul><li>Their mission statement </li></ul><ul><ul><li>“ 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.” </li></ul></ul>
    11. 12. What is OpenOffice.org? (cont.) <ul><li>Getting past the marketing message </li></ul><ul><ul><li>OpenOffice.org is an alternative to Microsoft Word, Excel, and PowerPoint, and it is free </li></ul></ul><ul><li>Provides the following applications: </li></ul><ul><ul><li>Writer — document editor </li></ul></ul><ul><ul><li>Impress — presentation program </li></ul></ul><ul><ul><li>Math — math function creator </li></ul></ul><ul><ul><li>Draw — vector drawing tool </li></ul></ul><ul><ul><li>Calc — spreadsheet </li></ul></ul><ul><ul><li>Base — database </li></ul></ul>
    12. 13. Why Should I Care About OpenOffice.org? <ul><li>Only office suite that supports Open Document Format (ODF) 100% </li></ul><ul><li>A free alternative to Microsoft Office </li></ul><ul><li>Runs on three platforms </li></ul><ul><ul><li>Windows </li></ul></ul><ul><ul><li>Mac </li></ul></ul><ul><ul><li>Linux </li></ul></ul><ul><li>Saves to PDF natively </li></ul><ul><li>OpenOffice.org is the basis of the IBM Productivity Tools included with IBM Lotus Notes 8 </li></ul>
    13. 14. OpenOffice.org — Licensing <ul><li>What is the licensing? </li></ul><ul><ul><li>LGPL — the GNU Lesser General Public License </li></ul></ul><ul><ul><li>“ Lesser” means that non-free code can be integrated with OpenOffice.org (roughly speaking) </li></ul></ul><ul><li>Is it really free? </li></ul><ul><ul><li>Yes </li></ul></ul><ul><li>Will it always be free? </li></ul><ul><ul><li>Yes </li></ul></ul>
    14. 15. OpenOffice.org  StarOffice <ul><li>StarOffice is Sun’s packaged version of OpenOffice.org </li></ul><ul><li>Sun adds other software, services, and support </li></ul><ul><li>For development purposes, you can write code that runs in both </li></ul>
    15. 16. The Notes 8 Productivity Editors <ul><li>How do they relate to OpenOffice.org? </li></ul><ul><ul><li>They are based on OpenOffice.org 1.1 </li></ul></ul><ul><ul><li>IBM has made changes since the code branch </li></ul></ul><ul><li>Do they support ODF? </li></ul><ul><ul><li>Yes, as well as Microsoft Office 97 through 2003 </li></ul></ul><ul><li>Do they have an API? </li></ul><ul><ul><li>Yes, an HTML-like document API </li></ul></ul><ul><ul><li>Supported in Eclipse.org development and composite applications </li></ul></ul><ul><li>What about LotusScript? </li></ul><ul><ul><li>No support for LotusScript or OLE/COM in 8.0.0 </li></ul></ul><ul><ul><li>8.0.1 adds basic OLE/COM support </li></ul></ul>
    16. 17. What is Lotus Symphony? <ul><li>IBM branded the Notes 8 Productivity Tools as Lotus Symphony </li></ul><ul><li>Released them independent of the Notes 8 Standard Client </li></ul><ul><li>Beta 1 was released in Oct 07 </li></ul><ul><li>Beta 2 was released in Nov 07 </li></ul><ul><li>Beta 3 was released in Jan 08 </li></ul><ul><li>IBM is on a 6 week release cycle with Symphony </li></ul><ul><li>These are updated from what we have in Notes 8.0.0 </li></ul><ul><ul><li>Will 8.0.1 have the Symphony branding and updated code? </li></ul></ul><ul><ul><li>Yes </li></ul></ul>
    17. 18. Lotus Symphony Details <ul><li>Free </li></ul><ul><li>Download from www.lotus.com/symphony </li></ul><ul><li>Support will be offered in 2008 </li></ul><ul><li>Free </li></ul><ul><li>Runs inside the Eclipse.org and Lotus Expidetor framework (just like Notes 8) </li></ul><ul><li>Free </li></ul><ul><li>And did I say Free?  </li></ul>
    18. 19. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    19. 20. Introduction to OpenOffice.org Development <ul><li>Designed on an interface-based component model called Universal Network Objects (UNO) </li></ul><ul><li>UNO definition </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>UNO components can be implemented in, and accessed from, any programming language for which a UNO language binding exists </li></ul></ul>
    20. 21. Does this work with Lotus Symphony <ul><li>All of the demos (minus one) will be done using Lotus Symphony </li></ul><ul><li>You will need Notes 8.0.1 for these to work </li></ul><ul><ul><li>IBM has exposed the Lotus Symphony objects to the registry to allow COM to work </li></ul></ul><ul><li>If you want run the demos in 8.0.0, they will invoke OpenOffice.org </li></ul><ul><li>There is a way to hack 8.0.0 to work, but it is not supported </li></ul>
    21. 22. What is the ServiceManager? <ul><li>ServiceManager is similar to the NotesSession class </li></ul><ul><li>It is a factory class that gets you to other places </li></ul><ul><ul><li>Set SM=CreateObject(&quot;com.sun.star.ServiceManager&quot;) </li></ul></ul><ul><li>Think of the ServiceManager as a back-end class, and we want the front end (like NotesUIWorkspace) </li></ul><ul><ul><li>Set Desktop=SM.createInstance(&quot;com.sun.star.frame.Desktop&quot;) </li></ul></ul>
    22. 23. What Did That Do? <ul><li>Calling the ServiceManager created an OpenOffice.org window, but we need to do more … </li></ul>
    23. 24. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    24. 25. Let’s Start Writer — Word Processing Application <ul><li>So far we have an OpenOffice.Org window, but it doesn’t know what application it will be — we have to tell it </li></ul><ul><ul><li>Dim args() </li></ul></ul><ul><ul><li>Set WriterApplication=Desktop.loadComponentFromURL (&quot;private:factory/swriter&quot;,&quot;_blank&quot;,0,args) </li></ul></ul><ul><li>Args is a variant array </li></ul><ul><ul><li>We don’t want to pass any parameters, but it must be an array </li></ul></ul><ul><li>The “s” in “swriter” stands for “Star” </li></ul><ul><li>Now we have a word processor up and running </li></ul>
    25. 26. The Picture So Far <ul><li>Now we have an application open </li></ul><ul><li>Time to do something! </li></ul>
    26. 27. Let’s Add Some Text <ul><li>First, we need to get a handle to the text part of the document </li></ul><ul><ul><li>Set WriterText=WriterApplication.getText() </li></ul></ul><ul><li>Next, we need a cursor position where we can insert the text </li></ul><ul><ul><li>Set Cursor=WriterText.createTextCursor() </li></ul></ul><ul><li>Finally, we can make the traditional greeting </li></ul><ul><ul><li>Call WriterText.insertString(Cursor,&quot;Hello World!&quot;,False) </li></ul></ul>
    27. 28. Hello World! <ul><li>After executing all of the code we walked through, this is the result </li></ul><ul><li>Now let’s try it for real </li></ul>
    28. 29. Notes to Writer/Lotus Symphony Documents Demo — Example 1 “ Hello World” from Notes to Writer/ Lotus Symphony Documents
    29. 30. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    30. 31. Let’s Start Calc — Spreadsheet Application <ul><li>Calc uses a different URL to define the application </li></ul><ul><ul><li>Set CalcApplication = Desktop.loadComponentFromURL_(&quot;private:factory/scalc&quot;,&quot;_blank&quot;,0,args) </li></ul></ul><ul><li>The command above creates the workbook </li></ul><ul><li>Next, we need to get the first sheet </li></ul><ul><ul><li>Set Worksheet=CalcApplication.Sheets.getByName(&quot;Sheet1&quot;) </li></ul></ul>
    31. 32. Let’s Start Calc — Spreadsheet Application (cont.) <ul><li>Finally, we access the cell into which we want to enter text </li></ul><ul><ul><li>Set cell=Worksheet.getCellByPosition(3,6) </li></ul></ul><ul><li>We have set the string in a cell, but which cell is it? </li></ul>
    32. 33. Calc/Lotus Symphony Spreadsheets “Hello World” Demo — Example 2 “ Hello World” with Notes and Calc/ Lotus Symphony Spreadsheets Where will the text go?
    33. 34. Notes with Calc — D7! <ul><li>Why did the text go into cell D7? </li></ul><ul><li>Didn’t we write to cell (3,6)? </li></ul>
    34. 35. Rows and Columns Are Numbered from Zero <ul><li>Just like arrays in Notes, the index starts at 0! </li></ul>
    35. 36. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    36. 37. Introduction to Impress <ul><li>Impress and Draw are almost the same application </li></ul><ul><li>Pages contain shapes </li></ul><ul><li>Shapes can contain text </li></ul><ul><li>Text is handled just as it is in Writer </li></ul>
    37. 38. Let’s Start Impress — Presentation Application <ul><li>To create the instance of Impress, call its URL </li></ul><ul><ul><li>Set ImpressApplication=Desktop.loadComponentFromURL_ (&quot;private:factory/simpress&quot;,&quot;_blank&quot;,0,args) </li></ul></ul><ul><li>Next, call the getDrawPages function to create the default presentation </li></ul><ul><ul><li>Set Presentation=ImpressApplication.getDrawPages() </li></ul></ul><ul><li>To get the first slide, use the getByIndex method </li></ul><ul><ul><li>Set Slide=Presentation.getByIndex(0) </li></ul></ul>
    38. 39. Let’s Start Impress — Presentation Application (cont.) <ul><li>Each layout type has its own number </li></ul><ul><ul><li>To create a title page, enter the following: </li></ul></ul><ul><ul><ul><li>Slide.layout=1 </li></ul></ul></ul><ul><li>Finally, we need to get the title and handle it like it’s a Writer text object </li></ul><ul><ul><li>Set title=Slide.getbyindex(0) </li></ul></ul><ul><ul><li>Set TitleText=title.getText() </li></ul></ul><ul><ul><li>Set Cursor=TitleText.createTextCursor() </li></ul></ul><ul><ul><li>Call TitleText.insertString(Cursor,&quot;Hello World!&quot;,False) </li></ul></ul>
    39. 40. Impress and Notes — The Result
    40. 41. Impress/Lotus Symphony Presentations “Hello World” Demo — Example 3 “ Hello World” with Notes and Impress/ Lotus Symphony Presentations
    41. 42. The Help Files — How to Read Them <ul><li>Objects </li></ul><ul><li>Interfaces — collections of properties </li></ul><ul><li>In LotusScript you can use methods and properties from any interface </li></ul><ul><li>In Java and C you have to specify which interface you want to use </li></ul>
    42. 43. OpenOffice.org Help Demo — Example 4 Walking through help
    43. 44. Help from Your Browser <ul><li>You can get a Firefox extension for OpenOffice.org </li></ul><ul><li>Easier to navigate </li></ul>
    44. 45. More to Say Than “Hello” <ul><li>So far, you have seen the basics </li></ul><ul><ul><li>How to connect to OpenOffice.org from Notes </li></ul></ul><ul><ul><li>LotusScript and Java examples </li></ul></ul><ul><li>Now, let’s take a look at some real-world, useful demos </li></ul>
    45. 46. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    46. 47. Mail Merge Overview <ul><li>Same concepts as mail merge if you were using Microsoft Word </li></ul><ul><ul><li>User selects data </li></ul></ul><ul><ul><li>Generate data file </li></ul></ul><ul><ul><li>Detach template </li></ul></ul><ul><ul><li>Launch Writer </li></ul></ul><ul><ul><li>Execute mail merge </li></ul></ul><ul><ul><li>Produce end document </li></ul></ul><ul><li>Two steps today </li></ul><ul><ul><li>Build the data collection first </li></ul></ul><ul><ul><li>Then execute the mail merge </li></ul></ul>
    47. 48. Mail Merge Details <ul><li>Just like the other applications, mail merge has its own URL </li></ul><ul><ul><li>Set objMailMerge = objServiceManager.createInstance (&quot;com.sun.star.text.MailMerge&quot;) </li></ul></ul><ul><li>Mail merge has seven arguments </li></ul><ul><ul><li>DocumentURL </li></ul></ul><ul><ul><li>DataSourceName </li></ul></ul><ul><ul><li>CommandType </li></ul></ul><ul><ul><li>Command </li></ul></ul><ul><ul><li>OutputType </li></ul></ul><ul><ul><li>OutputURL </li></ul></ul><ul><ul><li>FileNamePrefix </li></ul></ul>
    48. 49. Mail Merge Details (cont.) <ul><li>Set the seven arguments </li></ul><ul><ul><li>Set args(1) = OOoNamedValue(&quot;DocumentURL&quot;, url) </li></ul></ul><ul><ul><li>Set args(0) = OOoNamedValue(&quot;DataSourceName&quot;, &quot;mrgdata&quot;) </li></ul></ul><ul><ul><li>Set args(2) = OOoNamedValue(&quot;CommandType&quot;, 0) </li></ul></ul><ul><ul><li>Set args(3) = OOoNamedValue(&quot;Command&quot;, &quot;mrgdata&quot;) </li></ul></ul><ul><ul><li>Set args(4) = OOoNamedValue(&quot;OutputType&quot;, 2) </li></ul></ul><ul><ul><ul><li>Output has two options </li></ul></ul></ul><ul><ul><ul><ul><li>1 = Send to printer </li></ul></ul></ul></ul><ul><ul><ul><ul><li>2 = Save to file </li></ul></ul></ul></ul><ul><ul><li>Set args(5) = OOoNamedValue(&quot;OutputURL&quot;, savelocation) </li></ul></ul><ul><ul><li>Set args(6) = OOoNamedValue(&quot;FileNamePrefix&quot;, &quot;mailmergeoutput1&quot;) </li></ul></ul>
    49. 50. Mail Merge Details (cont.) <ul><li>Finally, call the Execute method to complete the mail merge </li></ul><ul><ul><li>objMailMerge.Execute args() </li></ul></ul>
    50. 51. Mail Merge and Notes Demo — Example 5 Creating a mail merge letter from the Notes personal name and address book
    51. 52. Managing OpenOffice.org Templates <ul><li>How did I get that template in my new dialog? </li></ul><ul><li>Use the template installation tool </li></ul><ul><ul><li>Each template is a document </li></ul></ul><ul><ul><li>Supports OpenOffice.org Writer, Calc, and Impress applications </li></ul></ul><ul><li>Can also be used as a programmatic template tool </li></ul><ul><li>Located on OpenNTF.org and on the conference CD </li></ul>
    52. 53. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    53. 54. Spreadsheets with Calc <ul><li>How would you like your spreadsheet to work? </li></ul><ul><li>Something like this? </li></ul><ul><ul><li>Dim ss as new spreadsheet </li></ul></ul><ul><ul><li>ss.setcell(3,6, &quot;Hello World!&quot;) </li></ul></ul><ul><ul><li>ss.underline(3,6) </li></ul></ul><ul><ul><li>ss.rotate(3,6,45) </li></ul></ul><ul><ul><li>print ss.findrow(3, &quot;Hello World!&quot;) </li></ul></ul><ul><li>Creating spreadsheets is much easier when using a custom class — designed to make things easier for the developer </li></ul><ul><li>Removes much of the “hard stuff” </li></ul>
    54. 55. How It Works <ul><li>Class Spreadsheet </li></ul><ul><li>public cols list as Column </li></ul><ul><li>... </li></ul><ul><li>End Class </li></ul><ul><li>Class Column </li></ul><ul><li>public rows list as Cell </li></ul><ul><li>... </li></ul><ul><li>End Class </li></ul><ul><li>Class Cell </li></ul><ul><li>all the hard work happens here </li></ul><ul><li>End Class </li></ul><ul><li>Spreadsheet class </li></ul><ul><ul><li>Creates the Calc object </li></ul></ul><ul><ul><li>Creates the worksheet </li></ul></ul><ul><li>Developer creates columns and cells </li></ul><ul><li>These custom LotusScript classes allow you to build more generic code </li></ul><ul><ul><li>For example, the ability to export and chart any Notes view without changing the code </li></ul></ul>
    55. 56. Advanced Calc/Lotus Symphony Spreadsheets This sample was created by Alan Bell of Dominux Consulting Demo — Example 6 Create a spreadsheet using advanced Calc/LSSP integration
    56. 57. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    57. 58. Using OpenOffice.org/Lotus Symphony Within Your Applications <ul><li>Add value by: </li></ul><ul><ul><li>Writer — printing </li></ul></ul><ul><ul><li>Calc — number crunching and charting </li></ul></ul><ul><ul><li>Impress — presentations </li></ul></ul><ul><li>One of the great value adds you get is PDF generation </li></ul><ul><li>Instead of “exporting” to ODF, you select PDF </li></ul>
    58. 59. Exporting to PDF <ul><li>Creating a PDF from any OpenOffice.org application is very easy </li></ul><ul><ul><li>args1.Name = &quot;URL&quot; </li></ul></ul><ul><ul><li>args1.Value = &quot;file:///&quot;+strOutputFN </li></ul></ul><ul><ul><li>args2.Name = &quot;FilterName&quot; </li></ul></ul><ul><ul><li>args2.Value = &quot;writer_pdf_Export&quot; </li></ul></ul><ul><ul><li>Set argsFinal(0)=args1 </li></ul></ul><ul><ul><li>Set argsFinal(1)=args2 </li></ul></ul><ul><ul><li>Kill strKillFN </li></ul></ul><ul><ul><li>Call objDocument.storeToURL(&quot;file:///&quot;+strOutputFN,argsFinal) </li></ul></ul><ul><li>A PDF of the same name as the file will be saved </li></ul>
    59. 60. OpenOffice.org Integration in a Real-World Application Demo — Example 7 An invoicing application that uses OpenOffice.org
    60. 61. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    61. 62. Using the Productivity Editor Toolkit <ul><li>Documentation and samples for integrating the Notes 8 Productivity Editors with Notes 8 Standard </li></ul><ul><li>Lotus Productivity Toolkit 8.0 Windows.exe </li></ul><ul><li>Download this from IBM Passport Advantage or PartnerWorld </li></ul><ul><li>Targeted at people who know: </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>HTML internals </li></ul></ul><ul><ul><li>OPF </li></ul></ul><ul><li>Most of the time you will use this from a Composite Application (CA) </li></ul>
    62. 63. Productivity Tools Architecture
    63. 64. Automating Lotus Symphony Demo — Example 8 Lotus Symphony within a Composite Application
    64. 65. Third-Party Application Support <ul><li>Product vs. Custom Development </li></ul><ul><li>Both have their place </li></ul><ul><li>Integra for Notes Symphony Edition </li></ul><ul><li>Supports Lotus Symphony and the Notes Productivity Editors </li></ul><ul><li>Required 8.0.1 </li></ul><ul><li>Lotus Spreadsheets support today </li></ul><ul><li>Shipping at Lotusphere2008! </li></ul>www.integra4notes.com BOOTH 710
    65. 66. Third-Party Application Support Demo — Example 9 Integra for Notes Lotus Symphony Edition
    66. 67. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    67. 68. 2008 and Beyond <ul><li>Lotus Symphony will continue to mature </li></ul><ul><li>Notes 8.0.1 will have an updated version </li></ul><ul><li>Notes 8.5 will have an updated version </li></ul><ul><li>Will we be able to upgrade Symphony in Notes ourselves? </li></ul><ul><li>We have multiple options </li></ul><ul><ul><li>Office, Symphony, OpenOffice.org, etc. </li></ul></ul><ul><li>The battle is just begun </li></ul><ul><ul><li>ODF vs. Office XML (OOXML) </li></ul></ul><ul><li>Competition will be good for us … if we can deal with all the changes </li></ul>
    68. 69. Agenda <ul><li>Who am I? </li></ul><ul><li>OpenOffice.org Background </li></ul><ul><li>Introduction to OpenOffice.org Development </li></ul><ul><li>Writer/Symphony Documents </li></ul><ul><li>Calc/Symphony Spreadsheets </li></ul><ul><li>Impress/Symphony Presentations </li></ul><ul><li>Writer Mail Merge </li></ul><ul><li>Advanced Calc/Lotus Spreadsheets </li></ul><ul><li>Using Lotus Symphony in your Applications </li></ul><ul><li>Productivity Editor Toolkit and Composite Applications </li></ul><ul><li>Looking forward </li></ul><ul><li>Wrap-up and Q&A </li></ul>I am sharing 9 samples in 60 minutes … get ready!
    69. 70. Sessions you should see this week <ul><li>Reports, Charts, and Graphs in IBM Lotus Notes </li></ul><ul><ul><li>Julian Robichaux & Rob McDonagh </li></ul></ul><ul><ul><li>Swan 5-6 - Wednesday 3:00pm - 4:00pm </li></ul></ul><ul><li>A Jug of Wine, a Spreadsheet, and Thee </li></ul><ul><ul><li>Ben Langhinrichs </li></ul></ul><ul><ul><li>Swan 7-10 - Thursday 10:00am - 11:00am </li></ul></ul>
    70. 71. Resources <ul><li>OpenOffice.org </li></ul><ul><ul><li>www.openoffice.org </li></ul></ul><ul><li>OpenOffice.org Developer’s Guide </li></ul><ul><ul><li>http://api.openoffice.org/DevelopersGuide/Developers Guide.html </li></ul></ul><ul><li>OpenOffice.org Firefox help add-ons </li></ul><ul><ul><li>https://addons.mozilla.org/en-US/firefox/addon/4102 </li></ul></ul><ul><li>OOExtras — templates and goodies for OpenOffice.org </li></ul><ul><ul><li>http://ooextras.sourceforge.net/ </li></ul></ul><ul><li>John Head’s blog http://www.johndavidhead.com </li></ul><ul><li>Slides and content available from http://www.johndavidhead.com http://www.psclistens.com </li></ul>
    71. 72. Resources (cont.) <ul><li>Programming OpenOffice.org with Visual Basic </li></ul><ul><ul><li>www.kalitech.fr/clients/doc/VB_APIOOo_en.html </li></ul></ul><ul><li>Alan Bell’s blog — UK IBM partner who does a great deal of OpenOffice.org integration </li></ul><ul><ul><li>www.dominux.co.uk/dominuxblog.nsf </li></ul></ul><ul><li>OpenNTF.org — the open source Web site for Notes </li></ul><ul><ul><li>www.openntf.org </li></ul></ul><ul><li>Integra4Notes Web site </li></ul><ul><ul><li>www.integra4notes.com </li></ul></ul><ul><li>PSC’s Reporting and Office Integration page </li></ul><ul><ul><li>www.psclistens.com/enTouchCMS/app/viewCategory? catgId=66 </li></ul></ul>
    72. 73. Thank You! Questions & Answers We will be in the speaker room after the session Please remember to fill out your evaluation. www.lotusphere08surveyonline.com [email_address] www.johndavidhead.com www.psclistens.com Special thanks to Alan Bell for some of the demos

    ×