Thread overview
Scintilla pair programming over the net
Oct 04, 2006
BLS
Oct 04, 2006
Lars Ivar Igesund
Oct 04, 2006
BLS
October 04, 2006
Hi, I need some ideas....
Pair programming over the net is an important, if not the most impotant  feature, my Groupware D IDE should have.
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 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 or "WhatYouEditIsWhatISee"
How :
Actually I am a bit helpless. The only idea I actually have is to use scintilla idle events to send (captured) mouse and keyboard events via socket to person *B*.  ????????

Probabely the Observer Pattern  has some value ??????


Any feedback, hint, tip, link  is welcome!
Björn

October 04, 2006
BLS wrote:

> Hi, I need some ideas....
> Pair programming over the net is an important, if not the most impotant
>   feature, my Groupware D IDE should have.
> 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 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 or
> "WhatYouEditIsWhatISee"
> How :
> Actually I am a bit helpless. The only idea I actually have is to use
> scintilla idle events to send (captured) mouse and keyboard events via
> socket to person *B*.  ????????
> 
> Probabely the Observer Pattern  has some value ??????
> 
> 
> Any feedback, hint, tip, link  is welcome!
> Björn

No idea how you should do it, but maybe Gobby can give some hints?

http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi

It's a collaborative editor, with chat, etc

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource & #D: larsivi
October 04, 2006
Thanks Lars,
just reading the "How Gobby works ..." was an inspiration and also shows me that my idea was not that bad. At least a beginning....
Björn