[Dev] Using TwistedMatix as a core package in Chandler

Michael McLay mmclay at comcast.net
Sun Mar 23 14:43:40 PST 2003


The last mention of Twisted on this list was made back in November. I've been 
tinkering with the code and think it might be worth reviving the topic. While 
I like BEEP in principle, it look like even the author of BEEP has conceded 
that it isn't getting as much traction as he was hoping to achieve. Building 
Chandler on BEEP would require building quite a bit of infrastructure from 
scratch. The Twisted option looks very appealing because it provides a very 
rich set of interfaces to protocols and it has a well thought out model for 
sharing objects over the net. 

If I recall correctly the Twisted project started out to develop a package on 
which role playing games could be built. The management of users in this type 
of environment, as well as protecting the game engine from attacks, requires 
a common software pattern for protecting user information and other resources 
in a server. This pattern is also needed for the distributed PIM architecture 
described in Chandler. The comments from happy twisted users [1] indicates 
the package is easy to learn and extend. There seems to be a reasonably 
diverse set of applications that have been created on top of Twisted. The 
package library is extensive [2] and a quick browse of their API library will 
give you a pretty good idea of what capabilities are already integrated into 
the matrix.

If you dig down deep enough you will even find there is even support for a 
calendar capability in the library. I haven't tried using it, but it 
certainly looks like a good starting point for Chandler.

Building Chandler on Jabber is an interesting alternative, but Jabber seems to 
be a Java based equivalent of Twisted. If you used Twisted you would start 
with a code base that exploits the richer language characteristics of Python. 
It looks like it would be a more productive starting point than Jabber. One 
of the projects listed in [1], Hep, plans to provide a bridge between Twisted 
and Jabber.

[1] http://www.twistedmatrix.com/services/success
[2] http://www.twistedmatrix.com/documents/TwistedDocs/current/api/





More information about the Dev mailing list