We have Webterminal around for quite a while, but it was limited, not all features worked there. There was no shell support or the latest feature as embedded Python support. There are some issues with tools that require programmer mode. Basic Authorization, not as handy as simple login page, where you could have options to add own login page, in case if you would wish to change the way how to login to the application, such as using SSO.
With the original iris terminal, wrapped into a web form, using most used in the web world xterm.js, used in tools like VSCode as well, with some magic from Python, which helped with interprocess tty. We can get the the terminal in the web, in the full capacity.
In this article, I’m excited to introduce CodeInspector, a tool designed to simplify code validation by applying custom rules tailored to your development requirements. Whether you're managing a large codebase or working in an agile environment, CodeInspector helps ensure code quality by offering flexibility and adaptability to specific project needs.
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.
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.
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.
HealthShare uses a lot of XSLTs. These are used to convert IHE medical documents to SDA (internal HealthShare format) and back to IHE formats, to create summary reports, and to deal with IHE profiles (e.g., patient information query, document provide and register). Customers may customize the XSLTs to customize reports or for other reasons.
For debugging and development, it is very convenient to be able to run an XSLT from Terminal.
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!
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?
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]
When is a Developer Community post not a Developer Community post? When it's just a few sentences wrapped around a link to InterSystems documentation! And what better way to finish up 2021 than by telling you about something cool that's been available since v2020.3? As the ball drops in Times Square, curl up with this:
Now, let’s say you can’t access the terminal or simply you just rather execute it from a web interface. In this article, I will show you how to execute terminal commands from a simple web page.
For example, in the image below you see how we execute $zv on a webpage:
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.
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: