[Zope3-dev] Medusa 0.5.1 maint release, planned for inclusion in Zope?

Jeff Kowalczyk jtk@adelphia.net
Sat, 30 Mar 2002 22:26:18 -0500


[Stephan] Unfortunately, implementing servers are not as trivial as it
may seem. Even though interfaces exist, you gotta implement the
protocol, something that can differ a lot. I am writing the FTP server
right now; once I am done with it, I will be able to say more, but it
takes quiet a bit of knowledge to get going. Interfaces are one thing,
code another. If you have skills in writing servers and implement
protocols, please, please, please join the effort.

[Jeff] I wish I did have the knowledge and time to code a protocol from
scratch in time for Zope3. I'm just familiarizing myself with Medusa
now, and it seems like you can implement many protocols with it.

However, the thing that got me started on this idea was that I often see
Python community members start an implementation of a protocol, getting
at least to a test-harness or alpha stage; many of these using asyncore.
At the very least, the following code can be skimmed for implementation
details to be adapted to a Zope3-oriented medusa-derived framework.

http://papercut.org/ (NNTP, rev'ing very rapidly)
http://jabberpy.sourceforge.net/
http://www.zope.org/Members/michel/MyWiki/IMAPServer
http://www.hare.demon.co.uk/pysmtp.html
http://barry.wooz.org/software/Code/smtpd.py
http://www.foretec.com/python/workshops/1998-11/proceedings/papers/staja
no/stajano.html (SMS)

There are more for IRC, etc, but the projects sometimes run out of steam
without an information server framework to turn the protocol into
something useful.

I think that's a hidden strength of Zope, and it could be made even more
so. Zope can attract both the protocol-experimenters and the people who
require protocol handlers for their workflow apps. I think it should be
a goal to provide as much support in Zope3 as possible for the
possibility that Python implementations of common protocols might wish
to use Zope as their back end. You might see a flexible server framework
attract interest in the same way that Standalone ZODB does today. If the
API is there, and it is well-documented how to participate in Zope3's
event loop without interfering, I think people with the necessary talent
will gravitate.