Table of Contents
- Welcome
- New ListServs
- Galago-Daemon Person Cache
- Notification Spec Updates
- New Features / Changes
- Bug Fixes
- TODO / Help Wanted
- Contact Information
1. Welcome
A lot of work has been done this past week, although you wouldn't know it from the lack of commits. Some rather big changes are going on in my code base, which will make its way into SVN soon. Also, some updates regarding the notification specification, and other neat stuff coming along.
2. New ListServs
The project's listservs were moved this week to freedesktop.org. Those already on the old listservs at SourceForge have been automatically moved to the new ones, and all links on the website have been updated.
Two new listservs have been created: galago-announce and galago-i18n. Those subscribed to galago-announce will receive e-mails whenever a Galago module is released. galago-i18n is designed for translators on the project for discussion and submission of translated files.
3. Galago-Daemon Person Cache
One problem that Galago has always had was the inability to reference a person by an ID across sessions. Unlike accounts and services, people don't have a fixed ID. People have names, with a few possible exceptions in the real world. However, we cannot guarante in Galago that a person will have a name, as a program may not provide that information. So, referring to a person was always impossible. That's about to change.
Work is being done on creating a person cache in galago-daemon. Whenever a meta-person is created, an entry is added to a hidden cache file and a unique ID is created. Accounts that belong to the person are added as well. The file is written to like a journal, and every 30 minutes (or when galago-daemon shuts down) the journal is re-written from the in-memory list of people and accounts, in order to clean it up.
Upon startup, galago-daemon reads the person cache and creates a meta-person for each person listed and associates the accounts with it. Unless the cache file is deleted manually, people's IDs should stay persistent across sessions. Applications may then store a person's ID and assume it can get it the next time.
This solution will also solve one of the major problems preventing Persistent Placeholder Objects (PPOs) from working. This will be the next major task after the person cache is successfully implemented.
4. Notification Spec Updates
The D-BUS notification specification authored by Mike Hearn and myself is now being publicly discussed/debated on xdg-list. It has not been formally proposed yet, as we are still trying to get the details out.
The basis of the discussion is currently centered around our specification vs. KDE's KNotify. Those who wish to offer their opinions are welcome to join the listserv and participate.
5. New Features / Changes
libgalago
- Added a very basic
galago_person_get_display_name().
gnome-presence-daemon
- Standardized the column types between the two account lists in the preferences dialog, and moved to enums instead of index numbers to represent the columns.
6. Bug Fixes
libgalago
- Converted the account username to lowercase in
galago_service_remove_account(). This was the last known account case-sensitive comparison remaining.
gnome-presence-daemon
- Fixed segfaults and other issues using the wrong column numbers in the preferences dialog that were introduced in the previous week.
7. TODO / Help Wanted
There are many tasks in Galago that would speed up the initial release and provide desktop integration. If you would like to take on any of these tasks, contact us.
- Beta-test Galago and submit bug reports and/or patches.
- Integrate Galago into other programs (instant messengers, video conferencing software, e-mail clients, etc.). Good starts would be Kopete, CenterICQ, Mutt, and GnomeMeeting.
- Create Python, Ruby, C++, etc. wrappers for libgalago and libgalago-gtk.
- Create Qt widgets for use with Galago.
- Documentation and language translation.
8. Contact Information
People interested in helping out with Galago in some form, or those who are just curious about it may join #Galago on irc.freenode.net. We also have listservs set up for development discussion and SVN commits. See our Mailing Lists page for subscription information.
If you wish to contact me (Christian Hammond) directly, please see the Contact Information page.
Posted by chipx86