SAPO messenger meets Web2.0:Create your own Instant Messaging mashups!
Overview	IntroductionXMPP BasicsHow to use the API	What can you do?
IntroductionTest and develop your own plug-ins! The best ones developed in Codebits are going to be available in SAPO’s community, in our new and upcoming site.The SAPO Messenger Apps:XMPP basedDelphi (windows client)Javascript (web client)Our team:Luis TroniJorge CruzCarlos Oliveira
XMPP Basics – Stands for ...	eXtensible Messaging and Presence Protocol:Real time messaging systemXML basedDecentralizedSecureFlexibleOpen standards                                                             Useful link: http://xmpp.org/
XMPP Basics – Packet trafficClientalice@sapo.ptClientjohn@gtalk.comEjabberd Serversapo.ptServergtalk.com Inter-domain packet traffic is established between servers not clients
 Inter-domain authentication is not supportedXMPP Basics – Jabber ID (JID)UserDomainResourcealicesapo.ptworkplace@/Bare JIDFull JID
XMPP Basics – Stanzas types<message/> - the conversation itself<presence/> - it is the way you define your status on the web, there are several types of presences, ex: online, away,...<iq/> - Information Queries, the way you change stuff
How to use the API (I)Create Plugins folder inside app folder:
How to use the API (II)	Must have plugin.ini with required data
How to use the API (III)plugin.ini example[plugin][plugin]entrypoint= Mainlanguage= VBScript[description]Name= Hello World!Description= your friendly hello world test!Author = SAPOVersion= 1.0.0.0[components]File1=Test01.vbsName of the entry functionLanguage of the plug-inFile(s) that contains the source code
How to use the API (IV)	Plugins will be loaded on main window, as defined in plugin.ini
How to use the API (V)	The Windows Script Host API:Roster_OnPresenceChange (int Presence  Value) Roster_OnMoodChange (int Mood Value) Roster_OnStatusChange (strStatusPhrase Value) Roster_OnPresenceReceived (str JID Value,int Presence value) Roster_OnDisconnect
What can you do? - Example CodeThe “hello world” example
What can you do? – Other ideas	Real-time Social Networking    Insert RSS notifications    React to XMPP events (ex: change status)<Insert your idea here/>
	@web: http://messenger.sapo.pt/codebits 	@e-mail & @xmpp:messenger.plugins@sapo.ptFeel free to contact us!

SAPO Messenger Meets Web 2.0

  • 1.
    SAPO messenger meetsWeb2.0:Create your own Instant Messaging mashups!
  • 2.
    Overview IntroductionXMPP BasicsHow touse the API What can you do?
  • 3.
    IntroductionTest and developyour own plug-ins! The best ones developed in Codebits are going to be available in SAPO’s community, in our new and upcoming site.The SAPO Messenger Apps:XMPP basedDelphi (windows client)Javascript (web client)Our team:Luis TroniJorge CruzCarlos Oliveira
  • 4.
    XMPP Basics –Stands for ... eXtensible Messaging and Presence Protocol:Real time messaging systemXML basedDecentralizedSecureFlexibleOpen standards Useful link: http://xmpp.org/
  • 5.
    XMPP Basics –Packet trafficClientalice@sapo.ptClientjohn@gtalk.comEjabberd Serversapo.ptServergtalk.com Inter-domain packet traffic is established between servers not clients
  • 6.
    Inter-domain authenticationis not supportedXMPP Basics – Jabber ID (JID)UserDomainResourcealicesapo.ptworkplace@/Bare JIDFull JID
  • 7.
    XMPP Basics –Stanzas types<message/> - the conversation itself<presence/> - it is the way you define your status on the web, there are several types of presences, ex: online, away,...<iq/> - Information Queries, the way you change stuff
  • 8.
    How to usethe API (I)Create Plugins folder inside app folder:
  • 9.
    How to usethe API (II) Must have plugin.ini with required data
  • 10.
    How to usethe API (III)plugin.ini example[plugin][plugin]entrypoint= Mainlanguage= VBScript[description]Name= Hello World!Description= your friendly hello world test!Author = SAPOVersion= 1.0.0.0[components]File1=Test01.vbsName of the entry functionLanguage of the plug-inFile(s) that contains the source code
  • 11.
    How to usethe API (IV) Plugins will be loaded on main window, as defined in plugin.ini
  • 12.
    How to usethe API (V) The Windows Script Host API:Roster_OnPresenceChange (int Presence Value) Roster_OnMoodChange (int Mood Value) Roster_OnStatusChange (strStatusPhrase Value) Roster_OnPresenceReceived (str JID Value,int Presence value) Roster_OnDisconnect
  • 13.
    What can youdo? - Example CodeThe “hello world” example
  • 14.
    What can youdo? – Other ideas Real-time Social Networking Insert RSS notifications React to XMPP events (ex: change status)<Insert your idea here/>
  • 15.
    @web: http://messenger.sapo.pt/codebits @e-mail& @xmpp:messenger.plugins@sapo.ptFeel free to contact us!