Changes

Jump to navigation Jump to search
22 bytes removed ,  01:55, 17 December 2020
m
no edit summary
Line 5: Line 5:  
===Abstract===
 
===Abstract===
   −
XEP-0050 (http://xmpp.org/extensions/xep-0050.html) describes the Ad-Hoc Commands extension to Jabber/XMPP protocol. It allows building user-friendly remote interfaces to XMPP applications like bots or other jabber clients. XEP-0060 (http://xmpp.org/extensions/xep-0060.html) describes a generic protocol to publish data and notify users about new content. Both can be used to create a Jabber-based discussion groups, similar to Usenet. My goal is to implement both protocols in Gajim - Jabber client written in Python, then build a pubsub-based discussion groups service.
+
XEP-0050 (http://xmpp.org/extensions/xep-0050.html) describes the Ad-Hoc Commands extension to XMPP protocol. It allows building user-friendly remote interfaces to XMPP applications like bots or other XMPP clients. XEP-0060 (http://xmpp.org/extensions/xep-0060.html) describes a generic protocol to publish data and notify users about new content. Both can be used to create an XMPP-based discussion groups, similar to Usenet. My goal is to implement both protocols in Gajim - XMPP client written in Python, then build a pubsub-based discussion groups service.
    
===Python, xmpppy and Gajim===
 
===Python, xmpppy and Gajim===
   −
Python is a very easy to use scripting language. It was developed to allow writing software fast and without bugs. I like it very much, so I choosed xmpppy library and Gajim jabber client to work on. xmpppy is very modular jabber library, which was used for example to write transport to irc. Gajim is a relatively new jabber client. Despite that it already has many features, like avatars, file transfer and MUC.
+
Python is a very easy to use scripting language. It was developed to allow writing software fast and without bugs. I like it very much, so I choosed xmpppy library and Gajim XMPP client to work on. xmpppy is very modular XMPP library, which was used for example to write transport to irc. Gajim is a relatively new XMPP client. Despite that it already has many features, like avatars, file transfer and MUC.
    
===Discussion groups===
 
===Discussion groups===
   −
Why yet another protocol? There are already such things like Usenet, mailing lists and web-based forums. Actually, they have one common disadvantage for me: they aren't jabber based ;-). All of them are based on the "pull"-type protocols, that often have no means of notifying the user of new content, user needs to check periodically for it. They also have other drawbacks: doesn't allow to easily browse older messages (mailing lists), are uncomfortable (forums), provide no means to configure service by user (usenet). Besides, PubSub looks like it was written to make a board :-).
+
Why yet another protocol? There are already such things like Usenet, mailing lists and web-based forums. Actually, they have one common disadvantage for me: they aren't XMPP based ;-). All of them are based on the "pull"-type protocols, that often have no means of notifying the user of new content, user needs to check periodically for it. They also have other drawbacks: doesn't allow to easily browse older messages (mailing lists), are uncomfortable (forums), provide no means to configure service by user (usenet). Besides, PubSub looks like it was written to make a board :-).
    
The payload of pubsub items are simply an atom entries. Some fields of entry are filled by posting user agent, some by the server (these are marked with asterix (*). Elements used by the implementation are:
 
The payload of pubsub items are simply an atom entries. Some fields of entry are filled by posting user agent, some by the server (these are marked with asterix (*). Elements used by the implementation are:
Line 53: Line 53:  
* (2006.07.22) My branch of Gajim can now receive notifications from pubsub.com, when logged in to their server. Some GUI glitches left.
 
* (2006.07.22) My branch of Gajim can now receive notifications from pubsub.com, when logged in to their server. Some GUI glitches left.
 
* (2006.08.08) The service bot can list groups, subscribe and unsubscribe jids. I will soon publish its code. Gajim can present the list of nodes, now working on (un)subscribing UI. I had small delays, but now everything is ok.
 
* (2006.08.08) The service bot can list groups, subscribe and unsubscribe jids. I will soon publish its code. Gajim can present the list of nodes, now working on (un)subscribing UI. I had small delays, but now everything is ok.
* (2006.08.19) The service agent works, Gajim allows to send messages and receive them (actually as single messages, there's now special gui for now - this means that after subscribing to a node using gajim user can get messages using any jabber client capable of displaying messages with subjects). I had some delays due to family affairs, but now it is done! Now I'm going to finish the data forms wrapper. After that I'll start extending groups service, a post-SoC effect :-).
+
* (2006.08.19) The service agent works, Gajim allows to send messages and receive them (actually as single messages, there's now special gui for now - this means that after subscribing to a node using gajim user can get messages using any XMPP client capable of displaying messages with subjects). I had some delays due to family affairs, but now it is done! Now I'm going to finish the data forms wrapper. After that I'll start extending groups service, a post-SoC effect :-).
    
[[Category:Summer of Code 2006]]
 
[[Category:Summer of Code 2006]]
190

edits

Navigation menu