Full HTML for

Basic foilset XEmacs based Remote Consulting with TangoInteractive

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.

Table of Contents for full HTML of XEmacs based Remote Consulting with TangoInteractive

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 XEmacs-based Remote Consulting with TANGO Interactive
2 Project Goals
3 Collaborative Editing
4 Sharing Model Implementation
5 Sample shared document
6 Registering a File
7 Locking a Region
8 Modifying Regions
9 Committing Changes
10 Releasing Regions
11 Killing Buffers & Closing XEmacs
12 Shared Debugging
13 Starting a Debugging Session
14 Sample debugging session
15 Companion Tool: Shared Telnet
16 Sample Telnet
17 Installation of XEmacs modules

Outside Index Summary of Material



HTML version of Basic Foils prepared November 29 98

Foil 1 XEmacs-based Remote Consulting with TANGO Interactive

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
Shared Editing
Shared Debugging
by Remek Trzaska
NPAC, Syracuse University

HTML version of Basic Foils prepared November 29 98

Foil 2 Project Goals

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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.

HTML version of Basic Foils prepared November 29 98

Foil 3 Collaborative Editing

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
Three categories of collaborative editing systems:
  • synchronous--many people control the whole document, changes they introduce are reflected immediately in others' copies,
  • asynchronous--only one person changes the document at a time,
  • semi-synchronous--many people control non-overlapping sections of the same document.

HTML version of Basic Foils prepared November 29 98

Foil 4 Sharing Model Implementation

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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.

HTML version of Basic Foils prepared November 29 98

Foil 5 Sample shared document

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
Region locked by the user
Regions locked by other participants

HTML version of Basic Foils prepared November 29 98

Foil 6 Registering a File

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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)

HTML version of Basic Foils prepared November 29 98

Foil 7 Locking a Region

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
Initially, the file is non-modifiable.
User selects a region, and locks it to be able to perform editing operations.
  • The region is highlighted.
  • Other participants are notified.
There's no limit on how many regions user may lock.
Keybinding: C-c t a (tg-edit-add-region)

HTML version of Basic Foils prepared November 29 98

Foil 8 Modifying Regions

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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)

HTML version of Basic Foils prepared November 29 98

Foil 9 Committing Changes

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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)

HTML version of Basic Foils prepared November 29 98

Foil 10 Releasing Regions

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
Once the user has finished modifications of a region, she/he releases it.
  • In this way, others may gain the lock over any fragment of the region.
The user has to update others' copies of the region first by pressing C-c t c
Key-binding: C-c t l

HTML version of Basic Foils prepared November 29 98

Foil 11 Killing Buffers & Closing XEmacs

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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.

HTML version of Basic Foils prepared November 29 98

Foil 12 Shared Debugging

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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.

HTML version of Basic Foils prepared November 29 98

Foil 13 Starting a Debugging Session

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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.

HTML version of Basic Foils prepared November 29 98

Foil 14 Sample debugging session

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
gdb buffer
Source buffer (current line highlighted)

HTML version of Basic Foils prepared November 29 98

Foil 15 Companion Tool: Shared Telnet

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
Terminal emulating vt320 implemented in Java.
  • Similarly to Shared Debugger, only one participant owns the telnet process -- the one who started shared telnet TANGO session. When s/he leaves, all participants are disconnected from the host.
  • Can connect to ANY host
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...
  • Note that slave instances DO NOT use telnet protocol....

HTML version of Basic Foils prepared November 29 98

Foil 16 Sample Telnet

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index

HTML version of Basic Foils prepared November 29 98

Foil 17 Installation of XEmacs modules

From XEmacs based Remote Consulting with TangoInteractive CEWES Tango Training -- November 17-18 98. *
Full HTML Index
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.

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun Nov 29 1998