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:

Notice the error /bin/sh: 1:yum: not found

Here is the contents of my Dockerfile

FROM ubuntu

MAINTAINER Dmitry Maslennikov <Dmitry.Maslennikov@csystem.cz>

# update OS + dependencies & run Caché silent instal
RUN yum -y update \
 && yum -y install which tar hostname net-tools wget \
 && yum -y clean all \ 
 && ln -sf /etc/locatime /usr/share/zoneinfo/Europe/Prague

ARG password="Qwerty@12"
ARG cache=ensemble-2016.2.1.803.0

ENV TMP_INSTALL_DIR=/tmp/distrib

# vars for Caché silent install
ENV ISC_PACKAGE_INSTANCENAME="ENSEMBLE" \
    ISC_PACKAGE_INSTALLDIR="/opt/ensemble/" \
    ISC_PACKAGE_UNICODE="Y" \
    ISC_PACKAGE_CLIENT_COMPONENTS="" \
    ISC_PACKAGE_INITIAL_SECURITY="Normal" \
    ISC_PACKAGE_USER_PASSWORD=${password} 

# set-up and install Caché from distrib_tmp dir 
WORKDIR ${TMP_INSTALL_DIR}

ADD $ensemble-lnxubuntux64.tar.gz .

# cache distributive
RUN ./$ensemble-lnxubuntux64/cinstall_silent \
 && ccontrol stop $ISC_PACKAGE_INSTANCENAME quietly \
# Caché container main process PID 1 (https://github.com/zrml/ccontainermain)
 && curl -L https://github.com/daimor/ccontainermain/raw/master/distrib/linux/ccontainermain -o /ccontainermain \
 && chmod +x /ccontainermain \
 && rm -rf $TMP_INSTALL_DIR 

WORKDIR ${ISC_PACKAGE_INSTALLDIR}

# TCP sockets that can be accessed if user wants to (see 'docker run -p' flag)
EXPOSE 57772 1972

ENTRYPOINT ["/ccontainermain", "-cconsole", "-i", "ensemble"]
2
0 8099
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 476
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 436
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 1553
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 

But it doesn't work.

Other attempt was extend the class to Ens.BusinessService to call directly using the method

..(..

But this idea also doesn't work

Any idea how to do?

Best regards

5
0 1991
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 812
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 740
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 1811
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.

6
0 963
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:

TextIsHereTextIsHere

Thanks!

3
0 863
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 727
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 595
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.

1
0 674
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 661
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 804
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")
5
0 1410
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 766
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 1976
Question Manoj K · Apr 1, 2017

Hi

I tried to access one server to another server in Cache Rest Service, I tried 

Parameter HandleCorsRequest = 1;

and

<Route Url="/data/:first/:second" Method="GET" Call="GetData" Cors="true"/>

But not working,

Can anyone tell me the solution??

Thanks in advance!!

5
1 1754