Question Ikara Ikliki · May 19, 2020

I am trying to create REST API following these instructions:  https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GREST_apimgmnt

However it does not work.

I tried downloaded the v2.0 schema.json of the OpenAPI specification and pasted it on Postman with the parameters as speicifed, but I get this error message back:

    "msg": "ERROR #8738: Correct OpenAPI 2.0 version was not specified: .
4
0 491
Question Laura Cavanaugh · May 11, 2020

Hello all, I have a question about constucting thousands of clones, and scope.

In my code, I'm looping through a database, say 200k+ objects, and creating a clone of each object (we need to evaluate a modified clone of the object, but not account for what's on disk).  

I see this a lot in the documentation:

Whenever you set a variable or object property to refer to a object, its reference count is automatically incremented. When a variable stops referring to an object (if it goes out of scope, is killed, or is set to a new value), the reference count for that object is decremented. When this

7
0 846
Announcement Anastasia Dyubaylo · May 8, 2020

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 IRIS 2020.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. 

 

1
0 489
Announcement Anastasia Dyubaylo · May 13, 2020

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:

1
0 383
Article Murray Oldfield · Apr 1, 2016 2m read

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.


pButtons is compatible with Caché version 5 and later and

2
0 1735
Discussion Murillo Braga · May 13, 2020

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.SOAP.s0.Output 

We do run a daily purge in all of our productions, but I noticed that some globals aren't being taken into

3
1 621
Article Evgeny Shvarov · Nov 21, 2019 7m read

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.

2
7 671
Question Michael Gosselin · May 14, 2020

So, I was doing a debug test on a routine, and tried to open a file (yes, it does exist) as so:

file=##class(%File).%Open($$$airfile,"R")

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.

2
0 476
Article Daniel Kutac · May 15, 2020 3m read

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.Helper and

2
0 794
Announcement Rob Tweed · May 15, 2020

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/qewd-microservices-examples

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.

The example shows a use case of REST APIs to:

- authenticate / login

- thereafter use a set of CRUD APIs to

0
1 502
Article Robert Cemper · May 14, 2020 1m read

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.

Docker support

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

Prerequisites

Make sure you have git and Docker desktop installed.

Installation

Clone/git pull the repo into any local

0
1 377
Article Robert Cemper · May 14, 2020 3m read

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.

The advantage over the built-in WebSocket Client is, that all Network, Security,
Firewall issues are

0
1 1245
Question Jo Ellen Laansma · May 13, 2020

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 stringinstead of NULL.

Class myRequestClass Extends Ens.Request
{

    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.MessageType)

I've tried setting

5
0 16788
Article Tani Frankel · May 17, 2016 1m read

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.

The fundamental idea behind it is that it gathers

7
2 1513
Announcement Derek Robinson · May 14, 2020

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!

0
0 253
Question Mary George · May 7, 2020

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? 

Thank you for your help. 

7
0 879
Announcement Sam Schafer · May 13, 2020

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.

Audience:This

0
0 299
Announcement Anastasia Dyubaylo · May 4, 2020

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? 

  • Our winners' bios.
  • Short demos on their applications.
  • A short interview with all the winners about the past contest. Plans for the next contests.

 

5
0 416
Question Arto Alatalo · Apr 15, 2020

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.

14
0 773
Question Newlyn Erratt · May 1, 2020

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

  1. Dimension:ObjectBD
    1. Level: Object B is list
      1. Object B property 1
      2. Object B property 2

Since this is transient I can't use the usual property configuration mentioned in the developer tutorial.

1
0 285
Question Timothy Leavitt · Jan 11, 2017

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.

9
0 1718
Question Curtis Walter · May 9, 2020

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.We are running SSD drives.

2
0 499
Question Christopher Kennedy · May 8, 2020

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

5
0 483
Question Yone Moreno · May 11, 2020

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.

1
0 225
Announcement Derek Robinson · Apr 27, 2020

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.

1
0 246
Article Sergey Kamenev · May 11, 2020 8m read

Introduction

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.

0
4 4432