This short article was motivated by a problem of one of my customers. They use Ensemble to integrate many systems, some of them use just plain files.

So they naturally selected File Outbound Adapter to write into target file. Things were running smoothly for years, until recently, when the volume of data being written to the file reached large size of tens of megabytes. The operation took around half an hour to complete, causing timing problems where subsequent operations within the process had to wait, and third party system was not happy to wait so long.

13 2
0 613

Wir suchen für ein Unternehmen unserer Firmengruppe

eine/n ERP System Developer / Programmierer/ Software Entwickler

Unser Partnerunternehmen ist ein international agierendes Handelsunternehmen mit Sitz in der Nähe von Wien.

Der zukunftsorientierte IT Bereich entwickelt intelligente innovative Lösungen für die Vielfalt der Herausforderungen, die sich täglich stellen. Die Fülle der abwechslungsreichen Aufgaben und Projekte, sowie die Art und Weise wie zusammengearbeitet wird, bietet hervorragende Wachstums- und Entwicklungschancen.

3 0
0 528

NewBie's Corner Session 25 Globals, Variables, and Arrays Part 1

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

A Global may be:

Scalar (a single element), as in a Global Variable

0 0
0 351

Mirror Outage Procedures

Caché mirroring is a reliable, inexpensive and easy to implement high availability and disaster recovery solution for Caché and Ensemble-based applications. This article provides an overview of recommended procedures for dealing with a variety of planned and unplanned mirror outage scenarios.

5 0
1 903
David Marcus · Sep 7, 2016 5m read
Running HealthShare XSLTs from Terminal

HealthShare uses a lot of XSLTs. These are used to convert IHE medical documents to SDA (internal HealthShare format) and back to IHE formats, to create summary reports, and to deal with IHE profiles (e.g., patient information query, document provide and register). Customers may customize the XSLTs to customize reports or for other reasons.

For debugging and development, it is very convenient to be able to run an XSLT from Terminal.

11 0
2 1,074
Tony Beukes · Sep 7, 2016
Caché on new hardware

A question from Benjamin Linden:

We are looking to upgrade the hardware for our server.

Do we need to buy a new Caché license? Or can we keep using the one we have?


1 2
0 252

Dear Colleagues,

Recently I am working on a Cache project should enable the customer, to update our Cache application independently from us. Our idea is a client (preferred .net) application that will copy all the necessary Cache stuff (classes, routines) into a cache database. For this, we are looking for the appropriate technology – in old times this would be a CacheDirect.

0 4
0 500

If a user simply closes a tab (running a web application), is there any good way to ensure that the license is released AND the login cookie is destroyed?  


I found that if the tab is simply closed without first logging out of the application, then 1) the license hangs around forever, and 2) if the user then opens a tab, he is already logged in.


1 5
0 1,481

I am trying to use Atelier against a 2016.1.1 server:

Cache for UNIX (Apple Mac OS X for x86-64) 2016.1.1 (Build 108U) Wed Jul 6 2016 16:06:38 EDT [HealthShare Modules:Core:15.01.2136 + Linkage Engine:15.0.2136 + Patient Index:15.0.2136 + Clinical Viewer:15.01.2136 + Active Analytics:15.0.2136]

I'm having trouble creating a connection and I realize I need to create the /api/atelier web application manually.  I must not be setting it up correctly because I'm still having trouble connecting.  I get an error when I test the connection that says:

0 3
0 427


I do not really have much information yet about an upcoming mission but i know it is about to seal a flatfile and then send it further. I think  SHA256 HMAC will be used. There is a fixed sealkey to be used each time. Does anyone know if the Ensemble supports this ? I have looked in the documentation but not really found anything .


Michael Lundberg


0 2
0 238

I was recently troubleshooting a problem on a Linux (RHEL) instance of 2016.1 at a site. For policy reasons their sysadmins wanted to update the Caché installation so it used network accounts for its cacheusr and iscagent users and groups instead of the locally-created ones that had been set up during original install of Caché.

To do this they ran various commands including chown

Afterwards non-root users couldn't obtain a terminal session using the csession command. Instead they receive this message:

cache: Permission denied

3 2
0 475

Good morning, I have a ZEN application being served up through a CSPGateWay. That ZEN application is made up of two ZEN pages. One ZEN page uses a zenLink to call the other ZEN page(see below #1). The ZEN page that is called contains a tab group with one tab. That tab contains a tif image. I have components on the called ZEN page that execute JavaScript to perform simple image manipulations - zoom and rotate(see below #2). Those simple image manipulations have stopped working.

0 1
0 225
Steve Pisani · Aug 25, 2016
ZEN Mojo onEvent() callback

Hi - Trapping onselect and onchange events that occur on layout objects seems to work fine, however, according to the documentation, I should also be able to use onevent, which is defined as follows:

onevent: Defines how the page behaves when another type of event occurs within a documentView (an event other than select or change).

and has the method signature:

1 8
0 301

I've noticed that Management portal somehow manages to allow a single user to be in different namespaces in different tabs in the same application (i.e. Management Portal).  I've looked at my Processes, however, and see that all of my processes using MgmtPortal think I'm in %SYS, even though 2 of them are looking at globals in two different namespaces; NamespaceA and NamespaceB.  


I can even fool MgmtPortal because the first time I try to look at a global in NamespaceA it thinks I'm in %SYS!  After a refresh, however, I can see the global in NamespaceA.  


0 8
0 527

NewBie's Corner Session 20 Parameters and Status Part I

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.


Parameters are another name for Variables when used in passing data from one Routine to another.

Let us say we have 2 routines (RtnA and RtnB), and we want to pass 3 parameters (Parm1, Parm2, Parm3) from RtnA to RtnB.

RtnA would look like:

0 1
0 267