Saturday, May 28, 2011

Into the first week

So, the first week have been easy (as expected).  I got everything done by Wednesday because I had finals. The rest of the week I focused on figuring out how to do the work for my second week.

What I did basically, is adding the ability to create all kinds of Acks to xmmpy.

Here's how xmmpy creates regular stanzas:

The Node class is in charge of the low level operations needed to make an stanza. The Protocol class has common operations used by the message, presence and IQ stanzas. Acks are different, so they don't need those kind of operations.

So my Acks class inherits from Node.

I tested it and it builds every Ack that are going to be needed by the client.

These are:

  • <a xmlns='urn:xmpp:sm:3' h=''/>
  • <r xmlns='urn:xmpp:sm:3' />
  • <enable xmlns='urn:xmpp:sm:3' />
  • <enable xmlns='urn:xmpp:sm:3' resume='true' />
  • <resume xmlns='urn:xmpp:sm:3' h='' previd='' />

So far so good.

Thursday, May 19, 2011

Google Summer Of Code Starts Now!

Hi! My name is Jefry Lagrange. I was selected to participate in GSOC 2011. I will be implementing Stream Management in Gajim, and some other goodies.

Here's my planned scheadule:

Week 1

Modify parser to create acks

Week 2

Create a class that will send acks, handle incoming acks and keep
track of the acks stanzas that have been handled.

Week 3

Analyze the source code, to know which parts should be modified in
order to implement stream management.

Week 4-5

Begin Stream Management implementation, negotiation, error handling,
stream closure.

Week 6


Week 7


Week 8

Analyze the source code to know where and how file transfer is done.

Week 9

Implement IBB fallback.

Week 10

Analyze the source code to know where and how the plugin system works.

Week 11-12

Extend the events in the plugin system to include things like outgoing
stanzas, etc..

I will update this blog every week's end with a report of my progress.