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.


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.


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.