New Features in Ensemble 2012.1
Ensemble 2012.1 introduced the following new features:
Redesigned User Interface
Granular Security in the Management Portal
Source Control Hooks in the Management Portal
Alert Generation on Monitored Thresholds
Ensemble 2012.1 provided enhancements to the following features:
Creating a Studio Project from a Production
Compatibility Issues for Upgrades to Ensemble 2012.1
The following changes in this release may affect the operation of your existing system. Review the following issues before upgrading a previous instance of Ensemble:
New Management Portal User Interface
The user interface for the Ensemble Management Portal is completely new in this release; therefore, any procedures you are using or have documented most likely must change. Each page of the new portal has help information to guide you.
The upgrade procedures to this release automatically convert existing rules. Old rule names (with a .rul
extension) allowed for characters that are not supported in class names. In this case, the rule definition includes an alias that is used to invoke the rule. Old rules are automatically converted on upgrade or import and the changes should not affect your applications. However, if you rely on details of the old implementation, you may encounter issues.
Due to the more limited structure of the old rules, some converted rules end up with a structure that may not be the most straightforward or recommended way of developing rules in the new editor, but they will still work as before.
For HL7 routing rules, the rule editor no longer exposes the Schema DocType
, which represents the message structure. This is now inferred from the message type. The message structure continues to be exposed for rules that you import from earlier versions.
Changes in Rule Log Structure
The business rule conversion described in the previous section now records slightly different information in the rule log, in addition to using a different storage structure. If you have written your own queries or reports based on the contents of the rule log, you must update your queries to ensure that they continue to retrieve the correct information and that they continue to perform optimally.
You cannot view business rule log entries created prior to an upgrade to Ensemble 2012.1 on the [Ensemble] > [Rule Log]
page in the new Management Portal.
The Rule Log
page only shows entries in the new rule log. Ensemble does, however, provide a legacy page, [Ensemble] > [Legacy Rule Log]
, so you can see the rule log entries from an earlier version:
Ensemble purges the legacy log in the usual way; all old entries should remain for only a small number of weeks depending on your retention policy.
New Dashboard Development Tool
Existing dashboards are not operational starting with this release, but existing business metrics are still valid. You cannot directly convert dashboards from previous releases to this release. Instead, you must create a dashboard in the DeepSee User Portal using your existing business metric as the data source to implement each new dashboard. If you require this type of update, contact the InterSystems WRC
New Security Model for Management Portal
If you are upgrading an instance of Ensemble, the upgrade process adds new roles to Ensemble users based on their previous roles. Review these roles after an upgrade to verify the converted access and to further restrict access as needed.
One exception is that users in previous versions who held the %Service_Login
resource were able to start or stop productions from the command line, even if they did not have permission to access the Management Portal. After an Ensemble upgrade, these users will not be able to stop or start productions. To allow them to do so, you must give them a role, such as %Ens_Operator
, that holds the required resource. Users who could start or stop productions from the Ensemble Management Portal in earlier releases are not affected by this tightening in security checks.
Changes to Workflow User Interface
As of this release, the separate Workflow Management Portal is gone. Instead, Ensemble now provides two user interfaces, intended for different sets of users:
The Management Portal provides pages that implementers and supervisors can use to manage workflow roles, users, and tasks. To access them, from the Ensemble
menu, click Manage
and then click Workflow
These pages are similar in most ways to the Workflow Management Portal, except that they no longer provide options for users to manage their tasks.
The DeepSee User Portal is a stand-alone user interface intended for end users. It displays dashboards (both Ensemble and DeepSee dashboards). For workflow users, it includes the Workflow Inbox. Via the Workflow Inbox, users can display the task form associated with a task and manage that task in the same way as in previous releases.
Updated Selectivity and Extent Size of the Message Warehouse
Ensemble uses the extent size and selectivity (the number or percentage of records that match any value) property parameters in any table to optimize SQL queries. Setting these correctly for Ens.MessageHeader
is important for good response times when using the Ensemble message browser. You can set these values by running the Tune Table facility against this class.
The Ensemble upgrade procedure, however, overwrites this information with the default values. This release improves the default values to represent a typical large site, which should give good performance for most installations. The following shows the default ExtentSize
values for the Ens.MessageHeader
class in this Ensemble release:
If you have a large message warehouse and have either run Tune Table or have set these values manually, you should either verify that the default values match your existing system or run Tune Table after the upgrade. If you have not run Tune Table or manually set the Selectivity
value, the new values should improve the performance of queries in the Message Viewer.
If you have taken action to optimize access to this table, take the following actions to ensure that the system performs well after the upgrade:
If your values are significantly different than the new defaults, then after upgrading, either run Tune Table or use Studio or the Management Portal to manually update the ExtentSize
values to describe your system.
You can run Tune Table against a running system as long as you select the Keep class up to date
Updated Saved Message Searches
In Ensemble, saved message filters
or saved searches
allow you to give a name to frequently used combinations of criteria in the message viewer. The storage of these filters has changed and during an upgrade the message filters are automatically converted to the new format and no action is required. However, if you want to export filters from an earlier release to 2012.1 you must run a manual conversion.
First, export the global ^CSPX.EnsMsgFilterFormD
from the earlier version and import it into your Ensemble 2012.2 instance.
Then either convert a single saved search with the following command:
Or, convert all saved searches with the following command:
Removed CSPX Files from Distribution
Ensemble no longer ships CSPX files as part of the distribution. The inclusion of these files would give people the ability to bypass the granular security of the new user interface by accessing the old user interface. If you previously used these files, contact the InterSystems WRC
for help in upgrading your Ensemble environment.
Updated Search Table Validation
An update to the consistency checking, storage definition, and upgrade procedure for search tables
resolves a long-standing issue with upgrades losing search table metadata. Ensemble now stores search table metadata locally in each namespace.
To avoid rebuilding your custom search tables after an upgrade, perform an additional step (step 4 of the Upgrading Ensemble
procedure) before upgrading to ensure that Ensemble correctly retains search table metadata.
Search table metadata is located in the default global database for each Ensemble namespace; therefore, a change to a search table class does not update metadata in all namespaces to which the class is mapped. You must compile a mapped search table class in all target namespaces to ensure that the metadata local to each namespace is up to date.
After the upgrade to this release, your existing search tables contain updated metadata in the appropriate namespaces; you do not need to recompile them. However, you must follow the described compile procedure for any search tables you add or change.
If you have not developed any custom search tables, you do not need to take any action. If you complete the upgrade without performing the additional pre-upgrade step and then determine you do have custom search tables, values in the search tables may be incorrect. You can correct this by rebuilding the search tables. For each search table, perform the following:
Running the EnsLib.HL7.SearchTable.BuildIndex()
class method generates journal entries and could take time. You can run it while messages are processing and you can run it in batches specifying a start and end ID. You do not need to include messages processed since the upgrade.
New DTL Classes Created with REPORTERRORS Parameter Set to True
Previous to this release, all DTL data transformation classes inherited from Ens.DataTransformDTL
had the REPORTERRORS
parameter set to False. Beginning with this release, any DTL classes you create with the Data Transform wizards in the Management Portal or Studio override this value to True with the following declaration:
Parameter REPORTERRORS = 1;
This setting causes Ensemble to log any errors it encounters in executing the transform as Warnings
in the Event Log and to return a composite status code containing all errors as its return value.
Parameter REPORTERRORS = 0;
This setting causes Ensemble to silently log errors as trace messages with category xform
You can review your transformations to see if updating the value of this parameter makes sense in your application.
Updated Legal Character Checking in Configuration Names
Change in Inactivity Timeout Behavior
The behavior of the InactivityTimeout
setting now sends an alert in addition to marking a component as Inactive
when no activity has occurred within the inactivity timeout of a configuration item. In addition, the setting is included in the Settings
property of the Ens.Config.Item
class to permit the use of Default Settings to populate this value.
The original InactivityTimeout
property of the Ens.Config.Item
class and the XML attribute of the same name is transparently transferred to the new location, so previous code directly accessing this value should see no change in behavior, but the structure of the XML produced in the production XData is slightly different.
Removed Host Monitor from User Interface
Previous releases of Ensemble provided a Host Monitor
page in the Ensemble Management Portal. The new Management Portal user interface does not contain this specific page, but does contain the following pages available from the
menu in the Ensemble portion of the portal for monitoring your Ensemble productions:
Improved Notification for Stopping a Running Production
In the new Management Portal user interface, you stop a production from the [Ensemble] > [Production Configuration]
page. You can only stop a production if it is open for configuration and it is running. You receive an informational message if you try to stop a production that is not running or try to start a production and another production is already running in the namespace. You must open the running production in the Production Configuration
page before you can stop it.
In previous Ensemble versions, if one production was running and you were configuring a different production, when you clicked
on the configuration page, Ensemble would stop the running production regardless if it was open for configuring. This could lead to a user inadvertently stopping the wrong production.
You can view the running productions on the right hand side of the Management Portal menu navigation pages and click
to open the selected production in the Production Configuration
Change in $$$EnsSystemError Behavior
In previous releases, the $$$EnsSystemError
macro logged all exceptions it trapped in Ensemble to the %ETN
utility. This release has updated this behavior; it makes the logging optional and turned off by default.
The logging is now controlled by the ^Ens.Debug("LogETN")
global. This global is undefined by default, so %ETN
logging does not occur. You can set the global at any time to a nonzero value to enable %ETN
logging. The purpose of this change is to avoid consuming excessive database space when repetitive errors occur in an Ensemble production. Allowing it to be enabled by setting a global means it can be turned on at any time to collect deeper information when a problem is occurring.
Finding Ensemble Options in the New Management Portal
For users who are familiar with the Ensemble Management Portal in 2010.x, this appendix describes where to find Ensemble options in the combined Management Portal in 2012.x.
The following table lists options in the 2010.x Ensemble Management Portal and indicates at least one way to find the option in the new portal. Note that this table indicates the paths needed to find the options, and these paths are not always the same as the breadcrumbs shown at the tops of the pages.