SlideShare una empresa de Scribd logo
1 de 40
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 interface like iGoogle
 Social relationships (not hierarchical)
 Social features (activity, shared data)
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
                                   Univers
Storing content in an ECM system
         seems to be a good idea
AccueilPerso




                             Mails




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



    Agrégateur RSS




                             Mails




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



    Agrégateur RSS




                             Mails
          Post-It


                             Gadget
        Contenu
                                Page
                                 Univers
Base document types




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




                                         Model
  Page               Layout
  Gadget             GadgetDef
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                         Model
  Page               Layout
  Gadget             GadgetDef
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                         Model
  Page               Layout
  Gadget             GadgetDef
Base document types
3 base doc types   3 utility doc types
  Univers            Thème




                                         Model
  Page               Layout
  Gadget             GadgetDef
Base document types
3 base doc types          3 utility doc types
  Univers                   Thème




                                                Model
  Page                      Layout
               Portal
  Gadget      relations     GadgetDef
WebEngine for the UI

    Fast UI development
    Easy WEB 2.0 with jQuery
    Fast Proof of Concept
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
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
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
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
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
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
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
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 the
rendering part
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
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
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
Demo
Hello World !
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
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!
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
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)
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
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
Demo

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



Damien Metzler - Leroy Merlin
 Service Informatique France
damien.metzler@leroymerlin.fr

Más contenido relacionado

Más de Nuxeo

Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021Nuxeo
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteNuxeo
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoNuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationNuxeo
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Nuxeo
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionNuxeo
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Nuxeo
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMNuxeo
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...Nuxeo
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondNuxeo
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMNuxeo
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesNuxeo
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsNuxeo
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceNuxeo
 
Combine AI & Modern Content Services to Increase Productivity by 15%
Combine AI & Modern Content Services to Increase Productivity by 15%Combine AI & Modern Content Services to Increase Productivity by 15%
Combine AI & Modern Content Services to Increase Productivity by 15%Nuxeo
 
Booster sa productivité de 15% grâce à une gestion intelligente de l’information
Booster sa productivité de 15% grâce à une gestion intelligente de l’informationBooster sa productivité de 15% grâce à une gestion intelligente de l’information
Booster sa productivité de 15% grâce à une gestion intelligente de l’informationNuxeo
 
Découvrez les nouveautés produits Nuxeo
Découvrez les nouveautés produits NuxeoDécouvrez les nouveautés produits Nuxeo
Découvrez les nouveautés produits NuxeoNuxeo
 
Reducing Image Hide & Seek with AI for In-House Agencies
Reducing Image Hide & Seek with AI for In-House AgenciesReducing Image Hide & Seek with AI for In-House Agencies
Reducing Image Hide & Seek with AI for In-House AgenciesNuxeo
 
Enhancing DAM Operation with Artificial Intelligence
Enhancing DAM Operation with Artificial IntelligenceEnhancing DAM Operation with Artificial Intelligence
Enhancing DAM Operation with Artificial IntelligenceNuxeo
 
How to Turbocharge your Creative Processes
How to Turbocharge your Creative ProcessesHow to Turbocharge your Creative Processes
How to Turbocharge your Creative ProcessesNuxeo
 

Más de Nuxeo (20)

Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovante
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et Nuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the Competition
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAM
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and Beyond
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof Technologies
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial Intelligence
 
Combine AI & Modern Content Services to Increase Productivity by 15%
Combine AI & Modern Content Services to Increase Productivity by 15%Combine AI & Modern Content Services to Increase Productivity by 15%
Combine AI & Modern Content Services to Increase Productivity by 15%
 
Booster sa productivité de 15% grâce à une gestion intelligente de l’information
Booster sa productivité de 15% grâce à une gestion intelligente de l’informationBooster sa productivité de 15% grâce à une gestion intelligente de l’information
Booster sa productivité de 15% grâce à une gestion intelligente de l’information
 
Découvrez les nouveautés produits Nuxeo
Découvrez les nouveautés produits NuxeoDécouvrez les nouveautés produits Nuxeo
Découvrez les nouveautés produits Nuxeo
 
Reducing Image Hide & Seek with AI for In-House Agencies
Reducing Image Hide & Seek with AI for In-House AgenciesReducing Image Hide & Seek with AI for In-House Agencies
Reducing Image Hide & Seek with AI for In-House Agencies
 
Enhancing DAM Operation with Artificial Intelligence
Enhancing DAM Operation with Artificial IntelligenceEnhancing DAM Operation with Artificial Intelligence
Enhancing DAM Operation with Artificial Intelligence
 
How to Turbocharge your Creative Processes
How to Turbocharge your Creative ProcessesHow to Turbocharge your Creative Processes
How to Turbocharge your Creative Processes
 

Último

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Último (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Nuxeo and OpenSocial

  • 1. OpenSocial & Nuxeo An OpenSocial Portal with Nuxeo WebEngine
  • 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
  • 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
  • 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
  • 40. Questions ? Damien Metzler - Leroy Merlin Service Informatique France damien.metzler@leroymerlin.fr