
The purpose of this blog post is to highlight the benefits of the Cloverleaf Master Site and its ability to simplify the support and maintenance of Cloverleaf Configuration files. It also lists some of the deficiencies which will hopefully be addressed in future versions of Cloverleaf.
What is a Master Site?
A Master Site was included in Cloverleaf version 5.6 and allows the sharing Cloverleaf configuration files across multiple local sites for the same root or version of Cloverleaf on a specific server. The following can be managed in a Master Site:
-
.tcl – Tcl fi
-
.xlt – Translation files
-
.tbl – Table files
-
HL7 variant files
-
.frl – Flat Record Layout files
-
.vrl – Variable Record Layout files
-
.hrl – Hierarchal Record Layout files
-
XML variants
-
configuration files
-
Alert configuration file
Configuration in the master site is used unless there is an existing configuration in the local site.
Benefits
In the past multiple instances of common configuration files had to be maintained in each local site for a root or symbolic links were used. Symbolic links to a single tclproc directory from each local site was practical. However symbolic links for formats and variants was cumbersome due to possible variances from site to site. A Master Site alleviates using multiple instances and symbolic links. This reduces the number of configuration files and overlooking modifying all instances of a file.
Limitations
While there are a couple of limitations that require a work around the benefits outweigh the issues.
Root/Server Oriented
Currently, only a single Master Site can be defined for all sites contained in a root or release on a server. This does not work well when there are sites split for different purposes in a root. For example, when test sites and development sites are being hosted in the same root/server. While the current test configuration files are static the same files may be modified for development processes. It would be preferable if multiple master sites could be defined at the site level and not the root level. Since this is not the case then naming conventions must be established for denoting development master files from test master files.
The other issue involves High Availability fail over when using Active-Active server configuration. Active-Active is when production sites are located on one server of the cluster and test sites are located on the other server in the cluster. A production master site is defined on the SAN as well as a test master site. There is a major concern when a failover occurs and production is running on the test server. If the production is on the same release as test production will then be using the test master site. This could lead to serious repercussions. This can be dealt with but not in a straight forward method in the High Availability start and stop scripts.
tbllookup
tbllookup is a HCI TCL command which is used to map a value through a table. Unfortunately, this command is not Master Site knowledgeable and therefore does not look in the $HCIMASTERSITE/Table directory for a table configuration. There is no reference to this in the Cloverleaf 5.8 release notes and may not have been reported as a bug to date.
Precedence
The precedence is determined by the TCL $auto_path variable. The default sequence is:
$HciRoot\tcl\lib\cloverleaf
$HciRoot\tcl\lib\tfc
$HciSiteDir\tclprocs
$HciMasterSite\tclProcs
$HciRoot\tclprocs
Using the default order the precedence and its associated color the following is the precedence in the IDE configuration lists:
-
Current site – black
-
Master site – black italic
-
Root – blue italic
Constraints or Dependencies
There are some constraints or dependencies when using the master sites.
Translation Dependencies
Translation .xlt files can be located in the master site but require all other configuration files associated with the translation be located in the master site as well including:
-
HL7 variants
-
FRL , VRL, HRL configurations
-
FRL and VRL configurations used by a master site HRL configuration.
-
Tables
-
TCL translation procedures.
Nested TCL Procedures
Any TCL procedures executed by a master site TCL procedure must exist in the master site as well.
setroot
The following environmental variables have been added to the setroot initialization;
HCIMASTERSITE=tmaster
HCIMASTERSITEDIR$HCIROOT/tmaster
showroot
showroot now displays the Master Site:
>showroot
HCI root is /quovadx/qdx5.7/integrator
HCI master site is tmaster
HCI site is tmaster
HCI Shell Commands
The following commands are Master Site knowledgeable:
hcitpstest
hcixlttest
hciroutetest
Conclusion
Cloverleaf Master Sites provide a tremendous benefit for implementing, supporting and maintaining Cloverleaf configurations with just a few limitations that require work arounds by eliminating multiple instances of configuration files and symbolic links.
If you need assistance with Cloverleaf Master Sites, please feel free to contact Santa Rosa Consulting at contactus@santarosaconsulting.com.
Rett Addy
System Integrator
Santa Rosa Consulting