ViSit Anywhere provides a number of specialized tools for performing administrative tasks. Our previous experience with ViSit and ViSit Web have shown that geospatial projects often evolve over time. To manage this evolution a robust administration framework must be present. ViSit Anywhere's change management provides the foundation for ensuring that the project configuration can be easily and transparently applied over the entire user base. The post discusses some of the tools available to administrators for managing project change. It is important to point out that most ViSit Anywhere users (even those making complex edits) are unlikely to need to use these tools.
The Project Tree
As stated previously on this site, a ViSit Anywhere project is managed by a hierarchy of project objects, including the object types used, the project schema and the project instance data. Administrators can view the project hierarchy by activating the ribbon's Project tab and selecting the Project button from the Manage chunk. This displays the main project tree control in a dockable panel. The project tree control is based on a Outlook 2007 style navigation bar. This type of control has a main display area (typically showing the full project tree and a set of navigation bars or buttons on the bottom that allow the view to be switched. In our case, you can create sub-trees simply by selecting a node in the visible tree and dragging it onto the bar on the bottom. Selecting a button will switch between tree views.
The docked panel is only the visible face of the ViSit Anywhere tree controller. This object acts a server of project tree branches for other ViSit Anywhere tools and applications. These sub-trees have the same functionality as the tree in the main view, but often add other features. For example, the Place navigation tool collects all the available places, and will navigate when a Place is double-clicked. The exact same functionality is available in the main tree (except that the Places may be dispersed across several branches there).
Right-clicking on a tree now presents the object's contextual menu that provides several tools for project configuration. These will be discussed later in this document. The items displayed in the contextual menu are controlled either by the selected node, its parent or one of the top level controllers (such as the type controller or the change manager).
It is very important for administrators to know that a configuration is valid. ViSit Anywhere provides a special Check mode on the project tree to assist in this task. To activate check mode either click on the Check button from the context menu of a node in the project tree, or select the Check button from Manage chunk in the Project ribbon page. When this is done the selected node and all its child nodes are checked (errors bubble-up to the top level node to facilitate their location). While in check mode, the image icons associated with the tree nodes take on an addition overlay that indicates the state of the object (based on its internal checking algorithm). The state might be OK, Warning or Error. Nodes in a warning or error state have an additional text message associated with the tree node text. To disable check mode, just un-check the Check button.
CreateViSit Anywhere also provides standard project configuration tools. These are best used when starting without existing data. In these cases, discovery is of little help (there is nothing to discover). Fortunately ViSit Anywhere provide the tool to create new project objects from the project tree. In this case, the parent object knows what type of children that it can have, so and which types can be created from nothing, so the list of objects to create is filtered. For example, the screenshot below shows all the types that might be created as direct children of a Module object. Note, object creation in this way make most sense for schema objects. Type objects are best discovered and instance object typically created editing tools or discovered from existing data. Once the user has created an object, it can be configure easily using the object properties controls. This type of object creation and configuration is based on long standard Windows usage idioms and this allows users to quickly learn how to do basic configuration.
Configuration WizardsIn some cases, configuration is very complex and may require a valid sequence of operations to effectively preform the task. In these cases, ViSit Anywhere provides configuration wizards that allows the administrator to proceed step-by-step through the complex configuration task.
The Properties Control
The Project Tree allows us to configure the overall structure of the ViSit Anywhere project and it allows us to navigate and invoke different aspects of the project objects. However, to configure the details of each object another tool is required. This is the job of the Properties Control. Each object in a ViSit Anywhere project implements a unique set of controls to facilitate its configuration. This uses standard Windows user interface idioms which helps administrators in dealing with the diverse set of configurations possible. For example, the screenshot below shows how we can customize the color of a line graphic by configuring the associated context. Note, that context set is a hierarchy of objects that allows properties to be inherited and overridden.