StatusNet Update: Google Summer of Code (GSoC) Part 5!
Hello StatusNet community! This is Derek reporting to you from StatusNet in Montreal. Today we will be touching base with Luke Fitzgerald, a student that has been working with StatusNet for the Google Summer of Code (GSoC).
Luke has been working side-by-side with Craig Andrews, a StatusNet developer, on Chat Interface plugins. Below is an update from Luke on what his progress has been.
StatusNet Chat Interface plugins
There’s been a lot of progress since I last reported on my project; at this point in time, both the MSN and IRC plugins are now functional. You can find the code at my gitorious repository.
MSN-plugin
At first the MSN plugin seemed very daunting due to the fact that phpmsnclass, the library I had intended to use, was written in such a way that made it near impossible to mesh with StatusNet. A couple of work-weeks later; I had completed a largely restructured library with many of the bugs in phpmsnclass fixed.
As of the 5th of July, the code for the plugin was working and allowing interfacing with StatusNet! There is one issue with the plugin as it stands; currently it requires the DB queue to be in use but this requirement will soon be dropped once the Delayed Queue is implemented. This is due to the asynchronous manner in which chat sessions are established in the MSN protocol (see http://msnpiki.msnfanatic.com/index.php/Switchboard:Authentication).
IRC-plugin
Although similar to the MSN plugin, the experience developing the IRC plugin has been completely different. From the very beginning, Phergie was both well programmed and well documented so this made working out how to fit it together with StatusNet far easier. In addition to this, simply mentioning what I was doing on the Phergie IRC channel brought cries of interest. These were soon followed by continuous help as I got to grips with the library.
As of around a week ago, the plugin is functional but has a few bugs. There is an issue with the “help” command causing the bot to be kicked due to the flood protection in IRC servers but this issue will also be rectified once the Delayed Queue is available. As well as fixing this issue, I am currently implementing the “advanced” features of the plugin.
One of the “advanced” features is responding to general queries from channels as well as offering the standard feature set via private messages from a registered nickname. This is involving changing how the current command architecture works to differentiate between “public” and “private” commands which should make adding additional commands later much easier for everyone!
Another great feature is checking that a nickname is registered with NickServ before allowing it to be linked to an account which should prevent hijacking. Of course, this feature can be disabled for networks without NickServ or at the preference of the administrator.
One of the most enjoyable parts of implementing this plugin has been the close collaboration with the Phergie development team. Where changes or additional features were required, I either committed patches of my own or the changes were kindly made by others. To me, this feels like an exemplary introduction to open-source development! Of course, huge thanks go to both my mentor, Craig Andrews and Brion Vibber for all the help they’ve been giving throughout the program.
- Luke Fitzgerald
Trackback URL for this post:
| Attachment | Size |
|---|---|
| clip_image002.jpg | 18.08 KB |
| clip_image004.jpg | 34.68 KB |




Comments
Post new comment