SlideShare uma empresa 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

Mais conteúdo relacionado

Mais 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
 

Mais 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

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Último (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

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