gsoc-2008-configs-refactoring-and-more-examples-report-3

A lot of code has been written since last report, while refactoring and creating new plugins. Details follow.

The goal of this part was to close elements related to GUI extending and, generally, plugin management. Some clean-ups have been made also to prepare code for events handling part.

First of all, a few changes have been made to PluginManager class - even if plugin is deactivated it is an instance object, not class object. This gave opportunity to add init method, where devs can put some base operations that does not depend on plugin current activation state (speeds up plugin activation).

The biggest change is connected with plugins configuration. It is now fully-featured, based on shelve and UserDict modules and transparent to plugin developer. Config files are not plain-text, as this is Python pickling, but you can easily save dicts, list, tuples. In future, this will be probably rewritten to some custom class and integrated with Gajim’s main config facility.

gajim_banner_tweaks_plugin_config_dialog.png

I’ve written new plugin: Banner Tweaks (based on patch by pb), that allows people to easily achieve compact banner in chat windows (difference can be seen on screenshots). gajim_without_banner_tweaks_plugin.png Old plugin Message Length Notifier has configuration window now, so it’s fully usable (see screenshots). I’ve also added JIDs filtering feature to it (for which JabberIDs notification should be used). To show roster extending possibility I’ve written small plugin, Roster Buttons that adds quick access buttons to it - one of them shows/hides offline contacts (idea taken from Psi). gajim_message_length_notifier_plugin_config_dialog.png gajim_roster_buttons_plugin.png

Aparat from that, extension points cleanup mechanism has been added, so dead references are kept no more. In addition, needed modifications have been done to Gajim core and plugins.

What’s keeping me busy

I feel obliged to inform community about things that have influence on my time dedication to GSoC project. First of all, I’m very close to finishing my master’s thesis - delays were maybe mostly because I started (again) reviewing state-of-art of information retrieval and what impact can it have on my project. Great reading of a lot articles published by Springer and IEEE.

Second of all, and it this is more important, I gained the title of Certified Project Management Associate, after passing IPMA lvl D exam. :) Looking at list of certicate holders in Poland. I’ve realized that I’m one of the youngest persons on that list (AFAIR second or third in row). ;)

Open-Source feelings

At the end, I just wanted to write that Yvesf wrote LaTeX Plugin using API in my branch (haven’t played with it much so far checked it out and it works nicely). Great feeling to know that someone else starts to use your code :) Probably this is one of open-source rewards

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon] [Wykop]