+ All Categories
Home > Technology > Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

Date post: 17-May-2015
Category:
Upload: jared-ottley
View: 4,659 times
Download: 0 times
Share this document with a friend
Description:
Alfresco Summit. A proof of concept on how to XMPP (Messaging and Presence) Alfresco nodes. Via IM: Send notifications of changes, Comments on nodes are persisted to Alfresco, Comments added via web client are sent to subscribed users, Update Content in Alfresco from IM Client file transfer, Download content from IM client
35
#SummitNow Alfresco Rumors: What is your content saying? 7 Nov 2013 / 15 Nov 2013 Jared Ottley / Alfresco Software
Transcript
Page 1: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

Alfresco Rumors:What is your content saying?7 Nov 2013 / 15 Nov 2013Jared Ottley / Alfresco Software

Page 2: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

AgendaWhat is XMPP?Alfresco Rumors

• DemoLagniappeQ&A

Page 3: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

What is XMPP?

Page 4: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#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

Page 5: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

XMPP example<stream:stream><presence/>…<message from=“[email protected]” to=“[email protected]”>

<body>XMPP is cool!</body></message>…<presence type=“unavailable” /></stream:stream>

Page 6: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#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/

Page 7: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco RumorsGoal: Enable Alfresco nodes to talk and listen to XMPP events

Page 8: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco RumorsInitial Features• Notification of Changes• Comment• File Upload• Commands

Page 9: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

Client

Client

Client

Page 10: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

Client

Client

Client

0..n Clients

Page 11: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco RumorsBuilt using:• Alfresco 4.2• Openfire 3.8.2• Smack 3.3.1• Adium 1.5.8

Page 12: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

Demo

Page 13: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

cm:person

xmpp:user

xmpp:username

Page 14: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

cm:content

xmpp:node xmpp:passwor

dxmpp:roster {…}

xmpp:owner

Page 15: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

Client

Client

Client

Page 16: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

XMPPServiceXMPPNodePolicy

/rooster/add

/disable

/enable

/message

XMPPClients

Page 17: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

XMPPService

XMPPClients

Openfire Client

User Plugin

Page 18: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

XMPPClient

Connection

File Transfer Manager

Page 19: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#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

Page 20: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

JingleAn 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

Page 21: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

FormsAn extension for data forms that can be used in workflows such as service configuration as well as for application-specific data description and reporting.

• Property Update• Workflow• Content Creation

Page 22: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Forms

Page 23: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Multi-User ChatAn 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.

Page 24: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

PresenceUpdate user lists of sites/share to provide online/offline notification.• Desktop Client• Mobile Client• Browser

Page 25: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Messaging• PubSub / Activity Feeds• RTC• Cross Application Messaging

• Inbound Messaging• Server Status

Page 26: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Lagniappela•gniappe | lan yap |nounSomething given as a bonus or extra giftORIGIN Louisiana French, from Spanish la ñapa.

Page 27: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

GetNodesWithAspectCannedQueryFactoryRequirement:• Start XMPP node clients on start up

Page 28: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

GetNodesWithAspectCannedQueryFactory

Page 29: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

GetNodesWithAspectCannedQueryFactory

Page 30: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

GetNodesWithAspectCannedQueryFactorypublic org.alfresco.query.CannedQuery getCannedQuery(org.alfresco.service.cmr.repository.StoreRef 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.

Page 31: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#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.

Page 32: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#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>

Page 33: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

Alfresco Rumors

Q && A

Page 34: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow

#SummitNow

ResourcesAlfresco Rumorshttps://github.com/jottley/alfresco-rumors

Openfire, Smack, Sparkhttp://www.igniterealtime.org/

Page 35: Alfresco Rumors: XMPP Enable Alfresco nodes (POC)

#SummitNow


Recommended