Hi, Community!
New 2018 Year is coming!

Time to have a break and recall what a great year was 2017! And to plan how fantastic 2018 would be!
Best Wishes and Happy Holidays!
Hi, Community!
New 2018 Year is coming!

Time to have a break and recall what a great year was 2017! And to plan how fantastic 2018 would be!
Best Wishes and Happy Holidays!
Hi, Community!
Please find a new session recording from Global Summit 2017:
Disaster Recovery for Federated Systems
When investigating performance problems, I often use the utilities ^PERFMON and ^%SYS.MONLBL to identify exactly where in the application pieces of code are taking a long time to execute. In this short paper I will describe an approach that first uses ^PERFMON to identify the busiest routines and then uses ^%SYS.MONLBL to analyze those routines in detail to show which lines are the most expensive.
The details of ^PERFMON and ^%SYS.MONLBL are individually described in detail in the Caché documentation, but here I summarize
Hi everyone
I'm new in Cache development language and I'm starting setting up Unit Tests.
How do you check with an Assert whether a certain variable is null or undefined?
The following assert throws an error on the "null": do $$$AssertEquals(myObj, null, "myObj is null")
Thanks a lot for your help and best regards
Milena
select * from A left join B on A.x = B.x inner join C on B.y = C.y
does Cache SQL treat the join path: LEFT_JOIN(A,INNER_JOIN(B.C)) also a valid candidate path?
Thanks.
Hey guys!
Thanks for participating in our small but productive COS marathon on behalf Adventofcode 2017!
The leaderboard is here:

And we are ready to announce the winner but need your public repositories with COS solutions inside. Please share it below in comments.
We have results!
1st place: Bert Sarens! Repository.
2nd place: Peter Steiwer! Repository.
3rd place: Dmitry Maslennikov. Repository.
Congratulations Bert!
You get 10,000 Global Masters points and the title of the AdventOfCode champion in Caché ObjectScript at least until December 2018!
Peter and Dmitry!
What is difference between using a command $classmethod rather than just invoking them straight away?
For example if i need to call a class and its method i can just use like
do ##class(circle).radius()
rather than using
do $classmethod("circle",radius)(I suppose both of them doing the same function i am not aware of it)
Please help me understand what is different and is there any specific usage.
Correct me if i have made mistake.
I have made a complete copy of our test namespace into a secondary test namespace. Thereby we can test with our current EHR version and our soon to be deployed EHR version simultaneously. However, we have a number of saved searches within the Message Viewer that we would like to have available within our secondary namespace. Is it possible to export the saved searches within the message viewer?
Thanks!
Is there any config setting in Net.SSH.Session that I can use to set StrictHostKeyChecking to no, I am getting an error about unable to exchange encryption keys. Also how would I set keyboard-interactive I dont see any option to set this?
aSSH Error [80101012]: Authentication failed (username/password) [80101012]
[libssh2] 653.630730 Transport: Looking for packet of type: 20
[libssh2] 653.630730 Failure Event: -37 - Unable to exchange encryption keys
=> libssh2_transport_read() raw (952 bytes)
0000: 00 00 03 B4 04 14 37 FE 5D 7C 12 50 E1 41 3
Hi everyone
How can I connect using the Terminal to a remote server?
I changed the server indication on the Healthshare icon on the Windows toolbar.
The management portal works but not the Terminal. When I open the terminal it displays only some information about the server ("SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2"), but it doesn't give the possibility to log in.
Do you have any suggestions how I could fix it?
Thanks a lot and best regards
Milena
Hi community ,
i worked this last time on the access token generate method , now it's ok, i want use the received access token to have access for asking the resources server.
i found the [%SYS.OAuth2.AccessToken] class which describes how add access token in the http request header , but i don't know how use it in my project.
Do me take only this class or the full package %SYS.OAuth2.
Thank you for helping .
InterSystems is pleased to announce the availability of these maintenance releases:
· Caché and Ensemble 2017.2.1
· HealthShare Health Connect v15.03 for 2017.2.1
Caché and Ensemble 2017.2.1 details:
· Platforms are the same as for 2017.2.0, with the addition of:
o Oracle Solaris 10, 11 for SPARC-64
o Oracle Solaris 10, 11 for x86-64
· The version number of the kits for these releases is 2017.2.1.801.0
· The full list of corrections can be found in the release notes
HealthShare Health Connect v15.03 on core technology 2017.2.1.801.0:
· Contains the HealthShare
Hello everyone,
From now till the 25th of december each day 2 programming problems to sharpen your programming skills.
Theme this year:
The night before Christmas, one of Santa's Elves calls you in a panic. "The printer's broken! We can't print the Naughty or Nice List!" By the time you make it to sub-basement 17, there are only a few minutes until midnight. "We have a big problem," she says; "there must be almost fifty bugs in this system, but nothing else can print The List.Stand in this square, quick!
Let's say I have Macro.Parent class:
Include Parent
Class Macro.Parent
{
ClassMethod Test()
{
write "Class: " _ $classname() _ $c(10,13) _ "Value: " _ $$$name
}
}
which references Parent.inc macro name:
#define name "Parent"
Now, I want in my subclass Macro.Child to have Test method with the same code, but to redefine value of name macro.
Hello, I will. Cls file (including Chinese comments) directly into the ensemble studio, studio tips imported successfully through the udl file, but my Chinese comment does not display properly, how do I deal with? Thank you!
I am using a Windows 7 system, ensemble 2016, .cls file I am currently using UTF-8 encoding.
Hi, Community!
I'm pleased to announce that in this December 2017 we have 2 years of InterSystems Developer Community up and running!

Together we did a lot this year, and a lot more is planned for the next year!
Our Community is growing: In November we had 3,700 registered members (2,200 last November) and 13,000 web users visited the site in November 2017 (7,000 last year).
Thank you for using it, thanks for making it useful, thanks for your knowledge, experience, and your passion!
And, may I ask you to share in the comments the article or question which was most helpful for you this year?
Happy Birthday, Developer Community!
Hi, Community!
Check the second Developer Community Video of the week:
Deal with Dynamic (Schema-less) Data
With the release of Cache 2016.1, JSON support was re-architected and made part of the core object model with the creation of %Object and %Array classes, which allow you to create dynamic JSON enabled objects and arrays.
On a recent demonstration I was working on, I had the need to create a REST web service that returned a JSON representation of a persistent object. After searching for methods that would allow me to accomplish this, ultimately I found none, until now.
With the release of 2016.2 (currently in beta) we introduce the Document Data Model along with SQL enhancements that allow you
Let’s continue our series of articles about creating a web application using REST only.
Hi, Community!
Please welcome a new session recording from Global Summit 2017:
Data Visualization: The Choice is Yours
In if condition what is the difference between specifying the single operator and double operator? For example, what is the difference between (&& and &) or (|| and !)
In OS X 10.8 and earlier, PHP was built with ODBC support, making it easy to connect to a Caché database:
$ php -r 'phpinfo();' |grep 'ODBC Support'
ODBC Support => enabled
However, this support was removed in OS X 10.9:
$ php -r 'phpinfo();' |grep 'ODBC Support'
Some people use Homebrew, MacPorts, or Fink to get their tools back. If you're comfortable coloring a little outside the lines (i.e., using sudo and the command line), you can build the odbc.so or pdo_odbc.so extension (depending on which API you prefer), and use it with Apple's version of Apache and PHP. You'll need the following:
I am trying to read an xml document using %XML.TextReader and that's is all well and l can get my elements values but would like to determine where the next record start on the xml without referring to the document path in essence would like to use the same method to read different xml docs. I would like to know if is there a way or a function that I can use to get the start and end of a record in xml as I would to get the start and end element.
Typical example l would like to get the highlighted paths please note this would need to go for any xml doc
<productListing title="ABC Products">Hello,
Is is possible to reorder the comments so we see new comments at the top? At the moment its very hard to find a new comments since the order of the comments is always from oldest to newest, if you comment on the first comment then your comment will be at the top while making a new comment on the post will be at the bottom. Also marking new posts with a different background color or highlighting them would be convenient.
This would be very handy for posts that are getting more comments than can fit on one page or just posts with more comments in general.
Thank you
Hi all,
I have a database with 140 million records containing financial transactions. When I do a query to calculate the sum of those records spanning a number of months it takes around 4 seconds on my database server which seems reasonable. However if I run the same query on an application server it takes around 40 seconds to do the same query.
In just this instance I would like to run that piece of code on the database server instead of the application server. It's a query that is only run a few times a day so I would prefer to have a fast result and don't mind putting a bit more stress on my database server for that.
Hi community,
I got quite a busy namespace with lots of services, processes and operations. The Ensemble purge that runs daily keeps the last 10 days. I would like to increase the NumberOfDaysToKeep to 60, but only for a small number of the interfaces in the namespace, and I would like to do it in a way that will be seamless to the users, so they will not have to change the URL of their calls, or will even be aware of the change.
The one idea that I had is to move these few interfaces to a new namespace , but how do I then do it without affecting the URL? with a Pass-Through interface somehow?
Th
This might be a very simple rookie question but I'm trying to create couple of web services in Ensemble and using document below as my tutorial, I do manage to do it:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
But instead of doing it as described above, where method signature is like this:
Method GetCustomerInfo(ID As %Numeric) As ESOAP.SOAPResponse [WebMethod]
I would like it to be:
Method GetCustomerInfo(valid XML against schema1) As valid XML against schema2 [WebMethod]
because I'm trying to replicate a web service from another non-Intersystems
I am trying to install cache 2017.2 on vagrant/VirtualBox and Ubuntu. I have tried both Linux precise64 3.2.0-23-generic #36-Ubuntu and Linux vagrant-ubuntu-trusty-64 3.13.0-137-generic #186-Ubuntu. I am getting an error that i can’t figure out. I have done this:
sudo apt-get install build-essential
sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install libstdc++6
sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get update
sudo apt-get upgrade
Any ideas on what to do?
Today %SYS.Namespace.ListAll started to report one namespace, for example USER, two times: once as "USER" and once as USER's database "^^c:\databases\user".
Details: my Cache instance has 50+ local namespaces. Today I have "touched" 3 of them (imported new classes), and now ListAll reports each of these 3 twice. Looks like ListAll is the only one who sees those strange duplicates, in all other places (Portal, Studio) only USER is shown.
Can someone explain what is happening?
We are starting to look into our BPL's and catch errors that calls may return. Can someone explain how to use the THROW and CATCH within the Business Process Language or have a sample of how it should work?
Thanks
Scott Roth
The Ohio State University Wexner Medical Center