Question Mario Birk · Sep 21, 2017

Hello everybody,
we would like to be able to analyze a rather complex software application, which has been programmed in “M” for a number of years by different developers, by means of a tool.
Our goal is to find a starting point for a code refactoring process. In the long run we would like to gradually eliminate the code growth points.
Does anyone know of a tool that can help us to do this?
So far, we have only found "RE / m" etc. by George James Software, but we do not yet know if these tools will help.

Your support and suggestions will be greatly appreciated. Thanks.

4
0 429
Question Jenna Makin · Sep 20, 2017

Hi, I was hoping that someone could point me to the error in my ways.  I am trying to follow the examples to setup Ensemble 2017.1 in a docker container on an Ubuntu 16.04 virtual machine.

I have a directory that contains

Dockerfile
cache.key
ensemble-lnxubuntux64.tar.gz

When I execute:

docker build -t ensemble-simple .

I am getting the following error:

poindext@ubuntu:~/ensemble-docker$ docker build -t ensemble-simple .
2
0 8079
Question Stephen De Gabrielle · Sep 20, 2017

We have a large number of processes and operations being applied to outbound HL7 messages from our PAS.

If I select a message, and open its visual trace, I see the service, as well as all processes, and operations. 

My debugging is often about a new operation, and I don't need to see all the other operations that are in functioning as desired.

Is is possible to configure Visual Trace to only show specific services,processes and operation?

2
0 464
Question Soufiane Amroun · Sep 20, 2017

Hi world

in my program , i  need to implement this kind of trigger on my business service ,

please how can i introduce it in my business service's classe.

thank's.

Start the business host every day at 8 a.m. and stop it every day at 5 p.m.

START:*-*-*T08:00:00,STOP:*-*-*T17:00:00

Stop  the business host every year on January 2 at 7 a.m. and start again on January 3 at 7 a.m.

STOP:*-01–02T07:00:00,START:*-01-03T07:00:00

2
0 429
Article Semion Makarov · Sep 10, 2017 2m read

System Monitor is a flexible and highly configurable tool supplied with Caché (Ensemble, HealthShare), which collects the essential metrics of the operating system and Caché itself. System Monitor also notifies administrators about issues with Caché and the operating system, when one or several parameters reach the admin-defined thresholds.

2
2 1538
Question Kurro Lopez · Sep 19, 2017

Hi all,

I wonder if is possible to create a task object and this task calls to a Business Process (or business operation)

My attempt was:

/// Task Special purge Class MyTasks.SpecialPurge Extends %SYS.Task.Definition{   Parameter PROPERTYVALIDATION = 1;   Parameter BPSPECIALPURGE= "Special Purge";   Parameter TaskName = "Special purge in SQL";   Property MinutesDelay As %Integer [ InitialExpression = 15, Required ];   Method OnTask() As %Status   {    // Create the date to purge
       set datePurge= $SYSTEM.SQL.DATEADD("minute",-1*..MinutesDelay, $HOROLOG)

      $$$
5
0 1970
Question Güvenal · Sep 18, 2017

Hello,

I am working in a csp application where the user can configure a TCPS Service in a guide like manor.

So I want to be able to present a html <select> element, the values / text I want to present in this control should be the ID field from Security.SSLConfigs in the %SYS namespace.

How would I go about doing this? Can this be done?

Best regards,

Magnus

4
0 794
Question Donald Bugbee · Sep 15, 2017

Hi all.

I have been using  a command pipe to open/run UNIX scripts for months without issue.  We recently installed the 2016 Caché Upgrade and now I'm getting the following error when opening the pipe:

<PROTECT> *OPEN[Q](|CPIPE|)

I assume some security or permission setting is to blame, but I'm not sure exactly what.  Here's the snippet of code...

s cpipename="|CPIPE|"
s filepath="/path/script"
​o cpipename:(filepath:"R"):10

Any feedback would be greatly appreciated!

4
0 716
Article Rubens Silva · Aug 9, 2017 9m read

Hello.
The idea of this post is to introduce Frontier: An abstraction layer that allows Rapid REST development.

REQUIREMENTS:

Why?

Have you ever found yourself dealing with repetitive tasks like mounting objects, serializing them and eventually handling multiple errors for multiple cases? Frontier can boost your development by making you focus on what really matters: your application.
 

Frontier is made to stop you from WRITE'ing by instead forcing your methods to return values.
It's designed to make you code clean, and you'll see the why pretty soon.

This is the Part 1, where you'll learn he basics about how to work with Frontier. That means at the end of this part you should be capable of 

creating GET requests without difficulties. Since this also serves as a way to introduce the framework, I'll be calling this part: Core concepts.

8
0 1790
Question Justin Wilson · Sep 15, 2017

Our application has a SOAP service that is currently exposed via the built-in Apache server inside of Cache.  I have configured the application to IIS instead so we can IP-Filter, however I no longer wish to have the management portal or other resources via the built-in Apache server.  How can I disable the built-in Apache server so internal resources no longer reply on that server and are instead routed via the IIS site?

I also want the management portal option via the right click on the cube to be pointed towards the IIS URL rather than the old Apache instance with a port number.  

Thanks in

6
0 942
Question Murillo Braga · Aug 31, 2017

Hello guys,

I was wondering whether there is another alternative to extracting a certain string out from a bigger one, rather than using the function $piece.

Maybe regular expressions? Another specific function?

Example:

Big string:

NAD+SLA+++TextIsHereNAD+SLA+++TextIsHere

String I want to extract:

TextIsHere

Function I'm already using:

w $piece("NAD+SLA+++TextIsHereNAD+SLA+++TextIsHere","NAD+SLA+++",2) > Will ouput TextIsHere
w $piece("NAD+SLA+++TextIsHereNAD+SLA+++TextIsHere","NAD+SLA+++",3) > Will ouput TextIsHere

Thanks!

3
0 845
Question Jon Astle · Sep 15, 2017

Hi I am trying to tie all terminal logins in Cache so that rather than the user being presented with the Cache login and password the user is presented with my custom login page.

I can do this via a generic user so that once the generic user logs in they are presented with my Cache login page however is there a way to do this so that I can bypass the below login page and go straight to my login?

Node: myserver, Instance: CACHE
 
Username:
Password:
 

Thanks in advance

Jon

5
0 712
Question Soufiane Amroun · Sep 15, 2017

Hi world, i want to configure my ensemble production that each 24 houres a business service is created and trig a business process wich browse my sql table and generate alert if there is not a new record in interval (24 HOURES).

thank's for help.

2
0 584
Question p rd · Sep 14, 2017

I need to convert the following XML file (with namespace) into an object in Ensemble. After processing the data, you also need to convert the object to an XML file (keep the namespace). During this time, the XML structure does not change, Only the data will change. How can i do it?

<ClinicalDocument
    xmlns="urn:sc-wst:v2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:sc-wst:v2 SD.xsd">
    <id root="1.1.2" extension="071AE299-E3AD-4D33-AE43-7D07B4485474"></id>
    <code code="C0004" displayName="xiyao" codeSystem="WS/T 445-2014" codeSystemName="xxx"></code>
   

1
0 655
Question Kevin Furze · Sep 13, 2017

Cache 2016.2.1

the system offers $LISTNEXT as a way of looping  in $LISTs and the documentation says this is much more efficeint than writing

for i=1:1:$LISTLENGTH(myList) { set value = $LIST (myList,i) }

I want to walk backwards in the list,

is there a $LISTPREVIOUS or do I have to use the followng syntax to achie

 for i=1:-1:$LISTLENGTH(myList)

kevin

4
0 644
Question Hunter Hamrick · Sep 14, 2017

Should be easy, right?  My DEV environment is working just find and sending out alerts via email, however my TST and PRD environments are showing "ERROR #6070: SMTP Send failed" on the Ens.Alert email operation.  Same configuration settings on the operation, same SMTP server being addressed (I confirmed that I can ping the mail server from DEV, TST, and PRD boxes) and same port#.  I turned on "Log Trace Events" but don't see anything additional in the logs. Am I missing something?     

Let me know if you have any thoughts.

Thanks,

Hunter

1
0 770
Question Ricardo Baehr · Sep 12, 2017

Hi guys
Im trying to use an API running in AWS API Gateway.
This API is over https and i am using the SSL/TLS config of Caché.

set httpRequest = ##class(%Net.HttpRequest).%New()
set httpRequest.Server = server
set httpRequest.Https=1
set httpRequest.SSLConfiguration = "SSLPadraoAdapcon"

do httpRequest.SetHeader("Content-Type","application/json")
do httpRequest.EntityBody.Write(json)
do httpRequest.Post("/dev/router")

But im getting this error:

|   SSLConfiguration = "SSLPadraoAdapcon"
|           SSLError = "SSL/TLS error in SSL_connect(), SSL_ERROR_SSL: protocolerror, error:14077410:SSL
5
0 1391
Question Kumaresh Ram · Sep 10, 2017

In which global cache class codes are storing in cache DB?

For example, Routine codes are storing in ^ROUTINE global.

situation: Need to read line by line and need to replace one string to another string in class files(.cls file) using programming.

Need to replace Property type in class files using programming i mean via programming to edit the class files

4
0 735
Article Maks Atygaev · Jul 18, 2017 7m read

MonCaché — MongoDB API implementation based on InterSystems Caché

Disclaimer: This article reflects author's private opinion and has no relation to the official position of InterSystems.

IDEA

The idea of the project is to implement basic MongoDB (v2.4.9) API features for searching, saving, updating and deleting documents in a way that will allow the use of InterSystems Caché instead of MongoDB without changing the code on the client side.

MOTIVATION

Perhaps, if we take an interface based on MongoDB and use InterSystems Caché for data storage, we may see a performance boost.

14
0 1957