John Head Alex Kassabov PSC Group, LLC

unevenechoΛογισμικό & κατασκευή λογ/κού

30 Οκτ 2013 (πριν από 3 χρόνια και 5 μήνες)

94 εμφανίσεις

© 2009 by the individual speaker

Integration and

Coexistence:


Leveraging

Lotus

&

Microsoft


products to

build

better

solutions

John Head

Alex
Kassabov


PSC Group, LLC

IamLUG 2009

Before We Begin


Please turn off/set to vibrate/mute all


Cell Phones


Pagers


Computers


Please remember to fill out your evaluations

1

IamLUG 2009

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


2

IamLUG 2009

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




3

IamLUG 2009

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


4

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)


IamLUG 2009

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


6

IamLUG 2009

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


7

IamLUG
2009

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


8

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



IamLUG
2009

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


10

IamLUG
2009

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


11

IamLUG
2009

Integration from the Notes Client


Integrating Microsoft Word


Integrating Lotus Symphony Documents


Mail Merge


Integrating Microsoft Excel


Integrating Lotus Symphony Spreadsheets

12

IamLUG
2009

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



13

IamLUG
2009

Creating a Word Document


“Hello World”


Demo


Example 1


Launch Microsoft

Word and enter

some text


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.

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!

IamLUG
2009

Word Template


Data from Notes


Demo


Example
2


Create a new document

Prompt user

Place data into document


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 language

binding exists

18

IamLUG
2009

Notes to Writer


Demo


Example
3


“Hello World” from

Notes to

Symphony Documents


19

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!


IamLUG
2009

Mail Merge from Address Book


Demo


Example
4


Generate a mail merge

from the personal

name and address

book



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

IamLUG 2009

Working with Microsoft Excel


Demo


Example
5


Create a spreadsheet

from Notes data and

generate a chart



IamLUG 2009

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


24

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

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

IamLUG 2009


Demo


Example
6


Word template that

reads a Notes database

via a Web service


IamLUG 2009

Microsoft Excel and XML


Demo


Example
7


Importing Domino data

into a spreadsheet

using XML


IamLUG 2009

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#

29

IamLUG 2009

VSTO 3.0 Project Types


IamLUG 2009

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


IamLUG 2009

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


32

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




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

IamLUG 2009

ASP.NET Calling Domino via a Web Service


Demo


Example
9


Creating an ASP.NET

Web page that calls

Domino via a

Web service


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


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:

IamLUG 2009

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

IamLUG 2009

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

39

IamLUG 2009

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


40

IamLUG 2009

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


41

IamLUG 2009

Google Docs Integration


Posting Documents


Demo


Example
11


Posting Document to

Google Doc from

Notes

IamLUG 2009

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


43

IamLUG 2009

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


44

IamLUG 2009

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

45

IamLUG 2009

Real World Integration
-

Demos


Demo


Example
12


Advanced VSTO

Demos

IamLUG 2009

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


47

IamLUG 2009

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


48

IamLUG 2009

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


49

IamLUG 2009

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

50

IamLUG 2009

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


51

IamLUG 2009

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

52

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

IamLUG 2009

54

Follow Up

How to contact
us:










John Head

Alex
Kassabov

jhead@psclistens.com

akassabov@psclistens.com

Twitter.com/
johnhead

twitter.com/
akassabov

Linkedin.com/in/
johndhead

Linkedin.com/in/
akassabov

Facebook.com/
johnhead

Slideshare.com/
johnhead