Scintilla pair programming over the net
BLS
nanali at wanadoo.fr
Wed Oct 4 09:24:35 PDT 2006
Cross posting, slightly modified because of Lars Ivar's feedback on D
learn. Hope you are gentle enough to offer me your opinions ;-)
Pair programming over the net is an important, if not the most impotant
feature, my Groupware D IDE should have. (In other words, in my eyes
the IDE is nothing worth without it)
Preleminaries :
1) Due to the fact that I choose wxD as GUI I have to use scintilla
resprectice STC.
2) Pair programming means that person *A* is active/editing a source
while person *B* (somewhere in the world) is passive/observing the same
source. (Communication between A and B (to exchange ideas) through
developer2developer chat, or dev2dev video-conferencing,...)
3) The IDE uses a database to manage sources/projects instead of
SVN/CVS... hosted on an dedicated server, accessable through the IP address.
Okay, now the idea I would like to discuss...
Ide login ask for pw and id, automaticly connects to the db
server/internet, get your *current IP address* and saves these
information into a simple db-table. "WhoIsOnline" (transmission and
database are strongly encrypted)
These informations are needed to communicate over the net. The IDE acts
as threaded TCP socket-server *and* socket-client.
Person *A* opens a project/source and invites a project member who is
online just by querying the project-member and WhoIsOnline tables.
Person *A* opens a D sourcefile and starts editing.
(The adequate record is locked and write protected.)
Person *B* is passive and watches the modification in realtime
"WhatYouEditIsWhatISee"
How :
Actually I am thinking about using scintilla idle events to send
(captured) mouse and keyboard events via tcp socket to person *B* using
a channeled protocol. Channeled protocol because dev2dev comunication
and "WhatYouEditIsWhatISee" should share one port.
If you think I am comletely wrong, or you have some other ideas...
any feedback, hint, tip, link is welcome!
Björn
More information about the Digitalmars-d
mailing list