We’ve been working on a number of improvements to the Python implementation of Cometd. Cometd is one of the many open source projects that SitePen supports (DWR, Dojo Toolkit, Dojo Offline, Dojo Grid, etc.). We’re committed to improving open source products by adding new features and improving performance and reliability.
We’ve made a nice improvement for implementing the 1.0.1 version of the Bayeux spec, making it and the associated error codes available as JSON files, so it can be pulled into any JSON compliant language! This can be used as both a programmatic and visual reference for Bayeux protocol message composition, assertion checking on message fields, consistent error message handling, etc.
Today, we’re also pleased to announce the following additions for the Python version of Cometd:
- Adding “advices” and “extensions,” with the goal of enabling features such as the guaranteed delivery of messages, through extensions in the ext namespace per the Bayeux protocol
- Allowing systems to make requests that pass through to other systems by adding /service/* topics and the implicit client name channel, which allows published messages to that topic to be returned only to the caller and not to all subscribed topics.
- Adding authentication with a plug-in architecture for various authentication mechanisms. Initially, we’ll have HTTP BASIC authentication, and we plan to later add support for OpenID and LDAP
- Adding a permission system to control publish and subscribe of messages to topics, including restricting implicit topic creation.
Most of these changes should arrive in Cometd’s subversion repository this week, thanks to the hard work of valued SitePen consultant Gloria Willadsen.