Social Enabler
    for XPages
http://socialenabler.openntf.org


Philippe Riand, Niklas Heidloff

            05/02/11




        1
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       2
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       3
Introduction
    People are connected more than ever blurring the line between business
     and private life
    Information is scattered more than ever, within enterprises and in public
     social networks, within on premise systems and on the cloud


    As a result there are new requirements for technologies to integrate and
     interoperate between heterogenous systems


    This deck shows ideas how to address these new requirements using
     XPages and the IBM Social Business Toolkit based on industry standards


    This deck as well as the OpenNTF project Social Enabler are work in
     progress at this time




                                                                                 4
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       5
Goals of the OpenNTF Project
    Get feedback from the community
    Identify XPages requirements for new social functionality
    Show strategic direction
    Provide some of the new functionality as open source to receive early
     feedback from developers


    Disclaimer
      The IBM® Social Business Toolkit is only available as test version on Greenhouse. It is not
       part of any IBM product yet.
      The code on OpenNTF is not production ready, not officially supported by IBM and it will
       change.




                                                                                                     6
Goals of the OpenNTF Project
    XPages controls
      Ready to use components
        – Community members, activity lists...
        – Access to external networks (Facebook like...)
    XPages gadgets
      Projecting existing XPages as OpenSocial gadgets
      Support for the embedded experience
    Easy to use APIs
      Java and JavaScript bindings to the Social Business Toolkit APIs
       – Creating new entries in the activity stream
       – Accessing Profiles, Communities, Activities...
      New data sources dealing with REST services, with pre-built capability for Connections and
       external services
       – Pluggable authentication mechanisms including OAuth, SSO...
      Simple actions
       – Creating a new Community, Activity...




                                                                                                    7
Goals of the OpenNTF Project
    Social APIs
      Seamless access to user Profiles coming from multiple sources
       – IBM Connections®, Facebook...
       – Single, unique API for the application developer
       – Automatic data caching for better performance
      Social APIs with identity mapping
    Framework for creating custom REST services




                                                                       8
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       9
Technologies based on Standards
    HTML5
    REST
    JSON
    OAuth
    Activity Streams
    OpenSocial




                                  10
OAuth




        11
Activity Streams




                   12
OpenSocial




             13
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       14
IBM Social Business Toolkit

   The IBM Social Business Toolkit is a new cross-product
    integration with the Lotus Social Business portfolio and
    extensibility toolkit for developers.
   Initially, the IBM Social Business Toolkit delivers a set of
    tools that enable developers to publish and retrieve
    events to the activity stream.
   The toolkit further enables cloud deployability, open
    standards-based APIs to consume, produce, and use
    events, a configurable adapter framework for consuming
    existing external content, filtering capabilities, and
    enhanced administrative features for better security.
   In the future, the toolkit will expand to include
    extensibility areas such as share box, embedded
    experiences, and more.




                                                                   15
IBM Social Business Toolkit

                                Applications




                                OpenSocial               Other      OpenSocial
                                   APIs                REST APIs     Gadgets     Public APIs
                                                                                 REST
 Specific APIs                   IBM Social Business Toolkit APIs


             IBM Core Modules, IBM & Partners Value-added Modules


                         X                Y                 Z                    Business
                                                                                 modules

                         X                Y                 Z



                                                                                 Internal APIs
                                                                                 Platform specific
     APIs               APIs             APIs                       APIs
                                                          APIs


                                                                                                     16
API Test Application




      https://greenhouse.lotus.com/vulcan/shindig/client/testAPI.jsp
                                                                       17
Embedded Experience




https://greenhouse.lotus.com/activitystream/   18
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       19
OAuth




        20
Read from Activity Stream




                            21
Write to Activity Stream (synch or asynch)




                                             22
Display XPage in Embedded Experience




                                       23
Write custom REST Services




                             24
Content
    Introduction
    Goals of the OpenNTF project
    Technologies
    IBM® Social Business Toolkit
    Current functionality of Social Enabler project
    Scenarios
    References




                                                       25
Scenarios
    Lead manager application
      Utilizes SBT, Connections, LotusLive

    Hiring workflow
      Utilizes Twitter, Facebook, SBT, Connections
    Personal website
      Utilizes Facebook, Twitter, YouTube, etc.




                                                      26
Lead Manager Application
    This is a sample application for the fictional ZetaBank company's CRM
     application
    It had been initially developed as a 'classic' Notes/Domino application, and
     then moved to XPages
      The XPages application is out since 2009
      It doesn't use the XPages extension library
    It aggregates data from multiple sources
    The base version is available freely on OpenNTF:
     http://www.openntf.org/p/Lead%20Manager%20X




                                                                                    27
Work in Context with other People
    Create a community per customer
      Add the people interested by a particular customer
      Share documents, resources... related to a customer

    Create activities per deal
      Track the actions and resources associated with a deal
      Create this activity as part of the customer community




                                    Start or use a community/activity
                                    right from the application




                                                                        28
Share Resources With a Customer
    Share documents with the customer
      Technical information on the deal
      Proposals
      ...
    Use the file API to share resources on the cloud
      Use LotusLive APIs

    Easily retrieve track information in the LeadManager UI




                                                               29
Notify a User When an Event Happens
    Publish events happening in the application to the Activity Stream
      Synchronously, when the event happens
      Asynchronously, from an agent, when an action has to be taken

    Let a user choose the events he is interested by
      Filter on companies
      Filter on events: customer changes, lead changed...

    Display the event in context using the embedded experience
      Display an XPages gadget in the activity stream showing either the customer or the event
    Send an email




                                                                                                  30
Find Information on People
    For internal members - employees
      Display the people business card when a user is displayed




      Go to the member profile
      Look for profiles working on similar leads
        – Search similar leads and the access the people in the community




    For external members – customer contacts
      Find related information on the public network




                                                                            31
Communicate with People
    Start instant messaging conversation
      Add presence awareness to the user names
      Add Sametime chat capability using the ST proxy

    Send an email within the context of a company/lead
      Create the email with some data pre-added

    Setup meetings on the fly, with the interested people
      Send calendar invitations using the Social Mail Gadget
      Create the Sametime meeting room, if needed
      Allow instant meeting and screen sharing




                                                                32
Collaborative Editing Experience
    Collaborative editing experience
      Work on a contract with other people
      Leverage LotusLive Symphony for concurrent editing




                                                            33
Hiring Worklow
    A classic hiring workflow can be improved by using social techniques




                                                                            34
Hiring Workflow
    Post job opening to company pages on Facebook, LinkedIn, etc.
    Vice versa consolidate comments to the postings back in the workflow
     system UI


    Twitter regularly/on scheduled basis about open jobs
    Vice versa consolidate replies to the postings back in the workflow system
     UI


    Agent collects a summary of information found in the internet (e.g.
     Facebook, blogs, etc) about candidates


    Create a Connections activity to define collaboratively the job description
     and/or to discuss which candidate to take


    Via Connections profiles find similar jobs within the organisation, check
     what they earn before making offer                                            35
Personal Website
    Allow Facebook comments and likes




    Share blogs and websites
      Manually




      Automatic/background



                                         36
Personal Website
    Upload to and embed pictures from Flickr
    Upload to and embed videos from YouTube
    Upload to and embed slides from SlideShare


    Embed widgets (e.g. latest entries) from Twitter, Facebook, YouTube, etc.
     on the personal website




                                                                                 37
Personal Website
    Visitors can rate any page
    Visitors can like any page
    Visitors can comment on any page
    There are views/sitemaps to filter pages by these criteria


    Website provides widgets with updates from this website




                                                                  38
References
    OpenNTF project: http://socialenabler.openntf.org
    IBM Social Business Toolkit wiki: http://www-10.lotus.com/ldd/
     appdevwiki.nsf
    API Test Application: https://greenhouse.lotus.com/vulcan/shindig/client/
     testAPI.jsp
    Embedded Experience: https://greenhouse.lotus.com/activitystream/
    Oauth: http://oauth.net
    OpenSocial: http://opensocial.org
    Activity Streams: http://activitystrea.ms
    Niklas Heidloff's blog: http://heidloff.net
    Lead manager base application: http://www.openntf.org/p/Lead%
     20Manager%20X
    Lead manager article: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/
     lead_manager_x_overview.htm


                                                                                 39
Legal Disclaimer
    © IBM Corporation 2011. All Rights Reserved.
    The information contained in this publication is provided for informational purposes only. While efforts were made to verify
     the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any
     kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject
     to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related
     to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of,
     creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the
     applicable license agreement governing the use of IBM software.
    References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries
     in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at
     IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future
     product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of,
     stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
    IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere
     are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a
     trademark of WebDialogs, Inc., in the United States, other countries, or both.
    Facebook is a trademark
    Twitter is a trademark
    Flickr is a trademark
    YouTube is a trademark
    SlideShare is a trademark




                                                                                                                                        40

Social Enabler for XPages

  • 1.
    Social Enabler for XPages http://socialenabler.openntf.org Philippe Riand, Niklas Heidloff 05/02/11 1
  • 2.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 2
  • 3.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 3
  • 4.
    Introduction  People are connected more than ever blurring the line between business and private life  Information is scattered more than ever, within enterprises and in public social networks, within on premise systems and on the cloud  As a result there are new requirements for technologies to integrate and interoperate between heterogenous systems  This deck shows ideas how to address these new requirements using XPages and the IBM Social Business Toolkit based on industry standards  This deck as well as the OpenNTF project Social Enabler are work in progress at this time 4
  • 5.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 5
  • 6.
    Goals of theOpenNTF Project  Get feedback from the community  Identify XPages requirements for new social functionality  Show strategic direction  Provide some of the new functionality as open source to receive early feedback from developers  Disclaimer  The IBM® Social Business Toolkit is only available as test version on Greenhouse. It is not part of any IBM product yet.  The code on OpenNTF is not production ready, not officially supported by IBM and it will change. 6
  • 7.
    Goals of theOpenNTF Project  XPages controls  Ready to use components – Community members, activity lists... – Access to external networks (Facebook like...)  XPages gadgets  Projecting existing XPages as OpenSocial gadgets  Support for the embedded experience  Easy to use APIs  Java and JavaScript bindings to the Social Business Toolkit APIs – Creating new entries in the activity stream – Accessing Profiles, Communities, Activities...  New data sources dealing with REST services, with pre-built capability for Connections and external services – Pluggable authentication mechanisms including OAuth, SSO...  Simple actions – Creating a new Community, Activity... 7
  • 8.
    Goals of theOpenNTF Project  Social APIs  Seamless access to user Profiles coming from multiple sources – IBM Connections®, Facebook... – Single, unique API for the application developer – Automatic data caching for better performance  Social APIs with identity mapping  Framework for creating custom REST services 8
  • 9.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 9
  • 10.
    Technologies based onStandards  HTML5  REST  JSON  OAuth  Activity Streams  OpenSocial 10
  • 11.
  • 12.
  • 13.
  • 14.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 14
  • 15.
    IBM Social BusinessToolkit  The IBM Social Business Toolkit is a new cross-product integration with the Lotus Social Business portfolio and extensibility toolkit for developers.  Initially, the IBM Social Business Toolkit delivers a set of tools that enable developers to publish and retrieve events to the activity stream.  The toolkit further enables cloud deployability, open standards-based APIs to consume, produce, and use events, a configurable adapter framework for consuming existing external content, filtering capabilities, and enhanced administrative features for better security.  In the future, the toolkit will expand to include extensibility areas such as share box, embedded experiences, and more. 15
  • 16.
    IBM Social BusinessToolkit Applications OpenSocial Other OpenSocial APIs REST APIs Gadgets Public APIs REST Specific APIs IBM Social Business Toolkit APIs IBM Core Modules, IBM & Partners Value-added Modules X Y Z Business modules X Y Z Internal APIs Platform specific APIs APIs APIs APIs APIs 16
  • 17.
    API Test Application https://greenhouse.lotus.com/vulcan/shindig/client/testAPI.jsp 17
  • 18.
  • 19.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 19
  • 20.
  • 21.
  • 22.
    Write to ActivityStream (synch or asynch) 22
  • 23.
    Display XPage inEmbedded Experience 23
  • 24.
    Write custom RESTServices 24
  • 25.
    Content  Introduction  Goals of the OpenNTF project  Technologies  IBM® Social Business Toolkit  Current functionality of Social Enabler project  Scenarios  References 25
  • 26.
    Scenarios  Lead manager application  Utilizes SBT, Connections, LotusLive  Hiring workflow  Utilizes Twitter, Facebook, SBT, Connections  Personal website  Utilizes Facebook, Twitter, YouTube, etc. 26
  • 27.
    Lead Manager Application  This is a sample application for the fictional ZetaBank company's CRM application  It had been initially developed as a 'classic' Notes/Domino application, and then moved to XPages  The XPages application is out since 2009  It doesn't use the XPages extension library  It aggregates data from multiple sources  The base version is available freely on OpenNTF: http://www.openntf.org/p/Lead%20Manager%20X 27
  • 28.
    Work in Contextwith other People  Create a community per customer  Add the people interested by a particular customer  Share documents, resources... related to a customer  Create activities per deal  Track the actions and resources associated with a deal  Create this activity as part of the customer community Start or use a community/activity right from the application 28
  • 29.
    Share Resources Witha Customer  Share documents with the customer  Technical information on the deal  Proposals  ...  Use the file API to share resources on the cloud  Use LotusLive APIs  Easily retrieve track information in the LeadManager UI 29
  • 30.
    Notify a UserWhen an Event Happens  Publish events happening in the application to the Activity Stream  Synchronously, when the event happens  Asynchronously, from an agent, when an action has to be taken  Let a user choose the events he is interested by  Filter on companies  Filter on events: customer changes, lead changed...  Display the event in context using the embedded experience  Display an XPages gadget in the activity stream showing either the customer or the event  Send an email 30
  • 31.
    Find Information onPeople  For internal members - employees  Display the people business card when a user is displayed  Go to the member profile  Look for profiles working on similar leads – Search similar leads and the access the people in the community  For external members – customer contacts  Find related information on the public network 31
  • 32.
    Communicate with People  Start instant messaging conversation  Add presence awareness to the user names  Add Sametime chat capability using the ST proxy  Send an email within the context of a company/lead  Create the email with some data pre-added  Setup meetings on the fly, with the interested people  Send calendar invitations using the Social Mail Gadget  Create the Sametime meeting room, if needed  Allow instant meeting and screen sharing 32
  • 33.
    Collaborative Editing Experience  Collaborative editing experience  Work on a contract with other people  Leverage LotusLive Symphony for concurrent editing 33
  • 34.
    Hiring Worklow  A classic hiring workflow can be improved by using social techniques 34
  • 35.
    Hiring Workflow  Post job opening to company pages on Facebook, LinkedIn, etc.  Vice versa consolidate comments to the postings back in the workflow system UI  Twitter regularly/on scheduled basis about open jobs  Vice versa consolidate replies to the postings back in the workflow system UI  Agent collects a summary of information found in the internet (e.g. Facebook, blogs, etc) about candidates  Create a Connections activity to define collaboratively the job description and/or to discuss which candidate to take  Via Connections profiles find similar jobs within the organisation, check what they earn before making offer 35
  • 36.
    Personal Website  Allow Facebook comments and likes  Share blogs and websites  Manually  Automatic/background 36
  • 37.
    Personal Website  Upload to and embed pictures from Flickr  Upload to and embed videos from YouTube  Upload to and embed slides from SlideShare  Embed widgets (e.g. latest entries) from Twitter, Facebook, YouTube, etc. on the personal website 37
  • 38.
    Personal Website  Visitors can rate any page  Visitors can like any page  Visitors can comment on any page  There are views/sitemaps to filter pages by these criteria  Website provides widgets with updates from this website 38
  • 39.
    References  OpenNTF project: http://socialenabler.openntf.org  IBM Social Business Toolkit wiki: http://www-10.lotus.com/ldd/ appdevwiki.nsf  API Test Application: https://greenhouse.lotus.com/vulcan/shindig/client/ testAPI.jsp  Embedded Experience: https://greenhouse.lotus.com/activitystream/  Oauth: http://oauth.net  OpenSocial: http://opensocial.org  Activity Streams: http://activitystrea.ms  Niklas Heidloff's blog: http://heidloff.net  Lead manager base application: http://www.openntf.org/p/Lead% 20Manager%20X  Lead manager article: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/ lead_manager_x_overview.htm 39
  • 40.
    Legal Disclaimer  © IBM Corporation 2011. All Rights Reserved.  The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.  References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.  IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.  Facebook is a trademark  Twitter is a trademark  Flickr is a trademark  YouTube is a trademark  SlideShare is a trademark 40