Hrefesh is a new CA Harvest Change Manager r7.1 (Harvest) utility, in conjunction with Hsync, developed as a replacement for the OpenMake utility Harrefresh. HRefresh.
Hrefresh provides an infrastructure around Hsync to synchronize referencedirectories with the contents of a view path in Harvest view. Reference directories are file system directories (UNIX directories, Windows folders, or MVS libraries) referenced by a build procedure and populated with files stored in Harvest. When used with Hsync, Hrefresh will populate reference directories on the target workstation with the appropriate versions of files from within Harvest.
Hrefresh is executed by server side user defined processes (UDP)s that can be post-linked to any Harvest process the the contents of data views. The post-link UDP passes parameters to Hrefresh with the project, state, and package context information. Hrefesh uses this information to determine which reference directories should be refreshed for that Harvest process. Hrefresh then performs the check-outs to synchronize the files on Harvest server with those on the reference machines. Hrefesh can also be executed by a stand alone server UDP, supporting on-demand directory synchronization.
The Hrefesh utility requires some administrative tasks. These include:
Standard Harvest server, client and agent configuration
No special Harvest server, client or agent configuration is required. Harvest agents need to be installed and configured on the Reference Machines. Agents may be configured as single-user or multi-user agents. Agents must be able to access the target Reference Directories on each machine.
Hrefresh configuration file definition.
You must create the Hrefresh configuration file that contains all of the reference directory information for synchronizing to reference machines. The file must be named, Hrefesh.cfg. Each reference directory definition is a comma-delimited set of items on a single line.
# File hrefresh.cfg
# Each entry is a comma delimited set of items on a single line. The order of items
# and permissible values are as follows:
# Checkout Process Name (must be browse with synchronize),
# Remote agent Host Path,
# Reference Directory Type (Full or Active)
# Remote agent machine name or IP address,
# filename containing username/password of Harvest user (for -eh)
# filename containing username/password of Agent user (for -er)
# # Sample Reference Directories on a Harvest Client:
#Project Name, State Name, Checkout Process Name, ViewPath, ClientDir, RefDirType, Machine, eh file, er file
My Project Name,Merge Complete, ,\Project1\Code,/space/devel/harvest/solaris/r23/Test/hrefresh/MC, Active, targetmachine, myclientmachine.dfo, targetmachine.dfo
Creation of encrypted password files
Each Reference Definition in the configuration file requires two user names and passwords. One set is used as a Harvest login for running the checkout using hsync, and other set is used for the connection the remote agent by both hsync and hexecp. The user names and passwords will be provided only through the use of Harvest encrypted password files, created by "svrenc -f". The svrenc utility, hsync and hexecp all expect the password files to be in HARVESTHOME.
The administrator will be required to run "svrenc -f <filename>" one for each unique username/password pair required. It is the responsibility of the administrator to name the password files, and use these names in the configuration file.
Note that the password files can be shared across Reference Definitions. There a single Harvest user account used by all the hsync operations in a single system. Remote agent login user names and passwords can also be shared.
Harvest UDP definitions:
The Harvest administrator will need to determine how hrefresh will be used in conjunction with each project lifecycle model. There is a great deal of flexibility here, allowing for various levels of hrefresh automation.
In a simple case, standalone UDPs can be defined to allow for "on-demand" execution of hrefresh. UDPs can be used to initially populate reference directories when other build automation procedures are in place. For standalone hrefresh UDPs, the action will synchronize (to all related Reference directories) all items within the context of the viewpath (as configured in the Reference Definition).
Hrefresh can also be invoked automatically when Harvest packages are promoted and demoted. This refreshes only those items contained in the list of packages being promoted or demoted.
An example UDP definition is as follows:
Program: hrefresh -b "[broker]" -pr "[project] -st "[state]" -nst "[nextstate]
For additional details on the use of Hrefresh, please refer to the CA Harvest Change Manager r7.1 Administrator's Guide.