GroupDAV TB 0.90pre16

Version 0.90pre16 of the SOGo GroupDAV connector for Thunderbird is now available. This version has been tested against our OGo test instance and has successfully synchronized a folder of 19,161 vCards. Updates also seem to work although that is not yet as well tested. Please report any feedback to the GroupDAV maillist.


OpenGroupware r2150 & RSS Feeds

As of r2150 OpenGroupware now supports the following RSS 2.0 feeds:
  • projectActions - Reports actions on tasks assigned to projects of which the user is a member either directly or via team membership.
    • http://opengroupware.mormail.com/zidestore/so/${USER}/Tasks/delegated-actions-rss
  • toDoActions - Reports actions on tasks of which the user is an executor either directly or via team membership.
    • http://opengroupware.mormail.com/zidestore/so/${USER}/Tasks/project-actions-rss
  • delegatedActions - Reports actions on tasks created by the user.
    • http://opengroupware.mormail.com/zidestore/so/${USER}/Tasks/todo-actions-rss
By default the 150 most recent task actions are included in the feed; this value can be adjusted by including a "limit" value in the URL.


.NET, OpenOffice, & Evolution

Over on tirania.org is a article on OpenOffice-based applications with Mono and MonoDevelop:

A couple of years ago, Michael Meeks and the OpenOffice community ported the bridge to work with Mono which allows developers to create OpenOffice based solutions using any of the Mono programming languages (C#, Boo, IronPython, IronRuby, F#, VB, Nemerle and so on).

But even if the engine existed, it was not properly installed in the system and getting a C#-based OpenOffice solution required lots of Unix skills, the kind of skills that would likely be in short supply by those that interested in OpenOffice automation. We fixed this in this last development cycle, so now a Novell OpenOffice installation will have everything you need.

Michael Hutchinson, one of our MonoDevelop hackers has put together the missing pieces to simplify the process. He has created the solution templates necessary to create these solutions, and packaged them as a Mono.Addin for exiting MonoDevelop users.

Despite some issues with the exposed API (described in the article) this is pretty exciting stuff. In conjunction with the possibility of writing Evolution plugins using Mono we are closer to having a fully-managed desktop environment with an integrated [or integratable] suite of first-class tools. I'm very much looking forward to the next release of MonoDevelop and hoping some of this stuff gets included.


Widgets Widgets Widgets

It has been an exciting couple of weeks for the usually quite, and overlooked, world of Gtk# developers. First there was an excellent article on CodeProject about developing custom controls. This was the first in-depth Gtk# article I've seen on CodeProject. Then there was the release of Holly widgets. Holly widgets is a set of very attractive reusable Gtk# widgets that should make developing Gtk# applications more convenient. We are especially excited about the HDateEditor widget; finally we have a good date & time picker! Following up that was a new release of Medsphere.Widgets. Medsphere.Widgets now contains a very nice 2D graph. As icing on the cake is the long overdue support for GObject property registration. Wow, when it rains it pours.


LinuxWorld Interview

LinuxWorld interviewed me recently concerning OpenGroupware.org. The interview is part of their "Spotlight on Open Source in business" series.


One moment as a gas bag...

Regular visitors will know that I post strictly concerning technological issues; I've got little use for, or desire to be, a pundit of any kind at all. I have a firm belief in experts and on the great debates of our time I've got little or nothing original to add - not that I'd expect anyone to listen even if I did (Why would you? Who am I?). But I just couldn't resist posting a link to OOXML, looking forward. It is concerning Open Source, etc... so it isn't far off the mark of the usual content here, but it is more "big picture" then I usually indulge. Basically the gist of it is here:

But most importantly, it is a time for all of those strong advocates of open standards to stop talking, and start walking. I look forward for all that energy that went into discussing the pros and cons of OOXML to join an open source project and start contributing code, documentation, support, create support forums, file good bug reports and help us make free and open source software better.

The world as a whole could do with less talk. I suppose this applies to almost every conceivable realm from priests and politicians all the way down to the lowly coder. But it is the one thing I can think of that simply can't be said often enough: less talk, more do.

Ok, thank you for that minute, I now yield the podium to the next gas bag.

Footnote: Specifically, an expert is someone whose spent a decade plus dedicated to the study of something, someone who has made some topic their life. They are the kind of people smug freshman like to roll their eyes about. But, in my opinion, it is those all those boring [and focused] and forgotten people who have given us the myriad blessings of technology and the sacred gift of the most unlikely thing of all - civilization. Thank you.


getAuditEntries added to zOGI r2095

The getAuditEntries method was added to the zOGI API as of r920, and added to the ZideStore trunk in r2095. getAuditEntries provides the ability to retrieve the audit entries from the server's database that have occurred since a specified entry. Using this feature a service can page through server changes and synchronize some repository; this allows functionality equivalent to that provided by MOGIMon but without a back-door database connection. Since audit records are serialized with integer ids in the OpenGroupware database this acts very much like the uSNChanged attribute provided by Microsoft Active Directory.


List for Funambol GroupDAV connector

A list has been created specifically for the Funambol GroupDAV connector. You can subscribe here. Be at bit patient as the site in questions is a little slow. It isn't clear if archives of this new list are available.


NetGear GS716T

I've recently worked with a pair of NetGear GS716T switches and want to warn everyone off from buying these switches. While the price is pretty low and performance is very good, the feature-set is entirely bogus. NetGear advertises these as "smart" switches with VLAN, SNMP, etc... Only all these features are useless as the web interface to configure the switch simply doesn't work and no command line interface (via either telnet or SSH) is provided. If you attempt to configure the switch from FireFox you will be constantly prompted for the password, and you can't actually get past that to make any configuration changes. On the other hand, if you use IE6 you can sign in to the switch but the interface is extremely unstable. On one switch I was unable to even set an IP address, upon clicking "Apply" it would close the browser and revert to using the address it acquired via DHCP. On the other switch it took the IP address but attempting to configure port based VLANs resulted in erratic behavior ranging from hanging, to displaying raw HTML, to renaming all the other VLANs and removing all the ports assigned to other VLANs. The administrative interface of the NetGear GS716T is simply unacceptable; NetGear has clearly not performed even a minimum of quality-control or testing on the GS716T.


Cyrus IMAP and the Ampersand

An interesting thread has occurred on the Cyrus IMAPd mailing list regarding the lowly ampersand. Apparently in the encoding used by IMAP (a "modified UTF-7 encoding") the ampersand ("&") requires escaping. So it works fine to have subfolders whose name contains an ampersand as IMAP clients, of course, use the appropriate IMAP encoding. But if your username (internally the name of your INBOX) contains an ampersand you can run into trouble. this is because when the existence of the INBOX is checked the authentication request isn't necessarily encoded in the same way. So if you use an IMAP server user names should be kept in conformance with the IMAP encoding, or more simply, stick with the GOODCHARS defined in Cyrus' mboxname.c


Improvement to SOPE's PostgreSQL Adaptor

Do you have lots of errors like:

Feb 17 20:39:28 ogo-zidestore-1.5 [14569]: ERROR(+[NSCalendarDate(PostgreSQL72Values) valueFromCString:length:postgreSQLType:attribute:adaptorChannel:]): unexpected string '2007-03-13 15:38:41.420456+00' for date type 'DATE', returning now (expected format: '2001-07-26 14:00:00+02')

in your ZideStore error log? This is because the time & date parser in SOPE's PostreSQL adaptor didn't understand the milliseconds portion of the value. As of SOPE r1601 this should be corrected. SOPE now just ignores the millisecond value. See the diff for details.


SASL Failure with jabber-net

When using the jabber-net assembly a SASL failure doesn't invoke OnAuthError as one would intuitively expect; SASL failures invoke the generic OnError method with a jabber.connection.sasl.SASLException. Just an interesting bit of trivia to avoid a potential gotcha.