2.9 Details of File Commands

The scenarios in this section cover full details of file-related commands.

2.9.1. Files Used by the gradebook Tool

Gradebook files contain the following information:

All of this information is stored in a single gradebook file for each gradebook created by the user.

2.9.2. New and Open

When the user executes the `New' command in the `File' menu, the system responds by creating a new gradebook and displaying it.

The name of a new gradebook is "unnamed", until the user saves it with a different name. Each successive application of New, with no intervening save, creates a gradebook named "unnamed[N]", for N = 2 to the number of unnamed gradebooks.

A new gradebook has no students, categories, or grades. Section 2.3

When the user selects the `Open' command in the `File menu, the file choser opens.



The default directory path for the file-open dialog is the Gradebook Tool user directory for the current user.

The user may type the name of the file to open or select it from the scrollable list of file names. When the user selects the pulldown arrow in the `Directory' field, the system displays the directory path.



The user may select from the directory list to navigate to another directory, whereupon the system displays its files and subdirectories in the scrollable list. The names of readable gradebook files and readable subdirectories are shown in regular type in the file list. The names of all other files are shown in grey type, indicating they are disabled for selection. This means the user cannot open an unreadable gradebook file, an unreadable directory, or any type of non-gradebook file.

The user may navigate into a subdirectory by selecting its name in the list and pressing `OK'. The `OK' button is enabled when there are one or more subdirectories in the scrollable list. When the user presses `OK' for a selected directory, the system displays its contents in the scrollable list.

When the user selects a specific file in the list, the system enters its name in the `File' field and enables the `OK' button, if it was not already. When the user presses `OK', the system opens the selected file if it is not already open. Once opened, the system displays the file's initial view, per its most recently saved settings, including in particular the option setting for its initial view window(s).

Double clicking on a gradebook file name or directory name is a shortcut for selecting that name and pressing `OK'.

The user may type the name of a gradebook file or directory in the `File' field. As the user types, the scrollable list is scrolled to the alphabetic position in the list nearest but not after the place where the thus-far typed name appears or would appear in the list. If the user types the complete name of an existing gradebook file or readable directory, the effect is the same as when the user selects the name by clicking in the list. If the user types the name of a non-existent file, the user may press `OK', whereupon the system creates a new file of the entered name. This is effectively a short cut for executing `File->New' followed immediately by `File-Save'.

Since unreadable files, unreadable directories, and non-gradebook files are disabled in the file-open dialog list, the user cannot select one of these. However, the user may type the name of an unreadable file, unreadable directory, or non-gradebook file in the `File' field. If the user does so, the system disables the `OK' button, since these files or directories cannot be opened. If the user continues typing so that the name is not an unreadable gradebook file, unreadable directory, or an existing non- gradebook file, the system re-enables the `OK' button.

When a gradebook is opened from a saved file, the name of the gradebook is synonymous with its root filename. The root filename is the name of the file, less any leading file path and less any filename extension. For example, the name of the gradebook stored in the file "/users/home/chindes/.gradebookTool/308gradebook.cal" is "Departmentgradebook". The gradebook Tool provides no command to change the name of a gradebook independent from its filename. In particular, the only way the user can name an unnamed gradebook is to save it to a file.


The name string is the name of gradebook just opened. The dialog informs the user that since the gradebook is associated with more than one host, the user must run the `Admin->Connect' command in order to select the host to connect to.

Since `New' and `Open' are always enabled, the user may execute these commands at any time while the gradebook Tool is running. This means that the user can have an unbounded number of gradebooks open. If taken to an extreme, this could conceivably cause resource problems in some operating environments.

2.9.3. Close and Close All

The `Close' and `Close All' commands are enabled in the `File Menu' if there is at least one open gradebook, disabled otherwise. `Close' applies to the current gradebook; `Close All' applies to all open gradebooks.

When the user selects the `Close' command, the system performs the following pre-close steps for the gradebook to be closed, i.e., the current gradebook:

  1. checks if the gradebook has unsaved changes

  2. checks if there are any pending edits in dialogs associated with the gradebook

  3. checks if the gradebook is connected to a central host computer
Once these steps are completed satisfactorily, the system proceeds to perform the close operation. Details follow.

For the first pre-close step, the system checks if the current gradebook has any unsaved changes.



The name string is the name of the current gradebook to be closed. If the user presses `Yes', the system proceeds as follows:

  1. If the user confirms a legal save-as operation in that dialog, the system proceeds to the next pre-close step. If the user presses `Cancel' in the save-as dialog, the system returns to the offer-to save dialog, where the user may press `No' or `Cancel' (or `Yes' if she wants to return again to the save-as dialog).

  2. If the gradebook to be closed has previously been saved to a file, the system performs the file save operation and proceeds to the next pre-close step.
If the user presses `No' in the offer-to-save dialog, the system proceeds to the next pre-close step without saving the gradebook, thereby losing any unsaved changes. If the user presses `Cancel' in the offer-to- save dialog, the system cancels the close operation entirely, without saving, without performing further pre-close steps, and leaving the gradebook open and unchanged. The system also removes both the offer-to-save and file-close dialogs from the screen.

If the gradebook to be closed has no unsaved changes, the system proceeds to the next pre-close step, without displaying the offer-to-save dialog. gradebooks with no unsaved changes are those that have been saved prior to close, as well as other-user and group gradebooks, since the latter two types of gradebook cannot be changed.

For the second pre-close step, the system checks if there are any pending edits in gradebook-specific, non-modal editing dialogs for the gradebook to be closed. A pending edit is any unconfirmed or unapplied change the user has made in one or more of these dialogs. If the user answers `Yes' in the pending-edits dialog, the system discards any pending edits, cancels all pending dialogs, and removes the dialogs from the screen. When the system responds to the `Yes' response or if the pending-edits dialog was not displayed, the system proceeds to the last pre-close step.

If the user answers `No' in the pending-edits dialog, the system cancels the close operation without performing the last pre-close step, leaves the gradebook open, and leaves all pending edit dialogs open and unchanged. If the gradebook had been saved as a result of the first pre-close step, it remains saved, i.e., the save operation is not undone.

For the third and final pre-close step, the system checks if the gradebook being closed is currently connected to a central host computer. describes details of the gradebooks list, gradebook-to-window association, and changing the current gradebook. When the close operation has been completed or canceled, the system removes all close-related dialogs from the screen.

When the user selects `Close All' in the `File' menu, the system executes a close operation for all open gradebooks, in the same manner as described above for `Close'. The offer-to-save dialog is displayed in turn, as necessary, prior to closing each gradebook. If the user presses `Cancel' in the offer-to-save dialog for any gradebook, the system cancels the close operation for that gradebook and all remaining open gradebooks. `Cancel' does not affect any already-closed gradebooks for which the user previously answered `Yes' or `No' in the offer-to-save dialog; these gradebooks remain closed. The pending-edits and connected-to-host dialogs are also displayed in turn, as necessary. Since there is no `Cancel' button in the pending-edits or connected-to-host dialogs, the 'Close All' operation proceeds with the next gradebook to be closed, whatever the user's decision is in either of these warning dialogs. A gradebook remains open if the user answers`No' in either the pending-edits or connected-to-host dialog.

2.9.4. Save, Save As, and Save All

A new gradebook is not associated with a file until it is saved for the first time. For new not-yet-saved gradebooks, the `Save' and `Save As' commands have exactly the same effect.



The system does not pre-enter "unnamed" in the `File' field, to discourage the user from naming a gradebook "unnamed". The system does not however prevent a recalcitrant user from doing so.

As in the file-open dialog, the user may navigate to another directory by selecting from the `Directory' pulldown list and by selecting directory names in the scrollable list. To save to a file, the user types its name in the `File' field. The system enables the `OK' button when the user begins typing, and it remains enabled unless the user does one of the following:

The system disallows saving in any of these circumstances (only the first of which happens to be possible in ). If the user continues typing to change these circumstances, the system re-enables the `OK' button. The system does allow saving a gradebook into an existing gradebook file, which case is described shortly.




When the user presses `OK', the system saves the entire contents of the gradebook onto the named file. All scheduled items and all gradebook- specific settings are saved. After completing the save, the system removes the save dialog from the screen. If the user enters the name of an existing gradebook file and presses `OK', the system asks for overwrite confirmation, as described below.

When saving a new gradebook onto a new file, it is not possible for the saved-to gradebook to yet be connected to a central host computer, since to make such a connection the gradebook must already have been open. Hence in this case of saving, no copying to a central host is ever performed. Such copying is performed when saving an existing connected gradebook, as described shortly.

When the current gradebook is already associated with a file, the `Save' and `Save As' commands differ. The `Save' command is enabled whenever the current gradebook is associated with a file, and the gradebook has unsaved changes. A gradebook has unsaved changes when the user has performed one or more of the following actions since the file was opened or the last confirmed save operation, whichever has occurred most recently:

  1. Updated any grades

  2. added any students or categories.
If the user undoes any of these actions such that the state of the gradebook returns to the same state as most recently saved, then the gradebook no longer has unsaved changes. The "state" of the gradebook is defined as the values of all scheduled items and gradebook-specific settings. It is noteworthy that the definition of unsaved change includes any an all actions that change scheduled items or gradebook-specific settings.

When the user selects the enabled `Save' command in the `File' menu, the system saves the scheduled items and settings for the current gradebook on the file associated with the gradebook. All scheduled items and gradebook-specific settings are copied to the host. If a gradebook is associated with a central host but not connected to it, the save operation does perform the copy.

The `Save As' command is enabled in the `File' menu whenever the current gradebook is not that of another user or group. `Save As' is enabled whether or not the current gradebook has unsaved changes.
For a gradebook that has an associated file, the purpose of `Save As' is to save a copy of the gradebook on a file other than the one with which the gradebook is already associated. To perform the save, the user types the name of the desired file in the `File' field, or selects the name of an existing gradebook file in the scrollable list. When the user selects an enabled name in the list, the system enters the name in the `File' field.

To save the gradebook onto a new or existing gradebook file, the user presses `OK'.
If the user presses `OK', the system proceeds with the save, fully overwriting the previous contents of the file. The states of the original and saved-to files are as described above for when `Save As' saves to a new file. The system also changes the name of the current gradebook in the same way as for `Save As' to a new file. If the user presses `Cancel' the system does not perform the save, returning to the `Save As' dialog where the user can enter a different file name. In either case, the system removes the overwrite warning dialog.

The user may save a new or existing gradebook to a file that is listed in the host connection table (in the `gradebook' column). In such a case, the system does not initiate a connection to the associated host as a result of the save. This is the case even if the option `Auto-connect on file open' is on. This option only applies to `File->Open', not to `Save As'.

The user can type or select the gradebook's current name in the save-as dialog, although this defeats the ostensible purpose of the `Save As' command. If the user does so and presses `OK', the system saves the gradebook onto the file with which is currently associated, in the same manner as if the user had executed the `Save' command.

When the user selects `Save All' in the `File' menu, the system executes a `Save' for all gradebooks with unsaved changes. ), the system cancels the save for that gradebook only.

The following is a summary of the enabled/disabled states of the save commands:

  1. `Save' is enabled when the current gradebook is new and has no associated file, i.e., it has not yet been saved. Save is enabled unconditionally for a new gradebook, even if the user has performed no changes to it since it was created. In this way, the user can save a completely empty new gradebook.

  2. `Save' is also enabled when the current gradebook has an associated file which has unsaved changes.

  3. `Save As' is enabled whenever at least one gradebook is open, and the current gradebook is not that of another user or group. `Save As' is enabled whether or not the current gradebook has unsaved changes.
`Save' and `Save As' are disabled otherwise.

None of the save operations affects the state of pending edit dialogs. Unconfirmed or unapplied edits are not saved, and the states of all dialogs associated with a gradebook are unchanged by a save of the gradebook.

As described above, the system attempts to disallow saving to an unwritable gradebook file. However, if the user changes the permissions of a gradebook file externally, before or during gradebook Tool execution, it is possible for the user to execute a `Save' or `Save As' to an unwritable file. If this error is reported for a file during a `Save All' sequence, the system continues with the `Save All' after the user dismisses the error message. The system then performs all processing that results from changed, added, or deleted settings values. If this processing would require further user confirmation, the system proceeds as if the confirmation is affirmative (`OK' or `Yes').

Changes to custom lists, filters, options, and windowing mode may result in changes to the appearance of scheduled items in display windows, but not in the items themselves. Changes to page setup and print settings take effect only when the user executes the `Page Setup' and `Print' commands.

2.9.5. Page Setup and Print

Printing from the gradebook Tool is based strictly on the content visible in active gradebook Tool windows. Window content appears on the printed page exactly as it appears on the screen. "Exactly" means the content of the printed page is the same in appearance and absolute size as it appears on the screen. Scrolling tables and other scrollable components of the display are not expanded in the printed output. The printed content excludes the window banner, any bordering other than a single black line, and any content that is not visible within the window frame on the screen. This means there is no page numbering, header, footer, or other page labeling.



The user selects the printer to which output is directed from a list of available printers. When possible, the gradebook Tool queries the underlying operating environment to determine the identity of the user's preferred printer. When such determination is made, the system inserts the name of the printer as the default value in the `Printer' field. If the user's preferred printer cannot be determined, the field is blank.

The user can select to print the current window only, all windows of the current gradebook, or all active windows. Per an active window is any that appears in the `View->Windows' submenu. Iconified (i.e., minimized) windows are considered active. The successive print order multiple of windows is based on the top-to-bottom order of windows in the `View->Windows' submenu.

The user may select the number of copies of each window to print, the default being 1. The `Collated' checkbox is enabled if the user selects more than 1 copy. If `Collated' is off (the default), the system prints all copies of the same window in immediate succession, before printing the next window. If the user turns `Collated' on, the system prints one copy of each window in succession before beginning the next copy of the each window.

When the user presses `OK' in the print dialog, the system proceeds with the printing. If a window fits on a single page based on the page setup parameters, the system prints the window centered on the page. The system does not print more than one window per page, even if more than one window could fit on a single page. If a window is too large to fit on one page, the system prints as much per page as possible, printing the multiple pages of the same window in row-wise order. The multiple pages of a single window are all left and top justified to the defined margins, not centered as for single-page windows.

There may well be additional functionality for page set up and printing in specific operating environments. This includes the ability to set other printer parameters, preview printed pages, and define other forms of page layout. Implementors must provide all such available functionality. Implementors are required to provide only generic page layout functionality, not content-specific layout. Contentwise, layout is at most one window per page, as described above.

2.9.6. Exit

When the user selects the `Exit' command in the `File' menu, the system begins the exiting process by executing the `Close All' command. The associated processing for `Close All' ensues, including any necessary user interaction through the warning dialogs. This is described in Section 2.9.3. If the user responds at any point such that the `Close All' is canceled for all remaining gradebooks, the `Exit' operation is also thereby canceled.

Once the `Close All' has run to completion, the system checks if there are unsaved session-wide settings. If so, the system displays the dialog shown in Figure 304.

2.9.7. External Changes to gradebook Tool Files

As explained in the preceding scenarios of this section, both the gradebook Tool and gradebook Tool Administration program normally attempt to disallow opening and saving to ineligible files. However, if a user changes or deletes files when the gradebook Tool or gradebook Tool Administration are running, normal operation may be disrupted.

2.9.8. Operating Environment Conventions

Different operating environments may have conventions for many aspects of file handling. There may be conventions for file naming, including characters allowed in file names, the length of file names, and the designation of a users "home" directory. There may be varying functionality for file-selection dialogs, filespace navigation, and other basic features of file management. Environments may also have conventions for the location of installed files and directories, such as a user's gradebook Tool directory.

Implementors may follow required or appropriate conventions, but must implement the features described in these requirements insofar as is possible. In particular, the feature of the user being able to type a file name in the file-open dialog must be retained, even if it is not standard in a particular operating environment. Also, the user must be able to change the location of the gradebook Tool user directory, even if the operating environment recommends the placement of such directories in a particular location.


Prev: Administrative Details | Next: Details of Edit Commands | Up: functional | Top: index