Lotus connections
Transcription
Lotus connections
Lotus Connections 2.5 Integration – REST - Widgets Agenda • Lotus Connections • Integration out of the box • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 2 Profiles Communautés Pour trouver rapidement la bonne personne en la recherchant à travers son entreprise, son service, son domaine d’expertise, les projets sur laquelle elle a travaillé, sa fonction, … Signets Sauvegarde, organise et partage des Marques Pages. Permet de découvrir les Marques Pages de personnes ayant des centres d’intérêt communs. Accueil Collecte personnalisée des informations publiées et mise en relation plus facile avec les experts, vos collègues Permet la création, la gestion, la recherche de communautés de personnes partageant des intérêts communs ou un domaine d’expertise Blogues Utiliser un blog pour présenter vos idées et avoir un retour des autres. Apprendre de l’expertise et l’expérience des autres ayant aussi un blog Fichiers Mise à disposition de tout type de fichiers avec ses collègue ou sa communauté. Gérer les versions, les recommandations et les commentaires associés Activités Organiser son travail par activité et non par application. Permet plus facilement un travail multi activités en se remettant dans le bon contexte Wikis Animation des communautés et des personnes avec des fonctions de publication, et permet à chacun de contribuer sur son expertise 3 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 4 Intégration & Extensions Lotus Notes Lotus Sametime W ebsphere Portal Lotus Quickr Microsoft Office & Explorer Microsoft Sharepoint W orkforce Talent CRM Google RIM Blackberry Google Gadgets 5 5 Avec Lotus Sametime Instant Messaging 6 7 Synchronize Activities for offline support 8 Search all the Lotus Connections Services 9 View your Activity tasks 10 Profiles Person Card integration 11 12 13 14 Associated Quickr site with your Community 15 View and pivot the Profiles Person Card 16 Publish document to Lotus Quickr 17 Users can select a specific folder to post the file to, and then click “publish” 18 19 Awareness with Live Communication Server 20 20 Search all services within Lotus Connections Subscribe to feeds 21 View and pivot with the Connections Person Card 22 Add email to a new or existing Activity 23 Post a Word Document to your blog 24 Add a document to a new or existing Activity 25 Add a PowerPoint presentation to a new or existing Activity 26 Search Profiles from within your Excel file 27 28 Link to MySite from the Profiles Person Card 29 Add Bookmark buttons to your sites View associated bookmarks 30 Search Profiles View and pivot with the Profiles Person Card Connections Tag Cloud Future Integration 31 32 33 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 34 Custom Coding Against Lotus Connections Clients Web Browser Feed Reader Sametime 7.5.1 Lotus Notes Portlets Your Application HTTP Server & Proxy Cache J2EE Container Common Services REST API PUT Person Card POST Atom Entry JMX Administration Navigational Header DELETE GET HTML Form JavaScript HTML Atom Feed Lotus Connections Services Profiles Communities Dogear Activities Blogs User Directory LDAP TDI RDB File System Other Enterprise Services eMail CMS … 35 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 36 REST – Representational State Transfer • REST is not a standard • You will not see the W3C putting out a REST specification • You will not see IBM or Microsoft or Sun selling a REST developer's toolkit • REST is just a design pattern • You can't bottle up a pattern • You can only understand it and design your services to it • REST does prescribe the use of standards • HTTP • Atom • URL • XML/HTML/GIF/JPEG/etc. (Resource Representations) • text/xml, text/html, image/gif, image/jpeg, etc. (Resource Types, MIME Types) 37 Why Use REST? • Simple Easy to learn – HTTP based API with XML, Javascript and HTML formatted output Embraces “Amateur” as well as professional developers • Open Access for all users, regardless of client or platform Based on Open standards: XML, HTTP, JavaScript, Atom • Extensible Leverages open standards extensibility (XML, HTTP, Atom, etc…) Can be further extended by IBM, ISVs, etc… 38 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 39 Introduction to Atom • Atom applies to a pair of related standards: • Atom Syndication Format • An XML language used for web feeds • Atom Publishing Protocol (APP) • A simple HTTP-based protocol for creating and updating Web resources • Atom is a simple way to read and write information on the web • Benefits of Atom • Allows you to easily keep track of more sites in less time • Platform for next generation Web-based services and content distribution • Universal publishing standard for personal content and weblogs 40 Some Atom Syndication Format Terms • Feed • A Feed is returned whenever you issue a GET against a Collection • A Feed contains one or more Entries • A Feed also contains metadata about itself • A Feed is an XML document • Entry • An entry contains the content as well as some metadata about that content • An entry is an XML element 41 http://vent01.renovations.com/blogs/roller-ui/rendering/feed/sport/entries/atom/ <feed> A GET request against <id>urn:lsid:ibm.com:blogs:entries-2bc2e784-7737-4d86-ba30-d721f37c2a08</id> <title type="text">Sport</title> a Connections feed <subtitle type="html">Sport Blog</subtitle> <link rel="self" type="application/atom+xml" href="http://vent01.renovations.com/blogs/sport/feed/entries/atom" /> <link rel="alternate" type="text/html" href="http://vent01.renovations.com/blogs/sport" /> <link rel="replies" type="application/atom+xml" href="http://vent01.renovations.com/blogs/sport/feed/comments/ atom" /> <link rel="first" type="application/atom+xml" href="http://vent01.renovations.com/blogs/sport/feed/entries/atom" /> <openSearch:totalResults>3</openSearch:totalResults> <app:categories href="http://vent01.renovations.com/blogs/sport/feed/tags/atom"/> <updated>2008-05-27T09:11:02+01:00</updated> <entry xml:base="http://vent01.renovations.com/blogs/sport/entry/murray_at_french_open" xml:lang="en-US" > <id>urn:lsid:ibm.com:blogs:entry-090613cf-1a17-4e71-b281-29d06e7f1f72</id> <title type="html">Murray at French Open</title> <author> <name>Frank Adams</name> <email>[email protected]</email> </author> <content type="html"><p class="first"><b>Andy Murray knows he will ... </content> <summary type="html">Andy Murray knows he will ...</summary> <id>urn:lsid:ibm.com:blogs:entries-2bc2e784-7737-4d86-ba30-d721f37c2a08</id> <title type="text">Sport</title> </source> </entry> </feed> 42 Concepts - APP • “Atom Publishing Protocol” uses HTTP requests to perform CRUD operations Create: POST a new entry to the collection’s URI Read: GET on the collection’s URI to retrieve the feed GET on the entry URI to retrieve a single entry Update: PUT an updated entry to the entry URI Delete: DELETE on the entry URI Note: The use of HTTP doesn’t mean you are limited to a browser 43 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 44 Concepts: JavaScript Object Notation (JSON) basics • Used to retrieve content for usage in JavaScript applications from one website to another • Lotus Connections Services deliver JavaScript formatted code based on URL request • Used when embedding application needs maximum control of layout and style • Example: creating a customized embeddable business card with information from profiles <script source=“http://server/service/json/card”> businessCard.nameProperty = “Frank Olmos”; 45 Concepts: “embedded” HTML basics • “Linkrolls” – pattern to display rolls of links in blogs • Used to insert HTML formatted code from one website to another • Lotus Connections Services deliver HTML formatted code based on URL request • Used when embedding application needs layout provided by service and can just provide style • Example: using existing embeddable business card with information from profiles <script source=“http://server/service/html/card”> document.write (“<p>Name: Frank Olmos”</p>); 46 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 47 Lotus Connections services Atom JSON eHTML REST/APP Profiles Communities Blogs Dogear Activities 48 What can we do with ... • Profiles • Retrieve profile information in Atom or JSON format by • uid=<uid> • username=<username> • ... Related profile data retrieval • profileTagCloudFor=<uid> • peopleManagedBy=<uid> • ... Code lookups • workLoc=<workLocationCode> • orgCode=<organizationCode> • Communities Get list of all public communities Get my subscribed communities Create, Update, Delete • Members Get list of members of specified community Add, Remove members of specified community • Bookmarks Get list of bookmarks of specified community Create, Update, Delete bookmarks of specified community 49 What can we do with ... • Blogs • Uses Atom for all operations • Obtain list of blogs per user • Read list of blog entries • Add additional entries • Read, Update, Delete one entry • Add, Update comments to an entry ... • Dogear Retrieve lists of bookmarks Formatted in either Atom, XBEL, JSON or HTML Emitting JavaScript format Constrained by url, user, tags, intranet/ internet, public/private, searchText Create, Modify and Delete bookmarks ... • Activities • Notes 8 Activities sidebar and Sametime 7.5 client plugin. • Retrieve all or specific subset of activities based on: Tags, Content URL pointer ... • Create, Retrieve, Update, Delete Activities, Content, Membership • Retrieve list of all tags or tags of specified activity • Retrieve list of all tasks • Retrieve list of all content across all activities • Obtain list of people related based on activities 50 REST architectural style, Dogear example OUTPUT FORMAT CONSTRAINT http://dogear.ibm.com/[email protected] OUTPUT FORM AT CONSTRAINT CONSTRAINT http://dogear.ibm.com/atom?tag=marketing&[email protected] OUTPUT FORMATS CONSTRAINTS /html tag= /rss user= /atom searchText= /js network= /xbel access= 51 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 52 Business card integration • For inline: <div class="vcard X-person-display-inline"> <span class="fn" style="display:none;"> <user_name> </span> <span class="email" style="display:none;"> <user_email_address> </span> </div> • Pop-up card: <span class="vcard“> <a href="javascript:void(0);"class="fn url"> <user_name> </a> <span class="email" style="display: none;"> <user_email_address> </span> </span> 5353 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections et les W idgets 54 Samples: Create a blog post Request POST /reilly HTTP/1.1 Host: example.org Content-Type: application/atom+xml <?xml version="1.0" encoding='utf-8'?> <entry xmlns="http://www.w3.org/2005/Atom" > <title>Lotus Connections STEW 2007</title> <author> <email>[email protected]</email> </author> <updated>2006-12-05T12:29:29</updated> <content> Welcome to the Extending Connections session of the LC Stew </content> </entry> Response HTTP/1.1 201 Created Location: http://example.org/reilly/4 55 Integrated Dogear bookmarks with matching ‘java’ tag 56 57 Google + Dogear result using Grease Monkey 58 Sample application using Ruby * View all public bookmarks * View personal bookmarks * Page through bookmarks * View bookmark tag cloud * Filter bookmarks based on tags 59 FireFox Plugins Sample Lotus Connections Toolbar Define search scope Tag your page Plugin 60 Samples: Feeds & Podcasts in Connections We can even deliver Connections data to less conventional readers, like iTunes We can read new Connections postings via convectional feedreaders 61 Samples: microBlog Status Update 62 My sample HTML page Demo Retrieve tagged pages with same keywords Retrieve Author's blog Business Card integration Tag this page to Dogear 63 Agenda • Lotus Connections • Integration native • REST and Atom – Overview & concepts • REST • Atom • JSON / eHTML – So, what can we do with • Business card integration • Samples • Lotus Connections and W idgets 64 3rd Party Widget integration Extend user experience with both mandatory and optional widgets. Communities Profiles Build custom profile types (i.e. executive profile) Integrated community lifecycle and API extensions. Per-user homepage layouts iWidget RemoteApplication Widget Descriptor iWidget JS/CSS/XSLT files Widget Descriptor Lotus Connections Community/Profile JS/CSS/XSLT files Homepage HTTP iWidget Framework ContentProvider Atom feed Search HTTP DataStore Atom Pub feed Lifecycle Events Framework Atom Search feed LifecycleEventHandler REST API FeedReader/Other Client Remote application consist of: a content provider optional iWidgets optional lifecycle event handlers XSLT files 65 Widgets iWidget is an IBM standard for reusable UI components Home Page widgets are iW idgets W idgets are loaded after the main page loads Retrieve their data asynchronously W idget position on page and customization is persisted For each user A widget will only be available to end users if The component it pre-reqs is installed The widget is enabled by the administrator 66 Widget user interface Drag and drop area Open menu Icon Drag and drop area Title Move Edit Help Refresh Close View 67 Sample iWidget A simple Hello World widget <iw:iwidget name="HelloWorld" xmlns:iw="http://www.ibm.com/iWidget"> <iw:content> <![CDATA[ <h1>Hello World</h1> Note: CDATA tag is required to avoid possible < and > in enclosing HTML or XML interfering with outer XML syntax ]]> </iw:content> </iw:iwidget> Save to helloworld.xml, deploy on environment which provides iWidget specification like Homepage Deployment involves creating a widget descriptor in catalog 68 Add Widgets for Homepage 69 Sample : Widgets for IBMers 70 Samples : Facebook and Twitter 71 72 References • • • • • ATOM: • General information on Atom Syndication Format: http://www.atomenabled.org/developers/syndication/atom-format-spec.php • For more information on Atom Publishing Protocol: http://www.ietf.org/html.charters/atompub-charter.html Lotus Connections on YouTube: http://www.youtube.com/watch?v=LBvIeFbta9I The Web Site: http://www-306.ibm.com/software/lotus/products/connections/ Lotus Connections API Guide – http://publib.boulder.ibm.com/infocenter/ltscnnct/v1r0/index.jsp?topic=/ com.ibm.help.lotus.connections.api.doc/html/lcapi_welcome.html IBM developerWorks® http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt1/ http://www.ibm.com/developerworks/lotus/library/connections-deploy-pt7 73 Autres sessions des Tech Software LOT01P1 Présentation générale des réseaux sociaux - Partie 1 LOT01P2 Présentation de l'offre de réseau social d'IBM : Lotus Connections - Partie 2 LOT01P3 Lotus Connections : modules Activities, Blogs et Profiles - Partie 3 LOT01P4 Lotus Connections : modules Communities, Wiki et Bookmarks - Partie 4 LOT01P5 Lotus Connections : modules Files et Homepage - Partie 5 LOT01P6 Lotus Connections : Services REST et intégration de widget - Partie 6 74 Merci de votre attention 75 Pre-requis techniques LC 2.5 Beta 2 Hardware requirements At least two Intel® IA-32 or IA-64 compatible server systems Two CPUs per server, 2.6 GHz CPU speed or higher Minimum 10 GB of memory per system 50 GB of available disk space on each system after installation and configuration of the base operating system In addition, each Lotus Connections feature requires adding amount of disk space for the initial installation. Operating system (server-side) Red Hat Enterprise Linux ES release 4.7 (Intel) Microsoft Windows Server 2003 Standard and Enterprise Editions SP2 (32-bit) Note: If you plan to use Microsoft SQL Server 2005 Enterprise Edition, you must run it on Microsoft Windows 2003 Server Enterprise Edition. SLES 10 (Intel) SP2 AIX® 5.3.0.4 (Power 4, 5, and 6) with 64–bit hardware and operating system configurations Microsoft Windows 64–bit operating system 2008 Enterprise Edition Operating system (client-side) Microsoft Windows XP Pro SP2 (32-bit) / Microsoft Windows Vista (32-bit) SUSE Linux Enterprise Desktop 10 XGL SP1 MAC Tiger 10.4, Leopard 10.5 Application server IBM WebSphere Application Server 6.1.0.23 The latest fix packs are available from the IBM Fix Central Web site. For product documentation, refer to the WebSphere Application Server information center. Database system IBM DB2® 9.1 fix pack 6, 9.5 fix pack 3 (Linux, Windows) Oracle Database 10g 10.2.0.4 (Linux, Windows) Microsoft SQL Server 2005 Enterprise Edition SP2 76