OpenSocial & Nuxeo
An OpenSocial Portal with Nuxeo WebEngine
50 000 collaborators
50 000 collaborators
50 000 collaborators
50 000 collaborators

18 000 collaborators
Leader of the French DIY Market
Our need ?
An enterprise portal
Enterprise portal
 Store content
   News, Pictures
 Collaborative features
   Schedule
   Mail
   Todos
 Drag’n’Drop inter...
Storing content in an ECM system
     seems to be a good idea




                               Univers
Storing content in an ECM system
         seems to be a good idea
AccueilPerso




                                  Page
...
Storing content in an ECM system
         seems to be a good idea
AccueilPerso




                             Mails




...
Storing content in an ECM system
         seems to be a good idea
AccueilPerso



    Agrégateur RSS




                 ...
Storing content in an ECM system
         seems to be a good idea
AccueilPerso



    Agrégateur RSS




                 ...
Base document types




                      Model
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                ...
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                ...
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                ...
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                ...
Base document types
3 base doc types          3 utility doc types
  Univers                   Thème




                  ...
WebEngine for the UI

    Fast UI development
    Easy WEB 2.0 with jQuery
    Fast Proof of Concept
Jetty
                                      Jetty
                                       Jetty
                           ...
Jetty
                                      Jetty
                                       Jetty
                           ...
Gadget      (HTML + JS)


                                     Jetty
                                      Jetty
         ...
Gadget      (HTML + JS)


                                                        Jetty
                                  ...
Gadget      (HTML + JS)


                                                        Jetty
                                  ...
To LM IT system
                                                                    From LM IT system



                 ...
To LM IT system                 Persistence layer
                                                                    From...
OpenSocial
Gadget Rendering
JS Social API


  http://code.google.com/apis/opensocial/
Gadget Rendering Part
A gadget definition is an XML doc specifying code + UI
An OpenSocial Server has a servlet that does t...
Gadget Rendering Part
A gadget definition is an XML doc specifying code + UI
An OpenSocial Server has a servlet that does t...
Gadget Rendering Part
A gadget definition is an XML doc specifying code + UI
An OpenSocial Server has a servlet that does t...
Gadget Rendering Part
A gadget definition is an XML doc specifying code + UI
An OpenSocial Server has a servlet that does t...
Demo
Hello World !
Social API Part
 JS API
 Features
   Profile info
   Adding and removing Friends
   Adding and removing apps
   Storing act...
Social API: what for?
 Personal informations
   Which store does the VIEWER belongs to?
   Who are my friends?
 Activities...
Shindig: an open source project
Implements gadgets and opensocial specs

    Gadget Part:
       ‣ XML to HTML servlet
   ...
What’s done now ?
Portal engine
  Many sites
  News and PictureBook
OpenSocial
  Gadget container
  Save preferences in Nu...
What’s the future ?
 PortalEngine
   better rights management
   publishing/versionning management
   Collaborative schedu...
What’s the future ?
 PortalEngine
   better rights management
                                                y :-)
   pub...
Demo

http://localhost:8080/site/intralm/
Questions ?



Damien Metzler - Leroy Merlin
 Service Informatique France
damien.metzler@leroymerlin.fr
Upcoming SlideShare
Loading in …5
×

Nuxeo and OpenSocial

5,651 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

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

×