Stephen Canzano · Apr 13, 2016
XMLExport and Validation

I interested on how others feel on this subject.  In general terms when you have a class that extends from %XML.Adaptor and you call XMLExport no validation is automatically done as part of the XMLExport process.  As an example if you do the following

1 3
0 599



In this presentation, developer oriented, we will cover this tool, how it works, how you can use it/administer it, etc. Duration 30 minutes.

The topics will include:

  • a short presentation of Caché Quality and SonarQube (which this plugin uses),
  • a demonstration of the rules and how to tailor them to your need.

Questions will be more than welcome! Hope to see you there!

And a big thanks to Evgeny Shvarov who made this possible!

2 0
0 519
Steve Glassman · Apr 8, 2016 1m read
2016.2 Field Test Kit 2016.2.0.632.0

I am pleased to announce the next 2016.2 field test kit, 2016.2.0.632.0.

Since I haven’t sent an update to this thread in a while it should come as no surprise that there have been quite a few changes since I wrote about build 609.  In fact, there have been over 175 changes in 50 different areas, with the majority of changes in:

1 1
0 284

Presenter: Saurav Gupta
Task: Provide customized authentication support for biometrics, smart cards, etc.
Approach: Provide code samples and concept examples to illustrate various custom authentication mechanisms

Description: In this session we will discuss customized way to solve various authentication mechanism and show case some sample code.

Problem: Using custom Authentication mechanism to support devices like biometrics, smart cards, or create an authentication front end for existing applications.

Solution: Code samples and concept examples.

Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 251

This post will show you an approach to size shared memory requirements for database applications running on InterSystems data platforms including global and routine buffers, gmheap, and locksize as well as some performance tips you should consider when configuring servers and when virtualizing Caché applications. As ever when I talk about Caché I mean all the data platform (Ensemble, HealthShare, iKnow and Caché).

A list of other posts in this series is here

27 3
6 8,658

Presenter: Anton Umnikov
Task: Run SQL queries quickly on huge amounts of data
Approach: Use a shared-nothing architecture to leverage a cluster of small, cost-effective servers

Explains how a shared nothing architecture allows you to leverage a cluster of small, costeffective servers to serve query results that would have taken much longer on a single, big and expensive box. This brings affordable horizontal scalability.


Content related to this session, including slides, video and additional learning content can be found here.

1 0
0 266

Presenter: Anton Umnikov
Task: Identify your slowest SQL queries and tune them for better performance
Approach: Use InterSystems’ query profiling and analysis tools. Discuss how system configuration can affect performance

This session will show you how you identify the weakest link in your application SQL and introduce you to the fine art of tuning those queries. To do this we will take a look at InterSystems query profiling and analysis tools, as well as how system configuration can impact SQL performance.

Problem: Obscurity on how our SQL engine works


Content related to this session, including slides, video and additional learning content can be found here.

0 2
0 285

Presenter: Ray Fucillo
Task: Provide high availability (HA) and disaster recovery (DR) in diverse architectures that demand high performance, including replication over long distances
Approach: Give examples of mirror architectures in disparate environments, including geographically separated systems. Discuss performance considerations and advances in InterSystems’ mirroring technology

In this session you will learn about deploying Mirroring to provide HA and DR in diverse architectures that demand high performance and throughput. Challenges and solutions to achieving high throughput will be covered along with mirror architectures that involve long distances and disparate environments.


Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 221

Presenter: Kerry Kirkham
Task: Prevent application-to-application interface problems from escalating
Approach: Give examples of using alerts to get the right person working on a problem as soon as possible

Problems with application-to-application interfaces are inevitable but in most cases they can be fixed with little disruption as long as the right person gets to know about it as soon as possible. But delays in attention cause problems to escalate, pressure mounts and business suffers. This session looks at how monitoring and alerting can be set up to recognize problems and get the right person working on the problem in the shortest possible time so that small problems don’t turn into major issues.

Solution: Using alerts to minimize interface problems


Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 274

Presenter: Jeff Semmens
Task: Model and access data as objects in .NET without designing the database first
Approach: Use InterSystems Entity Framework

Description: Come and experience how you can design your database model in .NET and evolve it over time by leveraging the Entity Framework.

Problem: Current bindings require database-first design. I cannot design my model in .NET.

Solution: The Entity Framework is an object-relational mapping framework that allows data-oriented applications to model and access their data as objects in .NET. Database- first is still supported but will fade away in future releases.


Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 222

Presenter: Paul Dayan
Task: Upgrade with minimal downtime
Approach: Provide examples of planning minimal-downtime upgrades from a variety of starting scenarios


When upgrading Caché, Ensemble or your application on your business-critical system, you want zero or minimum downtime. This session explores the problems and options when upgrading, and how mirroring can reduce or eliminate business disruption, with practical steps and a demonstration.


Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 142

Presenter: Murray Oldfield
Task: Avoid bottlenecks caused by scaling up, before they become a problem
Approach: Discuss what operating system and InterSystems metrics you should look at and how to interpret them

Systems behave differently when database activity scales up. In the worst case, bottlenecks appear and users are impacted. This session shows you which operating system and InterSystems metrics you should be looking at and how to interpret them so you can head off bottlenecks before they impact users. This sessions also shows strategies for planning infrastructure taking into consideration InterSystems' data platforms requirements.


Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 319

Presenter: Murray Oldfield
Task: Deploy applications based on InterSystems’ technology using VMware.
Approach: Provide a checklist of factors to consider, particularly when deploying a production database application that requires high availability

Are you ready to deploy your applications on a virtualized architecture? This talk will highlight what you need to plan and do when deploying applications built on ISC data platforms using VMware. Special focus on what you need to know when planning for highly available (HA) production database applications.


Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 302

Here is a screenshot from my 2016.2 FT instance of Studio and Ensemble:

I don't recall having seen the highlighted "+" suffix on document names previously. Who can tell me what it denotes?

I originally posted this in the Field Tests group but it turned out to be a 2016.1 feature that I hadn't previously noticed. So I subsequently moved the post to the Cache group.

2 11
0 659

Hello community!

At the global summit in Phoenix, we (Lite Solutions) will be presenting a tool performing static code analysis on ObjectScript source files. You can see it in action at this URL:

Technically, the tool is a language plugin over SonarQube ( and consists of three main parts:

5 6
1 1,461
Steve Brunner · Apr 4, 2016 1m read
2015.2.3 Maintenance Release

I am pleased to announce that Caché and Ensemble 2015.2.3 are now available as maintenance releases.
For a complete list of the corrections in 2015.2.3, please review the release notes.

Caché and Ensemble 2015.2.3 are available now for the same platforms as 2015.2.2

The complete set of supported platforms, including specific point releases and/or patches, is detailed in the Supported Platforms document.

2 0
0 467


I am working on a DataGrid based upon ZenTest.Datagrid.cls

I want to save data after changes on a row.

The existing samples do not explain how to save changes on data in a grid.

I have tried something like zen(‘json’).save

Does anybody has some sample code?

0 4
0 886


This article is a small overview of a tool that helps to understand classes and their structure inside the InterSystems products: from IRIS to Caché, Ensemble, HealthShare.

In short, it visualizes a class or an entire package, shows the relations between classes and provides all the possible information to developers and team leads without making them go to Studio and examine the code there.

If you are learning InterSystems products, reviewing projects a lot or just interested in something new in InterSystems Technology solutions — you are more than welcome to read the overview of ObjectScript Class Explorer!

20 35
3 4,887

Hi all,

I've been looking for a way to extract the sorting  from the ^CacheTemp.zenData global that contain the tablePane snapshot data in order to use it on a report following the current UI sorting criteria.

I could see that if the column is sorted by one column, new entries with this structure are created:


0 6
0 430


I have been experimenting with the creation of a set of REST services for an app.  The basic GET operation is set to create a %ZEN.proxyObject instance, and then set an instance of a Persistant class as a property, which gives me all of the values I want to return.  However, it also gives me some values that I don't want to return over REST (because they are both private, and large registered objects which will bog down performance)

2 3
0 370