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">&lt;p class=&quot;first&quot;&gt;&lt;b&gt;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