Hi Community,
The new video from Global Summit 2019 is already on InterSystems Developers YouTube:
⏯ Leveraging Containers for DevOps
Hi Community,
The new video from Global Summit 2019 is already on InterSystems Developers YouTube:
⏯ Leveraging Containers for DevOps
Hi Community,
We're pleased to invite you to join the upcoming InterSystems IRIS 2020.1 Tech Talk: Integrated Development Environments on May 19 at 10:00 AM EDT!
In this edition of InterSystems IRIS2020.1 Tech Talks, we put the spotlight on Integrated Development Environments (IDEs). We'll talk about InterSystems latest initiative with the open source ObjectScript extension to Visual Studio Code, discussing what workflows are particularly suited to this IDE, how development, support, and enhancement requests will work in an open source ecosystem, and more.
Hi Community!
We are glad to invite all the developers to the upcoming InterSystems IRIS Native API Contest Kick-Off Webinar! The topic of this webinar is dedicated to the 3rd IRIS Programming Contest.
Date & Time: Monday, May 18 — 9:00 AM EDT
Speakers:
@Bob Kuszewski, InterSystems Product Manager
@Evgeny Shvarov, InterSystems Developer Ecosystem Manager
What awaits you? Please check the agenda below:
Previously I showed you how to run pButtons to start collecting performance metrics that we are looking at in this series of posts.
##Update: May 2020.
Since this post was written several years ago, we have moved from Caché to IRIS. See the comments for an updated link to the documentation for pButtons (Caché) and SystemPerformance (IRIS). Also, a note on how to update your systems to the latest versions of the performance tools.
Hi folks!
When I start IRIS in docker every time I do the following:
$ docker-compose up -d --build $ docker-compose exec iris iris session iris USER>zn "NAMESPACEINEED"
Is it possible to have an open terminal command connect to a particular namespace?
Hello guys,
I have used the Studio SOAP wizard to generate some webservice client classes and amongst those classes:
Class RMH.SOAP.s0.Output Extends (%Persistent, %XML.Adaptor) [ ProcedureBlock, SqlTableName = _Output ] {
...
Property Value As %GlobalCharacterStream(XMLNAME = "Value");And the caller looks like
Class RMH.SOAP.SoapTreeSoap Extends %SOAP.WebClient [ ProcedureBlock ] {
...
Method Run...(Tree As %String, Inputs As %String, Debug As %Integer) As RMH.Hi Developers!
As discussed in previous parts of Package Manager stories to turn your IRIS application into a deployable package you just need to introduce the module.xml file into the root folder of the repository and describe all the resources.
I’m pleased to introduce you to a new project template on Open Exchange which contains examples of how to make different types of resources of your InterSystems IRIS application a part of the ObjectScript package and so make the deployable ObjectSctipt package.
Let's see how you can describe your application resources using this template project as an example.
See the details below.
So, I was doing a debug test on a routine, and tried to open a file (yes, it does exist) as so:
And, I got the above-mentioned error. It begins with "cn_iptcp://localhost:56775/%Stream.Object.1.INT" in case the port means anything.
This is a single-license version of Cache 2017.2, which I installed about three years ago. You would think I'd have the .INT files, but I don't. Oh, one other oddity: I can't seem to compile the routine, despite having admin privs for the machine. It's Windows 7 64-bit.
Any help is appreciated.
Hi, if you develop production with HealthShare, you may have noticed there is a nice tracing feature available - HS.Util.Trace.Operations. This feature allows visually tracing debug information, in structured way. It complements good old logging macros like $$$LOGINFO, $$$TRACE and alike.
I use this feature a lot. However, it has limited functionality, it works nice with classes that extend XML Adapter, streams or data types, but it doesn't work well with arbitrary objects that do no extend from XML Adapter.
I decided to implement a subclass of the trace helper class HS.Util.Trace.
I've created a new repository that I will use for providing examples of various scenarios and use cases for QEWD
https://github.com/robtweed/
Initially it contains a example of a scenario I'm often asked about: a set of REST APIs, with JWT support, implemented as a set of QEWD MicroServices, each of which uses Cache or IRIS running on a Windows system.
What I've provided is a detailed, step-by-step guide (with detailed explanations) of how to set up such a system.
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.
Using the IRIS native API for Node.JS was the opportunity to present
a MicroService operating in a Docker container.
A demo video is now also available to watch the demo in operation.
Instead of a utility you call directly on your IRIS host you now send a work-packages
to the MicroService as would typically do with System Interoperability (aka.ENSEMBLE):
of course, you have the option of more than one WebSocket Server.
Once the WebSocket Client Service has done its job you get back the result from it.
I have a class that writes to an external SQL Server database. When the field is empty, it does not write the column and the column has the value NULL. In some cases, I want the column to be the value of the empty string instead of NULL.
{
Property MessageType As %String
}
The message that is passed to this class shows:
<MessageType></MessageType>
Which writes the field as NULL with:
tSQL = "insert into myTable (MessageType) values (?)"
set tSC = ..Adapter.ExecuteUpdate(.tNumberOfRowsUpdated,tSQL,myRequestClass
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.
As promised, here is Part 2 of our interview with Russ Leftwich! In this half, Adam Coppola talks with Russ about some of the InterSystems technologies that play a part in the concepts from Part 1, as well as some specific discussions about modern FHIR applications. After the interview with Russ, we were also joined by Jenny Ames to talk about the upcoming FHIR Dev Days. Check it out, and make sure to go subscribe to Data Points!
Hi,
I have a HealthShare HealthConnect operation which uses the EnsLib.HTTP.OutboundAdapter. It is using a custom Operation class to send HTTP Post request. The request data that is sent to the operation and the response back from the operation is not displayed on the visual trace. Is there anyway to display this data in the trace?
.png)
Thank you for your help.
I’m happy to announce that we have published another course to online learning from the InterSystems Change Control catalog! The course is ICC420: Items and ItemSets. To find all available CCR courses online, go to learning.intersystems.com and search for ICC or just click here.
Learn to use the Perforce Details pane of a CCR and additional important concepts related to Items and ItemSets that set the foundation for progressing a Tier 1 or Tier 2 CCR. CCR Transport — Items and ItemSets contains seven videos as well as quick quizzes to verify understanding following each video.
Hi Community!
We're pleased to invite you to the Online Meetup with the Winners of the 2nd IRIS Programming Contest! It's a virtual Meetup with some of the winners of the past InterSystems IRIS Online Programming Contest.
Date & Time: Friday, May 8, 2020 – 11:00 EDT
What awaits you at this virtual Meetup?
If two globals have same structure, how to reuse one CacheSQLStorage-based class to read both locations?
Thanks!
Update:
Let's say we have two globals:
^a(1)="dataa1"
^a(2)="dataa2"
and
^b(1)="datab1"
^b(2)="datab2"
i.e. the structure difference is global name only.
I would like to have two classes TableA and TableB both are inherited from TableAB, and TableAB taking global name as a parameter.
As the title mentions, I'm trying to determine how best to handle an issue with nested data. Essentially I have a setting like the following:
Object A has a transient property with an array of Object B. I want to create a level with a list of Object B. I also want this level to contain properties belonging to each object B.
So I have a layout of something like
Since this is transient I can't use the usual property configuration mentioned in the developer tutorial.
Suppose I have a web application named "/my/api", with a dispatch class configured (a subclass of %CSP.REST), and I want to be able to respond to:
GET /my/api/something/:id
by loading an object with the specified ID and returning it as JSON
GET /my/api/another-thing/data.js
by returning the contents of a file (data.js) in a configured location in the filesystem, ideally based on the "CSP files phsyical path" for /my/api.
This message contains three recent HealthShare Advisories, which are available below.
These advisories are also on the InterSystems Product Alerts and Advisories page
Howdy everyone,
I am not a Cache Pro... Just an old hack with an idea to try to help my client.
We are running a medium sized salvage yard with Car-Part's Checkmate vehicle inventory software running Cache. Our part lookups sometimes run 10 seconds or more.
To improve database queries performance I created a 4Gb ram drive out of 16Gb system ram with AMD Radeon RAMDisk utility and have it set to save and auto load its contents upon graceful reboot. Battery backup is also running.
I am importing scriptlink wsdl in the form designer. I get the following error:
Error Importing WSDL. Please validate WSDL address. ERROR #6301: SAX XML Parser Error attribute value expected while processing Annonymous Stream at line 28 offset 73.
Please advise.
Thank you,
Chris Kennedy
Hello,
We would like to know if Ensemble could generate a CADES sign from a string and a certificate.
We have read:
https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=GXM…
So we have seen that we could create a class, to sign a document, and store the sign inside that new class. We have also seen that there are some different algorithms to choose from, like sha1.
In addition we have also consulted the CADES sign definition:
https://tools.ietf.org/html/rfc5126
The use case is to avoid being dependant of an external web service, and be able to generate it.
Hi Developers!
Enjoy watching the new video on InterSystems Developers YouTube and explore the basics of InterSystems Open Exchange Marketplace:
⏯ How to Publish an Application on InterSystems Open Exchange
In Episode 8 of Data Points, senior clinical advisor for interoperability at InterSystems @Russ Leftwich joined the podcast to talk about healthcare interoperability standards. In the first part of our two-part interview, Russ tells us about the history of healthcare standards and electronic record-keeping, some of the biggest challenges in the field, and how software has evolved to meet those ever-growing challenges.

In the first article in this series, we’ll take a look at the entity–attribute–value (EAV) model in relational databases to see how it’s used and what it’s good for. Then we'll compare the EAV model concepts to globals.
Sometimes you have objects with an unknown number of fields, or perhaps hierarchically nested fields, for which, as a rule, you need to search.
Take, for example, an online store with diverse groups of products. Each product group has its own unique set of properties and has common properties as well.
After I loaded the intersystems/iam:0.34-1-1 image in local, I am trying to do the next step of configuration.
2) Configure your InterSystems IRIS instance
2a) Enable the /api/IAM web application
2b) Enable the IAM user
2c) Change the password for the IAM user
Do we need to change these settings in iris.cpf file? any inputs where we have to configure? I have IRIS 2019.1.1 installed in my machine.
Thanks,
Nag.