The conventional mechanism to enter an access grid room with the
VenueClient tool is to enter the venue's Lobby, then navigate to the
desired room via some path. That path is either known beforehand or is
easy to determine e.g. educational institution rooms tend to be
accessed via an "Educational Lobby". Alternatively, the room may be in
the VenueClient's hotlist (the "My Venues" menu).
Finding a room by navigation can be quite tedious, especially if the
room is several steps away from the main Lobby. This is probably one of
the
reasons that most servers' room layouts are quite shallow.
It would sometimes be helpful to have the room's direct link to
paste
into the VenueClient's address bar. Sometimes it would help just to
have a better understanding of where a particular room is situated. As
an example, did you know that University of Manchester appears in the
Network Service Providers Lobby, rather than the Educational
Institutions Lobby of the IVS server? Check the IVS view below to
confirm it.
VenueList
visits all the rooms (to which it has access) at
a particular venue server, collecting enough information at each room
to be able to generate a connectivity map of the entire venue server.
The dot
program
interprets this information and generates a layout of the rooms in a
commonly viewable format.
Another possible use (for server developers/maintainers) of VenueList is as
a server
exerciser. This mode doesn't save any connectivity information, rather
it visits every room and then starts again when complete, looping
forever unless stopped.
Downloads
The VenueList program is not yet ready for download; there are
still some things to do (see below)
The VenueList.py script interrogates (interviews?) a
specified room
for all of its connected rooms/lobbies. It then interrogates all the
connected rooms for more connections, continuing in this manner until
all connected rooms have been found. All of the connection information
is then output as a dot input
file.
Firstly, the command: python
VenueList.py -u https://vv2.ap-accessgrid.org:8000/Venues/default
will produce the file workfile.dot
The dot program can now be
used to generate a viewable file e.g. dot workfile.dot
-Tps -o workfile.ps
will generate a postscript output, while dot workfile.dot
-Tpng -o workfile.png
will generate a PNG bitmap file
The dot program generates
layout of a particular style. Other layout styles are possible using
other programs from the Graphviz toolkit, such as neato, twopi, circo and fdp. See the Graphviz documentation
for further details.
Views
Here are some sample VenueList outputs as SVG images;
ANL and ANL-LR
(the main ANL server) - top to bottom and left to
right layered views
Note that the images may have unusual aspect rations e.g. 19807x639 for
the
IVS image. Some manipulation within the image viewer may be necessary.
As an example - using eog
(eye of the gnome), the default size option is "Fit", whereas I find it
useful to select the "Normal" option instead.
TODO
Adjust spacing between ranks, depending on node count in a particular
rank
Recognise return connections and specify them as a single line rather
than 2 separate lines,
although maybe separate lines are more obvious (esp
long for lines)
Recognise duplicate room names (esp. the "default" room)
Greater attention to duplicated connections
What if a different server is referenced? Is that possible? Should we
follow the remote reference and possibly map the world?
Output as "imagemap" so clicking on a node drives a VenueClient to that
room represented by the node
Investigate other layouts & layout tools. Is a 3D layout useful?
Better error recovery & reporting
Add a search facility e.g. find "Lapland Room" & put it in centre
of screen & highlight it
Acknowledgements
Andrew Rowley of University of Manchester made available a Python
script which would maintain presence in a room to prevent media stream
addresses being dynamically reallocated.