go to post Dmitry Maslennikov · Jul 29 Check this announcement, maybe this is related while you using version 2019.1
go to post Dmitry Maslennikov · May 28 Metabase offers a way to write your own driver to any database, that supports jdbc So, with some knowledge in Clojure, it's possible to connect it directly to Caché or IRIS You can do it by yourself, or I can do it for you.
go to post Dmitry Maslennikov · Mar 11 In your log I see 03/09/24-21:16:24:072 (430) 3 [Generic.Event] Process 430 (JobType=WRTDMN,Dumpstyle=0,Directory='/usr/iriss ys/mgr/') caught signal 4. caught signal 4. Googled, what this signal mean 4SIGILL Illegal instruction. The program contained some machine code the CPU can't understand. i5-3470 quite an old CPU, from 2012, looks like it's not supported already
go to post Dmitry Maslennikov · Feb 5 Check the settings, and configure connection to the server, it will not those options if server not available, where to actually import it
go to post Dmitry Maslennikov · Dec 4, 2023 %SYSTEM.Event is only for Inter-Process communication and messages sent through SharedMemory, which may cause some issues if not used correctly (overflow for instance). The only way to send it to Global, is to make the listener which will do it, but using %system.Event in this case makes no sense, if you could do it without it.
go to post Dmitry Maslennikov · Nov 8, 2023 There is no direct way of setting environment variables using ObjectScript. And there are some caveats to doing it. Have a look at this project, it's quite tricky, it uses callout in c, to make it working I would recommend finding another way of doing what you would want to achieve, instead of using environment variables
go to post Dmitry Maslennikov · Nov 7, 2023 This command will only create file CACHE.DAT on Caché, or IRIS.DAT for IRIS, and to be able to see it in portal, you have to create Config.Database as well But, I would recommend using %Installer Manifest, it's available for many years, and in Caché as well The simplest installer would look like this XData setup { <Manifest> <Default Name="Namespace" Value="IRISAPP"/> <Default Name="database" Value="irisapp"/> <Namespace Name="${Namespace}" Code="${Namespace}" Data="${Namespace}" Create="yes" Ensemble="no"> <Configuration> <Database Name="${Namespace}" Dir="${mgrdir}${database}/data" Create="yes" Resource="%DB_${Namespace}"/> </Configuration> </Namespace> </Manifest> } You can find more examples on GitHub
go to post Dmitry Maslennikov · Oct 31, 2023 FYI, incorrect login/password should be status 401403 when access to something above the granted roles use Status property in %CSP.Response set %response.Status = 401 // or set %response.Status = 403
go to post Dmitry Maslennikov · Oct 30, 2023 Well, the example you used uses ClassMethod, which is like an any static method in other languages, and can be called directly with no issues. So, this definitely will work ClassMethod AnotherMethod() { do ##class(MyClass).Foo() } If you would want to do the same, but using instance methods, it can be done as well Assuming the super class, like this Class dc.MyClass Extends %RegisteredObject { Property Value As %String; Method Foo() { Write !,"MyClass:Foo - ", ..Value } } and child class Class dc.SubClass Extends MyClass { Method Foo() { Write !,"SubClass:Foo - ", ..Value } ClassMethod AnotherClassMethod() { set obj = ..%New() set obj.Value = "demo" Do obj.Foo() Write !,"-----" Do ##class(dc.MyClass)obj.Foo() Write !,"-----" Do obj.AnotherMethod() } Method AnotherMethod() { Do ##class(dc.MyClass)$this.Foo() } } The output will be this USER>do ##class(dc.SubClass).AnotherClassMethod() SubClass:Foo - demo ----- MyClass:Foo - demo ----- MyClass:Foo - demo And as you can see, the last two calls are working from a super class, and it keeps access to the object
go to post Dmitry Maslennikov · Oct 19, 2023 Ahh, yes, you also need some Global Buffer for this size too
go to post Dmitry Maslennikov · Oct 4, 2023 By the way, Python Embedded supports to be executed without entering any passwords, you can use environment variables for that.
go to post Dmitry Maslennikov · Oct 3, 2023 It's tricky but not impossible, but obviously not in ObjectScript. Requires additional tools, which should be plenty, now with Python Embedded, it should not be an issue, even with image-based PDFs, which will require OCR.
go to post Dmitry Maslennikov · Oct 3, 2023 Check this template https://github.com/intersystems-community/iris-fhir-template/blob/master... // Configure FHIR Service instance to accept unauthenticated requests set strategy = ##class(HS.FHIRServer.API.InteractionsStrategy).GetStrategyForEndpoint(appKey) set config = strategy.GetServiceConfigData() set config.DebugMode = 4 do strategy.SaveServiceConfigData(config)
go to post Dmitry Maslennikov · Sep 22, 2023 The issue is just in `<` sign in the javascript code, replace it with something else, without <>.
go to post Dmitry Maslennikov · Sep 18, 2023 Refactoring is the best and only solution here, get rid of those files. Yeah, it's painful, for sure, and probably sounds like a waste of time, but it's definitely necessary and will help in the future
go to post Dmitry Maslennikov · Sep 11, 2023 You always can get Community images from Docker Hub Original vanilla images: https://hub.docker.com/u/intersystems Images with IPM/ZPM, and many other features: https://hub.docker.com/u/intersystemsdc
go to post Dmitry Maslennikov · Aug 28, 2023 or use flag USER>write "$lb(" _ $listtostring($lb("demo",,123),,7) _ ")" $lb("demo",,123)
go to post Dmitry Maslennikov · Aug 28, 2023 I think we still need deeper support for IRIS in DBeaver, and it can be implemented. So it will be possible to have more options to be configured, and more possibilities
go to post Dmitry Maslennikov · Aug 7, 2023 you can use $zstrip, where action *P, * is for any place, and P any punctuation for example USER>write $zstrip("before!@#$%^&*()_+\-=\[\]{};':""\\|,.<>\/?after", "*P") beforeafter And if you just want to check if the string contains any punctuations, you can compare if the original string does not equal the same after $zstrip. if you wish to use regexp, you can use $match USER>write $match(".!@", "^[!@#$%^&*()_+\-=\[\]{};':""\\|,.<>\/?]*$") 1