Hi, Orgers!

Here are some development news about ColOrg, which is a tool meant for
real-time collaborative edition for Org files.  I pushed a bit on the
project this weekend, but now, job duties might force me to delay
further work until next weekend.

I'm not done yet with the initial writing, it is all very broken, many
things need to be completed before usability.  Yet, a bit everything
starts to move, I even got the encouraging proof that some communication
occurs between Emacs and the ColOrg server. :-)

The tool is likely to be surprisingly small, both on the client side (in
Emacs Lisp) and the server side (in Python).  Usage is going to be
simple and crude at start.  We minimally do not need much: a toggle
command to put any Emacs buffer under ColOrg, and a few initial
questions (most of them may be spared), and that's it.  A newly created
resource gets transparently uploaded to the server for sharing, an
existing resource is downloaded when associated with an empty buffer.

Separate buffers may be associated to separate (or even the same)
resource, ColOrg is designed to multiplex and manage them.  Responsivity
(typing speed) might be reasonable enough.  I stuffed a few stub
routines with delays, to get an idea of how it would go.

I've given some good thought to the rewriting of the operational
transforms, this is the main missing part on the Python side.  I think I
have a dependable but inefficient solution in head, that would admit
hairy optimization.  The ColOrg Wiki would be a nice place to receive a
description of the problem and chosen solutions.  To be done later.

Many details remain to be addressed.  For example: how to interface with
Undo within Emacs?  It has incidence on the design of the protocol.  My
current choice is either to postpone and let every change be separate,
or collapse outside changes from many users, arriving at once, into a
single Undo step.

Have fun!  For now, sleep time!

François




Reply via email to