Given by Marek Podgorny, Remek Trzaska, Geoffrey Fox at ADMI Tutorial Duluth Minnesota on June 3 99. Foils prepared June 5 99
Outside Index
Summary of Material
TANGO functionality - What it does? |
TANGO architecture - How is it built? |
Installation of TANGO software distributions
|
Installation of TANGO "local applications" |
Using core TANGO |
Using TANGO applications |
TANGO API and programming examples |
Outside Index Summary of Material
Duluth Minnesota |
June 3 1999 |
Marek Podgorny and Remek Trzaska |
(Delivered by Geoffrey Fox) |
NPAC, Syracuse University |
TANGO functionality - What it does? |
TANGO architecture - How is it built? |
Installation of TANGO software distributions
|
Installation of TANGO "local applications" |
Using core TANGO |
Using TANGO applications |
TANGO API and programming examples |
It lets applications controlled by your browser to talk to Web application run by other people
|
TANGO turns a web browser into a communication program
|
Technically, it is a multiparty, multi-session, multiplatform, multimedia collaboratory system |
It is also a software integration framework
|
N: Netscape Browser |
LD: Local Daemon |
CA: Control Application |
AP: Applet |
LA: Local Application |
CS: Central Server |
DB: Back-end Database |
HTTP: Web server |
TANGO supports ~3 dozen applications. Most of them went through iterative evaluation, improvement and robustification cycle |
Core Collaboration Capabilities
|
Office and Authoring Tools
|
General Virtual University Applications
|
Special Virtual University Applications
|
Have some fun with multi-player games
|
"Other" Applications
|
Current system version: 1.4.1.3
|
Slated for mid-June `99: version 2.0 beta (for more info see separate foilset)
|
TANGO server: versions 1.0 and 2.0 available now |
TANGO 1.4 requires browser plug-in |
Compatible with Netscape Communicator 4.06+ and 4.5
|
The package has been tested for ~15 months |
Supported browsers: all Netscape versions up to Communicator 4.5 (not v. 4.6 as serious bugs in browser!)
|
N: Netscape Browser |
LD: Local Daemon |
CA: Control Application |
AP: Applet |
LA: Local Application |
CS: Central Server |
DB: Back-end Database |
HTTP: Web server |
Local Daemon's main tasks:
|
The daemon is implemented as a plug-in to Web browsers.
|
Central Server is the main communication element.
|
Java applets
|
Local Applications:
|
Daemon provides a mechanism for TANGO components such as Java applets, central server, JavaScript scripts etc. to talk to each other. |
TANGO daemon has been implemented as a plug-in. |
Using LiveConnect mechanisms, each applet residing in the same page with the plug-in may obtain its handle. |
Message passing between plug-in and an applet is achieved by calling appropriate methods of each other |
Session Manager provides TANGO GUI
|
Since TANGO uses central server architecture, there are system scalability concerns.
|
For scaleability reasons, the real time multimedia streams are not sent via central server.
|
A blueprint for a truly successful collaboratory system does not exist. Hence:
|
The essence of each collaboratory function must be defined by application and by application only |
TANGO does not define any application protocols |
A session is a group of application instances currently working together in the collaborative mode.
|
Master status is dynamically transferable. Floor control allows for both master-master and master-slave relationship |
TANGO does not restrict the number of concurrent sessions. There may be multiple independent sessions of applications of the same type. |
Messages from one application compatible with application of another type will be distributed transparently. |
NOTE: current model confuses floor control and session ownership. It will be replaced by two distinct mechanisms in version 2.1 |
Currently supported operations:
|
SM implements "intelligent interface" |
SM supports different "privacy" models on the global and "per application" basis |
Download URL: |
http://trurl.npac.syr.edu/tango/Use_it_/Download/download.html |
Packaging: gzipped tar file |
May download to any location, no root password necessary |
After unzipping, run tar:
|
Un-tar creates the following directory structure |
trurl:/usr/people/mp/webwisdom% ls |
BuenaVista/ Copyright README.html exec/ tango_plugin14/ |
Change directory to exec/ and run the command |
source tangorc
|
All this is needed since UNIX has no global registry |
The relevant envvariables after sourcing tangorc should be as follows: |
CLASSPATH=/usr/people/mp/webwisdom/tango_plugin14: |
/usr/local/lib/netscape/CosmoPlayer/classes |
NPX_PLUGIN_PATH=/usr/people/mp/webwisdom/tango_plugin14/bin/: |
/usr/local/lib/netscape/plugins |
TANGO_APP_ROOT=/usr/people/mp/webwisdom/ |
(assumes installation in /usr/people/mp directory) |
TANGO_APP_CONF variable points to TANGO installation directory.
|
There may be additional environmental variables for other applications |
Restart your Netscape browser from the window you used to set environment (not from the desktop!) |
Check plug-in installation (Help/About Plug-ins) |
If plug-in OK, start the system |
Common pitfalls:
|
TANGO server not running
|
Client behind firewall
|
DNS problems
|
HTTP server slow or not running |
TANGO on the HTTP server misconfigured |
index.html: navigator.appVersion: 4.07 [en] (X11; I; IRIX 6.3 IP32) |
index.html: mime ok: 'application/x-collaboratory' |
index.html: actual plugin: TANGO Interactive [v. 1.4.0.2] |
index.html: required plugin: TANGO Interactive [v. 1.4.0.2] |
index.html: plugin ok: 'TANGO Interactive [v. 1.4.0.2]' |
index.html: loading SM ... |
sm/sm.html: loadTango(kopernik.npac.syr.edu:11000,320x700) |
LocalBase: TANGO Interactive v. 1.4.0.2 built 3/8/99 |
LocalBase.LocalBase(): server=kopernik.npac.syr.edu:11000 localPort=8000 |
[ |
CentralServer.initSocket(): unable to contact server: |
java.net.ConnectException: Connection refused |
] |
LocalBase.init() |
LoaderApplet.init(): CA registered with code=52 |
..... |
Download URL: |
http://trurl.npac.syr.edu/tango |
Packaging: .exe file, same for NT/95/98 |
May download to any location |
After downloading, run exec file:
|
Don't install as administrator on NT!
|
Installation puts the files in the following directory |
X:\Program files\WebWisdom |
Some of the files go to Netscape plugin directory: |
X:\Program files\Netscape\Communicator\Program\plugins |
NPTangoV10.dll |
and to the Netscape Java\Class directory: |
....\Communicator\Program\Java\classes\tango10.jar |
The .jar file is digitally signed |
TANGO package also installs items such as Swing class libraries and a set of local applications |
The function of environment variables under UNIX is taken by registry entries.
|
Win32 installation comes with Buena Vista
|
Troubleshooting
|
If TANGO "does not work", you likely have a system problem |
Which browser version is best?
|
Java application
|
100% maintenance free |
Industry-strength stability |
Platform-independent
|
Available for download from http://trurl.npac.syr.edu/tango |
The server can run with any UID, but... |
Recommended procedure: create new local UID "tango" with home directory in /usr/people/tango
|
For IRIX, we have a procedure for automatic server restart after machine reboot. To install, follow this steps:
|
Download server (in exe file) from |
Run .exe file
|
the server installs as Windows NT service
|
server should start automatically
|
Does it run???
|
It doesn't?
|
TANGO applets may be loaded from arbitrary http server. For scalability reasons, one may decide to distribute applets to multiple servers or even local disks on client machines |
Distribution directory tree:
|
Graphical interface for .tca configuration:
|
APPLICATION_TYPE / AT / SYSTEM CONSTRAINTS / NAME / SHORT NAME / FOLDER - may be multiple / NUMBER OF SESSIONS ALLOWED /[ URL ] / [WINDOW_HEIGHT]/ [ WINDOW_WIDTH ] / |
NUMBER OF SESSIONS ALLOWED: 0 - any number; 1 - one session; ɭ - exact number |
Application type: 0 - APPLET; 1 - APPLICATION; 2 - APPLET & APPLICATION; |
SYSTEM CONSTRAINTS: 0 - all systems; 1 - only Windows; 2 - only Unix |
AT: unique application identifier, administered by TANGO Team |
Example: |
#0#142#0#SharedBrowser#Browser#1#2#http://ohio.npac.syr.edu/tango14/applets/sb/index.html#60#80# |
#0#145#0#WebWisdom#WebWisdom#1#1#http://www.npac.syr.edu/wisdom/users/gcf/wisdom/tangowisdom1.html#20#570# |
#0#311#0#VideoPlayer#Video#2#1#http://trurl.npac.syr.edu/tango14/applets/video/index.html#50#300# |
#1#37#0#Buena Vista#BuenaVista#1#1#BuenaVista#BVtango# |
#1#331#2#3D GIS#GIS#2#1#GIS#terrain_viewer# |
Upcoming change: relative URL addresses for easier migration |
General questions
|
Architecture, client setup
|
Server
|
Applications
|
http://trurl.npac.syr.edu/tango |
FOR MORE INFO... |