Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Nuxeo - OpenSocial
Search
Thomas Roger
February 29, 2012
Programming
440
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nuxeo - OpenSocial
Thomas Roger
February 29, 2012
More Decks by Thomas Roger
See All by Thomas Roger
Nuxeo - Digital Asset Management
troger
1
460
Other Decks in Programming
See All in Programming
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5k
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
1
350
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
350
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
160
気持ちぃ〜角丸 Squircle
ryu1013
0
180
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
250
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
残高管理から台帳サービスへの進化
artoy
0
180
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
210
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
320
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Building Adaptive Systems
keathley
44
3.2k
Embracing the Ebb and Flow
colly
88
5.2k
So, you think you're a good person
axbom
PRO
2
2.2k
Crafting Experiences
bethany
1
380
Bash Introduction
62gerente
615
220k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
550
Transcript
Open Source ECM 2011 - Thomas Roger -
[email protected]
-
@throger Nuxeo - OpenSocial Leveraging OpenSocial within the Nuxeo Platorm
Why OpenSocial? Common standard used in the enterprise Easy for
developers HTTP, XML, HTML, JavaScript and RESTful APIs Gadgets as reusable blocks 2
GWT Container 3 Contributed by Leroy Merlin Apache Shindig +
GWT2 Easier to integrate in your application Lighter & faster!
4
5 Implement a new SpaceProvider MySpaceProvider extends AbstractSpaceProvider { ...
} Create your own dashboard GWT Container
6 Implement a new SpaceProvider MySpaceProvider extends AbstractSpaceProvider { ...
} Contribute it <extension target="org.nuxeo.ecm.spaces.core.spacemanager.service point="spaceProviders"> <spaceProvider name="mySpaceProvider"> <class>org.nuxeo.sample.MySpaceProvider</class> </spaceProvider> </extension> Create your own dashboard GWT Container
7 <nxu:set var="repositoryName" value="#{navigationContext.currentServerLocation.name}"> <nxu:set var="spaceProviderName" value="mySpaceProvider"> <ui:decorate template="/incl/opensocial_container_template.xhtml"> </ui:decorate>
</nxu:set> </nxu:set> Use it in your page GWT Container
Lightweight Container 8 Why? Simple gadget integration Static positioning in
the page How? JS container from Apache Shindig jQuery plugin available Simple to use!
<link href="#{baseURL}css/opensocial/light-container- gadgets.css"> </link> <script src="#{baseURL}opensocial/gadgets/js/rpc.js?c=1"> </script> <script src="#{baseURL}js/?scripts=opensocial/cookies.js| opensocial/util.js|opensocial/gadgets.js|opensocial/
cookiebaseduserprefstore.js|opensocial/ jquery.opensocial.gadget.js"> </script> 9 Includes Lightweight container
<div class="polls gadgets-gadget-chrome gadgets"> </div> 10 HTML Lightweight container
jQuery('.polls').openSocialGadget({ baseURL: '#{baseURL}', language: '#{localeSelector.language}', gadgetDefs: [{ specUrl: '#{gadgetsBaseURL}/site/gadgets/polls/polls.xml', title:
'#{messages['label.poll.result']}', displayTitleBar: false, width: '100%' }] }); 11 Loading the polls gadget Lightweight container
12
Nuxeo supports OAuth authentication Connect to third party services supporting
OAuth, like Google Docs OAuth authentication in gadgets <ModulePrefs> <#include "default-oauth-prefs.ftl"/> </ModulePrefs> 13 OAuth
14 Most of our gadgets are fully OpenSocial Work on
other OpenSocial containers: iGoogle, JIRA, ... Nuxeo can use external gadgets (those available on iGoogle for instance) Following the Standard
15
Gadget Spec Rendered through Freemarker Predefined Freemarker templates JS context
injected 16
Automation JS Library Library to be used in gadgets Call
Nuxeo automation Handle OAuth authentication Easy to use! 17
<script src="${specDirectoryUrl}default-automation-request.js"> </script> ... <#include "default-request-controls.ftl"/> 18 Includes Automation JS
library
var requestParams = { operationId: 'Document.PageProvider', operationParameters: { pageSize: 5,
query: ‘SELECT * FROM Document’ operationContext: {}, operationDocumentProperties: "common,dublincore", entityType: 'documents', operationCallback: myCallback, noEntryLabel: '__MSG_label.gadget.no.document__' }; doAutomationRequest(requestParams) 19 Querying documents Automation JS library
function myCallback(response, params) { var docs = response.data.entries; ... }
20 Querying documents Automation JS library
<script src="${specDirectoryUrl}default-documentlist-display.js"> </script> ... <#include "default-documentlist-layout.ftl"/> ... var requestParams =
{ ... displayMethod: displayDocumentList, }; 21 Easy document listing Automation JS library
Nuxeo IDE Gadget templates Default gadget structure, contribution Fully OpenSocial
Supports hot reload! 22
Standard gadget OAuth authentication Internationalization Automation gadget Automation JS library
Document listing JS library 23 Gadget templates Nuxeo IDE
Thank you! 24