HVR GUI Tips and Tricks
Question
What are some tips and tricks for using the HVR GUI?
Environment
HVR 5
Answer
The HVR GUI has several capabilities that may not be apparent when you first start using it.
Online Help
Most dialogs in HVR include a help button at the bottom right for context-sensitive help. Use this to read the details on the various options on the dialog. However, we recommended you to visit our online product documentation for the latest updated version of help.
Reload Hub
In some cases, changes are made to the underlying HVR Repository that are not automatically visible in the GUI. Following are few examples of when this may happen:
- Another user is making changes to the repository.
- Action AdaptDDL is defined, and HVR captured DDL operations. For example, new tables were added or columns were modified when the GUI was connected to the repository.
- Command line statements were used to make changes to the repository. For example, to update the tables in the channel.
In all cases, to view the current/latest set of definitions in the repository, right-click on the hub name and select 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, 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, use the Reload Hub option.
Implicit Filters
Multiple Actions/Attributes panel automatically filters the list 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.
Action Pane Position
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 menu View ▶ 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; hold the Control key and use the mouse to drag and drop the item from one hub to the other. Note that 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. Runtime objects can be regenerated from the channel definitions.
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.
This popup can be disabled on the recent error dialog itself, but also through the menu View ▶ 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, it also enables browsing on a remote system. For example, when configuring a location, 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. Linux, Unix, and Windows.
Sort List
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, right-click on the * in the column table, and select Expand from the popup menu. This will turn * into individual entries for the column that was selected.
Use Regular Expressions in Table Context
Having fewer number of actions simplifies the channel definition. It is possible to use simple regular expressions in the drop-down for the table context:
- ! means logical NOT.
- * means any number of characters.
Examples:
- 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.
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
In 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 menu File ▶ HVR Remote Listener to open the dialog and create/start/stop/destroy the service.
Monitoring Toggle
The monitoring function to keep the runtime information below the scheduler up to date is great to have, but collecting 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 Command from HVRGUI
In the HVR GUI, for channel-level tasks such as Initialize, Refresh, and Compare, the status bar at the bottom of the dialog displays the corresponding command that can be executed on the hub in a terminal window to achieve the same result. 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. You can copy the command and 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. In such 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. To avoid this cumbersome method of file overwrite, it is preferable to explicitly start the GUI as an Administrator.
Clear Preferences
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 the capture time is reset, may have been disabled during testing. Once the channel moves into production, it may be wise to have the popup reappear.