Sunday, 27 May 2007

Returned from Canada

I've returned from my travel. It was nice. Almost a perfect travel: no baggage lost, no plane crash on a lonely island...

I even got a surprise on the conference where I presented my paper: I received a 'Nokia Student Travel Award'!

Thursday, 17 May 2007

PhD travel since 18 to 26 May

I'll be on travel since 18 to 26, May 2007.

This was already planned on my GSoC project timeline. Work directly related on XEP-33 will start on 28 May, as planned.

Ah, I forgot to mention. I'll be on Toronto, Canada.

Completed XEP-0157 and XEP-0203

I've published the first results of my GSoC project.

The task consisted on adding or updating support for two protocols on ejabberd:
XEP-0157: Contact Addresses for XMPP Services
XEP-0203: Delayed Delivery

The objective of this task was to get some experience reading XEPs. The coding part was easy, since both protocols were rather small and easy to implement. So, I decided to update also some related code.

More info and patch downloads: XEP-0157 and XEP-0203.

The plan is to commit those patches to ejabberd SVN soon, even before GSoC finishes. I hope there aren't bugs. Otherwise, please comment it here or on the bug tracker.

Wednesday, 9 May 2007

Project Timeline

The project timeline is grouped in weeks, which start on Monday. Each week has a clear and independent task, which must be finished before the end of the week. Some task description are a little vague yet. I'll update this timeline as work progresses.

April 30 - Completed
Read the protocols, understand and clarify all the initial doubts. Will also serve to get contact with my mentor, the XEP author, the standard mailing list and maybe other implementors.

May 7 - Completed
Smaller XEPs: check which parts of them are already implemented, and whether they require an update.

May 14 - Completed
Start coding: Implement Contact Addresses and Delayed Delivery.

May 21 - Completed
PhD travel

May 28 - Completed
Initial design of the XEP-33 component.

Juny 4 - Completed
Start implementation of XEP-33. Publish first version.

Juny 11 - Completed
Test code for bugs. Discuss error handling, relay support. Update code accordingly if only minor changes are required.

Juny 18 - Completed: SAM, guidelines for SAM, MUC +SAM ideas
Design guidelines for active server multicasting, and try to implement on mod_muc for testing purposes.

Juny 25 - Completed: mod_muc and C2S
Add XEP-33 support to mod_muc.
Add XEP-33 support to ejabberd core (sending presence updates).

July 2 - Completed
Review for bugs, compliance. Try to fix code ugliness.

July 9 - Completed: loop -> pool
Continue with review of existing code.

July 16 - Completed
Propose addresses limits in XEP33:
The limit of addresses in XEP33 must be fixed

July 23 - Completed
XEP33: types of limits and default values
XEP33: Tell limits in disco#info response using XEP128

July 30 - Completed
Learn to use Emacs, psvn and ChangeLog.

August 6 - Completed
Implement limits in addresses.
Updates to XEP33 limits proposal
Write documentation for the ejabberd guide.
Test compatibility with other software: Openfire, Tkabber, Psi,.

August 13 - On progress
Implement as much as possible of XEP-0133 Service Administration.
Code profiling to find bottlenecks and deficiencies in mod_multicast.
XEP33 protocol update (chat with Stpeter)

August 20 -
Perform benchmarks (chat with Mremond).
Upload final code to Google Summer of Code hosting.
Prepare and submit patches to ejabberd bug tracker.

Tasks that will be addressed at a later time
Add XEP-33 support to ejabberd's Pub/Sub service (talk with Aleksey and Legoscia).
Discuss potential security and spam vulnerabilities (talk in JDEV and JADMIN mailint lists).