mmlug 2009 integration and coexistence session

53
Integration and Coexistence: Leveraging Lotus & Microsoft products to build better solutions John Head PSC Group, LLC MWLUG Conference 2009 Empowering the Lotus Community IBM Center Chicago, IL August 27-28, 2009

Upload: john-head

Post on 02-Nov-2014

1.904 views

Category:

Technology


3 download

DESCRIPTION

Integration and Coexistence: Leveraging Lotus & Microsoft products to build better solutions.

TRANSCRIPT

Page 1: MMLUG 2009   Integration And Coexistence Session

Integration and Coexistence:

Leveraging Lotus & Microsoft

products to build better solutions

John Head

PSC Group, LLC

MWLUG Conference 2009Empowering the Lotus

Community

IBM Center

Chicago, IL

August 27-28, 2009

Page 2: MMLUG 2009   Integration And Coexistence Session

Before We Begin

• Please turn off/set to vibrate/mute all

Cell Phones

Pagers

Computers

Please remember to fill out your

evaluations

Page 3: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 4: MMLUG 2009   Integration And Coexistence Session

Who Are We?

• 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

Page 5: MMLUG 2009   Integration And Coexistence Session

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: MMLUG 2009   Integration And Coexistence Session

Demo Databases

• Presentation example database

– Single database with all examples

– You can configure it for your Notes client

– Example numbers in the presentation match those in the

database

• Lotusphere 2009 session database

– From Genii Software

– Updated version inside the demo database

• Personal name and address book

– My demos work with the standard Notes 6, 7, 8, & 8.5

templates

Page 7: MMLUG 2009   Integration And Coexistence Session

Let’s take a little poll …

• Who is using …

– Office 97 and earlier

– Office 2000

– Office XP

– Office 2003

– Office 2007

– Office 2010 Beta

– OpenOffice / StarOffice

– Lotus Symphony

– iWork

– Other

Page 8: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 9: MMLUG 2009   Integration And Coexistence Session

Integration History

• 1994

– DDE with Ami Pro

• 1996

– Notes R4

– OLE

– LotusScript

– VBA

• 1997

– SmartSuite with LotusScript (Word Pro)

• 1998

– Notes R5 with COM support

• 2001

– Notes Domino 6

• 2004

– Notes Domino 6.5 with LS2J and DXL

• 2005

– Notes Domino 7 with Web services

• 2007

– 2007 Office System

– Lotus Notes/Domino 8

– Lotus Symphony

• 2008

– Visual Studio 2008

– Notes/Domino 8.5

• 2009– Notes/Domino 8.5.1

• 2010– Visual Studio 2010

– Office 2010

Page 10: MMLUG 2009   Integration And Coexistence Session

The Good News

• We have entered the ―Industrial Revolution‖ period of

the Integration Era

• In the ―Medieval Times‖

– DDE with Ami Pro

– NotesSQL was used to get even the most basic of data

– OLE embedding

– Notes F/X

Page 11: MMLUG 2009   Integration And Coexistence Session

The Good News (continued)

• The Renaissance brought us new tools

– OLE automation

– COM automation

– And much more

• The Revolution brings us major changes

– A true competitor to Office

– Visual Studio.NET 2008 and VSTO 3.0

– Code begins to move from inside a document to complete

applications

Page 12: MMLUG 2009   Integration And Coexistence Session

Integration from the Notes Client

• Integrating Microsoft Word

• Integrating Lotus Symphony Documents

• Mail Merge

• Integrating Microsoft Excel

Page 13: MMLUG 2009   Integration And Coexistence Session

Integration from Notes

• From Notes, you will write code to manipulate the

application

• In most cases, you will be converting Visual Basic for

Applications (VBA) code to LotusScript

• The VBA code will be written so it saves in Notes as

LotusScript

• Once you get the knack of converting the code, you

can focus on the process vs. the code

Page 14: MMLUG 2009   Integration And Coexistence Session

Creating a Word Document — ―Hello World‖

Demo — Example 1

Launch Microsoft

Word and enter

some text

Page 15: MMLUG 2009   Integration And Coexistence Session

The Easiest Way to Start

• Microsoft Office provides us with a recorder

• Records all keyboard actions

– Mouse actions are sometimes recorded, so avoid

when possible

• Generates VBA code for you

• Easy way to learn how something is done

– Table is created

– Page settings are set

– etc.

Page 16: MMLUG 2009   Integration And Coexistence Session

Use the MS Constants Database

• Provides a listing of all Microsoft

Office variables and their

converted constants

• Extraction of constants by

John Collidge

• Database built by Tom Duff

• OpenNTF.org project

• Supports Microsoft Office 2000,

XP, 2003, and 2007

• More features planned!

Page 17: MMLUG 2009   Integration And Coexistence Session

Word Template — Data from Notes

Demo — Example 2

Create a new document

Prompt user

Place data into document

Page 18: MMLUG 2009   Integration And Coexistence Session

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

Page 19: MMLUG 2009   Integration And Coexistence Session

Notes to Writer

Demo — Example 3

“Hello World” from

Notes to

Symphony Documents

Page 20: MMLUG 2009   Integration And Coexistence Session

Merging Mail from Notes

• Most requested Notes-to-Office Integration

functionality

• Users have no idea how to get data from

Notes into Word

• Lotus has not provided this functionality …

yet

• Quick win for you — take this code back and

add it to your boss’s personal name and

address book and be the HERO!

Page 21: MMLUG 2009   Integration And Coexistence Session

Mail Merge from Address Book

Demo — Example 4

Generate a mail merge

from the personal

name and address

book

Page 22: MMLUG 2009   Integration And Coexistence Session

Integration with Microsoft Excel

• Working with Excel is very different from Word

• The objects we use are different

• In Excel, we tend to move more data from Notes to

the application

– Lots of rows in Excel vs. filling in bookmarks in Word

Microsoft Word Microsoft Excel

Text Position/Cursor Cell

Paragraph Range

Page Worksheet

Document Workbook

Page 23: MMLUG 2009   Integration And Coexistence Session

Working with Microsoft Excel

Demo — Example 5

Create a spreadsheet

from Notes data and

generate a chart

Page 24: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 25: MMLUG 2009   Integration And Coexistence Session

Moving to the Other Side

• This part covers the more advanced subjects

– Such as automating Lotus Notes from Microsoft

Office and other technologies

– We will use COM, XML, Web services, and .NET

technologies

– As the title suggests, this part is more technical We

are about to pick up the pace

Page 26: MMLUG 2009   Integration And Coexistence Session

Automation from the Microsoft Side

• Many integration scenarios require that user interaction

start, or solely be, from an application other than Notes

• Many times we will not have the Notes client installed

• We will not be writing LotusScript

– We may call LotusScript through the Notes COM interface

• We need to take advantage of ―new‖ technologies

– XML

– Web services

– .NET

– Managed code

Page 27: MMLUG 2009   Integration And Coexistence Session

Demo — Example 6

Word template that

reads a Notes database

via a Web service

Page 28: MMLUG 2009   Integration And Coexistence Session

Microsoft Excel and XML

Demo — Example 7

Importing Domino data

into a spreadsheet

using XML

Page 29: MMLUG 2009   Integration And Coexistence Session

VSTO Versions

• Visual Studio Tools for Office

– Version 1 = VSTO 2003 with Visual Studio.NET 2003

– Version 2 = VSTO Second Edition with Visual Studio.NET

2005

– Version 3 = VSTO 3.0 with Visual Studio.NET 2008

• Unless you are forced too, only use VSTO 3.0

• VSTO allows for VB.NET and C#

– PSC has moved to C# for all our development

– C# is more powerful

– More third-party tools available for C#

Page 30: MMLUG 2009   Integration And Coexistence Session

VSTO 3.0 Project Types

Page 31: MMLUG 2009   Integration And Coexistence Session

VSTO 3.0 and Microsoft Word and Domino Web Service

Demo — Example 8

Creating a new Word

document that prompts

the user and fills out

Domino data via

Using VSTO

Page 32: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 33: MMLUG 2009   Integration And Coexistence Session

Ways to Add Domino Functionality to ASP.NET

• Using Domino Web services

• Using Domino Web agents and XML

• NOTE: Selecting the right option is dependent on the

Domino Server version and the developer’s skill

Page 34: MMLUG 2009   Integration And Coexistence Session

ASP.NET Calling a Domino Web Service

• We can call the same Domino Web service we have

used before

• ASP.NET will import the Web service

• Code behind the button will be virtually the same as

when ASP.NET called Domino via COM

Page 35: MMLUG 2009   Integration And Coexistence Session

ASP.NET Calling Domino via a Web Service

Demo — Example 9

Creating an ASP.NET

Web page that calls

Domino via a

Web service

Page 36: MMLUG 2009   Integration And Coexistence Session

ASP.NET Can Also Work with Domino XML

• ASP.NET can display Domino data in a great grid

control

• Steps to make this happen:

– Drag a GridView data control onto your page

– An XMLDataSource object is automatically added

– The XMLDataSource is associated with the GridView

control

– Set the DataFile property of the XMLDataSource to the

XML agent

Page 37: MMLUG 2009   Integration And Coexistence Session

Domino Data in a Grid on an ASP.NET Web Page

• This is what the data will look like in the grid

control:

Page 38: MMLUG 2009   Integration And Coexistence Session

Displaying Domino XML in an ASP.NET Web Page Grid

Demo — Example 10

Creating an ASP.NET

Web page that uses

the grid control

to display Domino XML

Page 39: MMLUG 2009   Integration And Coexistence Session

Microsoft SharePoint Integration

• Integration at the Notes client

– Mainsoft Sharepoint Integrator

• Integration with Domino data

– A combination of

• VSTO

• Domino XML

• Some magic :-)

• Samples inspired by Gary Devendorf @

Microsoft

• Demo in download database

Page 40: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 41: MMLUG 2009   Integration And Coexistence Session

Google Docs Integration

• Higher degree of difficulty

• Java code integrated with the Notes 8

and 8.5 Standard Clients

– Eclipse.org plug-ins

• A sidebar application that displays the

documents

– Just like Quickr!

• This sample is not for the timid!

• There is also a C# library available

Page 42: MMLUG 2009   Integration And Coexistence Session

Google Docs Integration – Posting Documents

Demo — Example 11

Posting Document to

Google Doc from

Notes

Page 43: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 44: MMLUG 2009   Integration And Coexistence Session

Real World Integration

• Real World Use Cases

• Zain Africa Challenge Application

– www.zainafricachallenge.com

• PSC won the 2009 Best Philanthropic Lotus Award for this solution

• Integration Samples

– Excel for reporting

– Word for Scripts

– Integra for XML export

Page 45: MMLUG 2009   Integration And Coexistence Session

Real World Integration - Demos

Demo — Example 12

Advanced VSTO

Demos

Page 46: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 47: MMLUG 2009   Integration And Coexistence Session

Looking Forward

• 2009

– Lotus Symphony Toolkit with Notes 8.5.1

• LotusScript and Java

• Requires 8.5.1 Client

• Full automation API

– XPages in the Notes Client in 8.5.1

• Automation from the web

• 2010

– Visual Studio 2010 with VSTO 4

– Office 2010

• Backstage

Page 48: MMLUG 2009   Integration And Coexistence Session

What We’ll Cover …

• Who we are?

• Integration Background

• Integration from the Notes client

• Integration from other applications

• Integration from a web browser

• Integration with Google Docs

• Real World Integration

• Looking forward

• Wrap-up and Q&A

Page 49: MMLUG 2009   Integration And Coexistence Session

We Only Scratched the Surface

• There are over 3 hours of content available

for this presentation

• Search Slideshare for Lotusphere 2009

JMP205

• Over 25 demos including– Symphony Spreadsheets

– Microsoft PowerPoint

– Symphony Presentations

– Microsoft Project

– Microsoft Visio

– Microsoft InfoPath

– ASP.NET and COM

– Google Docs consuming Domino XML

Page 50: MMLUG 2009   Integration And Coexistence Session

Resources

• Microsoft Office developer’s Web site

– http://msdn2.microsoft.com/en-us/office/default.aspx

• Microsoft Developer Network

– http://msdn.microsoft.com

• Microsoft Office blog listing

– http://msdn2.microsoft.com/en-us/office/aa905342.aspx

• PSC’s Reporting and Office Integration page

– www.psclistens.com/enTouchCMS/app/viewCategory?

catgId=66

Page 51: MMLUG 2009   Integration And Coexistence Session

Resources (continued)

• OpenOffice.org

– http://www.openoffice.org

• OpenOffice Developers Guide– http://api.openoffice.org/DevelopersGuide/DevelopersGuide.

html

• Programming OpenOffice with Visual

Basic

– http://www.kalitech.fr/clients/doc/VB_APIO

Oo_en.html

Page 52: MMLUG 2009   Integration And Coexistence Session

Lotus Community Sites

Lotus Greenhouse (greenhouse.lotus.com) is a live

community website where you can use Lotus Collaboration

Products for free!

The Lotus Community Podcasts

Planet Lotus (www.planetlotus.org) is an aggregation of Lotus related blogs

and news

IdeaJam (www.ideajam.net) is a place where people can post and share their

ideas, and gauge the marketability, popularity and viability with input from

others

OpenNTF (www.openntf.org) is a site devoted to getting groups of individuals

all over the world to collaborate on Lotus Notes/Domino applications and

release them as open source

Bleedyellow.com provides community implementations of

Lotus Connections and Sametime

IBM’s Official portal for developers including a dedicated section for Lotus

(www.ibm.com/developerworks/lotus)

LotusUserGroup.org is the on-line home of the IBM Lotus

community for regional and virtual user groups

Page 53: MMLUG 2009   Integration And Coexistence Session

Follow Up

How to contact us:

John Head

[email protected]

Twitter.com/johnhead

Linkedin.com/in/johndhead

Facebook.com/johnhead

Slideshare.com/johnhead