Given by Marek Podgorny at NPAC Training on Dec 11 and 12 1997. Foils prepared Jan 8 1998
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
Marek Podgorny and TANGO Development Team |
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 |
It must be competitive with best available collaborative tools and so its multi-language interface allows us to interface to other systems with Tango supplying Integrated Session Control
|
Basic model is that of a room which is a group of people getting together for a class
|
Each room supports a collection of shared objects chosen by teacher/students/administrator |
TANGO supports enough (over 40) applications. Our next step is to evaluate, improve and make robust release |
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.0 beta 3
|
Slated for end of Dec. `97: version 1.0 |
Slated for January `98: version 1.1 |
Expected January `98: version 1.1 for IE 4 |
Expected April `98: TANGO 2
|
TANGO server: version 1.0 available now |
TANGO 1.x requires browser plug-in |
Compatible with Netscape Navigator 3.0 and 3.01
|
This version has been tested for 10 months |
Supported browsers: all Netscape versions up to Communicator 4.04
|
Protocol compatible with beta versions and with TANGO server 1.0 |
The system is available now in NPAC |
Supports all the same features as TANGO 1.0 |
Employs modified protocol between the plug-in and the collaboratory server
|
Version 1.1 will require re-installation of both server and client software |
Version 1.1 will support MS Internet Explorer 4.x |
A radically improved version of the entire system
|
Technical details will be released to interested parties 2Q98 |
Core system implemented now |
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 |
Control Application 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 |
Current system requires application developer to implement application protocol conversion to byte streams |
There is no explicit support for application state sharing
|
All this is explicitly addressed by TANGO 2 |
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. |
Currently supported operations:
|
CA implements "intelligent interface" |
Download URL: |
http://www.npac.syr.edu/tango/download |
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_plugin10b3/ |
Change directory to exec/ and run the command |
source tangorc
|
The relevant envvariables after sourcing tangorc should be as follows: |
CLASSPATH=/usr/people/mp/webwisdom/tango_plugin10b3: |
/usr/local/lib/netscape/CosmoPlayer/classes |
NPX_PLUGIN_PATH=/usr/people/mp/webwisdom/tango_plugin10b3/bin/: |
/usr/local/lib/netscape/plugins |
TANGO_PLUGIN_CONF=/usr/people/mp/webwisdom/tango_plugin10b3/conf |
TANGO_APP_CONF=/usr/people/mp/webwisdom/tango_plugin10b3/conf |
NCS_PATH=/usr/people/mp/webwisdom/BuenaVista |
(assumes installation in /usr/people/mp directory) |
Please, note that the tangorc script also modifies application.conf file. This file is needed for audio/ video conferencing. |
TANGO_PLUGIN_CONF and TANGO_APP_CONF variables point to TANGO configuration file directory.
|
NCS_PATH variable is used by BuenaVista to find its own media modules. Without this variable BV won't be able to start audio and video agents. |
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 (need access to port 9500) |
DNS problems
|
HTTP server slow or not running |
TANGO on HTTP server misconfigured |
Local: Local demon started on port 8000 |
AcceptThread: thread started |
ControlAppletHandle: applet thread number -7 started |
Local: Connection accepted by remote host, starting demon threads ...... |
Local: Connected to kopernik.npac.syr.edu 9500 |
ThreadOut: Output thread number 1 started |
DemonThreadIn: Demon input thread started |
Length: 2222 bytes |
Read: 2222 bytes |
Reading completed |
HelpText: Length: 12748 bytes |
HelpText: Read: 12748 bytes |
HelpText: Reading completed |
..... |
Plugin.conf defines location of TANGO server |
//PLUGIN CONFIGURATION FILE |
//FORMAT: |
//serverhost serverport localport |
//tango.jsums.edu 9500 8000 |
kopernik.npac.syr.edu 9500 8000 |
//cher.wes.army.mil 9500 8000 |
|
Applications.conf defines "local" applications |
Watch \ (/) at absolute path's end! |
Never modify AT numbers! |
//Tango applications configuration file |
//format: |
//AT path application name |
37 d:\progra~1\NPAC\BuenaVista\NCStango\ ManagerTango |
//18 d:\WINNT\ application |
77 d:\progra~1\NPAC\SharAgnt\ SharAgnt |
78 d:\progra~1\NPAC\SharAgnt\ SharAgnt |
79 d:\progra~1\NPAC\SharAgnt\ SharAgnt |
80 d:\progra~1\NPAC\SharAgnt\ SharAgnt |