It is sometimes the case that a Hackystat configuration includes commands that are not of interest to most of the users of that server. One potential way to solve this problem is to eliminate the modules defining those commands from the configuration. However, it may be the case that a module defines some commands that are useful and others that are not useful to the user community for that server, making this solution impractical.
In the case of the public Hackystat server, where many modules are included in the configuration, the number of commands listed on each page of a user's account can become quite large. This decreases usability, as it forces the users to wade through a large number of commands although only a small number are of actual use to them.
Hackystat provides a solution to this problem through a pair of commands for configuring command visibility. One of these commands, called "Configure User Command Visibility", is available on each user's Preference page. It enables each user to customize the commands that are displayed to them when they login to their Hackystat server. Figure 9.14, “ User-level command visibility configuration ” illustrates this configuration command.
The usage of this command is simple: check the box associated with a command name to make it visible, or uncheck it if you wish for it not to be displayed, then press the "configure" button to save your changes.
In addition to user-level configuration, Hackystat also provides an Admin command called "Configure Global Command Visibility". This command allows the Administrator to globally set (or reset) each existing user's command visibility settings, as well as establish the default command visibility configuration for subsequent new users. Note that an individual user can always go back to their Preference page and use their Configure User Command Visibility command to change their settings if they wish. Figure 9.15, “ Admin "global" command visibility configuration ” illustrates this configuration command.
This command appears in the Admin page, rather than the Preference page, so it is accessible only to the Administrator. This Admin command interface is almost the same as the user-level command interface, except that it includes a "Reset" parameter in addition to the list of commands to display or hide. When the "Reset" parameter is checked, then invoking this command will replace the current set of user command visibility preferences with the settings provided by the Administrator.
Note that there is no way to hide the user or admin-level command configuration commands (since hiding the configuration command would make it impossible to do future configuration.) Also, there is no way to configure the set of commands appearing on the Admin page (because this simplifies the implementation, and Admins should be able to deal with a long list of commands.)