On 6/22/2012 11:19 AM duncan smith said...
On 22/06/12 17:42, Emile van Sebille wrote:
On 6/22/2012 8:58 AM duncan smith said...
Hello,
I have an application that would benefit from collaborative working.
Over time users construct a "data environment" which is a number of
files in JSON format contained in a few directories

So, will the users modify their local environment and you'd push the revisions to a known location for redistribution? How might peer-to-peer work? How would you know which peers get the change, or would all peers get the change?

I've been working with rpyc (in as much spare time as I can manage) on some similar sounding issues and am now settling on a central system which provides convenient administration and potential relaying or pulling. See http://rpyc.sourceforge.net/

I just tested my in-process development status and find 64 remote machines up and 5 non-responsive which in my case are likely machines that are not yet configured properly. As this has been on the back burner the past two months I'm pleased with how it's fared in the face of neglect.

At least with rpyc (which does have a low learning curve) you'll be fully in python.

Emile



You don't say what your target platform is, but on linux I've done some
testing with python-fuse that allows interception on file access to take
whatever actions you like, in your case archive prior upon write.

Might be worth a look.

Emile


I develop on Linux, but most users would be running some flavour of
Windows. Initially I'd like to get something up and running that would
allow me to collaborate from an Ubuntu box at home with someone using a
Windows machine (not sure which version) in an office at the University
of Manchester. The most likely end users would (probably) be running
Windows machines on a local network with no internet access.

I expect it would generally be possible to have an always-on server, but
I'm also thinking about peer to peer style communication (information
might not always be completely available, but it's better than being
totally unaware of changes being made by others).

I don't have much experience getting applications to communicate across
a network, particularly in a reasonably secure fashion. Someone I know
also suggested RabbitMQ. Any pointers that help me to reduce the options
to a manageable number of candidates will be appreciated. A shallow
learning curve would also be good (given that ATM this is an idea I want
to try out rather than paid work). I am looking at fuse at the moment.
Thanks.

Duncan


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to