Announcements

I am pleased to announce the field test of Caché and Ensemble 2016.2 -  an exciting new release with improvements on many different fronts.

The entire product team at InterSystems looks forward to your participation in the field test and feedback over the coming months.

Some of the more profound changes in 2016.2 include:

  • Atelier - the new multi-platform IDE for Caché, Ensemble and HealthShare.
  • Introduction of a DOCUMENT data model (extending the reach of our multi-model capabilities)
  • Concurrent management and configuration of many servers

As always, there are a host of scalability and performance improvements, including improvements to the core database, ECP and SQL.  And hundreds of smaller improvements and corrections.

Summary details of these changes can be found HERE

Last comment 29 March 2016
0 9
822

views

+ 6

rating

Hi, 

We recently moved our cache instance from windows 2012 to windows 2016 and when i try to now import % routines  i'm getting the following error  "Unable to obtain a write lock on this routine because either another user has the routine open for editing or you do not have write access to the database the routine is stored in. This item will be skipped."

 

This is a fresh installation of cache and I've moved the cache.dat and csp pages across. It seems to work fine but can't import % routines which I need. 

Has anyone experienced this and can help? 

Thanks

0 1
0

answers

0

comments

4

views

0

rating

 For Data Synchronization inside Caché you have a range of ways to synchronize objects and tables.
At DB level you can use Shadowing  or Mirroring 

This works excellent and if you need just a part of your data to be synchronized you may split your
data into smaller pieces using Global mapping 
Or if you need bi-directional synchronization on Class/Table level you can use the Object Synchronization Feature 


The limit of all these excellent features:
They just work from Caché/IRIS to Caché/IRIS.

0 1
0

comments

9

views

+ 1

rating

Let's say we have a class 

AbcRequest extends Ens.Request, PropertiesBaseAbstractClass(has all my properties common to all request)

Prop1

Prop2 and so on

 

Now in my Business Operation 

I want to make a json dynamically from this request.

Yes obviously I can do is

 

Set requestDefinition = ##class(%Library.CompiledClass).%OpenId("MyCreateRequest")
Set JsonObject    = ##class(%DynamicObject).%New()        

        for i=1:1:requestDefinition.Properties.Count() {  
            Set key            = requestDefinition.Properties.GetAt(i).Name
            Set value        = $property(pRequest,requestDefinition.Properties.GetAt(i).Name)
            Set JsonObject.key = value
          
        }
        Set requestString        = JsonObject.%ToJSON()

This makes a json {"key":""}

 

 

 

 

Last answer 6 hours 5 min ago Last comment 7 hours 28 min ago
0 3
23

views

0

rating

Hello,

 

Last weekend we've updated our Caché version to 

Versie:Cache for Windows (x86-64) 2018.1.1 (Build 312U) 

 

I'm using Studio to develop. I've been using the built-in debugger and it has been working nicely. But now, since the upgrade, I'm getting this error when trying to debug any routine or class method:

Executing ##class(Blue.App.Handler.Adsolut).TestConnection()
<COMMAND>zDebugStub+30^%Debugger.System.1

 

This is the code for the classmethod I got the error on

Last answer 12 days ago Last comment 7 hours 54 min ago
0 3
88

views

0

rating

Hey Developers!

Do you want to reap the benefits of the advances in the fields of artificial intelligence and machine learning? With InterSystems IRIS and the Machine Learning (ML) Toolkit it’s easier than ever.

Join InterSystems Sales Engineers, @Sergey Lukyanchikov and @Eduard Lebedyuk, for the Machine Learning Toolkit for InterSystems IRIS webinar on Tuesday, April 23rd at 11 a.m. EDT to find out how InterSystems IRIS can be used as both a standalone development platform and an orchestration tool for predictive modelling that helps stitch together Python and other external tools.

0 1
0

comments

21

views

+ 2

rating

Good morning

I'm probably overlooking something very basic, but I'm running on Win2016 with Cache  2016.2 - All the work I am doing is in INT routines, but I'm making some calls to the Host File system using $ZF(-1).

I have a few mapped Network drives that are mapped in Windows, typically these are locations where I want to back up some files.

My process is quite simple:

1. Read data

2. Zip data files using RAR

3. Create folder on Network drive

4. Move RAR files to new network share.

I've tried a few different commands:

S LOC="G:\RAN\Backup1\",CMD="MD "_LOC,X=$ZF(-1,CMD)

S LOC="\\data1\data\RAN\Backup1\",CMD="MD "_LOC,X=$ZF(-1,CMD)

I'm unsure if its a limitation of Cache to do this sort of thing, or if I should created a BAT file and then kick off a Windows call to run the BAT file

Last answer 13 hours 8 min ago Last comment 12 hours 47 min ago
0 3
48

views

+ 1

rating

First time post, also a new Cache developer, hence the <Beginner> tag.

If our data has Predefined terms in a dictionary, and a user can add terms on their own, can the terms exist in different tables?

Lets call the tables "Terms" and the user data in "UserTerms".

If a third class definition has a property of "Term" can it not be either Terms or UserTerms?

I'm leaning towards using a Subclass strategy where the pseudo "Parent" (forgive me) is  Dictionary.Term and the child is along the lines of Dictionary.Term.User

Dictionary.Term.User can inherit from Dictionary.Term and this is stated in the Docs "If class B inherits from class A, you can use an instance of class B in any location where you can use an instance of class A."

This applies to properties of a class correct? Not just methods

Last answer 16 hours 38 min ago
0 2
0

comments

31

views

0

rating

We recently registered unavailability of the Web service in some moments. The application goes offline.

Analyzing the IIS logs and logs in "C:\Windows\System32\LogFiles\HTTPERR" I found nothing relevant.

Analyzing the CSP Gateway logs I noticed the following behavior when unavailability occurs:

0 1
0

answers

0

comments

24

views

0

rating

 

We're moving an Ensemble production from Ensemble 2010 to Ensemble 2017 and in it we have a ebXML SOAP Service.  It extends EnsLib.ebXML.Service.SOAPService and just contains one method with a method keyword of SoapAction = ebXML.

We're receiving a SOAP message with a SOAP action = urn:nhs:names:services:pdsquery/QUPA_IN000011UK02 and this is getting rejected with the error message ERROR #6207: Unexpected SOAPACTION value: urn:nhs:names:services:pdsquery/QUPA_IN000011UK0

0 1
0

answers

0

comments

8

views

0

rating

Hi Community

I have created a simple package that allows the use of Cache with the Laravel Framework.

From my initial testing everything seems to be operating smoothly but I would like to appeal to the PHP users in the community to help me improve this package.

For those of you out there who have time and would be interested in this, please visit the repo at https://github.com/jeandormehl/laracache

Thanks in advance

Last comment 1 days ago
2 3
163

views

+ 4

rating

I have an application using examples from the lottery example in samples name space how do I create a dynamically link based on the data displayed to add a record id to the link

the idea is to loop over the records displays fields and link to edit the shown data at the end of the record in a table format

Last answer 1 days ago
0 2
0

comments

34

views

0

rating

Hi Community!

Please welcome a new video on Developer Community YouTube Channel:

Fast Provisioning in Any Cloud

 

0 1
0

comments

18

views

0

rating

Intro

Most server-client communication on the web is based on a request and response structure. The client sends a request to the server and the server responds to this request. The WebSocket protocol provides a two-way channel of communication between a server and client, allowing servers to send messages to clients without first receiving a request. For more information on the WebSocket protocol and its implementation in InterSystems IRIS, see the links below.

This tutorial is an update of "Asynchronous Websockets -- a quick tutorial" for Caché 2016.2+ and InterSystems IRIS 2018.1+

Last comment 4 days ago
2 3
97

views

+ 4

rating

Hi

We have just completed a migration of a test environment from Ensemble 2012 to Ensemble 2017 on a new server. This is the last in a series of migrations but the first to encounter this particular issue. All web clients making SOAP requests to a particular external web service are receiving a fault that states:

The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://<expected target service action follows here>'.

Further investigation using ^ISCSOAP and a comparison with other working environments reveals that the SOAP request is completely missing the <SOAP-ENV:Header> element.

This absence of a SOAP header occurs for multiple Operations in more than one Namespace for this newly migrated server, yet it is present in every other environment, all of which use the same source code.

So, is there a single installation-wide setting that could be causing this behaviour

Last answer 4 days ago
0 1
0

comments

31

views

0

rating

Hi,

I want to create a messages statistics group by month and year using deepsee. To do that I'm creating a DeepSee data model based on Ens.MessageHeader.

I added both SourceConfigName and TargetConfigName as dimensions and now I'm trying to add TimeCreated but I get these messages 

ERROR #5001: Level in time dimension must have a timeFunction: TimeCreated.H1.TimeCreated
  > ERROR #5490: Error running generator for method '%GetModel:User.Mensajes' 
ERROR: %DeepSee.CubeDefinition.cls(%GetModel) of generated code compiling subclass 'User.Mensajes'
    > ERROR #5030: An error occurred while compiling class 'User.Mensajes'
Compiling routine User.Mensajes.1

Also, I tried to add a time function (MonthYear) to extract the TimeCreated value and got these messages

Last answer 5 days ago
1 2
0

comments

25

views

0

rating

We would like to know if there are any ramifications swapping out our code database while an Ensemble production is running. We are trying to minimize down time as much as possible and even though stopping and starting the production ideally would be pretty quick, is it possible that we could just restart the business hosts that had the code change?

So this is our setup:
Ensemble 2016.1

global cache.dat
code1 cache.dat
code2 cache.dat

Namespace that we switch to point to either code1 or code2 and is mapped to the globals.

Has anyone done this? We are hesitant to do this and we also know we could try this out in our non prod environments but any user feedback would be very helpful.

Last answer 5 days ago
0 3
0

comments

45

views

0

rating

I've seen a few password change posts, but I wasn't 100% sure it was the same process, so I am asking here. We periodically have to change the passwords for a few Cache user accounts across several servers. Is there a process/script to change these passwords without having to go into the web portal on each server?  Thanks so much, and I apologize if this was covered in some of the other articles that I've run across. Just looking for the best method.

Last answer 6 days ago Last comment 5 days ago
0 2
49

views

0

rating

I am having an intermittent issue that when I make a call to MSSQL from a BPL that the response does not come back in the amount of time required. Since the call from the BPL is synchronous I tried changing the timeout to 60 but it has not helped (see below). Is there anyway to guarantee that the call waits long enough for a response before continuing on?

 

Thanks

Scott Roth

Last answer 6 days ago Last comment 5 days ago
0 3
45

views

0

rating