Tuesday, 17 July 2007

Midterm GSoC project status, and remaining work

The Google Summer of Code program is half way to the end. This is a summary of the accomplished work until now:

  • Implemented or updated several small XEPs in ejabberd: Contact Addresses, Delayed Delivery... Patches are awaiting review and integration in ejabberd.
  • Implemented XEP33 in a Jabber component for ejabberd. All the code lives in mod_multicast.erl. Code is currently in ejabberd-modules SVN.
  • Describe Sever Active Multicast
  • Describe how to implement XEP33 in the server's C2S.
  • Added XEP33 support to ejabberd core (sending presence updates). Code in ejabberd-modules SVN.
  • Describe how to implement XEP33 in a MUC service
  • Added XEP33 support to ejabberd's mod_muc. Code in ejabberd-modules SVN.
  • Alpha-testing the code with small examples. Fix any bug, improve any potential drawback in the existing code.
The remaining tasks that I'm aware of, from now until the end of my GSoC project are:
  • Discuss improvements in the current XEP33 definition of limits.
  • Implement the improvements for limits.
  • Discuss potential security and spam vulnerabilities, and how to prevent them.
  • Propose improvements for XEP33. Most of the text can be reused from my previous blog posts.
  • Perform benchmarks to check mod_multicast's effect in CPU, RAM and traffic consumption.
  • Test compatibility with other XEP33 existing implementations.
  • Add XEP33 support to mod_pubsub and/or mod_pep if their codebase is stable at the time
  • Write documentation for ejabberd Guide.
  • Implement or update ejabberd's XEP133 Service Administration
  • Wait for ejabberd code reviewers, in case I need to fix any problem in my code before commiting to ejabberd.
I weekly update the project timeline. Considering my speed at working, and the difficulty of the remaining tasks, I consider my project to be on track, and will be completed on time.

No comments: