Configuring Ensemble Productions
Defining Other Options for Ensemble
[Home] [Back] [Next]
InterSystems: The power behind what matters   

This chapter describes other options that you can define or configure for an Ensemble namespace. The following topics describe these settings:

Also see Configuring the Message Bank Link,” later in this book.
Defining Data Lookup Tables
The Lookup Tables portal page allows you to create and configure data tables to support the Lookup and Exists utility functions. The Lookup utility function is provided so that you can easily perform a table lookup from a business rule or DTL data transformation.
For details, see Ensemble Utility Functions in Developing Business Rules.
The Lookup function works only after you have created a lookup table and have populated it with data. You can do this selecting Ensemble, Configure, and Data Lookup Tables. If you click Open, a dialog box lists the lookup tables that are defined in the namespace. Select a lookup table and Ensemble displays the following form:
To edit entries in a lookup table, you can:
Selecting an entry has only one effect: initializing the values in the form on the right. Selecting Apply acts on the entry specified in the Key field not on the selected entry. If the key field matches an existing entry, that entry is updated. If the key field does not match an existing entry, then a new entry is added. Selecting the green + icon on the menu bar or selecting Discard clears the form but does not have any other effect.
You can take an action by selecting one of the following buttons:
You cannot undo the Delete, Import, or Import Legacy operation.
If there is an existing lookup table with the same name, the Import button has a different behavior from the Import Legacy button. The Import button completely replaces the contents of the existing lookup table. In contrast, the Import Legacy button merges the new values with the existing values.
For information on working with lookup tables in programs, see Programmatically Working with Lookup Tables in Developing Ensemble Productions.
The following subsections describe:
Lookup Table File Format
There are two XML formats that describe lookup tables: the new format and the legacy format.
The new Lookup Table XML format consists of one or more XML Document elements, for example:
<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25" zv="Cache for Windows (x86-64) 2015.1 (Build 378U)" 
  ts="2014-10-21 11:52:51">
  <Document name="AlertTable.LUT">
      <entry table="AlertTable" key="ABC_HL7FileService">temp_1@company.test<></entry>
      <entry table="AlertTable" key="BadMessageHandler">temp_1@company.test</entry>
      <entry table="AlertTable" key="Extra_Observations">temp_5@company.test</entry>
      <entry table="AlertTable" key="MsgRouter">temp_3@home.test</entry>
      <entry table="AlertTable" key="Priority_FileOperation">temp_5@home.test</entry>
      <entry table="AlertTable" key="Regular_FileOperation">temp_4@company.test</entry>
      <entry table="AlertTable" key="XYZ_HL7FileService">temp_2@company.test</entry>
The XML elements have the following syntax:
The legacy format exported by the Ens.Util.LookupTable.%Export() method and the portal in Ensemble 2014.1 and earlier versions does not have the Document element. It consists of just a single lookupTable element and the entry elements that it contains. It can contain entries for multiple lookup tables by specifying different names in the table element.
Importing Flat Files as Data Lookup Tables
You can import a flat file as a data lookup table, if the file is as follows:
To import such a file as a lookup table, use the Data Import Wizard, as described in Importing Data from a Text File in Using Caché SQL. For the schema name, use Ens_Util. For the table name, use LookupTable.
Defining System Default Settings
This section discusses system default settings. It includes the following sections:
Purpose of System Default Settings
The purpose of system default settings is to simplify the process of copying a production definition from one environment to another. In any production, the values of some settings are determined as part of the production design; these settings should usually be the same in all environments. Other settings, however, must be adjusted to the environment; these settings include file paths, port numbers, and so on.
System default settings should specify only the values that are specific to the environment where Ensemble is installed. In contrast, the production definition should specify the values for settings that should be the same in all environments.
To find the value for a setting for a production, business host, or adapter, Ensemble searches the following locations, in order:
  1. The production definition. If Ensemble finds a value for a setting here (even if the value is an empty string), it uses that value.
  2. The system default settings, which are stored outside the production definition.
    If Ensemble finds a value here (even if the value is an empty string), it uses that value.
  3. The value of the setting as specified in the definition of the class on which the production, business host, or adapter is based.
    Ensemble uses this value only if there is no system default for the setting.
    Some settings do not have any default value.
When you configure a production, the labels are color-coded to indicate whether the value was set in the production, the system default settings, or the class definition. See Understanding the Color Coding for Settings for more information.
Accessing the System Default Settings
To access the System Default Settings page, select Ensemble, Configure, and System Default Settings. The System Default Settings page displays the settings defined in the namespace:
To create a new system default setting, click New. To edit an existing setting, select the setting and click Edit. To delete a setting, select the setting and click Delete.
The following elements define a system default setting:
Creating or Editing a System Default Setting
If you are creating a new system default setting or editing an existing one, Ensemble displays the following form:
The System Default Setting page allows you to create a new system default setting or edit an existing one. For convenience it displays a tree of productions and other classes. This allows you to find existing settings and drag the names and values to the form. The Expand Tree and Contract Tree buttons and the plus and minus icons allow you to explore the tree to locate the property you are seeking.
When you have completed defining or updating the system default setting, click Save. The Cancel button discards any changes and returns to the list of system default settings without creating or updating a setting. The Restore button returns to fields to their initial values and allows you to edit the values.
Configuring Source Control Settings
Ensemble contains a template, EnsPortal.Template.devPage, to implement a browser-based interface to existing source control hooks. There is a flag to indicate whether the source control system requires a project context to be supplied to work correctly. The flag is activated as follows:
 Set ^%SYS("Ensemble","SourceControl", $namespace, "ProjectContext") = 1
Existing user templates used as dialog windows in Studio must include the Ens_SourceControl.js in /csp/broker/ensemble/ (which can be referenced by the path ensemble/Ens_SourceControl.js) to manage your browser-based interactions. This inclusion is required both for CSP pages and Zen pages. Depending on the context required by your source control hooks, you may need to add some extra data to certain returns.
You can configure source control settings for each Ensemble namespace. For information on this, see the Using Studio Source Control Hooks appendix in Using Studio. Also see the Source Control Settings entry in the Caché Additional Configuration Settings Reference.

Send us comments on this page
Copyright © 1997-2019 InterSystems Corporation, Cambridge, MA