[Zope] Re: [Zope][Long] Vote for Windowing Toolkit to use for Fat Client

Phil Harris phil.harris@zope.co.uk
Thu, 24 May 2001 10:11:20 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_0363_01C0E439.E118C6A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Bill,

OK, everybody calm down.

The 'client' as I mentioned is not a full blown, singing and dancing bear
fighting sort of thing.

It's purely a proof of concept.

It connects, it sends messages, it receives messages, and the best bit is
that it can send and receive binary files.  All this is being done in a very
haphazard, 'refresh the screen to see your new messages' sort of way.  Just
a small Python script.

I'll do some tidy up this weekend and release the code to my Zope.org
members area early next week.

That said, I would love some collaboration on this project.  I would love to
spend more time on this, but my very young family has to come first.  I'ts
probably going to be quite slow work for me, so any help would be f'in
marvellous.

The Jabber Server I have running though is open and available to anyone that
is interested in this sort of thing.

It is on www.zope.co.uk:5222, it has the WCS extensions and the HTTP
extensions built as well.  It hasn't got a lot of the extra transports like
ICQ, IRC, Conference etc..  But it works as a plain Jabber Server.

I suppose I'd better describe the WCS and HTTP extensions.

The WCS stuff allows connections through XML-RPC which considering that
Jabber is a permanent connection based protocol, is no mean feat when it
comes to maointaining presence.  There are some docs available but the
location of them eludes me at present.

The HTTP stuff allows connection via a URL, which could mean creating a
Javascript/DHTML based client, there are some examples which I'll get up
somewhere as well.

You can also connect of course in the traditional Jabber way, using the
Python stuff on download.jabber.org.

It would be interesting to see some Zope and Jabber integration work being
done (apart from myself, of course), so feel free to use this server
whenever you please.  But remember this is a dev machine and it could
disappear at any moment.

As a kick start to other people, I've attached a very small script which
shows how to connect via xml-rpc and how to send messages etc.

This script is a bit flakey since the sessionid is cached on the server side
for about three minutes, so if your having trouble it means that it can't
connect because your sessionid is incorrect. You'll just have to wait, or
rewrite the script so that it works correctly ;)

The user and password in that script are real users, but they are test
users, feel free to use that one in the short term, but it will probably
disappear quite shortly so it is probably better that you create your own
user.

Anyway, let's get playing and have fun!

See ya

Phil
phil.harris@zope.co.uk
----- Original Message -----
From: "Bill Anderson" <bill@libc.org>
To: "Phil Harris" <phil.harris@zope.co.uk>
Sent: Wednesday, May 23, 2001 7:16 PM
Subject: Re: [Zope] Vote for Windowing Toolkit to use for Fat Client


> On 23 May 2001 11:31:53 +0100, Phil Harris wrote:
> > Most of what Groove does could be done with Jabber and Zope imo.
> >
> > Which just happens to be something I'm working on in my spare time.
> >
> > Already got Zope acting as a Jabber client, both natively and via
xml-rpc.
> >
> > If anyone else is interested in this then I've got a jabber server
working
> > 24/7 which has the xml-rpc and web bits bolted on.  Let me know if you
want
> > access.
>
> OOH! OOH! (waves arms and hands back and forth wildly)
>
> can I see da code?
>
> I've been contemplating this for a project at work, but haven't had the
> spare time to proof-of-concept it yet.
>
> Bill Anderson
>

------=_NextPart_000_0363_01C0E439.E118C6A0
Content-Type: application/octet-stream;
	name="test.py"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="test.py"

import xmlrpclib, base64

s=3Dxmlrpclib.Server('http://www.zope.co.uk:5280/RPC/Client')
#print s.jabber.register('wcstest@www.zope.co.uk','wcstest')
sid=3Ds.jabber.login('wcstest@www.zope.co.uk/python','wcstest')
#sid=3D'5c50ea8534a714f7ed83a6e80ce6bd27e54d635f@8236430'
print sid
f=3Dopen('c:/ppoint/caveman.jpg','rb')
j=3Df.read()
f.close()
j=3Dbase64.encodestring(j)
s.jabber.sendMessage(sid,{'class':'message','to':'phil.harris@www.zope.co=
.uk','from':'wcstest@www.zope.co.uk/python','subject':'test','body':j,'th=
read':'01'})

------=_NextPart_000_0363_01C0E439.E118C6A0--