New sessions can be created by accessing the 'New Session' window (below). Each session has a title and a description. The window also has a field for keywords, but unfortunately the underlying processes for the keywords are broken so don't bother filling this in. It is only necessary to fill in the title, and since both the title and the description can be edited at a later stage. Unfortunately there is no function which removes sessions at the moment. This is due to the somewhat complicated relationship between sessions and user annotation, such that it is not always clear exactly what the program should do (and there were some weird problems with the database that have complicated this issue). Obviously this is another one of those things which should be fixed, but which I haven't got around to.
Creating a new session also makes that session the currently session and allows the user to enter probe sets and annotation into the system which is associated with that session. Old sessions can be accessed and made the current session through the use of the Sessions window described below.
The currently available methodology for accessing old sessions is rather crude and just allows the user to select sessions from a list of widgets in a window (which since they are created when the list is updated makes the whole system slow). There are many obvious ways of improving this access, and ideally these should include the ability to search all of the fields which are stored in the database. The list of sessions is displayed in the 'Sesssions' window which is accessed from the main window by pressing the 'Load Session' button.
The Sessions window is divided up into three main areas, a session information area to the left, the session list on the right and and a row of buttons along the bottom. The list of sessions (right side) are accessed through a series of widgets containing 4 fields.
When the sessions window is opened for the first time, it doesn't contain any sessions as these have to be manually updated by pressing the Update button in the bottom right hand corner. This causes the program to access the server and to update the information from the appropriate tables in the database (this can be somewhat slow, taking up to 10 seconds sometimes). The text fields in the session widgets can have two different background colours, white or brown. Sessions with white background are owned by the current user, whereas sessions with brown background are owned by other users. Sessions which are currently owned by the user can be modified by editing the information in the left side of the window (after pressing the little info button) and pressing the 'Commit Changes' button in the left hand bottom corner. Several user sessions can be selected at the same time by (click the checkboxes). The buttons at the bottom of the window perform a number of functions related to the sessions, and become activated depending on which sessions are currently selected. These buttons perform the following functions.
As I mentioned above these interfaces are a bit crude and could do with a bit of a clean-up, in addition to having a few more functions for editing and looking up the sessions. (Or maybe whole rewrite from the bottom up).