89
Lotus Symphony and You How to stop giving Microsoft your money!

Uklug 2009 Lotus Symphony

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Uklug 2009   Lotus Symphony

Lotus Symphony and You

How to stop giving Microsoft your money!

Page 2: Uklug 2009   Lotus Symphony

Before we begin …

• Please turn off/set to vibrate/mute allCell PhonesPagersComputers

• If they go off and I hear them, they are mine

Please remember to fill out your evaluations

Page 3: Uklug 2009   Lotus Symphony

50 Minutes of John talking about …

• Lotus Symphony

– The Executive Perspective

– The User Perspective

– The Developer Perspective

Page 4: Uklug 2009   Lotus Symphony

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

Page 5: Uklug 2009   Lotus Symphony

PSC Group, LLC

IBM Premium Business Partner for

19+ Years

Microsoft Managed Partner

Notes & Domino 8.5 Design Partner

OpenNTF.org Alliance Member,

Steering Committee Company, & Former

Host of OpenNTF.org

Winner of 2007 & 2009 Lotus Awards!

• Host of the following blogs:• Ed Brill’s

(www.edbrill.com)

• Lotus Design Blog(Mary Beth

Raven)

(www.notesdesign.com)

• LotusStaffNotes (Brent Peters)

(www.lotusstaffnotes.com)

• Lotus Connections Team

(synch.rono.us)

• Lotus Sametime

(www.thesametimeblog.com)

• Domino Server Team

(www.dominoblog.com)

• Lotus Mashups

(www.mix-and-mash.com)

• Chris Pepin – IBM CTO’s Office

(www.chrispepin.com)

Page 6: Uklug 2009   Lotus Symphony

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

Page 7: Uklug 2009   Lotus Symphony

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

Page 8: Uklug 2009   Lotus Symphony

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.‖

Page 9: Uklug 2009   Lotus Symphony

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

Page 10: Uklug 2009   Lotus Symphony

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

Page 11: Uklug 2009   Lotus Symphony

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

Page 12: Uklug 2009   Lotus Symphony

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

Page 13: Uklug 2009   Lotus Symphony

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

Page 14: Uklug 2009   Lotus Symphony

Microsoft Office is cheap!

• This is the #1 misconception in our

industry

• Microsoft is more expensive than Lotus …

• ―Prove It‖

• OK …

Lotus Symphony – The Executive Perspective

Page 15: Uklug 2009   Lotus Symphony

The Microsoft Desktop vs. Lotus Collaboration Suite Cost

Note: All MS prices are approximate Open Price License prices in US$

Lotus Symphony – The Executive Perspective

Page 16: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Executive Perspective

Page 17: Uklug 2009   Lotus Symphony

Microsoft Exchange Server 2007

Lotus Symphony – The Executive Perspective

Page 18: Uklug 2009   Lotus Symphony

Microsoft Office Communication Server 2007

Lotus Symphony – The Executive Perspective

Page 19: Uklug 2009   Lotus Symphony

Microsoft Sharepoint Server 2007

Lotus Symphony – The Executive Perspective

Page 20: Uklug 2009   Lotus Symphony

Microsoft Office Enterprise 2007

Lotus Symphony – The Executive Perspective

Page 21: Uklug 2009   Lotus Symphony

The Microsoft Desktop vs. Lotus Collaboration Suite with Enterprise CALS

Note: All MS prices are approximate Open Price License prices in US$

Lotus Symphony – The Executive Perspective

Page 22: Uklug 2009   Lotus Symphony

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!

Lotus Symphony – The Executive Perspective

Page 23: Uklug 2009   Lotus Symphony

The Microsoft Desktop vs. Lotus Collaboration Suite with Enterprise CALS and SA

Note: All MS prices are approximate Open Price License prices in US$

Lotus Symphony – The Executive Perspective

Page 24: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Executive Perspective

Page 25: Uklug 2009   Lotus Symphony

The Microsoft Desktop vs. Lotus Collaboration SuiteCost with Enterprise CALS and SA

Note: All MS prices are approximate Open Price License prices in US$

Lotus Symphony – The Executive Perspective

Page 26: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Executive Perspective

Page 27: Uklug 2009   Lotus Symphony

So what am I paying for?

Lotus Symphony – The Executive Perspective

Page 28: Uklug 2009   Lotus Symphony

What about support?

Support Option 1

Symphony Embedded Version

–Passport Advantage support

–Included with purchase of other products

• Notes 8, 8.5, & 8.5.1

• Foundations

–No additional charge

Support Option 2

Standalone Symphony Free Support

– Web based moderated forum support

– Forums monitored by IBM and the community

– 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

Lotus Symphony – The Executive Perspective

Page 29: Uklug 2009   Lotus Symphony

Resources

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

Microsoft’s collaboration strategy

based on lessons learned from

hundreds of customers

engagements.

[email protected]

• www.ibm.com/software/info/liberate

Executive Briefings

• 2 Day on-site briefings

• Covers the Lotus Symphony story

for

– Executives

– Administrators

– Developers

• Includes a Microsoft Office

assessment and strategy white

paper

• Contact [email protected] for

more info

Lotus Symphony – The Executive Perspective

Page 30: Uklug 2009   Lotus Symphony

Lotus Symphony – The User Perspective

• Why would a user want to use something other than Office?

• Why are they using Google Docs?

Page 31: Uklug 2009   Lotus Symphony

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!

Lotus Symphony – The User Perspective

Page 32: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 33: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 34: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 35: Uklug 2009   Lotus Symphony

Lotus Symphony File Formats

• Additional supported formats– Export documents, spreadsheets and presentations to Adobe PDF

– Import Lotus SmartSuite documents, spreadsheets, and presentations

Lotus Symphony – The User Perspective

Application ISO/IEC ODF Microsoft

Office

OpenOffice.or

g XML

Other

Formats

Documents .odt .doc, dot

read .docx,

dotx

.sxw .rtf

.txt

Spreadsheets .ods .xls, xlt

read .xlsx, xltx

.sxc .csv

Presentations .odp .ppt, pot

Read .pptx,

potx

.sxi

Page 36: Uklug 2009   Lotus Symphony

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)

Lotus Symphony – The User Perspective

Page 37: Uklug 2009   Lotus Symphony
Page 38: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 39: Uklug 2009   Lotus Symphony
Page 40: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 41: Uklug 2009   Lotus Symphony
Page 42: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 43: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The User Perspective

Page 44: Uklug 2009   Lotus Symphony

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

Page 45: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Developer Perspective

Page 46: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Developer Perspective

Page 47: Uklug 2009   Lotus Symphony

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")

Lotus Symphony – The Developer Perspective

Page 48: Uklug 2009   Lotus Symphony

What Did That Do?

• Calling the ServiceManager created an OpenOffice.org window, but we need to do more …

Lotus Symphony – The Developer Perspective

Page 49: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Developer Perspective

Page 50: Uklug 2009   Lotus Symphony

The Picture So Far

• Now we have an application open

• Time to do something!

Lotus Symphony – The Developer Perspective

Page 51: Uklug 2009   Lotus Symphony

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)

Lotus Symphony – The Developer Perspective

Page 52: Uklug 2009   Lotus Symphony

Hello World!

• After executing all of that code, this is the result• Now let’s try it for real

Lotus Symphony – The Developer Perspective

Page 53: Uklug 2009   Lotus Symphony

Notes to Writer/Lotus Symphony Documents

Demo — Example 1

“Hello World” from

Notes to Writer/

Lotus Symphony Documents

Lotus Symphony – The Developer Perspective

Page 54: Uklug 2009   Lotus Symphony

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")

Lotus Symphony – The Developer Perspective

Page 55: Uklug 2009   Lotus Symphony

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?

Lotus Symphony – The Developer Perspective

Page 56: Uklug 2009   Lotus Symphony

Calc/Lotus Symphony Spreadsheets ―Hello World‖

Demo — Example 2

“Hello World” with

Notes and Calc/

Lotus Symphony

Spreadsheets

Where will the text go?

Lotus Symphony – The Developer Perspective

Page 57: Uklug 2009   Lotus Symphony

Notes with Calc — D7!

• Why did the text go into cell D7?

• Didn’t we write to cell (3,6)?

Lotus Symphony – The Developer Perspective

Page 58: Uklug 2009   Lotus Symphony

Rows and Columns Are Numbered from Zero

• Just like arrays in Notes, the index starts at 0!

Lotus Symphony – The Developer Perspective

Page 59: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Developer Perspective

Page 60: Uklug 2009   Lotus Symphony

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)

Lotus Symphony – The Developer Perspective

Page 61: Uklug 2009   Lotus Symphony

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)

Lotus Symphony – The Developer Perspective

Page 62: Uklug 2009   Lotus Symphony

Impress and Notes — The Result

Lotus Symphony – The Developer Perspective

Page 63: Uklug 2009   Lotus Symphony

Impress/Lotus Symphony Presentations ―Hello World‖

Demo — Example 3

“Hello World” with

Notes and Impress/

Lotus Symphony

Presentations

Lotus Symphony – The Developer Perspective

Page 64: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Developer Perspective

Page 65: Uklug 2009   Lotus Symphony

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

Lotus Symphony – The Developer Perspective

Page 66: Uklug 2009   Lotus Symphony

OpenOffice.org Integration in a Real-World Application

Demo — Example 4

An invoicing

application that uses

OpenOffice.org

Lotus Symphony – The Developer Perspective

Page 67: Uklug 2009   Lotus Symphony

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)

Lotus Symphony – The Developer Perspective

Page 68: Uklug 2009   Lotus Symphony

Productivity Tools Architecture

Lotus Symphony – The Developer Perspective

Page 69: Uklug 2009   Lotus Symphony

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

Page 70: Uklug 2009   Lotus Symphony

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

Page 71: Uklug 2009   Lotus Symphony

Lotus Symphony Plug-ins

Demo — Example 5

Insert Graphic Demo

Lotus Symphony – The Developer Perspective

More info in the ―IBM Lotus Symphony Developer's Guide.pdf‖ that

comes with the Symphony Toolkit

Page 72: Uklug 2009   Lotus Symphony

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

Page 73: Uklug 2009   Lotus Symphony

Symphony Documents LotusScript API

Page 74: Uklug 2009   Lotus Symphony

Symphony Spreadsheets LotusScript API

Page 75: Uklug 2009   Lotus Symphony

Symphony Presentations LotusScript API

Page 76: Uklug 2009   Lotus Symphony

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

Page 77: Uklug 2009   Lotus Symphony

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

Page 78: Uklug 2009   Lotus Symphony

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:\FileTypeAssociation\test.ott",True,True)

Page 79: Uklug 2009   Lotus Symphony

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

Page 80: Uklug 2009   Lotus Symphony

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")

Page 81: Uklug 2009   Lotus Symphony

“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")

Page 82: Uklug 2009   Lotus Symphony

Lotus Symphony API via LotusScript

Demo — Example 6

“Hello World” in

Documents using

LotusScript

Lotus Symphony – The Developer Perspective

More info in the ―Symphony Developer's Guide for Notes.pdf‖ that comes

with the Symphony Toolkit

Page 83: Uklug 2009   Lotus Symphony

Lotus Symphony API via LotusScript

Demo — Example 7

Generating a

Document via

LotusScript

Lotus Symphony – The Developer Perspective

More info in the ―Symphony Developer's Guide for Notes.pdf‖ that comes

with the Symphony Toolkit

Page 84: Uklug 2009   Lotus Symphony

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

Page 85: Uklug 2009   Lotus Symphony

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

• Lotus Spreadsheets support

today

www.integra4notes.com

Lotus Symphony – The Developer Perspective

Page 86: Uklug 2009   Lotus Symphony

Lotus Symphony Programmability SummarySymphony in Notes 8.5.1 Symphony 1.3 Symphony in Expeditor

(future)

Eclipse Plug-in Yes Yes Yes

Composite Application

Yes (in nsf) Yes Yes (via Portal)

Lotuscript Support

Yes No No

Server Support/Managed

Domino No Lotus Expeditor Server Websphere Portal

Local services Editors/Mail/Calendar/... Editors, Web Browser Editors/DB2e/Encryption...

Development Tools

Toolkit for Productivity Tools

Domino Desinger

Symphony Toolkit Expeditor Toolkit

Support Service Symphony Web Site Service

Skills needed for developers

Notes/Java Eclipse, Java, Expeditor

Expeditor/Portal

Page 87: Uklug 2009   Lotus Symphony

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

Page 88: Uklug 2009   Lotus Symphony

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

Page 89: Uklug 2009   Lotus Symphony

Questions?

John Head

[email protected] www.johndavidhead.com

Twitter: johnhead