It has private access for now, and available only for you, yet.
- Log in to post comments
It has private access for now, and available only for you, yet.
Danny,
Thanks, It's amazing, to see such articles.
But how about coding style. If to be honest, your code looks like a mess of old-school code and modern.
As this articles mostly for beginners, it would be much better to have also modern style. Instead of OPEN/USE/READ use %Stream classes. I see this way as much readable.
And about how you use standalone ELSE command without brackets, not sure that beginners, can quickly get the trick here.
Open file:"R":1 Else Use 0 Write "Could not open file ",file Quit
You can remove saved password from windows registry
The same issue, just updated to latest beta version. Windows 10 x64, java version "1.8.0_152"

I would recommend instead of mark such object as deleted, with such flag like this. Just "move" it to another table some kind of Trash, when you can store this object as a serialized string for example. In this case object will really disappear from his table and will not be availble with via SQL or any other accesses. But in this Trash, you can have information about deletion data, who deleted and information to restore it.
Why you have two different ways to create objects?
If you have class, you should use object or SQL way to create or change objects.
If you add it manually through direct access to global, you should also create all indexes, this way.
Instead of %BuildIndices, you can try to use method %FileIndices, with Object's id as a first argument.
Could you add some code, which can explain more, what are you doing?
It depends on, how long this string should be, and what do you expect to see there.
The simplest way is just generating it with $random.
set string="" set length=100 for i=1:1:length set string=string_$char($random(26)+97)
Unfortunately, downloading distributions from WRC is not so easy. For example, you can look at my article Containerization Caché, where I gave an example how to download and install Caché automatically.
Before, we need some variables
product=cache version=2017.2.0.744.0 arch=lnxrhx64
Download distribution
# WRC Authorization WRC_USERNAME="user@somecompany.com" WRC_PASSWORD="password" wget -qO /dev/null --keep-session-cookies --save-cookies /dev/stdout --post-data="UserName=$WRC_USERNAME&Password=$WRC_PASSWORD" 'https://login.intersystems.com/login/SSO.UI.Login.cls?referrer=https%253A//wrc.intersystems.com/wrc/login.csp' \ | wget -O - --load-cookies /dev/stdin "https://wrc.intersystems.com/wrc/WRC.StreamServer.cls?FILE=/wrc/distrib/$product-$version-$arch.tar.gz" \ | tar xvfzC - .
before an upgrade, you should define at least one variable as defined in documentation by your link.
ISC_PACKAGE_INSTANCENAME=$product
for install new instance, you should define more variables
ISC_PACKAGE_INSTALLDIR="/usr/cachesys/" ISC_PACKAGE_UNICODE="Y"
so, finally, the script will be
#!/bin/bash product=cache version=2017.2.0.744.0 arch=lnxrhx64 # WRC Authorization WRC_USERNAME="user@somecompany.com" WRC_PASSWORD="password" wget -qO /dev/null --keep-session-cookies --save-cookies /dev/stdout --post-data="UserName=$WRC_USERNAME&Password=$WRC_PASSWORD" 'https://login.intersystems.com/login/SSO.UI.Login.cls?referrer=https%253A//wrc.intersystems.com/wrc/login.csp' \ | wget -O - --load-cookies /dev/stdin "https://wrc.intersystems.com/wrc/WRC.StreamServer.cls?FILE=/wrc/distrib/$product-$version-$arch.tar.gz" \ | tar xvfzC - . ISC_PACKAGE_INSTANCENAME=$product /tmp/dsitrib/$product-$version-$arch/cinstall_silent
But it is just a simple example and not covers everything. But can be easily extended by your needs.
Almost the same as you do on Windows, or as clean install. Just call
./cinstall
And installer will offer to choose instance name, and if you put the same will offer to upgrade it.
Thanks. :)
{value1,value2, value3} - is incorrect in JSON
In JSON we have objects and arrays, every element in an object has name and value, while an array is a just list of values.
So, object in this format.
{
"name": "value",
"name2": "value2"
}
And array
[ "value1", "value2" ]
And anyway not sure what you want to do.
Look at this article in the documentation about working with JSON in Caché.
set arr = ["value1", "value2", "value3"]
set iter = arr.%GetIterator()
write !,"<switch> my value"
while iter.%GetNext(.key, .value) {
w !,"<case>",value,"</case>"
}
w !,"</switch>"
Abstract class can have Storage definition, which will be the same for properties defined in abstract class for all children.
Class marked with NoExtent flag does not have own storage definition and all children should have complete storage definition. And data in all those children will be stored separately.
Ok Kevin, thanks, I updated your post with your code and detailed output
Could you add you pwershell script?
And if you have some custom script on Caché side, it would be better to look at it as well?
Looks like, pictures are available. But they have multiple pictures for different devices. And choosing this correct picture not working properly.
Yeah, it is very interesting. I tried to login with my another account. And I can see the same as show you. But with this account, I see only one editor. So, sure, it should be changed.
When I open question, I see answer edition form. When I open simple post, I see editing comment form.
So, 3 and 5 looks like we already have.
Have you looked at CacheQuality, and demo available online?
Currently, it is mostly working with classes, parsing for routines added in the latest release. But I'm looking to add better support for routines as well.

Do you need any further help?
You can retrieve list of certificates in a way like this
ClassMethod SSLConfigs() As %String
{
new $namespace
set $namespace = "%SYS"
set rs=##class(Security.SSLConfigs).ListNamesFunc()
set result = ""
while rs.%Next() {
set result = result_$lb(rs.Name)
}
quit result
}
And result will be in $lb
USER>w $lts(##class(User.Test).SSLConfigs()) Amazon,Google,ISC.FeatureTracker.SSL.Config
This error may be thrown by some different reasons while you call %Save for an object.
In my case at this place "%Save+5" I have a call to method %BuildObjectGraph, which is internal in %RegisteredObject class. Described as "Build the list of reachable objects and their dependencies". This method calls recursively, so, maybe some troubles with dependencies.
Not, we don't have $listprevious. And I can say why.
$listbuild format quite simple where each element of $listbuild is solid. It has header and data, where in the header we have the length of data. So, to get next element, we just have to read header and ptr used to set position where header begins.
But when you want to read the previous element, you can't know how long this previous value, and you can't find this right place, you still have to read from the beginning.
So, only one way to do it:
for i=$listlength(myList):-1:1
Could you try to test it with latest version 2017.1 or FieldTest 2017.2?
I would also recommend trying to replace OpenSSL with the latest version in the bin folder. Not sure in this way, but may be it can help.
Are you talking about Windows Task manager or in Cache?
I think, in this case, some screenshots would be good.
I don't know how FHIR endpoint looks like in HealthShare, but looks like it this is wrong
/csp/healthshare/fhiraccess/fhiraccess/
I gues it should be
/csp/healthshare/fhiraccess/
JSON, end else seems OK.
Sure, not.
When you read particular patient, your URL is something like (where 1234 is ID of this patient):
/fhir/Patient/1234
But to create new patient, you should use
/fhir/Patient
and method POST
Full URL, with ID, need when you want to update particular patient, and use method PUT.
This is how it should be by standard FHIR. But I have not worked with FHIR in HealtShare, and maybe there is some differences.