If you'd like to join the DesigNet-Info@bbn.com mailing list to recieve information about DesigNet please send mail to major-dart@bbn.comwith a message body of the form
subscribe designet-info Your-email-address
The current hardware and software requirements for running DesigNet are:
/opt/designet, or
/usr/local/designet as appropriate for your site. A DesigNet directory in your home
directory can also be used temporarily. Lets refer to that directory as
$DESIGNET_HOME. For example:
; setenv DESIGNET_HOME /opt/designet/ ; cd $DESIGNET_HOME
Version_Current
indicates the version most users are expected to use. The symbolic
link Version_Next indicates a new version that is being
installed, or tested. So, a directory listing might look something
like:
; ls -l total 8 lrwxrwxrwx 1 kanderso 8 Jul 13 15:22 Version_Current -> designet-960712/ lrwxrwxrwx 1 kanderso 8 Jul 13 15:22 Version_Next -> designet-960712/ drwxrwxrwx 4 kanderso 512 Jul 14 13:43 designet-960712 drwxrwxrwx 3 kanderso 512 Jul 14 16:45 data ;
$DESIGNET_HOME
directory:
; cd $DESIGNET_HOME ; zcat $DISTRIBUTION.tar.Z | tar -xvf -
; zcat $DATA.tar.Z | tar -xvf -
Version_Next:
; ./Install next
Version_Next has been tested, it can be installed
as Version_Current:; ./Install current
Normally, a user should use Version_Current of DesigNet, while a developer or tester might use Version_Next. For example, one might add the following line to their .cshrc file:
; set path = ($path /opt/designet/Version_Next/bin) ; rehashTo make this change effective you may need to start a new shell or
source your .cshrc file.
To run designet, type the designet command to the shell:
; designetThis will start up DesigNet. The
shell window will be
used as a background stream.
A presentation is a graphic or a piece of text displayed in some window, associated with a particular object (typically, in DesigNet, a network object: a site, a node, a host, a link, etc) and a particular type (usually, but not always, the type of the corresponding object). An input context is just a type, which establishes the kind of presentations which should be sensitive at any particular time. A presentation translator is a Lisp function which maps one type into another.
For any given input context and presentation, the presentation will be sensitive in that context if either of the following is true: the presentation's type matches the input context (ie, if the type is the same as, or a subtype of, the context); or a translator exists which can convert the presentation type into a matching type.
There are only two interesting input contexts in DesigNet: the command context, when the program is waiting for the user to select a top-level command; and various object contexts, when a running command needs to ask the user to select an object of a particular type.
The command context can only be satisfied by selecting a command, either from one of the pulldown menus on a DesigNet window, or from a command menu on an object presentation.
An object context of a particular type can be satisfied by a clicking on a presentation whose type matches the given type, or, if keyboard entry is enabled, by typing in its name. Keyboard entry can be enabled through the Interface Options window.
In any input context, typing ctl-Z acts as an abort key. To interrupt DesigNet when it's running (ie, when it's not in an input context at all), you can type ctl-C at the background window.
For the most part, the new DesigNet uses a one-button interface: in most situations, only mouse-left is meaningful. Two special logical gestures, Drag and Menu, can be bound to other mouse clicks.
The Drag gesture is used for dragging sites on a map, for viewing lat/lon on a map, and, if drag-and-drop is enabled, for drag-and-drop operations. Drag is bound by default to control-mouse-left. It can be changed through the Interface Options window. Pick one of Left , Middle or Right for the Drag Click option to select a button, and zero or more of Shift, Control and Meta for the Drag Modifiers option to include modifiers. Don't pick a combination that's already in use (eg Left with no modifiers).
There are two cases in which the Menu gesture is used, both of which apply to presentations of network objects (sites, nodes, hosts, etc). In the command context, invoking this gesture on such a presentation will pop up a menu of commands which can be run on the corresponding object. In an object-context, invoking this gesture on such a presentation may pop up a menu of associated objects for extended select. This gesture is bound by default to mouse-right, It can be changed through the Interface Options window. Pick one of Left, Middle or Right for the Menu Click option to select a button, and zero or more of Shift, Control and Meta for the Menu Modifiers option to include modifiers. Don't pick a combination that's already in use (eg Left with no modifiers).
Given any network object and any type, that object may be able to provide objects of type even if the object itself is of some other type. For example, if the object in question is a site and the type is node , the site can provide all the nodes at that site. We use these provision relationships coupled with presentation translators to implement extended select.
In particular, if you're in an object-context for some type of object, you can either click left on a presentation that matches the type, in which case the corresponding object will be selected; or you can invoke the Menu gesture (usually right-click) on a presentation which provides objects of the type, in that case you'll get a menu of those objects from which to choose. If the providing object provides exactly one object of the desired sort, it can also be selected with a left click.
For example, if you're in an object-context of type node (in other words, if you're running a command which requires the user to select a node), you can either click left on any presentation of a node, or you can click right on any presentation of an object which can provide a list of nodes from which you can choose. Clicking right on a site would give you a menu of all the nodes at that site; clicking right on a subnet link would give you a menu of the two endpoints; etc (assuming the Menu gesture is mouse-right, of course).
In the Symbolics version of DesigNet, whenever the standard printed representation of an object is displayed on a window, it becomes mouse-sensitive automatically. In CLIM, this is not possible: mouse-sensitive presentations must be done explicitly. As a result, much of the display code in the current DesigNet results in unsensitive output on the main window. We've added sensitivity to the output of the commands we've run so far. If you encounter other output on the main window that should be sensitive but isn't, let us know which command generated the output and we'll try to fix it.
Output to the newly designed windows (maps, reports, inspectors) should have the correct sensitivity.
When the system needs to solicit input from the user, it will prompt in the Prompt window. This window can run in one of two modes: either it can pop up when needed, and hide itself at other times; or it can remain open all the time (of course you can also open and close this window manually). The former makes more clear to the user when input is required, but doesn't work properly under all window managers.
The mode can be set from the Interface Option Bury After Select. Set to Yes for popup mode, No to keep the window open. Choose whichever mode works best in your specific situation.
Several commands in DesigNet work in an iterative fashion, by repeatedly asking the user to select an object. In the original DesigNet, the user would end the iteration by clicking middle. Middle-click can also be used in the current DesigNet, but since this is not really in the CLIM spirit, it may be necessary to disable this at some point (if it conflicts with other mouse-button actions).
When DesigNet needs to get a file specification from the user, it can do so in one of two ways: by direct typein of the name, or through the use of a file-browser window. Popping up a browser window takes more time and more screen real-estate, but relieves the user of the problem of remembering file names and directories.
This mode can be set in Interface Options. Set Use File Menus to Yes to get a file-browser and to No if you prefer to enter/edit filenames manually.
The File Browser itself comes in three flavors, with three slightly different styles of interaction: selecting a single extant file, selecting multiple extant files, and specifying a name and directory for a new file.
To select no file at all, click the None button. To cancel the file-selection operation altogether, click the Cancel.