Nuxeo and OpenSocial

5,420 views
5,130 views

Published on

By Damien Metzler, Leroy Merlin. - For several years, portal applications have been trying to resolve all the integration problematics of the enterprise: top-down communication, collaboration, dashboards, etc. In the J2EE world, the JSR-168 (portlets) has tried to formalize what a portal should be, but it failed to give enterprise architects agility and loose coupling between application. Today, Web 2.0 has leverage the concept of mashup website with the two leaders : NetVibes an iGoogle. On the other hand, social applications like Facebook or Linked In are gaining more and more success. This lead us think that it could be an original approach to build a full enterprise content based open social portal. We will show how Web Engine gave us the ability to control all the Web 2.0 we needed, and how we integrated it with the Shindig Open Social server for the gadget Rendering part.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,420
On SlideShare
0
From Embeds
0
Number of Embeds
846
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Nuxeo and OpenSocial

  1. OpenSocial & Nuxeo An OpenSocial Portal with Nuxeo WebEngine
  2. 50 000 collaborators
  3. 50 000 collaborators
  4. 50 000 collaborators
  5. 50 000 collaborators 18 000 collaborators Leader of the French DIY Market
  6. Our need ? An enterprise portal
  7. Enterprise portal Store content News, Pictures Collaborative features Schedule Mail Todos Drag’n’Drop interface like iGoogle Social relationships (not hierarchical) Social features (activity, shared data)
  8. Storing content in an ECM system seems to be a good idea Univers
  9. Storing content in an ECM system seems to be a good idea AccueilPerso Page Univers
  10. Storing content in an ECM system seems to be a good idea AccueilPerso Mails Gadget Page Univers
  11. Storing content in an ECM system seems to be a good idea AccueilPerso Agrégateur RSS Mails Gadget Page Univers
  12. Storing content in an ECM system seems to be a good idea AccueilPerso Agrégateur RSS Mails Post-It Gadget Contenu Page Univers
  13. Base document types Model
  14. Base document types 3 base doc types 3 utility doc types Univers Thème Model Page Layout Gadget GadgetDef
  15. Base document types 3 base doc types 3 utility doc types Univers Thème Model Page Layout Gadget GadgetDef
  16. Base document types 3 base doc types 3 utility doc types Univers Thème Model Page Layout Gadget GadgetDef
  17. Base document types 3 base doc types 3 utility doc types Univers Thème Model Page Layout Gadget GadgetDef
  18. Base document types 3 base doc types 3 utility doc types Univers Thème Model Page Layout Portal Gadget relations GadgetDef
  19. WebEngine for the UI Fast UI development Easy WEB 2.0 with jQuery Fast Proof of Concept
  20. Jetty Jetty Jetty Jetty Nuxeo Web Portal CMS Blog Wiki Engine JCR Nuxeo EP LDAP PgSQL CAS Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  21. Jetty Jetty Jetty Jetty Nuxeo Web Portal CMS Blog Wiki Engine JCR Nuxeo EP LDAP PgSQL CAS Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  22. Gadget (HTML + JS) Jetty Jetty Jetty Jetty Nuxeo Web Portal CMS Blog Wiki Engine JCR Nuxeo EP LDAP PgSQL CAS Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  23. Gadget (HTML + JS) Jetty Jetty Jetty Jetty Nuxeo Web Portal CMS Blog Wiki Engine OpenSocial JCR Nuxeo EP LDAP PgSQL CAS Cache Gadget Rendering Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  24. Gadget (HTML + JS) Jetty Jetty Jetty Jetty Nuxeo Web Portal CMS Blog Wiki Engine OpenSocial JCR Nuxeo EP LDAP PgSQL CAS Cache Gadget Rendering Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  25. To LM IT system From LM IT system 3 - WS or RSS call 2 -Gadget rendering Gadget (HTML + JS) 4 - WS or RSS call Jetty Jetty Jetty Jetty 1 - Gadget asking Nuxeo Web Portal CMS Blog Wiki Engine OpenSocial JCR Gadget definition storage Nuxeo EP LDAP PgSQL CAS Cache Gadget Rendering Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  26. To LM IT system Persistence layer From LM IT system Business layer OpenSocial layer Communication layer 3 - WS or RSS call 2 -Gadget rendering Gadget (HTML + JS) 4 - WS or RSS call Jetty Jetty Jetty Jetty 1 - Gadget asking Nuxeo Web Portal CMS Blog Wiki Engine OpenSocial JCR Gadget definition storage Nuxeo EP LDAP PgSQL CAS Cache Gadget Rendering Jboss (JMX) en Jboss (JMX) en cluster Jboss (JMX) cluster
  27. OpenSocial Gadget Rendering JS Social API http://code.google.com/apis/opensocial/
  28. Gadget Rendering Part A gadget definition is an XML doc specifying code + UI An OpenSocial Server has a servlet that does the rendering part
  29. Gadget Rendering Part A gadget definition is an XML doc specifying code + UI An OpenSocial Server has a servlet that does the rendering part Header
  30. Gadget Rendering Part A gadget definition is an XML doc specifying code + UI An OpenSocial Server has a servlet that does the rendering part Header JS Code
  31. Gadget Rendering Part A gadget definition is an XML doc specifying code + UI An OpenSocial Server has a servlet that does the rendering part Header UI JS Code
  32. Demo Hello World !
  33. Social API Part JS API Features Profile info Adding and removing Friends Adding and removing apps Storing activities Retrieving activity streams for self and friends Storing and retrieving per-app and per-app-per-user data
  34. Social API: what for? Personal informations Which store does the VIEWER belongs to? Who are my friends? Activities I just passed a 6K€ kitchen order! Per-app-per-user data ... lots of possible use!
  35. Shindig: an open source project Implements gadgets and opensocial specs Gadget Part: ‣ XML to HTML servlet ‣JS servlet ‣Metadata ‣RPC OpenSocial Part: ‣ JS Container ‣ Data Server
  36. What’s done now ? Portal engine Many sites News and PictureBook OpenSocial Gadget container Save preferences in Nuxeo doc repository RSS & Business Gadget (Daily sales)
  37. What’s the future ? PortalEngine better rights management publishing/versionning management Collaborative schedule JAX-RS migration & NXTheme integration OpenSocial Implement an OpenSocial SPI API extension to make “content-aware” gadgets Use RPC & Publish/Subscribe to leverage a web component model
  38. What’s the future ? PortalEngine better rights management y :-) publishing/versionning management re ad n it’s Collaborative schedule w he PL JAX-RS migration & NXTheme integration e LG OpenSocial e as elan OpenSocial SPI R Implement API extension to make “content-aware” gadgets Use RPC & Publish/Subscribe to leverage a web component model
  39. Demo http://localhost:8080/site/intralm/
  40. Questions ? Damien Metzler - Leroy Merlin Service Informatique France damien.metzler@leroymerlin.fr

×