Making a blog using Python + IRIS Globals

Since I started to use internet (late 90's), I always had a CMS (content management system) present to make easier post
any information in a blog, social media or even an enterprise page. And later years putting all my code into github I
used to document it on a markdown file. Observing how easy could be persisting data into Intersystems IRIS with the
Native API I decided to make this application and force myself to forget a little of SQL and stay open to key-value database
model.

4 2
0 344

Hi developers!

Often we need to deploy some data along with code pieces of the application.

And for InterSystems IRIS developers the question could sound: "How can I deploy the data I have in globals?"

InterSystems IRIS Globals Model QuickStart | InterSystems

Here I want to suggest to you one of the approaches - deploying global data using the ZPM package manager.

1 0
0 323

Hi Developers!

Here're the technology bonuses for the InterSystems Multi-Model Contest that will give you extra points in the voting:

  • InterSystems Globals (key-value)
  • InterSystems SQL
  • InterSystems Objects
  • Your data model
  • ZPM Package deployment
  • Docker container usage

See the details below.<--break->

0 3
1 218

Hi, we suddenly noticed that one of the edge storage increased by 30% and it was due to ERROR globals which was throwing repeated error for 7 days and it consumed 35GB space. Is there a way to log the storage of edge production on daily basis and compare the increase in storage with previous day and if increase is 5% more than trigger an email to system admit to look why the storage increased suddenly.

0 3
0 248
Question
· Nov 4, 2020
Avoid $c(0) in globals

Good Morning,

I have this question for a long time. When I make an insert by SQL from an external application in the fields of type %String, if they are empty, it writes the character $c(0) in the global.

Is there a way so that if an Insert is received in a field of type% String with null value instead of the $ c (0) it leaves it empty?:

0 7
0 855

If a global node contains special characters, (eg : a line returns), it will be displayed like this in Portal ("System > Globals > View Global Data" panel) :

^A(1) = "this is"_$c(13,10)_"a test"

I would like to export global data to a txt file using a similar format.

I already wrote the main code (that loops on all nodes and dump them to file), the problem is how to handle special characters.
For the moment I replace them manually one by one. It works, but it's far from perfect :

1 5
0 1.4K

From my recent post, I uploaded a set of values into a global, and I am trying to compare the first field, and then

$GLOBAL("123", "bone issue")=""

$GLOBAL("234","joint issue")=""

Now, I want to compare and see if the DG1:4.1 segment has the code $GLOBAL and then replace the DG14.1 segment with the code and the description

so For Eg: if DG1:4.1 exists in $GLOBAL("123") then replace the segment with the code and description

Can someone guide me on how I can achieve this?

0 4
0 192
Question
· Aug 20, 2020
Class changes not executing

We are using Ensemble and I added some debug logging that writes to a global and recompiled the class in Studio. However, when we send messages, the global is not populated. I have recompiled, removing the checkmark to keep the generated code so that there is only one .INT file and I verified that the code is present in the .INT file.

My question is, do we need to stop and restart the Ensemble production in order for these changes to take effect? Do I need to stop and restart the business operation that calls this piece of code? Is there something else I may have missed?

0 6
0 246

InterSystems IRIS currently limits classes to 999 properties.

But what to do if you need to store more data per object?

This article would answer this question (with the additional cameo of Community Python Gateway and how you can transfer wide datasets into Python).

The answer is very simple actually - InterSystems IRIS currently limits classes to 999 properties, but not to 999 primitives. The property in InterSystems IRIS can be an object with 999 properties and so on - the limit can be easily disregarded.

5 13
1 594
Question
· Aug 3, 2020
Variables in Global Name

I have a number of globals I want to loop through depending on a passed in string...

^A("SYSTEM")

^B("SYSTEM")

^C("SYSTEM")

^D("SYSTEM")

^E("SYSTEM")

I am passing in a string of "A:C:D"

Piecing that to pull out A,C,D, then want to use that to pull out A,C,D from above, but having problems setting the name of the global to be the name of the variable I have pulled out of the string

How do I set this?

I have tried ^varname("SYSTEM")

0 3
0 434

Hello Intersystems-Community,

I build an API and there I use $order to get the Data from my Globals.
When I first time use that API it's get an error (504 Gateway-Timout > 60 Sec.).

After 2 reloads it works with a loading time of 2 Sec.! Sounds for me like the $order is cached and it works faster. Is it true $order will be cached?

When it works, I only get the error at the next day. So it's very hard to reproduce that error. Is it possible to delete the cache for $order?

Example:

0 8
0 392

Hi,

We are using CACHE 2017.2.1, I would like to retrieve data from Journal for killed global. Let say we have global name ^ EMP(123) with data and also have some child nodes and it has been killed by using cache kill command for some reason and we don't know who has executed this and when. My questions are below.

1) Can we get back the data of killed global from journal files,Is it possible or not ?

0 5
0 570
Article
· Jun 4, 2020 2m read
CRUD-GLOBALS-IRISNATIVEAPI-JAVA

Hi All,

I am writing this article to tell about the application "CRUD-GLOBALS-IRISNATIVEAPI-JAVA" which is developed as part of "InterSystems IRIS Native API programming contest". The intention of this application is to manage the Globals which are in IRIS instance through java program using IRIS Native API. To use this application basic knowledge of CACHE Globals structure is required.

In this application as of now we have options to Create,View Globals and Data Search in Globals. Update and Delete will be added in next releases.

1 0
0 391

A More Industrial-Looking Global Storage Scheme

In the first article in this series, we looked at the entity–attribute–value (EAV) model in relational databases, and took a look at the pros and cons of storing those entities, attributes and values in tables. We learned that, despite the benefits of this approach in terms of flexibility, there are some real disadvantages, in particular a basic mismatch between the logical structure of the data and its physical storage, which causes various difficulties.

2 0
0 714

Introduction

In the first article in this series, we’ll take a look at the entity–attribute–value (EAV) model in relational databases to see how it’s used and what it’s good for. Then we'll compare the EAV model concepts to globals.

3 0
4 3.5K

Hi,

I like to validate some use cases and have the following question. I am relatively new to IRIS. Perhaps someone can help:

1. I have a global m[x,y,z,f] distributed across multiple sharded instances
2. I know that i can set assign computed SQL expressions to class variables using Objectscript
3. Is there a possibility in Globals API to do the same ? Set f = x + y as a computed expression in the global m[x,y,z,f] ?

a. We would want to use the global API to change f programmatically using code

0 5
0 334
Article
· Nov 11, 2019 11m read
Transactions in Global InterSystems IRIS

InterSystems IRIS supports a unique data structure, called globals, for information storage. Essentially, globals are persistent arrays with multi-level indices, having several extra capabilities—transactions, quick traversal of tree structures, and a programming language known as ObjectScript.

I'd note that for the remainder of the article, or at least the code samples, we'll assume you have familiarised yourself with the basics of globals:

6 7
1 817

Hi Developers!

Often we need to use relatively small arrays with constants, static arrays in algorithms, etc where we need to do something with each element of an array. There are several ways to deal with it in ObjectSctipt.

Previously I used to use globals, locals, PPG for this but not so long time ago figured out that %List is a way too handy.

Indeed, suppose we have an array of months and need to set up and use it in our code.

2 15
1 571

Hi all,

I am trying to create a method to count the number of entries in a global, including all subscripts. I am having a bit of trouble getting the code to make it to the second subscript. When I get to the position where my key is "Canada" and I add a comma and empty quotes to it, it returns USA as the new key when I do the order function. Is the $Order or the global not able to use a single string to represent multiple subscripts?

Here is my global structure:

2 20
0 609
Announcement
· Aug 23, 2019
New Video: Globals Quickstart

Hi Community!

Enjoy watching the new video on InterSystems Developers YouTube, recorded by @Joel Solon, InterSystems Senior Technical Trainer:

Globals Quickstart

https://www.youtube.com/embed/jJifoZq2bW0
[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]

2 0
0 481

Hi Developers!

InterSystems IRIS stores everything in globals and if we use ObjectScript classes to persist data class documents globals it uses in storage. But if you use globals for calculations, temporary storages, for special indexes or for some other purposes - how do you document it?

Possible options which come to my mind:

1. Macro

#define Array ^MyGlobal

usage:

s $$$Array(1)=1

2. Class parameter

Parameter Array ="^MyGlobal";

Usage:

0 3
0 325