Anyone know the correct way to pass the user and password of a new account using %SYS.LDAP?
Set Status=##Class(%SYS.LDAP).AddExts(LD,DN,Attributes)
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Anyone know the correct way to pass the user and password of a new account using %SYS.LDAP?
Set Status=##Class(%SYS.LDAP).AddExts(LD,DN,Attributes)
Hi Team,
I am using Angular 7 with angular material for my client application that connects and obtains Access token from IRIS Authorization Server (OAUTH 2.0). The problem that I am facing right now is regarding this access token being exposed to browser and stores in the local storage of the browser.
Right now, I am having hard time finding an alternative but secure option to store access token on the server side (client WEB SERVER) instead of browser’s local storage.
Following are the suggestions that I have googled recently, not sure if there is any better way that I need to explore.
Here's my current attempt:
{
Property p1 As %String(MAXLEN = 5, myPropName = "myPropValue");
Method test()
{
set ..p1 = 10
//write ..p1.Parameters
set p1 = ##class(%Dictionary.PropertyDefinition).%OpenId("Testing.PropertyParameters||p1")
zwrite p1
do p1.Parameters.SetAt("myPropValue", "myPropName")
set key = ""
for {
set item = p1.Parameters.GetNext(.key)
if (key = "") {
quit
}
write !,"key: ", key,", Item: ",item
}
do p1.%Save()
write ..p1.%GetParameter("myPropName")
Terminal scripts can be used to run pre-designed commands on the terminal, like a batch file. You can write anything that can be executed on terminal, like for loop, if else and so on, inside Terminal scripts. In this article, I will show you how to call Terminal scripts, how to use parameters in Terminal scripts and how to avoid session disconnected when running Terminal scripts. If you have any information about how to use Terminal scripts or you have any feedback, please feel free to leave a comment.
Hey Developers!
Do you want to reap the benefits of the advances in the fields of artificial intelligence and machine learning? With InterSystems IRIS and the Machine Learning (ML) Toolkit it’s easier than ever.
Join InterSystems Sales Engineers, @Sergey.Lukyanchikovand @Eduard Lebedyuk, for the Machine Learning Toolkit for InterSystems IRIS webinar on Tuesday, April 23rd at 11 a.m. EDT to find out how InterSystems IRIS can be used as both a standalone development platform and an orchestration tool for predictive modelling that helps stitch together Python and other external tools.

Hi guys!

Portrait of Madame X, Gustave Caillebotte.
One of the features I like in InterSystems ObjectScript is how you can process array transformations in a specific method or a function.
Usually when we say "process an array" we assume a very straightforward algorithm which loops through an array and does something with its entries upon a certain rule.
The trick is how you transfer an array to work with into a function.
One of the nice approaches on how to pass the information about an array is using $Name and Indirection operator.
Below you can find a very simple example which illustrates the thing.
Hi Community!
Good news! One more upcoming event is nearby.
We're please to invite you to join the "J on the Beach" – an international rendezvous for developers and DevOps around Big Data technologies.A fun conference to learn and share the latest experiences, tips and tricks related to Big Data technologies and, the most important part, it’s On The Beach!
We're more than happy to invite you and your colleagues to our InterSystems booth for a personal conversation. InterSystems is also a silver sponsor of the JOTB.
In addition, this year we have a special Global Masters Meeting Point at the conference. You're very welcome to come to our booth to ask questions, share your ideas and, of course, pick up some samples of rewards and GM badges. Looking forward to seeing you soon! ![]()
So, remember!
Date: May 15-17, 2019
Place: Palacio de Congresos y Exposiciones Adolfo Suarez, Marbella, Spain

Hi Community!
Please welcome a new video on InterSystems Developers YouTube Channel:
Implementing vSAN for InterSystems IRIS
In Cache'/Ensemble, by specifying the objectsPackage parameter, dictionaries (and other objects) get projected to tables that can be accessed by SQL queries.
But in IRIS (IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2019.1 (Build 507U) Mon Feb 25 2019 13:47:16 EST), when I created a dictionary with ##class(%iKnow.Matching.DictionaryAPI).CreateDictionary(), it does not get projected to a table.
The class APIs correctly retrieve information about this dictionary.
Am I missing something with IRIS, or is there any issues about this?
Hi all,
I'm facing the error 7802 ("Worker job/s unexpectedly shut down") when trying to work with the Queue Manager. Since today it was working fine, but suddenly today it started failing when arriving to the line:
The method is pretty simple: first I invoke the queue manager by doing
The titular question was quite relevant and often discussed some thirty years ago. The thought went: “Sure, there are industries where computers are the norm, but in my industry we got just fine so far, the benefits are questionable, problems innumerable and unsolved. Can we continue as before or should we embrace this new technology?”
Today, everyone asks the same question but about Machine Learning and Artificial Intelligence. The doubts are the same – lack of expertise, lack of known path, perceived irrelevancy to the industry.
Yet, as before, the correct, even the only possible answer is a resounding yes. Read on to find out why.
Hi Community!
This is the update on what are the new applications submitted on OpenExchange in March 2019
New Applications
isc-tar published by @Dmitry Maslennikov
Compact files as TAR or Extract files from TAR files
Light weight EXCEL download v.1.0 published by @Robert Cemper
This is the working example of a light weight export to EXCEL based on data in SAMPLES namespace. Good old CSP is well equipped to produce HTML tables accepted from EXCEL as input. With modern Browsers you don't even need and tags. So the required code around your SQL result set is really slim. And you are free to add any formatting you need either by HTML or in SQL.
PythonGateway v.0.7 published by @Eduard Lebedyuk
Python Gateway for InterSystems Data Platforms.
Adopted Bitmaps v.1.0 published by @Robert Cemper
This is a running example of the Bitmap Adoption
WebSockets Tutorial v.1.0 published by @Lily Taub
A short tutorial on WebSockets in InterSystems IRIS 2018.1+ and Caché 2016.2+
Sync Data with DSTIME v.1.0.0 published by @Robert Cemper
Other Sync-Tools just work from Caché/IRIS to Caché/IRIS. Synchronizing your data to some external DB you requires some other solution. DSTIME can do it.
HL7 and SMS Interoperability Demo v.1.3 published by @Amir Samary
This demo shows how easy it is to integrate an Electronic Medical Record system that is sending HL7 messages with AWS.
I use Documatic a lot to generate class documentation from comments embedded in the code. Is there a good way to create documentation for SQL views as well? Ideally I want to document each column in the view with HTML markup similar to how I document each method of a class with Documatic.
Hi all,
In order to prioritize functional requirements for evolving our SQL developer experience, we have prepared a short survey to better understand how you’re currently using and, in an ideal world, would like most to interact with our SQL platform.
https://www.surveymonkey.com/r/DSY6YT2
Don’t hesitate to forward this survey informally to your peers you know are accessing our SQL engine on a regular basis. There’s a disclaimer at the top that indicates we are highly interested in feedback to drive our roadmap, but obviously cannot commit to implementing all of it.
Pieter Brueghel the Younger, Paying the Tax (The Tax Collector), 1640
In my previous article, we just skimmed the surface of objects. Let's continue our reconnaissance. Today's topic is a tough one. It's not quite BIG DATA, but it's still the data not easy to work with: we're talking about fairly large amounts of data. It won't all fit into RAM at once, and some of it won't even fit on the drive (not due to lack of space, but because there's a lot of junk). The name of our subject is FIAS DB: the Federal Information Address System database - the databases of addresses in Russia. The archive is 5.5 GB. And it's a compressed XML file. After extraction, it will be a full 53 GB (set aside 110 GB for extraction). And when you start to parse and convert it, that 110 GB won't be enough. There won't be enough RAM either.
Hi Everyone!
Please meet InterSystems at hub.berlin - Europe's interactive business festival for digital movers and makers on 10 - 11 April 2019 in Berlin.
We look forward to two-day inspirational lectures and intensive technical discussions and invite you and your colleagues to our InterSystems booth for a personal conversation. In addition, we'll also present a keynote presentation and host a masterclass session.
See the details below.
Other Sync-Tools just work from Caché/IRIS to Caché/IRIS.
Synchronizing your data to some external DB requires some other solution.
The solution is available in Caché/IRIS since quite some time and works excellent.
^OBJ.DSTIME does the magic.
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=D2IMP_ch_current#D2IMP_C23869
It was built to allow data synchronization with DeepSee.
It keeps a very simple journal on Object/Table changes by signaling Modified,New,Deleted
This could be useful not only for DeepSee but for any other type of Table Synchronization.
The Global ^OBJ.
The 2019.1 version of InterSystems IRIS Data Platform is now Generally Available!
Kits and container images are available via the WRC download site
The build number for these releases is 2019.1.0.510.0.
InterSystems IRIS Data Platform 2019.1 provides the following new capabilities:
This is a continuation of my story about the development of my project isc-tar started in the first part.
Just having tests is not enough, it does not mean that you will run tests after all changes. Running tests should be automated, and when you cover all your functionality with tests, everything should work well after any change in any place. And Continuous Integration (CI) helps to keep the code and deployment procedure with as fewer bugs as possible and automates the routine procedures, like publishing releases.
I use GitHub to store the source code. And some time ago GitHub started to work on its own CI/CD platform and named it GitHub Actions. It is not widely available, yet. You have to be signed as a beta tester for this feature, as I did. GitHub Actions uses quite a different way how to deal with a build workflow. What is important that Github Actions allows to use Docker, and it’s quite easy to customize available actions. And interesting that GitHub Actions is really much bigger than any classic CI like we have in Travis, Circle or Gitlab CI and so on. You can find more in the official documentation.

Hi Community!
We are pleased to invite you to the upcoming webinar "Machine Learning Toolkit (Python, ObjectScript, Interoperability, Analytics) for InterSystems IRIS" on 26th of March at 10:00 (Moscow time)!
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.
I am just recently announced my project isc-tar. But sometimes it is not less interesting what’s behind the scene: how it was built, how it works and what happens around the project. Here is the story:
So, I would like to tell all about it.
Hi -
I'm having odd behaviors on my EC2 hosted IRIS Community instance.
When I configure a "custom login page" in the System Management Portal for my web application I'm seeing a few different behaviors that are under documented (and also undesired)
The old Caché documentation indicates that the custom login page could be a ".csp" file, but this seems to nor be the case (i kept getting "not found" errors, even though I could bring up the page directly from the url FOR the login.csp file. To get around this, I created an HTML file and then, at least, the login page could be found to be rendered.
In recent discussion on CachéQuality I was (friendly) blamed for old syntax promotion and deliberate obfuscation of the code. Therefore I decided to clarify my point and shed some light on one of possible source of side effects that may unexpectedly occur with RETURN command with an argument.
March 14, 2019 – Alert: Data Integrity Issue with Mirror Database Catchup
InterSystems has corrected a defect in our mirroring technology that can result in inconsistency between mirrored databases. This defect exists for currently released Caché and Ensemble versions beginning with 2017.2 and for InterSystems IRIS Data Platform version 2018.1.
When the issue occurs, some journal updates are not applied to a mirrored database on the backup mirror member or an async member that is being caught up.
Sometimes global mapping of the same globals can be defined in different ways. E.g., I need to define it for 3 globals ^qAuditC, ^qAuditLog, ^qAuditLogC from the same database named APP-NOJOURN. Which approach should be better from the performance point of view?
1) qAudit* => APP-NOJOURN (one record in global mapping table)
or
2) qAuditC => APP-NOJOURN
qAuditLog => APP-NOJOURN
qAuditLogC => APP-NOJOURN (three records in global mapping table)
From one hand, the less records in global mapping table, the better. From other hand, * can cause additional processing at run time.
Is there a quick way to see if an SSL/TLS configuration name is valid, short of switching over to %SYS and checking Security.SSLConfigs:Exists?
Hi Community!
There are two general ways to execute arbitrary SQL in serverside ObjectScript code: EmbeddedSQL and ObjectScript SQL a.k.a. Dynamic SQL.
E.g. if we want to get the value of the property of instance with a certain ID using SQL we can do:
&sql(SELECT Name INTO :name FROM Sample.Person WHERE ID=1)
write nameSame result with %SQL.Statement:
set rs=##class(%SQL.Statement).%ExecDirect(,"SELECT Name as name FROM Sample.Person where ID=1")
do rs.%Next()
write rs.nameHello folks,
I have an JSON object that need to be updated before being parsed into a JSX component.
Hello,
I'm trying to set up an Apache server using CSP Gateway on Windows 10 (64-bit), but am getting the error "Cannot load c:/InterSystems/IRIS_2019/CSP/bin/CSPa24.dll into server: %1 is not a valid Win32 application" when attempting to start up httpd.exe after adding the CSP-specific section to httpd.conf.
The CSP gateway is 64-bit (CSPGateway-2018.1.1.643.0-win_x64) and so is the Apache install (httpd-2.4.38-o102q-x64-vc14).
The CSPa24.dll file does exist in the specified location.
Any suggestions appreciated.
Thank you,
Olga