New eBox module from the community

Matt Willsher has developed a subversion module for eBox Platform, integrating this version control system into your favorite open source project :-) It is not the first module developed by eBox community, but it is really interesting, well-coded and worth of blogging. By the way, it will be integrated in next official versions of eBox.

I took the liberty of sending a few questions to Matt, which he answered promptly. Here is the mini-interview:

Question: You just released the subversion module for eBox, adding a new feature to this platform. How did you take the decision of coding it? What was your motivation?

Answer: I was looking to set up a server at home and had evaluated various platforms for the task. Having built a box from the ground up for the job, I got tired of the amount of work required to add new services and servers, especially as the machine grew in complexity – LDAP, Kerberos, Netatalk, Samba. Adding new things got trickier. So I tried eBox and was very impressed with the ethos of the project – the ease of use, it being open source, uniformity of data use and broad range of well though out features. Plus I’ve never configured Samba so quickly!

One thing was missing for me though – Netatalk integration. I’ve been wanting to get back into coding for a while as I’ve not done any in some time. The OO nature of the framework was ideal and Perl is a language I used some time ago, so I thought I’d give it a go.

Q: How did you find the whole process of coding a new eBox module? Which aspects did you find outstanding and what things you think could be improved?

A: I started about two weeks ago working for a couple of hours every other day or so, working from the module template code and the Jabber module source. Considering I’ve not done any serious Perl in quite a number of years I was very pleasantly surprised with how easy it was. Most impressive to me has been the simplicity of using the framework. The final subversion package comes out at 9K, which I think says a lot about the framework. That’s all the user handling, configuration generation, GConf integration, web interface and daemon control.

In terms of the improvements, the developers guide is useful as a starting point but could do with more content. Things like the package building and autoconf side would be useful and would mean I didn’t have to bother the guys on the IRC channel so much. I’m really looking forward to the API docs as they will make things easier. There could be some streamlining in some of the supporting modules, especially the LDAP module, but these are minor issues and didn’t hinder development to any real degree.

Q: Was it fun? :-)

A: Yes, it certainly was! I’ve done this in my spare time, which I don’t have huge amounts of, and it’s been great. Any short fall in the documentation has more than been made up by the guys on the #ebox IRC channel.

Q: What new features would you like added to eBox? Are you planning to develop other new modules?

A: There is a lot of things on the roadmap that have gotten me excited, especially RAID and LVM – while they can be set up via the installer it’ll be great to set them controllable via the web interface. I’d really like to see an SNMP server that exports a whole wealth of information and then have that used by the reporting engines. I think things like that make it more appealing to the larger SMEs and Enterprises, not to mention stats geeks like myself ;)

As for my own plans, I’ve got to do a little code tidying and commenting of the subversion module, then I’m starting on a Netatalk module. After that is Moblock and after that perhaps Kerberos. At some point I’d also like to implement basic monitoring/graphing of remote SNMP devices but I’m waiting to see what you guys come up with on the reporting side before I start that one.

Q: Now that you know more deeply about eBox and its developers, what do you think about the project? Honestly?

A: Quite honestly it’s to me the most exciting open source projects I’ve come across in some time – the flexibility it provides is remarkable. The developers are great and happy to help. My first experience of coding for eBox has been thoroughly enjoyable. I’m looking forward to getting on with my next module now and learning more about eBox!