Tri State Lug 2009 - Integration And Coexistence Session

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Tri State Lug 2009 - Integration And Coexistence Session - Presentation Transcript

    1. Integration and Coexistence: Leveraging Lotus & Microsoft products to build better solutions John Head PSC Group, LLC © 2009 by the individual speaker
    2. Before We Begin Please turn off/set to vibrate/mute all Cell Phones Pagers Computers Please remember to fill out your evaluations © 2009 by the individual speaker
    3. What We’ll Cover … Who am I? 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 © 2009 by the individual speaker
    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 © 2009 by the individual speaker
    5. PSC Group, LLC  IBM Premium Business Partner for 19+ Years  Host of the following blogs:  Ed Brill’s  Microsoft Managed Partner (www.edbrill.com)  Lotus Design Blog(Mary Beth Raven)  Notes & Domino 8.5 Design Partner (www.notesdesign.com)  LotusStaffNotes (Brent Peters)  OpenNTF.org Alliance Member, Steering (www.lotusstaffnotes.com) Committee Company, & Former Host of  Lotus Connections Team OpenNTF.org (synch.rono.us)  Lotus Sametime (www.thesametimeblog.com)  Winner of 2007 & 2009 Lotus Awards!  Domino Server Team (www.dominoblog.com)  Lotus Mashups (www.mix-and-mash.com)  Chris Pepin – IBM CTO’s Office (www.chrispepin.com) © 2009 by the individual speaker
    6. 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 © 2009 by the individual speaker
    7. 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 © 2009 by the individual speaker
    8. What We’ll Cover … Who am I? 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 © 2009 by the individual speaker
    9. Integration History 1994 2004 DDE with Ami Pro Notes Domino 6.5 with LS2J and DXL 1996 2005 Notes R4 Notes Domino 7 with Web services OLE 2007 LotusScript 2007 Office System VBA Lotus Notes/Domino 8 1997 Lotus Symphony SmartSuite with LotusScript (Word Pro) 2008 1998 Visual Studio 2008 Notes R5 with COM support Notes/Domino 8.5 2001 2009 Notes/Domino 8.5.1 Notes Domino 6 2010 Visual Studio 2010 Office 2010 © 2009 by the individual speaker
    10. 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 © 2009 by the individual speaker
    11. 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 © 2009 by the individual speaker
    12. What We’ll Cover … Who am I? 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 © 2009 by the individual speaker
    13. Integration from the Notes Client Integrating Microsoft Word Integrating Lotus Symphony Documents Mail Merge Integrating Microsoft Excel © 2009 by the individual speaker
    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 © 2009 by the individual speaker
    15. Creating a Word Document — ―Hello World‖ Demo — Example 1 Launch Microsoft Word and enter some text © 2009 by the individual speaker
    16. 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. © 2009 by the individual speaker
    17. 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! © 2009 by the individual speaker
    18. 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 © 2009 by the individual speaker
    19. Lotus Symphony – The Developer Perspective 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 © 2009 by the individual speaker
    20. Lotus Symphony – The Developer Perspective 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") © 2009 by the individual speaker
    21. Lotus Symphony – The Developer Perspective What Did That Do? Calling the ServiceManager created an OpenOffice.org window, but we need to do more … © 2009 by the individual speaker
    22. Lotus Symphony – The Developer Perspective 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 © 2009 by the individual speaker
    23. Lotus Symphony – The Developer Perspective The Picture So Far • Now we have an application open • Time to do something! © 2009 by the individual speaker
    24. Lotus Symphony – The Developer Perspective 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) © 2009 by the individual speaker
    25. Lotus Symphony – The Developer Perspective Hello World! • After executing all of that code, this is the result • Now let’s try it for real © 2009 by the individual speaker
    26. Notes to Writer Demo — Example 2 ―Hello World‖ from Notes to Symphony Documents © 2009 by the individual speaker 25
    27. 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 © 2009 by the individual speaker
    28. Symphony Documents LotusScript API © 2009 by the individual speaker
    29. Symphony Spreadsheets LotusScript API © 2009 by the individual speaker
    30. Symphony Presentations LotusScript API © 2009 by the individual speaker
    31. 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 © 2009 by the individual speaker
    32. 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 © 2009 by the individual speaker
    33. 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:FileTypeAssociationtest.ott",True,True) © 2009 by the individual speaker
    34. 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 © 2009 by the individual speaker
    35. 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") © 2009 by the individual speaker
    36. ―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") © 2009 by the individual speaker
    37. Lotus Symphony – The Developer Perspective Lotus Symphony API via LotusScript Demo — Example 3 ―Hello World‖ in Documents using LotusScript More info in the “Symphony Developer's Guide for Notes.pdf” that comes with the Symphony Toolkit © 2009 by the individual speaker
    38. 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! © 2009 by the individual speaker
    39. Mail Merge from Address Book Demo — Example 4 Generate a mail merge from the personal name and address book © 2009 by the individual speaker
    40. Integration with Microsoft Excel Working with Excel is very different from Word The objects we use are different Microsoft Word Microsoft Excel Text Position/Cursor Cell Paragraph Range Page Worksheet Document Workbook In Excel, we tend to move more data from Notes to the application Lots of rows in Excel vs. filling in bookmarks in Word © 2009 by the individual speaker
    41. Working with Microsoft Excel Demo — Example 5 Create a spreadsheet from Notes data and generate a chart © 2009 by the individual speaker
    42. 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 © 2009 by the individual speaker
    43. 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 © 2009 by the individual speaker
    44. 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 © 2009 by the individual speaker
    45. Word Template — Data from Notes Demo — Example 6 Create a new document Prompt user Place data into document © 2009 by the individual speaker
    46. Demo — Example 7 Word template that reads a Notes database via a Web service © 2009 by the individual speaker
    47. Microsoft Excel and XML Demo — Example 8 Importing Domino data into a spreadsheet using XML © 2009 by the individual speaker
    48. 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# © 2009 by the individual speaker
    49. VSTO 3.0 Project Types © 2009 by the individual speaker
    50. VSTO 3.0 and Microsoft Word and Domino Web Service Demo — Example 9 Creating a new Word document that prompts the user and fills out Domino data via Using VSTO © 2009 by the individual speaker
    51. 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 © 2009 by the individual speaker
    52. 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 © 2009 by the individual speaker
    53. 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 © 2009 by the individual speaker
    54. ASP.NET Calling Domino via a Web Service Demo — Example 10 Creating an ASP.NET Web page that calls Domino via a Web service © 2009 by the individual speaker
    55. 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 © 2009 by the individual speaker
    56. 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 © 2009 by the individual speaker
    57. Google Docs Integration – Posting Documents Demo — Example 11 Posting Document to Google Doc from Notes © 2009 by the individual speaker
    58. 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 © 2009 by the individual speaker
    59. 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 © 2009 by the individual speaker
    60. Real World Integration - Demos Demo — Example 12 Advanced VSTO Demos © 2009 by the individual speaker
    61. 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 © 2009 by the individual speaker
    62. Looking Forward 2010 • Visual Studio 2010 with VSTO 4 • Office 2010 • Backstage • SymphonyNext (2.0) • Beta around Lotusphere • New/Updated APIs for Notes Data • REST • DXL © 2009 by the individual speaker
    63. 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 © 2009 by the individual speaker
    64. 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 © 2009 by the individual speaker
    65. 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 © 2009 by the individual speaker
    66. 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 © 2009 by the individual speaker
    67. Lotus Community Sites 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 IBM’s Official portal for developers including a dedicated section for Lotus (www.ibm.com/developerworks/lotus) Bleedyellow.com provides community implementations of Lotus Connections and Sametime Lotus Greenhouse (greenhouse.lotus.com) is a live community website where you can use Lotus Collaboration Products for free! LotusUserGroup.org is the on-line home of the IBM Lotus community for regional and virtual user groups The Lotus Community Podcasts © 2009 by the individual speaker
    68. Follow Up How to contact: John Head jhead@psclistens.com Twitter.com/johnhead Linkedin.com/in/johndhead Facebook.com/johnhead Slideshare.com/johnhead © 2009 by the individual speaker

    + John HeadJohn Head, 2 weeks ago

    custom

    143 views, 0 favs, 2 embeds more stats

    Integration and Coexistence Session for the Tri Sta more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 143
      • 110 on SlideShare
      • 33 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 5
    Most viewed embeds
    • 32 views on http://www.johndavidhead.com
    • 1 views on http://planetlotus.org

    more

    All embeds
    • 32 views on http://www.johndavidhead.com
    • 1 views on http://planetlotus.org

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories