If anyone has experience debugging Embedded Python or has insight into why an ObjectScript method when called from a Python method would not work but would work when called directly via ObjectScript or in a Python shell, your help would be appreciated!
We have an ObjectScript ClassMethod called GetTemplateString() which takes in a templateName of String type and uses the template name to get the template object, access the Code, and read the code into a templateString. The string version of the Code is returned.
I have a question about terminal, when I run a class from it that contains an error I get a report of error as I would expect, and then an apparently random three letter code is appended to the namespace name in the prompt, as shown below.
GMMHTIE>do ##class(temp.Nothing).What()
w !, tParisAnswer ^ <UNDEFINED>zWhat+23^temp.Nothing.1 *tParisAnswer GMMHTIE 2d1>
Then, when I try to enter a command I get an error
I have an issue related to Visual Studio Code and its InterSystems extension when exporting routines from the database to the file system.
The code entered via the terminal editor is encoded in DOS code page 437, but when I export it to my file system, even if I set the file opening to DOS CP 437, the accented characters which are two bytes long cause problems.
When you run a routine in the terminal and an error occurs in the program, if you have not set the error trap properly, the program will enter debug mode as shown below.
I'm trying to convert a python dictionary into an objectscript array but there is an issue with the 'arrayref' function, that is not working as in the linked example.
Interacting with Users in the Terminal: A Guide to Using %Library.Prompt in IRIS
Have you ever wondered how commands like ^DATABASE engage users in the terminal? Or perhaps you're writing an automation routine and want ways to specify options directly from the terminal. Thankfully, the %Library.Prompt class in IRIS offers a straightforward way to do so!
https://www.youtube.com/embed/dnG6ErHZDXA [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
Recently I was impressed by @Dan Pasco's article where he shares also how he uses terminal aliases.
Terminal aliases is a very powerful tool for developers and sys admins if you often need to call some cumbersome terminal expressions and make it shorter and cleaner. Here is the documentation. Yes!
But what about Docker environments? What if you are fan of Docker dev environments but also want to keep using your favorite aliases with Docker as well?
I though this is a pretty cool way of installing webterminal in an environment where I had Management Portal / Visual code access, but I had no terminal access.
zpm was already present. otherwise you could add it in the same class.
I just realized that operating system command execution does not work on Windows console if the IRIS service is started using a different user than Local System account (the default).
I always change the user configured in the IRIS service and I believe this is a standard good practice, particularly in "real" environments (be it production, stage, test or development) that are part of Windows Active Directory Domain.
Have you ever been editing files in VS Code, but needed to check a global value or run a few ObjectScript commands? Now you can, with no setup required! If you have vscode-objectscript extension version 2.10.0 or later and are connected to InterSystems IRIS 2023.2 or later, you can now open a terminal connection to your server, regardless of where it's located.
K9s is a terminal-based UI (aka kubectl clown suit), to manage Kubernetes clusters that drastically simplifies navigating, observing, and managing your applications in K8s, including Custom Resources like the InterSystems Kubernetes Operator (IKO) and ArgoCD Applications. If you are about to take your CKD, CKA, or CKS, leave k9s well enough alone for awhile as the abstraction to kubectl will become the standard for navigating the cluster and you will undoubtedly become estranged to the extended flags of kubectl and bomb the exam.
I'm attempting to compile a basic Python code on a remote server, but it appears that the compiler doesn't recognize the language.
The remote server is running a virtual machine with Oracle Linux Server 7.9 (64-bit), and it has IRIS for UNIX (Red Hat Enterprise Linux for x86-64) 2021.1 (Build 215U) [HealthConnect:3.3.0] installed.
When I try to compile a script that includes a Python ClassMethod, such as this "testpy.cls":
We currently have CSP application that runs under 2 servers(usually primary), and every month the server reboots for patching SERVER1(primary) in the morning and SERVER2(backup) at night.
Whenever the SERVER1 reboots SERVER2 behaves as primary and when SERVER1 comes back up it will act as backup server.
First Patching:
So, when SERVER1 is down, I need to start httpd service for SERVER2 and stop httpd service for SERVER1 (which is now backup server).
I have set up a Docker image with IrisHealth Community Edition and created a backup of all databases with the Management Portal. Obviously, the restore requires a different way, i.e. a terminal or session needs to be started to use a "Do ^DBREST".
Due to the manual first a session (which is probably same as iristerm terminal) needs to be started:
I want to use regex in my code, and I saw that the %Regex.Matcher class contains a property "OperationLimit" that you can also set to a number of steps that the regex engine should take maximum in analysing a given string. So far so good.
I tried to set the property with the function OperationLimitSet() to a silly value like 3. In 3 steps only very few regex should be executed, right? But what I found is that my regex always comes up with a solution. Here is what I did:
Visual Studio Code, like Atelier, connects to IRIS through the Web Server and a web service, unlike Studio that connect to the SuperServer port.
What about the VS Code terminal? Does that open a shell with SSH or does it also use a web service?
In other words, does an IRIS developer using VS Code need direct access to the IRIS instance with SSH or the SuperServer port, in addition to the external or private web server to execute terminal commands?
Watch this video to learn the basics of how to use the InterSystems® command line interface to execute commands, including starting the Terminal, executing methods and routines, and exiting the Terminal.
https://www.youtube.com/embed/-vL31qoz91s [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
I was wondering if anyone had any input on how to troubleshoot classes in a terminal session? I'm currently writing an "adapter" so that way we can encrypt and decrypt files through GNUPG (PGP keys).
I've been trying for a while now to get OS authentication working on IRIS running on Ubuntu 20.04 and subsequently 22.04. I have the following authentication methods enabled for %Service_Terminal:
Operating System
Password
Operating System Delegated Authorization
And i have these options selected in Authentication/Web Session Options:
For me, one of the most painful things about ObjectScript is ##class(Class).Method() typing to call a class method in code or in a terminal. I even submitted an idea to simplify it in ObjectScript.
But! There is a new feature in VSCode ObjectScript that was just introduced to the plugin - Copy Invocation!