Question Scott Roth · Apr 19, 2017

Awhile back we had someone write some code to Log messages like we did in eGate but with Ensemble.

ClassMethod LogIt(pComponent As %String, pMsgIn As %String)
{
 set vDIR="/ensemble/"_^OSUWMCInstance_"/logs/"
 set fs=##class(%Stream.FileCharacter).%New()
 set fs.Filename=vDIR_pComponent_".log"
 do fs.MoveToEnd()
 set vTM=$PIECE($ZDATETIME($HOROLOG)," ",2)
 //$ZTIME($PIECE($H,",",2),1)
 do fs.WriteLine(vTM_" : "_pMsgIn)
 do fs.%Save()
 set fs = "" // Close file
}

We found that the IO on this was slowing messages down, and those Operations that had high volume of message would fall behind. I have used %Fil

2
0 1498
Question Tom Philippi · Apr 18, 2017

I have built an Ensemble SOAP service (EnsLib.SoapService.Service) as a business service which accepts soap requests from another application. To secure the traffic between the SOAP service and the application i'd like to enable SSL. I see that in the management portal I can upload the certificates, chains and keys and save them as an SSL / TLS configuration. However, it is not clear to me how I apply this SSL / TLS configurtion to the soap service I am running. I would expect something under Security -> Applications -> Web Applications or even on the business service running in production its

2
0 1854
Question Константин Ерёмин · Apr 20, 2017

Hi All,

I use SQL function JSON_OBJECT to get data as a JSON object.

However, sometimes I get error with function JSON_OBJECT when values contain [, ], { or }.

Error:

[SQLCODE: <-400>:<Fatal error occurred>]

Unexpected error occurred in JSON_OBJECT() function execution of <JSON_OBJECT>.%FromJSON().Parsing error

For example,

Query: SELECT JSON_OBJECT('idSQL':id, 'content':content) FROM DocBook.block

For demonstration, I used Management Portal, System Explorer – SQL, Execute Query

This text was in Content:

{&quot;Info&quot;:{&quot;Error&quot;:&quot;ErrorCode&quot;:&quot;5001&quot;,&quot;ErrorMessage&quot;

9
0 1515
Article John Murray · Feb 14, 2017 1m read

If you are developing applications that use CSP or Zen, or potentially any of the other InterSystems web-related stuff that's built on top of CSP, then it's important to know how to keep one particular secret.

A central part of the CSP security architecture is a server-side session key. "Server-side" because its value should never be revealed to the client that is issuing the web requests. If it is revealed, a malicious client might be able to use it to bypass your security and make your server do things you don't want it to.

Your session key is available as a property named Key of your %CSP.Ses

1
0 739
Question prabakaran a · Apr 20, 2017

Hi All,

         We can sent the file to FTP server using CMD prompt.

         When trying send file using cache FTP. it automatically logged out.

          While cache FTP access (read/write) FTP server it automatically logged out.

CODE:

S ftp=##class(%Net.FtpSession).%New() 
     S Server="test"
     S Username="test"
     S Password="test"
     I $L(Server)=0||($L(Username)=0)||($L(Password)=0) S Status="Invalid Credentials" Q Status 
     S ConnSt=ftp.Connect(Server,Username,Password)
     I 'ConnSt S Status="Couldn't Estabilish the FTP connection" Q Status
     ;
     ;Linking the file 
     D ftp.Bina

1
0 853
InterSystems Official Steve Brunner · Apr 19, 2017

InterSystems is pleased to announce the availability of the following maintenance releases:

  • Caché and Ensemble 2016.2.2
  • HealthShare Health Connect v15.021 on two core technology releases, 2016.2.2 and 2017.1.0

Caché and Ensemble 2016.2.2 are available on the same platforms as 2016.2.1

HealthShare Health Connect v15.021 for core technology 2016.2.2.853.0 contains the following HealthShare modu

0
0 576
Article Fabian Haupt · Apr 19, 2017 2m read

Code coverage and performance optimization of code has come up a bunch of times already, so most of you should already be aware of the SYS.MONLBL utility. Often a visual approach to looking at code is much more intuitive than pure numbers, which is pretty much the whole point of this article series. This time we will take a slight excursion away from python and its tools and are going to explore generating heatmaps from ^%SYS.MONLBL reports.

As a quick reminder a heatmap is just a specific visualization tool, which gives us an overview of data where colors represent a certain value. In our c

heatmap

0
1 679
Question Chris Bransden · Apr 19, 2017

Hi!

I'm trying to insert a relationship from a parent object instance to a child object instnace programmatically. Ie, i want to do:

Do parentObject.childRefProperty.Insert(chilDobject)

where childRefProperty is defined by a string. I feel this should be achievable with $PROPERTY and/or $METHOD or maybe something in $SYSTEM.OBJ.*, but can't quite figure it out. Anyone know?

Cheers :)

Chris

3
0 316
Question Paul Riker · Apr 18, 2017

I have a client sending us data MLLP in base64 format. I'm using the EnsLib.HL7.Adapter.TCPInboundAdapter adapter. What setting do I change to accept the base64?

2
0 621
Article Benjamin De Boe · Apr 3, 2017 11m read

If you've worked with iKnow domain definitions, you know they allow you to easily define multiple data locations iKnow needs to fetch its data from when building a domain. If you've worked with DeepSee cube definitions, you'll know how they tie your cube to a source table and allow you to not just build your cube, but also synchronize it, only updating the facts that actually changed since the last time you built or synced the cube. As iKnow also supports loading from non-table data sources like files, globals and RSS feeds, the same tight synchronization link doesn't come out of the box. In this article, we'll explore two approaches for modelling DeepSee-like synchronization from table data locations using callbacks and other features of the iKnow domain definition infrastructure.

2
0 488
Article Chris Stewart · Apr 19, 2017 3m read

We finished our last lesson with our Widgets Direct page receiving a Welcome message as a property of a JSON object, which was unpacked and displayed on the page. However, we are on Lesson 3, and we still haven't had any talk of displaying widgets yet.  

Let's change that.  Widgets Direct are a leader in widget and widget accessories, so we clearly have numerous items to display.   To transfer this, we will need to declare and return our first array.  Let's go back to our REST.Dispatch class, and add this data to our Service.

Adding an array is simple, but we need to set up some temporary storag


0
0 1975
Question Alexandr Ladoshkin · Apr 18, 2017

Hello,

I work with trigger and I need afeter update make INSERT into LogTable value of prorerty of saved class.  This is what i have in this monent.

S className = ..%ClassName(1)
S cls=##class(%Dictionary.CompiledClass).%OpenId(className)
F i = 1:1:cls.Properties.Count() {
    S prop = cls.Properties.GetAt(i)
    S propName = prop.Name
    S value={propName*N}
}

How Can I get value given "prop".

Thank you

8
0 693
Article Sean Connelly · Apr 13, 2017 3m read

On the back of my recent post on writing bug-less code I wanted to raise a few suggestions (to ISC) that would help prevent certain types of bugs at compile time. I've probably missed a few, but these are the main ones in my mind. Please contribute more suggestions.

Btw, these also serve as potential gotchas for new COS developers.

I except that introducing these types of changes can cause legacy code problems. Particularly where developers do some interesting overloading of method arguments. Therefore I would see these as an option that would need to be enabled and that it won't prevent compila

24
0 1268
Question Alexandr Ladoshkin · Apr 17, 2017

Hello everyone.

I have some issue with trigger. I have class where I defined 3 triggers (UPDATE, INSERT, DELETE). These triggers are Foreach = row/object. In my currently task, I need overide this triggers in children class.  is It possible to do it? 

Thank you for your help.

4
0 421
Announcement Evgeny Shvarov · Apr 15, 2017

Hi, Community!

With the recent release on Developer Community we have introduced member mentioning.

Now if you want to ping a member with email notification, just place in the post (or comment) following:

@name.surname

Once it is published, a member would get the email notification that he was mentioned in particular post/comment.

So, that's how I'm mentioning myself here: @evgeny.shvarov.

Have a great weekend!

1
0 345
Article John Murray · Apr 13, 2017 1m read

I only recently noticed the presence of a local database named CACHE alongside the more familiar CACHESYS, CACHELIB, CACHETEMP and CACHEAUDIT.

A bit of digging through the documentation archive led me to conclude that the CACHE database arrived in 2010.2, where the release notes say:

 

Note the lack of an accent on the words I have highlighted.

The above documentation is incorrect when it says "this database is mounted as read-only". In fact it is mounted RW. But the %DB_CACHE security resource that controls access to it only grants R as its public permission. In other words, every process can re

1
0 580
Question Greg Arnold · Apr 12, 2017

We are using an F5 load balancer to route public traffic to our IS server. My goal is to block public access to the Management Portal, and only allow what we want to expose, such as REST/SOAP services. At the F5, they can block URL wildcards or specific ports, so those are our options.

Since the URLs for the web services are in the same path ([host]/csp/healthshare/[namespace]/*), I can't see any URL wildcards happening. That leads me to ports; is there a way to put services on a specific port for all services, and everything else stay on a standard web port?

Any insight or ideas would be helpfu

5
0 449
Question James Fitzpatrick · Apr 12, 2017

Hi all,

I was wondering if InterSystems offers any message profiling capabilities. What I mean by "message profiling" is essentially stats or metrics gathered from a collection of data submissions of a particular type. For instance, average number of segments  <XYZ> in a specific HL7 V2 message type. Or the number of sections found in a HL7 V3 CDA documents.

Curious if there is anything like this provided "out-of-box".

Thanks!

James

4
0 482
Article Kyle Baxter · Apr 12, 2017 1m read

 It's almost time to get your customers upgraded to new versions - are you worried about showing off your SQL Performance after upgrades?  If you want to upgrade without worrying, then I have just the program for you!!!  Check out this video from Global Summit 2016 featuring yours truly explaining how to upgrade a system without worrying about pesky SQL queries showing on your waistline!  

https://www.youtube.com/watch?v=GfFPYfIoR_g

Unfortunately the video started after the Frozen Musical Sing-a-long, but it's 30 minutes of the most fun you'll have while learning tools and tips for Caché SQL!

Que

0
0 387