StatusNet Update: Google Summer of Code (GSoC) Part 5!

Derek Derouin's picture

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:

http://status.net/trackback/4872
AttachmentSize
clip_image002.jpg18.08 KB
clip_image004.jpg34.68 KB

Comments

Post new comment

Please note that blog comments are not monitored by our support staff. If you need assistance please visit our forums at forum.status.net or see the Support page for other options.
The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.