Usage of the coral server and clients. This document assumes you have already compiled coral (version 2.0 or higher) and both clients. Starting the server --------------------- To start the coral server, run coral with the '-s' option: coral -s This indicates you wish to use coral in server_mode. When coral is in server mode, no other options are meaningful, since the default envirornment is provided to every user that connects to the server. Any arguments provided will be processed, but only those which modify a workspace will be useful. Similarly, the .coralrc file of the user that starts the server will be processed, but will not change the defaults given to each new user. Clients --------- Both the text and the GUI coral client need to know the location of the coral server. If this information is not specified, the coral server is assumed to be running on the same machine as the client, and using port 6006. To change these defaults, define the envirornment variables CORALSERVER and CORALPORT to new values. For example: setenv CORALSERVER quarg.cs.wisc.edu would cause subsequent clients to attempt to connect to a coral server on quarg, at the default port. Starting a coral client -------------------------------- Starting the text coral client -------------------------------- To use the text coral client, run the command "coral_client". coral_client This program will complain and exit if it cannot locate the coral server (specified as detailed in "Clients" above). The text coral client will not be described further here, though many of the following comments apply to it as well. Starting the GUI coral client ------------------------------- To use the GUI coral client (a tk/tcl interface), run the command "tclCoral". tclCoral This program will complain and exit if it cannot locate the coral server (specified as detailed in "Clients" above). Help specific to the GUI version of the coral client can be found below (under "GUI extras") and in the "GUI Client" section under the Help menu option. General --------- To allow the usage of explain, you should "login" to the coral server, giving your name and password. login(raghu,foobar). If you now type the command "who.", you will see your connection represented. ready>> who. Connection 0: 1 raghu 2 flisakow Number of users: 2 At any time, you may type "whoami." to find out the current user on this connection. To switch between users (on this connection) use the "user()" command. You must supply an argument of either the person's login name, or the connection id (both are shown in the "who()." output. You can logout individual users with the "logout()." command. The "quit()." command logs out all users and disconnects from the server. To consult a file, simply double-click on it in the "Files" subwindow. Double-clicking on a directory will change to that directory. You may change the action that occurs when double-clicking on a file from consulting to editing through the Actions item of the "File" menu. When a file is consulted by double-clicking, its relations will be listed in the "Relations" subwindow. This subwindow can also be manually updated by clicking on its title. Suspended Queries ------------------- Coral has a default number of answers which it will return before suspending a query, this value can be seen or changed with the "answer()." command, the argument will be the new number of answers returned before suspension. After this number of answers has been recieved, the query will be suspended. The query will appear in the "Suspensions" subwindow. Double-clicking on the suspended query will cause it to be resumed. History --------- To access the history, use the arrow keys to move back and forth through the history list. You can also edit the old line. The editing mode is chosen using the envirornment variable "EDITOR", if the last 5 chars of this variable are "emacs" then emacs editing will be used, otherwise vi editing will be used. For the GUI client, this variable also controls what editor will be used when you request to edit a file. Extra Windows --------------- Extra windows for typing queries (and seeing responses) may be created by selecting "Create" from the "Window" menu. When "Delete" is chosen from the "Window" menu, the current window is deleted. The text section of the main window cannot be deleted. This extra windows are not individual client processes, but rather simply multiplexed into a single connection. Therefore, commands like "user()." or "login()." affect all windows. Changes to version 2.0 ------------------------ If you are already familar with coral, I sugest you look over the help for "Breakpoints", "Suspensions", "Users", and "Explain" in the Help menu of the GUI coral client. These items are all new (or at least, the help is new).