[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