Article
· Mar 21, 2024 2m read
Left Side Functions in ObjectScript

In ObjectScript you have a wide collection of functions that return some value
typically:

set variable = $somefunction(param1,param2, ...)

There is nothing special about that.
But there is a set of functions that I classify as LEFT SIDED
The specialty of them is that you can use them also on the left of the equal operator
as a target in the SET command:

set $somefunction(param1,param2, ...) = value

5 3
1 271

Hi folks!

Often, when we develop commercial solutions, there is a necessity to deploy solutions without source code, e.g., in order to preserve the IP.

One of the ways how this can be achieved is to use InterSystems Package Manager.

Here I asked Midjourney to paint an intellectual property of software:

How this can be achieved with IPM?

In fact, this is very simple; just add the Deploy="true" clause in the Resource element in your module.xml manifest. Documentation.

I decided to provide the simplest possible example to illustrate how it works and also to give you a development environment template to let start building and deploying your own modules without source code. He we go!

5 2
2 328

Hi,

I tried to create what is know as a "class variable". As far as I understand the only analogy to class variables would be the "class parameters".

I tried to use a class parameter but I cannot change its value at runtime.

Parameter STATUSES = {{}};

Property repr As %String;

Method %OnNew(repr) As %Status
{
w ##class(Test...).#STATUSES
w ..#STATUSES

...

}

0 6
0 115

Good morning, everyone

I purchased an HP LaserJet M101-M106 printer, and I'm trying to print via the Windows cache device, but I can't get it to work.
I can send it, but it doesn't print.
Physical device name: |PRN|HP LaserJet M101-M106
Type: Other
Subtype: P-DEC
Open Parameters: “W”

Could someone help me with what might be happening?

Otherwise, thanks

Davidson

0 0
0 34
Article
· Sep 11, 2024 9m read
Dates with InterSystems

Do not let the title of this article confuse you; we are not planning to take the InterSystems staff out to a fine Italian restaurant. Instead, this article will cover the principles of working with date and time data types in IRIS. When we use these data types, we should be aware of three different conversion issues:

  1. Converting between internal and ODBC formats.
  2. Converting between local time, UTC, and Posix time.
  3. Converting to and from various date display formats.

8 1
4 349
Article
· Sep 12, 2024 7m read
Embedded python in InterSystems IRIS

Hello Community,

In this article, I will outline and illustrate the process of implementing ObjectScript within embedded Python. This discussion will also reference other articles related to embedded Python, as well as address questions that have been beneficial to my learning journey.

As you may know, the integration of Python features within IRIS has been possible for quite some time. This article will focus on how to seamlessly incorporate ObjectScript with embedded Python.

4 1
1 265
Question
· Mar 31, 2021
End Session programmatically

We have a background job that keeps an eye on our ongoing CSP sessions, counts licenses used and some other tasks. Question: If I know the session ID (something like "wuuZ2Gwgxw"), how do I (find and) end that particular session programmatically in ObjectScript - i.e., the equivalent of %session.EndSession=1 in the csp page code?

Thanks!

Michael Reach

1 15
2 899

Hi Guys

How do get the item name of a class? I have several items derived from the same class, and for error reporting I want to get the name of the item which created it, rather than the class it is derived from from.

e.g. InPhase.LEGACY.GetUpdateNotification, InPhase.LFPSE.GetUpdateNotification and InPhase.ADHOC.GetUpdateNotification are all derived from the same class InPhase.Services.LoadInPhaseUpdates

0 6
0 209

Suppose you have an application that allows users to write posts and comment on them. (Wait... that sounds familiar...)

For a given user, you want to be able to list all of the published posts with which that user has interacted - that is, either authored or commented on. How do you make this as fast as possible?

Here's what our %Persistent class definitions might look like as a starting point (storage definitions are important, but omitted for brevity):

11 3
5 438

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.

0 2
0 123

Traditional Caché Objectscript has the multi-dimensional array as its main form of complex data structure and the $order command as the main means of traversing said data structures. But newer versions of Caché ObjectScript also have data structures that are direct parallels of what languages such as JavaScript provide, in the form of %DynamicObject and %DynamicArray. These have an easy to use iterator feature via the %GetIterator method, and even a handy built-in literal syntax for constructing new objects.

0 4
0 1.1K