The HVR GUI has a number of convenient capabilities that may not be obvious when first starting to use it. This article provides some tips and tricks.
Most dialogs in HVR include a help button at the bottom right for context-sensitive help into the documentation. Use this to read the details on the various options on the dialog. However, it is recommended to visit our online product documentation for the latest updated version of help.
In some cases, changes are made to the underlying HVR Repository that are not automatically visible to the GUI. Examples of when this happens include:
- Another user is making changes to the repository.
- Action AdaptDDL is defined and HVR captured DDL operations e.g. new tables were added or columns were modified, added or deleted (when the GUI was connected to the repository).
- Command line statements were used to make changes to the repository e.g. to update the tables in the channel.
In all cases, to view the current set of definitions in the repository, use the pop-menu on the hub name to "Reload Hub".
Running multiple GUIs concurrently
HVR's use of modal windows forces the user to complete a dialog before moving on. In some cases, when running interactive operations like Initialize (HVR Load in 4.x or earlier), Refresh or Compare the dialog may block the use of other parts of the product for quite some time. It is always possible to open a second GUI and make changes to definitions through the other runtime. Do realize that changes may interfere with the operation the other GUI is performing, and note that when running multiple GUIs concurrently they do not automatically synchronize. To see changes made in another GUI environment simply reload the hub using the pop-up menu on the hub name.
Multiple Action/Attributes panel automatically filters based on the location in the tree. To know what actions are relevant for a specific table, find the table in the tree, and look through the list of actions.
Likewise, any relevant attributes for a job are shown when the job is selected below the Scheduler.
Actions Beside the Tree
By default, HVR shows actions below the tree. Whilst this provides maximum width for the action definition, this default layout leaves relatively little room for the tree to expand down. Using the View menu -> Action Pane -> Actions Beside Tree you can change the layout to make the actions appear beside the tree.
CTRL + Drag and Drop for Copy and Paste Across Hubs
The HVR GUI allows multiple connections to different hubs at any one time. Using this feature it is easy to copy definitions (Location Configuration, Channel) from one hub to another: simply hold the control key and use the mouse to drag and drop the item from one hub to the other.
Note if you do not hold the control key you will be moving the definition.
Also note that this option is only available for definitions. Runtime objects below the scheduler node cannot be copied using drag and drop. Of course, runtime objects can be regenerated from the channel definitions.
Disable Recent Errors Popup
HVR keeps track of recent errors until the user decides to clear them. By default, the GUI will show a pop-up for recent errors.
This popup shows for every error, also following a retry, and when the GUI first connects to the hub and there is still an outstanding recent error. Especially during development and testing the popup may be too intrusive, especially because it is a modal window. The popups can be disabled on the recent error dialog itself, but also through the View menu -> Recent Errors -> Show Popup.
Remote File System Browsing
In various parts of the product, the GUI shows a browse button. That browse button not only enables browsing on the local machine but in many cases (sadly not always) it also enables browsing on a remote system. For example when configuring a Location simply use the browse button on the dialog to find a file or a folder on a remote system. This functionality works across platforms i.e. Windows, Linux, Unix.
Click Header to Sort
Many dialogs in HVR show a list of values. Across the board, these lists can be sorted by clicking the header to make it easier to find what you are looking for. For example to find a specific action for a channel select the channel name in the tree, and use the header Action in the list of actions to sort the list alphabetically (click again to sort in reverse order).
Use Expand on * to Create Individual Actions
Channel definitions are easier to manage when there are fewer actions. Hence define actions at the group level, or at the channel level, if at all possible. In some cases, this is not possible and it is necessary to define actions at a lower level e.g. per table. For this case, hoover the mouse over the * in the column table, and pick Expand from the popup menu. This will turn * into individual entries for the column that was selected.
Use (Simple) Regular Expressions in Table Context
On the topic of fewer actions simplify channel definition management realize it is possible to use simple regular expressions in the drop-down for the table context:
- ! means logical not.
- * means any number of characters.
- abc* in the table dropdown indicates all tables that start with abc.
- !mytable indicates this action applies to all tables except for mytable.
- !*_tmp indicates all tables that do not end with _tmp.
Note that when using regular expressions the action may not show in the list of actions even when selecting a table within the context.
Start Remote Listener (and/or Proxy) from GUI
On a Windows environment, the HVR remote listener can be created and started (and stopped and dropped) from the GUI. Instead of (or in addition to) connecting to a hub, use the File menu -> HVR Remote Listener to open the dialog and create/start/stop/destroy the service.
The monitoring function to keep the runtime information below the scheduler up to date is great to have, but to collect the right data is CPU-intensive (depending on the number of channels, and the number of transaction files in the router directory). The resources are used on the hub (also for a remotely connected GUI), and given HVR's routing of the data is generally very efficient, gathering the information for monitoring sometimes consumes most CPU resources.
The GUI has an option to enable/disable monitoring through the menu View -> Monitoring.
If information like latency and router bytes are not being populated, then check whether Monitoring is disabled.
Copy/paste Command from the Status Bar
For channel-level tasks like Initialize, Refresh, and Compare, the HVR GUI shows in the status bar at the bottom of the dialog the exact equivalent command that can be run on the hub in a terminal window to achieve the same outcome. This can be very convenient for example during channel development when lots of changes go into the channel definition and re-defining the task with the same options is cumbersome. Copy the command, and simply run it in a terminal window on the hub.
Run the GUI as Administrator
This tip is relevant only on Windows, and only when running the GUI on the hub machine.
HVR sometimes writes files through the scheduler and, depending on user privileges, files cannot be overwritten by the HVR GUI (and in those cases, users often use their administrative rights to first delete the files and then create new ones through the GUI e.g. using Initialize). This results in frustrating user experience. Avoid most if not all of the file overwrite issues by explicitly starting the GUI as an Administrator.
HVR preferences are stored in HVR_CONFIG/files/hvrgui.ini. To return to default settings use the menu View -> Clear Preferences.
Some options, like the popup to warn the user when capture time is reset, may have been disabled during testing but once the channel moves in production it may be wise to have the popup re-appear.