Question Daniel Lee · Feb 18, 2019

I am new to Intersystems Cache, so please bear with me. We are using HealthShare 2013.1. 

I have a routine to compare databases from separate instances where I want to ignore values that begin with %sqlcq. I thought this would be easy with pattern matching operator '?' but it is proving difficult and it seems to be because of the percent character. 

For example:

set x = "%sqlcq.something.value.foo"

#;does not evaluate as true. 
if x?1P1"sqlcq" {write "valid"}

set y="sqlcq.something.value.bar"

if y?1"sqlcq".E {write "valid"}
valid
if x?1"sqlcq".E {write "valid"}

  
4
0 564
Question Michael Lundberg · Feb 19, 2019

Hi!

I have a qeustion if it possible to let Ensemble manage user rights from AD-user group?

What i want is to let external user have access to certain CPS-pages to read information. But not let them have access to Ensemble it self. And instead to set up individual accounts in Ensemble for each one of them i rather want to have dem in an AD-securitygroup.

Is that possible and also limit them only to choosen CSP-pages?

I'm not a administrator of our platform, i'm just develope productions so i would be greatful for information i could bring to our tech-guys and ask them to set it tup, if possible.

6
0 478
Announcement Anastasia Dyubaylo · Feb 15, 2019

Hi Everyone!

We have a good tidings for you! Recently, we launched a new block on Developer Community Site called "APP OF THE WEEK" (you can see it through all website pages on the right).

And now you have a great opportunity to promote your project!

Redeem a new reward that available for Global Master advocates only: "Open Exchange project promotion on Developer Community"

What benefits will it give you? See the details below.

2
0 388
Question Kurro Lopez · Feb 20, 2019

Hi all,

I'm wondering if is possible to extend the UrlMap.

I want to create a base class and one method will be in all extended classes, so I've tried to create the map route in parent class, and the specific methods in extended class. But it doesn't work.

I've create the method in parent class and I've wrote the map in extended class. It works, but I want to put it in base class to prevent forget this call.

Note: The base class extend to %CSP.RES

Best regards,

Francisco Lopez

5
1 862
Question Eduard Lebedyuk · Feb 18, 2019

I have a business process.

if it has an error it dies, or if a have a catch all/fault handler the execution flow goes there.

However, I want another behavior.

If any error occurs I want the process to "Pause" (and alert me), so I can figure out what went wrong and resume from the last request.

Here's an example of how it could work:

  1. If an error is caught, call BO
  2. BO defers response
  3. BO sends alert
  4. Fix BP
  5. Manually resolve deferred response

I'm not set on the exact  pause/resume mechanic but I hope it makes the general idea of what I want clear enough. Ideas?

4
0 420
Question Christopher Schaefer · Feb 18, 2019

I am currently working with someone who is in the process of moving an application written in Cache Object Script over to a Windows server. It was previously running on a Linux server so all of the paths are unix style paths. Is anyone aware of a way to have cache remap paths to different paths so this user won't have to go through all of the scripts and change them?

2
0 2411
Question Adrian Bourner · Feb 14, 2019

Hi Community,

I have a need to access the Lock Table to find the Process ID of the process that has a particular global node Locked. The process holding the lock could be on any one of four application servers.

Having identified the Process ID, I then need to interrogate the local variables for that process, to find an application User ID.

I can then inform the current user which of their colleagues has a particular record locked, preventing them from continuing with their work...

Are these things I can do under Caché? If so, how would I do so?

6
0 754
Question Thembelani Mlalazi · Dec 3, 2018

I have an application which is distributed across maybe 5 servers since it has over a thousand users at a time we had an upgrade to the application last week and I had an integration build that uses the REST service (  ##class(%Net.HttpResponse) but since the upgrade the integration has not be able to communicate with the application tried testing my URL through Postman and all seems ok but if I test direct  I get a 500 error anything that I need to check on please or any advice on how to check what's going on. I have used SoapUI with 200 result so as postman and swagger

2
0 619
Discussion Evgeny Shvarov · Feb 11, 2019

Hi guys!

Suppose you developed a tool, framework, library on InterSystems ObjectScript for InterSystems Data Platform, share it via Open Exchange and want people to install it. 

What is the best strategy if it is a library and supposed to be called from different namespaces?

Here are the following thoughts:

1. Tool's developer should be able to use globals to read/store data the tool needs.

2. Tool's consumer should be confident, that the thing he/she installs will not harm the application's data.

3. A tool should be callable from any application's namespace.

4. Tool's installation(in general) should not request manual security changes (e.g. grant the write access to IRISLIB) and %YourClass is not an option.

5. It's easy to uninstall the tool - just delete the namespace/database (maybe delete some web-apps too).

10
0 560
Question Manikandasubramani S · Feb 12, 2019

Hi All,

I am trying to get JSON data from a REST api.  I am using my web browser to get the data by hitting the URL.

The data is receiving properly, but the JSON contains a few HTML tags.

These tags are not not receiving in the browser while hitting the url. Is there any way to overcome this issue ?

Thanks,

2
1 578
InterSystems Official Thomas Carroll · Feb 14, 2019

Breaking news!

InterSystems just announced the availability of the InterSystems IRIS for Health™ Data Platform across the Amazon Web ServicesGoogle Cloud, and Microsoft Azure marketplaces.

With access to InterSystems unified data platform on all three major cloud providers, developers and customers have flexibility to rapidly build and scale the digital applications driving the future of care on the platform of their choice. 

To learn more please follow this link

0
0 597
Question Sergio Vidal · Feb 14, 2019

Hi

I'm trying to send a request to a REST API Service.

I'm using this code (Adapter is "EnsLib.HTTP.OutboundAdapter")

Method Put(pRequest As SIGE.Grupo.BO.Operation.putRequest, Output pResponse As SIGE.Grupo.BO.Operation.putResponse) As %Status
{
set tSC = $$$OK
try
{

     set tFormVar="Content-Type,apikey"
     set tContent="application/json"
     set tApiKey="somekey"


     Set tOut=##class(%IO.StringStream).%New()
     set tSC= ..ObjectToJSONStream(pRequest,.tOut)

1
0 1074
Question Thembelani Mlalazi · Feb 14, 2019

Is there a way or can it be done to use conditional logic in sql like so

 Query Q1(formal as %String) As %SQLQuery [ Final ]
{
    
    SELECT patientnumber,ID, CASE
    WHEN ID = 50 THEN "The is 50"
    WHEN ID = 30 THEN "This is 30"
    ELSE "The quantity is under 30"
END FROM Audit.Table WHERE ID = :formal AND EndDate is null} 

}

2
0 418
Question Thiago Zenaro · Oct 30, 2018

Hi community.

I'm trying to create a "setup" method to be called on a batch script but i'm getting the error <INVALID ARGUMENT> when I pass a string as an argument to this method.

The idea is to call the method with a folder as the parameter, for example:

##class(test.MyClass).MyMethod("D:\path\to\my\file.json")
 

My class (just for example)

Class test.MyClass

{
ClassMethod MyMethod(pFilePath)
{
Write pFilePath ,!
}
}

I'm using cmd as follows:

D:\>csession CACHE20172 -U %SYS ##class(test.MyClass).MyMethod(100)
100

If I use a number, It works, but any string value I get the error

7
0 1204
Question Nicki Vallentgoed · Jun 2, 2017

I've been wondering about some code that I have come across a lot over the years.

Let's assume I have class Cinema and class Film.
Conceptually the data in these classes are never really physically deleted but only flagged as such, due to business requirements.

What I find is that developers tend to create a 3rd class "CinemaFilms", in a child relationship to parent Cinema, with a reference to Film. Rather than a one-to-many between Cinema and Film. 

Class CinemaFilms
{

Relationship cinema As Cinema [ Cardinality = parent, Inverse = Films];
Property film As Film;
}
5
1 1488
Question Scott Roth · Feb 13, 2019

I am trying to read in a data file via a Record Map and I am getting the following error...

ERROR #7201: Datatype value '030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_B452' length longer than MAXLEN allowed of 50 > ERROR #5802: Datatype validation failed on property 'osuwmc.MatSys.DataStructures.MatSysIVT.Record:Bin', with value equal to "030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_B452"

1
0 719
Question Sergio Martinez · Feb 12, 2019

Suppose we need to store millions of values temporarily, that means, we don't care about them if we lose them but our application use them to get realtime information. Should I use Cachetemp or whatever other DB without journaling enabled? If answer is Cachetemp, shouldn't be a problem if we decide to scale using App Server + ECP? I'm not sure what would happen with the app logic in such architecture as I guess I couldn't map and share cachetemp...

Any idea/suggestion?

5
0 1089
Question Thomas Kelleher · Dec 21, 2018

We have a Cache database in Azure, and want to expose it as an OData source (link).

My first attempt was to use Microsoft's Visual Studio 2017 and Entity Framework to create the data models...but it seems as if EF and Cache don't work together.  (I do have those instructions from 2013, but they don't work.  (See other post. Best answer seems to be "migrate to IRIS 2019.1.")  

Is there any other form of OData support?

1
0 753
Question Jiri Svoboda · Jan 20, 2019

Hi community,

I would like to ask how to correctly enforce SSL on all "developer traffic" -- that is Management portal and Studio connections -- on a Caché instance.

Given large developer permissions, I would like to eliminate all plaintext credentials on the wire.

Currently, we compile our own httpd with SSL support for Management portal, but this breaks Add-Ins for us, in particular the SOAP wizard. So I guess this is not the "canonical way".

Thanks for any suggestions

Jiri

12
0 827