Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Real-time, collaborative
applications
in Plone
J-C Brand
What are real-time web
        applications?

●
  Instant Messaging
●
  Voice and Video conferencing
●
  File transfer
●
 ...
Building blocks
●
    XMPP Server and connection manager
    –   E.g ejabberd
●
    Nginx/Apache
    –   Reverse proxy for...
How does XMPP work?
●
    eXtensible Messaging and Presence Protocol
●
    Universal Unique Identifier (JID)
    –   jcbra...
XMPP Stanzas
XMPP Stanzas
XMPP Stanzas
XMPP Stanzas
Strophe.js
●
    XMPP library for JavaScript
●
    Connects via BOSH to XMPP server
Strophe.js
●
    XMPP library for JavaScript
●
    Connects via BOSH to XMPP server
●
    Can add stanza handlers
Strophe.js
●
    XMPP library for JavaScript
●
    Connects via BOSH to XMPP server
●
    Can add stanza handlers
●
    Ca...
Strophe.js
●
    XMPP library for JavaScript
●
    Connects via BOSH to XMPP server
●
    Can add stanza handlers
●
    Ca...
Backbone.js
●
    Enables structured javascript
    –   Models
        ●
            Key/value binding
        ●
         ...
Backbone.js Examples
●
    Creating a model:




●
    Instantiating a model:
Backbone.js Examples
●
    Creating a view
Backbone.js Views
Real-time Plone
●
    Messaging
    –   Multi/Single user chat
    –   File sharing
●
    Collaboration
    –   Documents,...
Thanks for attending
                          J-C Brand

              web: http://opkode.com
                email: jc@o...
Image credits:
●
    Legomen looking for guinnes
    http://estiletesemcabo.tumblr.com/post/2190751969
●
    Stormtrooper ...
You’ve finished this document.
Upcoming SlideShare
New Technologies demoed at the 2011 Plone Conference
Next

of

Real-time, collaborative applications in Plone Slide 1 Real-time, collaborative applications in Plone Slide 2

YouTube videos are no longer supported on SlideShare

View original on YouTube

Real-time, collaborative applications in Plone Slide 4 Real-time, collaborative applications in Plone Slide 5 Real-time, collaborative applications in Plone Slide 6 Real-time, collaborative applications in Plone Slide 7 Real-time, collaborative applications in Plone Slide 8 Real-time, collaborative applications in Plone Slide 9 Real-time, collaborative applications in Plone Slide 10 Real-time, collaborative applications in Plone Slide 11 Real-time, collaborative applications in Plone Slide 12 Real-time, collaborative applications in Plone Slide 13 Real-time, collaborative applications in Plone Slide 14 Real-time, collaborative applications in Plone Slide 15 Real-time, collaborative applications in Plone Slide 16 Real-time, collaborative applications in Plone Slide 17 Real-time, collaborative applications in Plone Slide 18 Real-time, collaborative applications in Plone Slide 19 Real-time, collaborative applications in Plone Slide 20
Upcoming SlideShare
New Technologies demoed at the 2011 Plone Conference
Next

0

Share

Real-time, collaborative applications in Plone

My talk at the 2012 Plone conference on adding real-time collaborative web applications with XMPP and javascript.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Real-time, collaborative applications in Plone

  1. 1. Real-time, collaborative applications in Plone J-C Brand
  2. 2. What are real-time web applications? ● Instant Messaging ● Voice and Video conferencing ● File transfer ● Feeds/Notifications ● Collaborative editing
  3. 3. Building blocks ● XMPP Server and connection manager – E.g ejabberd ● Nginx/Apache – Reverse proxy for connection manager ● Plone add-ons – collective.xmpp.core – collective.xmpp.collaboration – collective.xmpp.chat – collective.xmpp.pubsub – <your product here>
  4. 4. How does XMPP work? ● eXtensible Messaging and Presence Protocol ● Universal Unique Identifier (JID) – jcbrand@jabber.plone.org/sprint ● Data exchanged as XML “stanzas” – Presence – Message – Info/Query (IQ) ● Roster and social graph
  5. 5. XMPP Stanzas
  6. 6. XMPP Stanzas
  7. 7. XMPP Stanzas
  8. 8. XMPP Stanzas
  9. 9. Strophe.js ● XMPP library for JavaScript ● Connects via BOSH to XMPP server
  10. 10. Strophe.js ● XMPP library for JavaScript ● Connects via BOSH to XMPP server ● Can add stanza handlers
  11. 11. Strophe.js ● XMPP library for JavaScript ● Connects via BOSH to XMPP server ● Can add stanza handlers ● Can build stanzas
  12. 12. Strophe.js ● XMPP library for JavaScript ● Connects via BOSH to XMPP server ● Can add stanza handlers ● Can build stanzas ● Plugins – MUC, Roster, Pubsub, Data Forms etc.
  13. 13. Backbone.js ● Enables structured javascript – Models ● Key/value binding ● Custom events – Collections – Views ● Declarative event handling ● Templates – RESTful JSON interface for connecting with API
  14. 14. Backbone.js Examples ● Creating a model: ● Instantiating a model:
  15. 15. Backbone.js Examples ● Creating a view
  16. 16. Backbone.js Views
  17. 17. Real-time Plone ● Messaging – Multi/Single user chat – File sharing ● Collaboration – Documents, Whiteboard, UML, Mindmaps – Translations – Pair programming (Plone IDE, Theme Editor) ● Continuous feedback – System status messages – User feeds ● Audio/Video Conferencing
  18. 18. Thanks for attending J-C Brand web: http://opkode.com email: jc@opkode.com twitter: @jcopkode IRC: jcbrand
  19. 19. Image credits: ● Legomen looking for guinnes http://estiletesemcabo.tumblr.com/post/2190751969 ● Stormtrooper on facebook http://www.flickr.com/photos/balakov/ ● Legoman with innards http://www.facebook.com/pages/Jason-Freeny/34170123768 ● Lego wizard http://en.bricker.ru/sets/5614/

My talk at the 2012 Plone conference on adding real-time collaborative web applications with XMPP and javascript.

Views

Total views

5,143

On Slideshare

0

From embeds

0

Number of embeds

1,657

Actions

Downloads

0

Shares

0

Comments

0

Likes

0

×