I find the Data Import Wizard very handy. Has anyone thought of enabling the form in the application where it can be adapted for application user requirement?
csp/sys/exp/UtilSqlExImWizardContent.csp?Wizard=Import&$NAMESPACE=
A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications.
I find the Data Import Wizard very handy. Has anyone thought of enabling the form in the application where it can be adapted for application user requirement?
csp/sys/exp/UtilSqlExImWizardContent.csp?Wizard=Import&$NAMESPACE=
In this article, we'll talk about an application that I use every day when monitoring applications and integration solutions on the InterSystems IRIS platform and finding errors when they occur.
While looking for a solution for logging object changes in InterSystems IRIS, Ensemble, and Caché DBMS, I came across a great article about logging with macros Inspired by the idea, I forked the project the paper had described and adapted it to some specific needs. The resulting solution is implemented as a panel subclass, %CSP.Util.
Someone may have asked this before but is there a way to return the TRACE statements that we have placed in the Data transformation within the DTL Editor Testing Tool (EnsPortal.Dialog.TestTransform.cls)? Is this something we can get in an Enhancement request in for?
It would save sometime in troubleshooting where an error might be in the DTL.
Just wondering...
Thanks
Scott
Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDT [HealthShare Modules:Core:15.032.9026 + Linkage Engine:15.032.9026]
In Cache for Windows (x86-64) 2018.1.3 (Build 414U) I found something very useful
During my search for a snapshot of a persistent object,
I met a feature that I would like to share as it could be useful in some special situations.
My trigger was to have a before- and an after-image during unit testing.
Hi Devs!
A few months ago I raised a discussion on the naming convention for ZPM modules.
And you free to put your name or your organization name for the packages you want to have your personal or company's brand.
But if you contribute to community, we suggested to have "community." package for all such libraries.
But the name is too long.
What if we use "isc." instead? Which can be read as "isc ->InterSystemsCommunity". Short and unique.
What do you think?
Sometimes you need quickly and easily import data into IRIS. For this, an IRIS import manager has been developed.
This application allows you to import JSON data and also provides a really simple interface for transferring data from MongoDB collections to IRIS globals. It has never been so easy.
Let's look at examples.
Import JSON
Suppose we have data in JSON format and we want to import it into IRIS. To do this, you just need to specify the global name and insert the data. After import, you will see the imported data. If global exists data will be overwritten.

In MX any global can be displayed on a sheet in the form of a table.
We will look at the simplest example (work only with CACHE-2014+ or IRIS)
Upgrade or install MX.
Start mx.xlsb and connect to your namespase with vmx-routines.
After opening first sheet, click button [] ##class(SYS.Stats.Dashboard).Sample()
Then press button [design-mode] (top of screen ).
You will see something like this in the top four lines:

M-Formulas works in cells in the process of opening this sheet, step by step :
I am using the Java Binding to connect a Java Middleware Application to Cache. Originally I was using a CacheListOfDataTypes (JAVATYPE = "java.lang.List") object to bring data back. I was tasked with encrypting the data using AES and I was using the AESCBCEncrypt function on the List elements (up to 20k characters for each element) to bring it back before concatenating it on the middleware. This almost worked. Like 95% of the characters were being decrypted correctly but some text was coming back garbled. I couldn't understand how this was happening.
Hi, Community!
Would you please share your best practices for utilising 3rd party modules (say community solutions, frameworks, development tools/utils).
There are two approaches which I like:
1. New namespace for every new module
So, if you install something you install it in special separate namespace/database. MDX2JSON/DeepSeeWeb case.
If the package is intended to be used in other namespaces, map the packages to %All and have it available in all the namespaces in this Caché/Ensemble.
And there is one more benefit: it is easy to uninstall the module, just delete the namespace/database.
2.
Allow limited durability for demo and development IRIS-Docker-micro-Durability During development of a container based demo I found the need to access a fresh docker
an instance of IRIS image (e.g intersystems/iris-community:2020.2.0.199.0) over and over.
To bypass loading my code repeatedly, I developed this workaround.
The principle of a persistent IRIS database outside the container is unchanged.
But now the whole setup is moved into Dockerfile and docker-compose.yml
Make sure you have git and Docker desktop installed.
One of the topics that comes up often when managing Ensemble productions is disk space:
The database (the CACHE.DAT file) grows in a rate that was unexpected; or the Journal files build up at a fast pace; or the database grows continuously though the system has a scheduled purge of the Ensemble runtime data.
It would have been better if these kind of phenomena would have been observed and accounted for yet at the development and testing stage rather than on a live system.
For this purpose I created a basic framework that could aid in this task.
MX: Mumps & eXcel Joining - But Why?
At medium and small manufacturing enterprises, there are many technological and financial problems for the solution of which Microsoft Office is traditionally used, more precisely its more engineering part: Excel.
This is not only a tribute to tradition, excel is truly an unsurpassed tool for economic analysis and technological calculations. The number of users is in the millions. And these are only legal installations. In addition, there are analogues in the form of Free Office, Open Office and other.
Hi developers!
When @Evgeny Shvarov announced the first InterSystems IRIS Programming Contest, I started looking for new ideas.
I put together a few ideas, and that's what isc-utils is about.
Temperature Scale Conversion
IRISAPP>write ##class(diashenrique.Utils.Temperature).CelsiusToFahrenheit(28)
82.4
IRISAPP>write ##class(diashenrique.Utils.Temperature).CelsiusToKelvin(28)
301.15
IRISAPP>write ##class(diashenrique.Utils.Temperature).FahrenheitToCelsius(82.4)
28
IRISAPP>write ##class(diashenrique.Utils.Temperature).Hey Developers,
New "Coding Talk" video was specially recorded by @Maks Atygaev for the IRIS Programming Contest:
Despite the fact that InterSystems has long recommended using external backup tools, many users have opted to use the internal Online Backup facility, which is included in all distributions of InterSystems products (IRIS Data Platform, Caché, etc.). The reasons why are quite obvious:
Ladies and gentlemen, good news for our town.
It finally happened - M was put in the cell.
And feels great there. Maybe it not a prison but an Excel cell.
Being there, he leads the whole M-gang. As well as conditional formatting in EXCEL.
Close integration of excel with the database provides a new convenient design tool.
Interactive reports, input forms, diagrams are generated only by m-commands in cells, without classical programming.
More detailed on https://github.com/mx-alex/MX
We will monitor the development of the situation and answer your questions.
best wishes
Alex
Dasha.AI is a platform that allows you to create and manage voice interfaces for your applications. One of Dasha’s distinctive features is that most users believe they are talking to a human, not a robot.
Voice is the most natural way for people to interact. Dasha allows to use voice interface to interact with your application as naturally as communication between people.
The voice interface cannot completely replace the traditional user interface of the application, but some tasks could be perfectly solved with the help of the speech interface.
DeepSeeButtons is available on Open Exchange! This tool will generate a diagnostic report of your DeepSee environment.
The report consists of multiple sections. These sections range from System Details to Caché/InterSystems IRIS logs to Cube information. In addition to simply providing information about the environment, some common recommended configurations are checked. If a recommended configuration is not used, an alert is displayed highlighting that the environment configuration does not match the recommended configuration.
Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.
ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.
This library will continue to grow, so give it a try and give your feedback!
Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!
In the previous part of this series, we saw how to reference a web page that will enhance our dashboard experience. Now we will look into referencing data that is already in our cubes.
In this example, we will be referencing the controller object and we will be extracting data from it. This data will then be displayed as text in our Dashboard. In Part 5, we will show how to incorporate this data into other charting libraries.
The controller object contains data from an MDX result set.
When dealing with a support issue of one of our Deltanji source control sites this week I learned that if you're using InterSystems versions earlier than 2018.1 on Unix-type platforms it's possible that a class you export in UDL format will subsequently fail to import. So I'm posting this information here in case it helps other folk.
If you're doing Zen development your classes are likely to contain ClientMethod definitions scripted in Javascript. Prior to 2018.1 the UDL import processor used by methods of %Compiler.UDL.
Hello everyone,
After some work with IRIS we want to share our ToolBox-4-Iris with you.
What is this about?
The ToolBox-4-Iris is an API for IRIS with a collection of handy and useful tools - features that are not available in IRIS, but greatly simplify application development. To save time and effort on the "typical tools" that every developer needs. This includes additional classes, individual methods or even more efficient macros, which are described in the respective packages.
Content
Macros
General ObjectScript macros, Status macros, National Language Support macros, and JavaScript macros.
Hello Everyone
I'm trying to open an XML that I get inside a GZIP file.
However, I can only open the contents when I save the file to a folder.
I would like to know if there is a way to get the contents of XML without saving the GZIP in a folder.
The code below is functional, however, you are saving GZIP before you can get the contents of the XML.
SET tGZIP = $System.Encryption.Base64Decode("############")
SET tFile= ##class(%File).%New("####")
SET tSC = tFile.Open("WSN")
SET tSC = tFile.Write(tGZIP)
DO tFile.%Save()
DO tFile.Close()
SET tSC = tFile.Hello everyone, it took some time but I'm finally getting things done again. Phew! But for now, allow me to introduce a tool that I've been using frequently.
I call it Forgery.
This description has been taken from my GitHub repository, also available on OpenExchange:
Forgery is a server-side utility that allows executing simulated HTTP request by forging calls to REST applications. This makes Forgery ideal for using together with test suites that need to call the API via HTTP but could face issues with license usage and its grace period.
This is more for my memory that anything else but I thought I'd share it because it often comes up in comments, but is not in the InterSystems documentation.
There is a wonderful utility called ^REDEBUG that increases the level of logging going into mgr\cconsole.log.
You activate it by
a) start terminal/login
b) zn "%SYS"
c) do ^REDEBUG
d) change logging level to FFFFFFFF
if you are on you production system (with lots of traffic) I suggest you quickly reproduce the error, rename the cconsole.log file, and repeat the steps above to set the logging level to FF.
During testing your code you are often confronted with the need to examine
the actual content of an object. Either using ZWRITE or $system.OBJ.Dump()
you get a picture of simple properties as "--- attribute values ---"
while "--- swizzled references ---" are more confusing than informative
and with "--- calculated references ---" you are just left in the lurch.
This small helper class allows you to dump an object to terminal or
e.g in background to some stream for later review.
By default, you see just properties with content,
DO ##class(Z.obj).I' have done some tests with Caché and Apache Zeppelin. I want to share my experince to use both systems together. I'll try to describe all steps that are required to config Zeppelin to connect to Caché.
For all who think: What the heck is Apache Zeppelin?, here some details what the project site (http://zeppelin.apache.org) says:
"A web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

The InterSystems DBMS has a built-in technology for working with non-structured data called iKnow and a full-text search technology called iFind. We decided to take a dive into both and make something useful. As the result, we have DocSearch — a web application for searching in InterSystems documentation using iKnow and iFind.
I'm sure most of you have already familiar with the possibility of using GZIP in InterSystems products. But, the problem is that GZIP working only with one file or stream, and it does not support folders. When you work in Unix systems, there is a possibility how to solve it, using tar compress tool which goes with every Linux system from out of the box. But what to do if you have work on Windows as well, which does not have it.
I am pleased to offer you my new project isc-tar, which will help you do not care about operating system, and deal with tar files anywhere.