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
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
500
Groovy as a human and AI friendly programming language
paulk
0
180
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.1k
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
140
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
260
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
270
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
600
Getting Started with Vibe Coding
miccheng
0
180
AmebaブログはKMPから卒業します
kmars0605
0
310
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
690
Performance Optimization With LLMs
xleitix
0
240
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
RailsConf 2023
tenderlove
30
1.6k
Scaling GitHub
holman
464
140k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Designing for Performance
lara
612
70k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
30 Presentation Tips
portentint
PRO
1
460
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
540
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