Article Eduard Lebedyuk · Mar 1, 2018 6m read

Everybody has a testing environment.

Some people are lucky enough to have a totally separate environment to run production in.

-- Unknown

.

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab WorkFlow
  • GitLab CI/CD
  • CI/CD with containers

This first part deals with the cornerstone of modern software development - Git version control system and various Git flows.

1
4 4980
Question Fiona Griffiths · Nov 22, 2018

Hi

Is this a bug?  We came across it on an older version of Cache but I've also just tried it in version "Cache for Windows (x86-64) 2017.2.2 (Build 865U)" and got the same result.

Create a Class like so:

Class My.Email Extends %Persistent
{
Property AddSeq As %Integer(MAXVAL = 32767, MINVAL = -32768) [ Required ];
Property EffBegDat As User.SQLdatetime;
Property EffEndDat As User.

2
0 644
Question Ihsan Ahmed · Nov 21, 2018

I am quite new to Studio and I have been a Microsoft guy for a very long time and spoilt because of the short cuts provided and the flexibility of the IDE.  Any tips and tricks for me to make my life easy while using the studio?

1
0 321
Question Pravin Barton · Nov 20, 2018

For each instance of an XML-enabled class I want to control whether a property is projected as an empty element or not projected at all. With string properties, I can set the value as $c(0) for an empty element, or an empty string for no projection. But it looks like this isn't consistent for properties with type %Boolean or %Integer. With booleans $c(0) gets projected as "false". With integers $c(0) stays as a zero-width space in the XML output (which gives me a SAX parser error if I try to read it).

Is there a way to do this that works for all datatype properties?

2
0 695
Question Steve Pisani · Nov 21, 2018

Hi,

I need to route a message synchronously to multiple targets using a routing rule.

In IRIS I built a general routing rule set, made up of a couple of rules. For one Rule in particular, and based on a common condition, I want to send the incoming message to 2 different targets. (no transformation is used)

I can select, in the single SEND action, multiple target names, or, I can create consecutive SEND actions, one after the other, each sending to their specific target.

1
0 577
Question Ogura Yui · Nov 20, 2018

Class A Extends %Persistent

{

Property Doctor1 As %Library.String;

Property Doctor2 As %Library.String;

Property Doctor3 As %Library.String;

}

I know my solution is wrong, but if i want to access A.Doctor1, can I  get a way like 

s count=1

s DoctorName="Doctor"_""_count

A.DoctorName="doctor1"

2
0 325
Question Jimmy Christian · Nov 20, 2018

Hello ,

I want the datagrid to reflect values based on the value i select in the Combobox.  How to pass value from the combobox to the

altJSONSQLProvider  parameter and reload the datagrid ?

My combobox defines below method on change.

onchange="zenPage.rowSelected(zenThis.getValue());"

<altJSONSQLProvider id="PatchClassJsonId" OnGetSQL="GetSQL" >
<parameter paramName="1" value="C"/>
</altJSONSQLProvider>

,......

Method GetSQL(ByRef pParm As %String, ByRef pSQL As %String, pCriteria As %ZEN.proxyObject, ByRef pPagingInfo As %String) As %Status
{
Set pParm=

1
0 277
Question Jimmy Christian · Nov 16, 2018

Hello all,

I have created a simple Datagrid and using  jsonSQLProvider with a SQL statement as the datasource. Please see below.

<jsonSQLProvider id="json" OnSubmitContent="SubmitContent"
sql="SELECT PatchClassName,Environment,ModuleName,ModuleClass,TargetConfig,BusinessRule,MessageSchemaCategory FROM ProjectInventory.

8
0 398
Question Dmitry Maslennikov · Jul 20, 2018

Just got the new beta version of Docker, with depreciation warning of AUFS. It's so bad news when InterSystems does not support used by default storage driver overlay2. Recently I thought to play with Google Kubernetes Engine, and realized that I can't work with InterSystems products there due to incompatibility with Storage Driver. Maybe it's already time to think about support?

5
0 845
Question Michel Bruyère · Nov 20, 2018

I created a connector of type "Services" having for name of class "EnsLib.File.PassthroughService". In the parameters, the value "FileSpec " was "*" and the "FilePath " pointed to my directory " .... Documents "; whereas "TargetConfigNames" was empty.

Much to my surprise, as soon as I activated this connector, all the files were deleted.

These are not in the dushbin of Windows. - 

Do you know a way to get back them? Are they in the system of the ESB?

I know that programs can undelete files. I have already used this type of programs.

Thank you in advance.

Sorry for my poor English.

2
0 533
Article Hansel Rudy Stange Gaete · Nov 19, 2018 1m read

Working on a proyect with :

Cache Object Script, Jquery and Bootstrap :

I have a big problem to do pagination with parameter, to query filter and registry limitation, but i find a solution using session and global:

Set FilterDate = %request.Get("df")
If (FilterDate=""){
    Set FilterDate = $Get(^NSSession(%session.SessionId,"FilterDate"))
}
If (FilterDate'=""){
    Set ^NSSession(%session.
1
0 555
Question Bhupinder Singh · Nov 19, 2018

Hi All,

I am converting UTF-8 encoded error files to ANSI files and for that I had written below piece of code. But I am not able to get ANSI encoded files.

Code Snippets:

Set tReadStatus = ""
Set eol = 0
Set (tRecord1,tRecord) = ""
Set stream=##class(%Stream.FileCharacter).%New()
Set sc=stream.LinkToFile(tErrorFileName)
Do stream.TranslateTableSet("cp1252")
Set tNewStream = ##class(%Stream.FileCharacter).%New()
Set tNewStream.Filename="D:\Bhupi\Test6.txt"
Do tNewStream.TranslateTableSet("cp1252")
While ('stream.AtEndGet())
{
Set tRecord=stream.ReadLine(,.tReadStatus,.

2
1 1454
Question Rui Figueiredo · Nov 19, 2018

Hi,

I'm using InterSystem Cache v2015.2.5 and I'm implementing a REST API and returning JSON.

Following the documentation I see examples like this

Set obj = {"destinations": ["London","Madrid","Tokyo"]}
Write obj.%ToJSON()

However, I have a compilation error 

ERROR #1054: Invalid expression : '{"destinations":' 

Is there something that needs to be enabled on Studio to allow this syntax?

Thank you,

Rui


5
0 580
Question Lewis Greitzer · Nov 14, 2018

I created a custom class for a process that does some basic manipulation to an HL7 message. I'd like to be able to write some debugging to the process event log. How would I do that?

I've tried ##class(Ens.Util.Trace).WriteTrace("system","HOSP.IHE.PDQProcess","MessageHeaderHandler","Discarding input message")

but I get a runtime error when I try that. I know this is pretty basic stuff, but any help would be appreciated.

2
0 1159
InterSystems Official Jeff Fried · Nov 12, 2018

Note: there are more recent updates, see https://community.intersystems.com/post/updates-our-release-cadence

 

InterSystems is adopting a new approach to releasing InterSystems IRIS.  This blog explains the new release model and what customers should expect to see.  We laid this out at Global Summit at the end of the InterSystems IRIS roadmap session  and have received a lot of positive feedback from customers.

With this new model we offer two release streams:

1) An annual traditional release that we call EM (for Extended Maintenance)

2) A quarterly release that is tagged CD (for Continuous Delivery) and will be available only in a container format.

3
8 4378
Question Evgeny Shvarov · Nov 13, 2018

Hi Community!

Consider I have InterSystems IRIS server in a cloud and want to introduce a DR server for it.

Are there any requirements for DR server for InterSystems IRIS if it is in a cloud?

Should it be the same subnet? One private cloud?

Can DR server be placed on another cloud, say Primary on Google Cloud and DR on Azure? Are there any caveats/concerns?

3
0 496
Question Evgeny Shvarov · Nov 15, 2018

Hi All!

I asked previously about the DR server in the cloud but actually, I'm curious about the backup server to use as analytics server more than for recovery in DR case.

There is a recommended practice to use an async mirror as a server for BI (InterSystems Analytics, DeepSee)

The question is if I have PRIMARY in the cloud (AWS, Google, Azure, etc) "how far" should async mirror member be placed? Same cloud, same private cloud or it doesn't matter at all for analytics purposes?

3
0 428
Article Gevorg Arutiunian · Nov 14, 2018 2m read

(Originally posted to InterSystems CODE by @Dmitry Maslennikov) The following code snippet outputs message header data in Ensemble. The class method "fetchExecute" runs the process, and the result is stored in the argument "qHandle":


include Ensemble
Class DAiMor.fetchMessageHeaderData extends %RegisteredObject
{
 
Query Fetch(Namespace As %String) As %Query(ROWSPEC = "Namespace:%String,ID:%Integer,Type:Ens.DataType.MessageType,Priority:Ens.DataType.MessagePriority,Invocation:Ens.DataType.MessageInvocation,TimeCreated:Ens.DataType.UTC,TimeProcessed:Ens.DataType.UTC,Status:Ens.DataType.
2
0 716
Question Sean Connelly · Nov 16, 2018

Is there a responsive way to detect a source code change without using a source control hook?

Update

I have my own custom unit test tool which has lots of extra functions that I find useful such as Asserting HL7 Transformers and REST targets.

I have a studio hook that will send an event signal to my test runner that will automatically re-run a specific test class or test suite, for which I have a test runner viewing page that updates with the results.

There are some environments that already have a studio class registered and I don't want to shim something in-between the two.

8
0 667
Article Gevorg Arutiunian · Nov 16, 2018 2m read

The data model of your solution based on InterSystems platforms constantly changes over time. But what do you do with the data that was entered before? Back then, the data was valid, but what’s happening to it now after a number of data model changes? The answer to this question can be provided by the IDP DV tool that checks the property data of persistent and serial classes according to the types of these properties. In case any discrepancies are found, the tool generates a detailed error report for the user.

2
0 668