Tag Archives: API

libsoylent API draft and schedule

Finally the libsoylent API draft is available. After another week of discussion, I think it covers most of the functionallity the API should provide and also some interesting background information and implementation detail. I’m really looking forward to comments, ideas, suggestions for improvement and also criticism :) .

Last week, besides enhancing the libsoylent API draft, I also focused on two other things: creating a detailed schedule for the rest of GSoC and getting my hands dirty with coding.

Some implemented things already work: creating addressbooks and also listing all available addressbooks. I mostly found out how to do this with libebook by digging through the Evolution source; really a huge codebase. Furthermore I refactored the little libsoylent test “suite” to better work with make check and added some tests for SlBook.

For the schedule I wrote down the tasks that have to be done for libsoylent, developed a roadmap including milestones and releases and planed when what functionally should be implemented. The schedule is available here.

The next one or two weeks I will be very busy (as you can see in my schedule). Tomorrow I’m going to the Southside music festival for 4 days, and after that I will move to my new flat share, what will probably take about a week. Luckily I started early with GSoC and will have much time after the current university term is over :) .

Designing an API

Last week I put all my effort in the libsoylent API. I started thinking about the API design weeks ago, but now I gathered all my notes and assembled them into one big document, made some diagrams and worked out the API in more detail. The person and the addressbook objects are mostly done, while groups still need a bit of work. All in all it seems like a good base to get started. Currently me and my mentor are discussing the whole draft, and I will publish the API as soon as we are done.

After I had a feeling that the API looked solid enough, I started to get my hands on the “base-code” of libsoylent, i.e. adding the main classes and GObject stuff and making everything compile and work with stubs. I also added a simple “test-suite” that can easily be extended to test certain functionality of libsoylent.

libsoylent is in the Soylent SVN trunk. If you’re interested, you can check it out at:


and build it with:

./configure –enable-libsoylent=yes && make

This week we also received a patch from Gilles Dartiguelongue that fixed some issues with the autotools configuration of Soylent / libsoylent. That was the first patch for me to apply (yeah ^^).

In the end something off-topic. After weeks and months of searching for a new flat (it’s not easy in Erlangen, I can tell…) for me, my girlfriend and a good friend of mine, we finally found a new home. Today we signed the lease contract. So, in three weeks I will post from a new flat. Nice! :)