Given by Remek Trzaska at CEWES Tango Training on November 17-18 98. Foils prepared November 29 98
Outside Index
Summary of Material
Let groups of software developers who work in distributed centers develop/test/debug applications together as if being in one place. |
Help software developers diagnose problems with the software they wrote by debugging it on end-user machine. |
Utilize already existing powerful programmer-oriented software tools -- Xemacs. |
Use TANGO Interactive to provide collaborative services. |
Outside Index Summary of Material
Shared Editing |
Shared Debugging |
by Remek Trzaska |
NPAC, Syracuse University |
Let groups of software developers who work in distributed centers develop/test/debug applications together as if being in one place. |
Help software developers diagnose problems with the software they wrote by debugging it on end-user machine. |
Utilize already existing powerful programmer-oriented software tools -- Xemacs. |
Use TANGO Interactive to provide collaborative services. |
Three categories of collaborative editing systems:
|
Every participant edits her/his own local copy of the document. She/he cannot force saving the copy owned by anyone else. |
Changes are allowed only on registered, non-overlapping TANGO regions. |
User decides when to broadcast changes she/he introduced to others. |
Region locked by the user |
Regions locked by other participants |
Each document must be registered in order to become shared. |
User is asked for the name of the file. |
If the file doesn't exist or is zero-length, TANGO XEmacs will insert one newline character into it. |
Keybinding: C-c t r (tg-edit-register-file) |
Initially, the file is non-modifiable. |
User selects a region, and locks it to be able to perform editing operations.
|
There's no limit on how many regions user may lock. |
Keybinding: C-c t a (tg-edit-add-region) |
All editing functions, such as insertion, deletion, replacements, are available on the content of the locked region. |
Note: user should never remove the entire TANGO region with ordinary deletion operations. To remove the whole region use only tg-edit-delete-region (C-c t d) |
Results of editing operations are not transmitted immediately to other participants of the session. |
Instead, the user decides when to submit the changes she/he introduced to others. |
The point has to be inside a TANGO region. |
Key-binding: C-c t c (tg-edit-commit-region) |
Once the user has finished modifications of a region, she/he releases it.
|
The user has to update others' copies of the region first by pressing C-c t c |
Key-binding: C-c t l |
When the user kills a TANGO buffer, all regions she/he owned are automatically released. |
When the user closes XEmacs, all buffers visiting files shared via TANGO are searched for the regions to be committed and released. |
These actions are executed automatically. |
Only one participant actually executes the application to be debugged. |
Others see the output, may control the input (if became TANGO session master). |
Source code, if found, is distributed among participants. |
Security: you grant master only to the person you absolutely trust. |
Standard XEmacs debugging commands have been "advised" to interact with TANGO Interactive -- no new key-bindings to memorize. |
Usually, debugging starts with M-x gdb command. |
gdb output buffer is shared among all participants of the debugger session. |
gdb buffer |
Source buffer (current line highlighted) |
Terminal emulating vt320 implemented in Java.
|
All participants share the output, current master and the owner of the telnet process share the input. |
Security: you better grant master only to people you trust...
|
Requirements: XEmacs 19.15 or later |
Does not require any additions to your .emacs file. |
XEmacs executable (xemacs) has to be in your path. |
If there's no XEmacs subdirectory in $TANGO_APP_ROOT, download a small archive from http://www.npac.syr.edu/users/remek/cewes/XEmacs-shared.tgz and extract it: cd $TANGO_APP_ROOT gunzip -c XEmacs-shared.tgz | tar xvf - |
Further questions? Contact Remek Trzaska, <remek@npac.syr.edu> or (315) 443-3670. |