integration and coexistence:  leveraging lotus & microsoft  products to build...

55
© 2009 by the individual speaker Integration and Coexistence: Leveraging Lotus & Micro soft products to build better solutions John Head Alex Kassabov PSC Group, LLC

Upload: rupert

Post on 25-Feb-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions. John Head Alex Kassabov PSC Group, LLC. Before We Begin. Please turn off/set to vibrate/mute all Cell Phones Pagers Computers Please remember to fill out your evaluations. What We’ll Cover …. - PowerPoint PPT Presentation

TRANSCRIPT

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

© 2009 by the individual speaker

Integration and Coexistence: Leveraging Lotus & Microsoft products to buildbetter solutions

John HeadAlex Kassabov

PSC Group, LLC

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

IamLUG 2009 2

Before We Begin

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

Please remember to fill out your evaluations

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

IamLUG 2009 3

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: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 4

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: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 5

Who Are We?

• Alex Kassabov Vice President of Collaboration at PSC Group, LLC Involved in Lotus technology since 1995 Notes R3 – got dragged there kicking and screaming

• Speaker Lotusphere sessions on Desktop Integration Collaboration Summit GRAINTE Chicago Lotus User Group

• Akassabov.wordpress.com

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

IamLUG 2009

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 7: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 7

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 8: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 8

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 9: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 9

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 10: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

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 11: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 11

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 12: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 12

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 13: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 13

Integration from the Notes Client

• Integrating Microsoft Word• Integrating Lotus Symphony Documents• Mail Merge• Integrating Microsoft Excel• Integrating Lotus Symphony Spreadsheets

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

IamLUG 2009 14

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 15: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Creating a Word Document — “Hello World”

Demo — Example 1

Launch MicrosoftWord and enter

some text

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

IamLUG 2009

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 17: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Use the Microsoft 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 18: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Word Template — Data from Notes

Demo — Example 2

Create a new documentPrompt user

Place data into document

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

IamLUG 2009

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 languagebinding exists

19

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

IamLUG 2009

Notes to Writer

Demo — Example 3

“Hello World” fromNotes to

Symphony Documents

20

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

IamLUG 2009

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 22: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Mail Merge from Address Book

Demo — Example 4

Generate a mail mergefrom the personalname and address

book

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

IamLUG 2009

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 24: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Working with Microsoft Excel

Demo — Example 5

Create a spreadsheetfrom Notes data and

generate a chart

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

IamLUG 2009 25

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 26: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

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 27: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

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 28: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Demo — Example 6

Word template thatreads a Notes database

via a Web service

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

IamLUG 2009

Microsoft Excel and XML

Demo — Example 7

Importing Domino datainto a spreadsheet

using XML

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

IamLUG 2009 30

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 31: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

VSTO 3.0 Project Types

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

IamLUG 2009

VSTO 3.0 and Microsoft Word and Domino Web Service

Demo — Example 8

Creating a new Worddocument that prompts

the user and fills outDomino data via

Using VSTO

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

IamLUG 2009 33

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 34: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

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 35: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

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 36: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

ASP.NET Calling Domino via a Web Service

Demo — Example 9

Creating an ASP.NETWeb page that calls

Domino via aWeb service

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

IamLUG 2009

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 38: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

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

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

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

IamLUG 2009

Displaying Domino XML in an ASP.NET Web Page Grid

Demo — Example 10

Creating an ASP.NETWeb page that uses

the grid control to display Domino XML

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

IamLUG 2009 40

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 41: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 41

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 42: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 42

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 43: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009

Google Docs Integration – Posting Documents

Demo — Example 11

Posting Document toGoogle Doc from

Notes

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

IamLUG 2009 44

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 45: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 45

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 46: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 46

Real World Integration

• VSTO 3.0 Solution for Microsoft Word Custom Ribbon Implementation Integration with a Notes database for storing information Inserting Graphics into a Document

• More Advanced Solutions PowerPoint Insert Slides Supports Searching

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

IamLUG 2009

Real World Integration - Demos

Demo — Example 12

Advanced VSTODemos

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

IamLUG 2009 48

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: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 49

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 50: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 50

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 51: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 51

We Only Scratched the Surface

• There are over 3 hours of content available for this presentation

• Search Slideshare for Lotusphere 2009 JMP2005• 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 52: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 52

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 53: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 53

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_APIOOo_en.html

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

IamLUG 2009

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 55: Integration and Coexistence:  Leveraging Lotus & Microsoft  products to build better solutions

IamLUG 2009 55

Follow Up

How to contact us:John Head Alex Kassabov

[email protected] [email protected]

Twitter.com/johnhead twitter.com/akassabov

Linkedin.com/in/johndhead Linkedin.com/in/akassabov

Facebook.com/johnhead

Slideshare.com/johnhead