SlideShare a Scribd company logo
1 of 35
Alfresco Rumors:
What is your content saying?
7 Nov 2013 / 15 Nov 2013
Jared Ottley / Alfresco Software

#SummitNow
Agenda
What is XMPP?
Alfresco Rumors
• Demo
Lagniappe
Q&A

#SummitNow
#SummitNow
What is XMPP?

#SummitNow
#SummitNow
XMPP – History+
Jeremie Miller
• Jabberd/XMPP (1998)
XMPP
• Extensible Messaging & Presence Protocol
• Communication & Message Middleware
• Extensible:
• Pub/Sub, VoIP, Video, Gaming, IoT, File
Transfer
#SummitNow
#SummitNow
XMPP example
<stream:stream>
<presence/>
…
<message from=“alfresco@xmpp.alfresco.com”
to=“jared.ottley@xmpp.alfresco.com.com”>
<body>XMPP is cool!</body>
</message>
…
<presence type=“unavailable” />
</stream:stream>

#SummitNow
#SummitNow
XMPP – Where can you get it?
Servers:
http://xmpp.org/xmpp-software/servers/

Clients:
http://xmpp.org/xmpp-software/clients/
Libraries:
http://xmpp.org/xmpp-software/libraries/

#SummitNow
#SummitNow
Alfresco Rumors
Goal: Enable Alfresco nodes to talk and
listen to XMPP events

#SummitNow
#SummitNow
Alfresco Rumors
Initial Features
• Notification of Changes
• Comment
• File Upload
• Commands

#SummitNow
#SummitNow
Alfresco Rumors
Client

Client

Client

#SummitNow
#SummitNow
Alfresco Rumors

0..n Clients

Client

Client

Client

#SummitNow
#SummitNow
Alfresco Rumors
Built using:
• Alfresco 4.2
• Openfire 3.8.2
• Smack 3.3.1
• Adium 1.5.8

#SummitNow
#SummitNow
Alfresco Rumors

Demo

#SummitNow
#SummitNow
Alfresco Rumors
xmpp:user
cm:perso
n

xmpp:username

#SummitNow
#SummitNow
Alfresco Rumors
xmpp:node
xmpp:password
cm:content

xmpp:roster {…}
xmpp:owner

#SummitNow
#SummitNow
Alfresco Rumors
Client

Client

Client

#SummitNow
#SummitNow
Alfresco Rumors
/rooster/add

/disable

XMPPNodePolicy

XMPPService
/enable

/message

#SummitNow
#SummitNow
Alfresco Rumors
Openfire
Client

User
Plugin

XMPPService

#SummitNow
#SummitNow
Alfresco Rumors
Connection

XMPPClient

File Transfer
Manager

#SummitNow
#SummitNow
#Todo
•
•
•
•
•
•
•

Roster web script CRUD
Notification property list
Simplify adding commands
Test Scaling
Message web script broadcast, excludes
Add pub/sub
Rework User Service to be more RESTful

#SummitNow
#SummitNow
Jingle
An extension that adds
peer-to-peer (P2P)
session control
(signaling) for
multimedia interactions
such as in Voice over
IP (VoIP) or
videoconferencing
communications.

•
•
•
•
•

Voice
Video
Application Sharing
Collaborative Editing
Whiteboarding

#SummitNow
#SummitNow
Forms
An extension for data forms that can be
used in workflows such as service
configuration as well as for applicationspecific data description and reporting.
• Property Update
• Workflow
• Content Creation
#SummitNow
#SummitNow
Forms

#SummitNow
#SummitNow
Multi-User Chat
An extension for multi-user text chat, whereby
multiple XMPP users can exchange messages
in the context of a room or channel, similar to
Internet Relay Chat (IRC). In addition to
standard chatroom features such as room
topics and invitations, the protocol defines a
strong room control model, including the ability
to kick and ban users, to name room
moderators and administrators, to require
membership or passwords in order to join the
room, etc.
#SummitNow
#SummitNow
Presence
Update user lists of sites/share to provide
online/offline notification.
• Desktop Client
• Mobile Client
• Browser

#SummitNow
#SummitNow
Messaging
• PubSub / Activity Feeds
• RTC
• Cross Application Messaging
• Inbound Messaging
• Server Status

#SummitNow
#SummitNow
Lagniappe
la•gniappe | lan yap |
noun
Something given as a bonus or extra gift
ORIGIN Louisiana French, from Spanish la ñapa.

#SummitNow
#SummitNow
GetNodesWithAspectCannedQueryFactory
Requirement:
• Start XMPP node clients on start up

#SummitNow
#SummitNow
GetNodesWithAspectCannedQueryFactory

#SummitNow
#SummitNow
GetNodesWithAspectCannedQueryFactory

#SummitNow
#SummitNow
GetNodesWithAspectCannedQueryFactory
public org.alfresco.query.CannedQuery
getCannedQuery(org.alfresco.service.cmr.repository.Store
Ref storeRef, java.util.Set
aspectQNames, org.alfresco.query.PagingRequest
pagingRequest)

• If run at init, the query maybe run before the schema is
created – Solution: subsystem.

#SummitNow
#SummitNow
Custom User Profile
• Override SlingshotUserFactory class
• constructUser
• saveUser

• Custom userprofile.get* web script
• Custom profile.js
These must be verified for changes with
each new version of Alfresco.

#SummitNow
#SummitNow
Custom User Profile
custom-slingshot-*-context.xml
<bean id="webframework.factory.xmpp.user”
class="org.alfresco.integrations.xmpp.share.XMPPUserFactory”
parent="webframework.factory.base" />
share-config-custom.xml
<config evaluator="string-compare" condition="WebFramework">
<web-framework> <defaults>
<user-factory>webframework.factory.xmpp.user</user-factory>
</defaults> </web-framework>
</config>

#SummitNow
#SummitNow
Alfresco Rumors

Q && A

#SummitNow
#SummitNow
Resources
Alfresco Rumors
https://github.com/jottley/alfresco-rumors
Openfire, Smack, Spark
http://www.igniterealtime.org/

#SummitNow
#SummitNow
#SummitNow

More Related Content

Viewers also liked

Salesforce Security – An Encryption Guide For The Paranoid
Salesforce Security – An Encryption Guide For The ParanoidSalesforce Security – An Encryption Guide For The Paranoid
Salesforce Security – An Encryption Guide For The Paranoid
Ajeet Singh
 
Strategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android AppsStrategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android Apps
Ajeet Singh
 

Viewers also liked (10)

Jive, dropbox and other integrations
Jive, dropbox and other integrationsJive, dropbox and other integrations
Jive, dropbox and other integrations
 
Alfresco for Salesforce
Alfresco for SalesforceAlfresco for Salesforce
Alfresco for Salesforce
 
Dreamforce 2016 : Highlights, Hacks and Rumors
Dreamforce 2016 : Highlights, Hacks and RumorsDreamforce 2016 : Highlights, Hacks and Rumors
Dreamforce 2016 : Highlights, Hacks and Rumors
 
CORS - Enable Alfresco for CORS
CORS - Enable Alfresco for CORSCORS - Enable Alfresco for CORS
CORS - Enable Alfresco for CORS
 
Mobile Retail and You | An Infographic
Mobile Retail and You | An InfographicMobile Retail and You | An Infographic
Mobile Retail and You | An Infographic
 
Advantage Dreamforce: In Numbers | An Infographic
Advantage Dreamforce: In Numbers | An InfographicAdvantage Dreamforce: In Numbers | An Infographic
Advantage Dreamforce: In Numbers | An Infographic
 
The Mobile Story 2016 [Infographic]
The Mobile Story 2016 [Infographic]The Mobile Story 2016 [Infographic]
The Mobile Story 2016 [Infographic]
 
Salesforce Security – An Encryption Guide For The Paranoid
Salesforce Security – An Encryption Guide For The ParanoidSalesforce Security – An Encryption Guide For The Paranoid
Salesforce Security – An Encryption Guide For The Paranoid
 
The Mobile Grenade | An Infographic
The Mobile Grenade | An InfographicThe Mobile Grenade | An Infographic
The Mobile Grenade | An Infographic
 
Strategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android AppsStrategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android Apps
 

Similar to Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st Century
Gnu Alsonative
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st Century
Gnu Alsonative
 

Similar to Alfresco Rumors: XMPP Enable Alfresco nodes (POC) (20)

Xmpp intro 2014
Xmpp intro 2014Xmpp intro 2014
Xmpp intro 2014
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 
XMPP, TV and the Semantic Web
XMPP, TV and the Semantic WebXMPP, TV and the Semantic Web
XMPP, TV and the Semantic Web
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
A vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF MeetupA vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF Meetup
 
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-BayesOSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
 
Hail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceHail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open source
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st Century
 
JmDNS : Service Discovery for the 21st Century
 JmDNS : Service Discovery for the 21st Century JmDNS : Service Discovery for the 21st Century
JmDNS : Service Discovery for the 21st Century
 
SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017SIP/WebRTC load testing @ KamailioWorld 2017
SIP/WebRTC load testing @ KamailioWorld 2017
 
Federico Cabiddu - VoIP2DAY 2016 | VoIP and RTC Troubleshooting using the Sip...
Federico Cabiddu - VoIP2DAY 2016 | VoIP and RTC Troubleshooting using the Sip...Federico Cabiddu - VoIP2DAY 2016 | VoIP and RTC Troubleshooting using the Sip...
Federico Cabiddu - VoIP2DAY 2016 | VoIP and RTC Troubleshooting using the Sip...
 
Detecting Spoofing at IXPs
Detecting Spoofing at IXPsDetecting Spoofing at IXPs
Detecting Spoofing at IXPs
 
Detecting spoofing at IxP's
Detecting spoofing at IxP'sDetecting spoofing at IxP's
Detecting spoofing at IxP's
 
Jingle
JingleJingle
Jingle
 
Decentralising data distribution
Decentralising data distributionDecentralising data distribution
Decentralising data distribution
 
KazooCon 2014 - WebRTC
KazooCon 2014 - WebRTCKazooCon 2014 - WebRTC
KazooCon 2014 - WebRTC
 
Jabber making the most of
Jabber making the most ofJabber making the most of
Jabber making the most of
 
Making the most of Jabber
Making the most of JabberMaking the most of Jabber
Making the most of Jabber
 
The bigrabbit
The bigrabbitThe bigrabbit
The bigrabbit
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Alfresco Rumors: XMPP Enable Alfresco nodes (POC)