Question Joan Cruz · Jul 2, 2021

As you know the $ZUTIL method is deprecated and I'd like to replace this calls for the corresponding ones.

In my case I'm looking to replase $ZUTIL(12)  by ##class(%Library.File).NormalizeDirectory("")

But the response is not the same while $ZUTIL points to mgr folder NormalizeDirectory points to my Logic Databse Folder.

Is there a way to proper do this replacement?

Thanks a lot

2
0 431
Article Eduard Lebedyuk · Aug 12, 2020 3m read

Productions often need to receive REST requests.

Here's how to do that.

1. Create proxy Service:

/// Empty BS we would use to send Produciton requests
Class production.ProxyService Extends Ens.BusinessService
{
}

2. Add it to production as RESTService (or any other name).

3. Write your rest broker (docs, more docs)

4. In your handler method create the message and call target BP/BO like this

Include Ensemble
Class test.REST Extends %CSP.REST
{

XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
<Route Url="/launchProcess/:processName" Method="POST" 
8
1 1159
Question Mark O'Reilly · Jul 1, 2021

Hi, I think it's a simple question this at the end of something fairly complex

I've a DTL to go to a target class in context 

I get the error CLASS DOES NOT callrequest=##class(context.ConnectDocumentRequest).%New()'

I attempted to add code to initate the context with 

set context.ConnectDocumentRequest =##class(Penn.EDT.Messages.ConnectDocumentRequest).%New()

I know there is something basic i am missing but have not seen covered in any tutorials i have done. 

I see an example using Assign I tried assigning my context as 

$CLASSMETHOD("Penn.EDT.Messages.ConnectDocumentRequest","%New")

1
0 348
Question Yone Moreno · Jun 29, 2021

Hello, first of all thanks for your time reading this question,

We would need some help, we would need to delete a %GlobalBinaryStream which is a variable called "pOutput" which is being sent from a REST Service to POSTMAN

Currently we have tried:

               set pOutput = ##class(%GlobalBinaryStream).%New()
                //set pOutput = msg
                while(msg.AtEnd=0){
                    do pOutput.Write(msg.Read())
                }
                do msg.Clear()
                Quit $$$OK

                do pOutput.Clear()
                $$$LOGWARNING("Despues de 
3
0 385
Question Mike Dawson · Jun 8, 2021

We need to upgrade from Healthshare 2016.2 to HealthConnect latest but we are too far behind the current version to do an upgrade in situ.

So I need to create a new instance of HealthConnect and the copy across all the database definitions, namespaces and classes.

I know its possible to script this stuff and pull all the definitions out of the old Healthshare system and then apply them to the new HealthConnect instance.

Has anyone done anything like this before that they would be happy to share with me so I could use it as a starting point rather than re-invent the wheel again?

Regards

Mi

3
0 354
Article Dmitry Maslennikov · May 11, 2020 5m read

When a company is quite large and many different applications used by employees. But while those applications are mostly completely different, how to make it possible to not force users to enter credentials as many times as many applications they would like to use. The best way is to use SSO, so, it will be possible to have a portal, where users could launch any application used in a company. There are many different ways how to give access to your application by using the SSO mechanism, and some of them are:

  • OAuth2
  • Kerberos
  • SAML

InterSystems already supports OAuth2 and can be quite easily deal with Kerberos. But I would like to discuss about using SAML (Security Assertion Markup Language).

2
5 2124
Announcement Anastasia Dyubaylo · Jun 22, 2021

Hi Community,

We're pleased to invite all the developers to the upcoming InterSystems AI Contest Kick-Off Webinar! The topic of this webinar is dedicated to the InterSystems AI programming contest.

During the webinar, we will demo how to load data into IRIS, how to deal with it using ODBC/JDBC and REST, and how to use special AI/ML features of IRIS: IntegratedML, DataRobot, R Gateway, Embedded Python, PMML.

Date & Time: Monday, June 28 — 11:00 AM EDT

Speakers:  
🗣 @Aleksandar Kovacevic, InterSystems Sales Engineer
🗣 @Théophile Thierry, InterSystems Intern
🗣 @Bob Kuszewski, Product Manager - Developer Experience, InterSystems  
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager

1
0 428
Article Yuri Marx · Feb 23, 2021 2m read

I'm participating in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during the training. Tips presented in the day 1:

  1. InterSystems IRIS unifies: InterSystems IRIS Database (Caché), IRIS Interoperability (Ensemble), IRIS Business Intelligence (DeepSee) and IRIS Text Analytics (iKnow).
  2. IRIS is multimodel: object, relational, document and multidimensional.
  3. Interoperable: native access from Java, .NET, other languages, like ObjectScript; ODBC and JDBC data access, SOAP/REST service access; message driven with
9
4 999
Question Dustin Knudsen · Jun 28, 2021

Currently have an SFTP server setup to deliver a CSV file to a company "Company XYZ"

Failed to move '\\dir-01\files\Company XYZ\Outbound\To Be Processed\Company XYZ data v1.csv' to Archive file '\\dir-01\files\Company XYZ\Outbound\Archive\Company_XYZ_v1.csv'

The Business Service File Spec : Company XYZ v1.csv

archive path same as listed above

Is it the File Spec that needs to be changed for this to prevent erroring out? 

2
0 257
Question Michael Lei · Jun 28, 2021

Why do I upload files faster with webservice than with csp?

The soap protocol used by webservice has to go through http protocol. csp directly handles http, no xml encapsulation, so it should be faster.

After testing, for a 1M file, csp is about 0.1s slower. After the gateway connection to 1972, there is a stall of about 0.1s, not sure why.

Is there any way to make the file upload speed of csp faster than webservice?

webservice用的soap协议也得走http呀。csp直接处理http,少了xml的封装,按理来说应该更快。

经测试,1M的文件,csp慢了0.1s左右。在网关连接到1972后,有0.1s左右的停滞,不知道原因。

有什么办法能够使csp的文件上传速度比webservice快吗?

1
0 474
Article Sergey Mikhailenko · Jun 28, 2021 1m read

For a long time, we have been using a utility in production to export the result of a query to an Excel spreadsheet. Moreover, we have applied a modification of it, in which the explicit setting of column formats is a priority.

This utility used the module %SYS.ZENReportExcelExporter and is based on a java program. Every year the report grew and there was not enough java RAM, so we had to increase the value of the environment variable. The value has reached 7gb and now it has become a problem.

We decided to find and create a replacement for the utility. Naturally I looked at python and the ope

2
0 546
Question Flávio Lúcio Naves Júnior · May 20, 2021

Hello everyone,

I created a Class with this 3 properties

Class TestDynamic Extends (%RegisteredObject, %XML.Adaptor)
{

Property number As %xsd.string;

Property exam As %xsd.string;

Property result As list Of %DynamicObject;

}

I'm adding objects to list normally

set objTest=##class(TestDynamic).%New()
set objDynamic={"field":"value"}
do objTest.result.Insert(objDynamic)

But when i use this method to convert to JSON

##class(%ZEN.Auxiliary.jsonProvider).%ObjectToJSON(objTest,,,"aeoqtw")

It doesn't show the items from %DynamicObject just show this:

{
"number": "",
"exam": 
7
0 568
Question Cindy Fawcett · Jun 28, 2021

Has anyone else seen this error?  From the API Manager Catalog, I can select an API and use the "Try it Out" feature.  An error is returned - TypeError: Failed to fetch.

The same Curl can be imported into Postman and executed successfully.  For us, API Manager is in a container and the container can ping the server. Also, this error is in the Developer Tools/Console -

Access to fetch at <request removed> from origin <host:port removed> has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the re

1
0 276
Question Dustin Knudsen · Jun 22, 2021

Currently we're using InterSystems Cache Studio Client 2017.2.2 Build 865

I'm currently going through training and one of the videos mentioned using Control+Space to bring up the content assist window.

It's in reference to Atelier IDE, but I'm curious if Studio also might have a tool similar to that?

2
0 189
Question Purushothaman Thirugnanasambandam · May 26, 2021

Hi Team,
I have a requirement to disable the Production Start/Stop buttons for specific support users. But they should be able to stat/stop Ensemble Hosts.
For that new Role, As per documentation along with other Ens resources, I have added %Ens_ConfigItemRun with RWU access and didnt add %Ens_ProductionRun resource.
This makes the Start/Stop buttons disappear from Production Configuration page ( meeting my requirement). But those users are Unable Start/Stop/Restart Ensemble Business Hosts.

When they try to Start , it's not showing any Production Update progress popup page and also no Jobs are s

3
0 460
Article Robert Cemper · Apr 26, 2020 5m read

A VIEW in SQL is basically a prepared SQL statement.
It has to be executed and assembled like any other SQL query.
MATERIALIZED VIEW means that the content is collected before hands and can be retrieved rather fast.
I saw the concept first with my favorite competitor named O* and they made a lot of noise about it.

  { favorite: because I could win every benchmark against them devil }

3
1 1008
Article John Murray · Mar 3, 2016 2m read

The purpose of this post is to raise the profile of a powerful mechanism that has long been available to us, and to open a discussion about ways in which it can be used or abused.

You can read more detail about the mechanism here. To summarize, your class definition can use the Projection keyword to reference one or more projection classes. A projection class can implement methods that get invoked at key points in the lifecycle of your class.

A projection class must extend %Projection.AbstractProjection and will typically implement at least one or the following methods:

  • CreateProjection
18
1 1704