An exciting position has arisen for an Application Support Analyst 3rd Line, in an established support team. The role will suit candidates looking to work in the software industry who want to provide good customer service, enjoy finding solutions for problems and are enthusiastic about software and technology. http://codas.com
This package offers a utility to export an XLarge Global into a JSON object file and to show or import it again. In a previous example, this all was processed in memory. But if this is a large Global you may either experience <MAXSTRING> or an <STORE> error if the generated JSON structure exceeds available memory.
We're developing Ensemble PoC and one day our frontend developer (who doesn't have Ensemble production running) said that Populate just doesn't cut it and he needs to see the real data. He needed only one object, but the problem was - it's a big object. Still, I checked ids of everything related and wrote this command (parts omitted, but you get the idea):
In this article, I will introduce Python Flask Web Framework. Together we will create a minimal web application to connect to IRIS and get data from it.
Below you can find the steps we will need to follow:
Step 1 : Introduction to Python Flask Web Framework
Step 2 : Installation of Flask module
Step 3 : Creation of web application using Flask
Step 4 : Use of HTML Templates
Step 5 : Installation of IRIS Python Native module
Step 6 : Establishment of a connection with IRIS
Step 7 : Transferring data from IRIS to Flask and displaying it
So Let's start with step 1
Step1-Introduction to Python Flask Web Framework
Flask is a small and lightweight Python web framework that provides useful tools and features that make creating web applications in Python easier. It gives developers flexibility and is a more accessible framework for new developers since it allows to build a web application quickly using only a single Python file. Flask is also extensible and doesn’t requires a particular directory structure or complicated boilerplate code before getting started.
It is my understanding that when a routine accesses a global it is temporarily stored in global memory. While the global is within global memory, any other routine would be able to readily access the global from memory and not from disk so long as the same node is being utilized.
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.
In my article I described the work using iris.gref . As the official documetation is rather slim on the subject it was necessary to dig into it. Using the power of Python I was able to detect what I needed but was hidden. I decided to share this with you. pydoc did the magic.
There is not just one class in this package: rcc.gstream.cls but also rcc.gstreamT.cls
While rcc.gstream works with direct access to the stream globals, the *T version uses a Process Private Global (PPG) as Temporary storage. using SELECT * FROM RCC.gstreamT WHERE RCC.useT('^jpgS')=1 and similar.
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?
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.
An exciting position has arisen for a Junior Application Support Analyst in an established support team. The role will suit candidates looking to enter, or are at the start of their career in, the software industry who want to provide good customer service, enjoy finding solutions for problems and are enthusiastic about software and technology. http://codas.com
I have created a package that offers a utility to load a Global into JSON object and reverse to create a Global from this type of JSON object. Academic refers to the structure created. Each logical node of the Global is presented separately with all its descendants. Even if they don't contain any stored data.
This example demonstrates the difference you may experience when you write to Gllobals directly from Embedded Python compared to native ObjectScript.
To make this demo useful I start 2 background jobs that simply write sequentially to a dedicated global. A common control method signals for a synchronous start. Similar a common stop & view interrupts data feeding.
NewBie's Corner Session 27 Traversing A Global with $Order Part 1
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
Traversing A Global
Perhaps the most difficult concept in Caché/MUMPS is its Global Structure. This session and several that follow it deals with the Global Structure. However, just presenting the material will not guarantee your understanding of it. You must experiment with the data and concepts that are presented.
During a migration from a rather old Caché Version (2016.1) to IRIS I met the problem to migrate Streams. The difference in the storage Global is minimal It's not a big effort to do it manually for a few streams. But for some thousand streams I hope there is a tool already available. But where?
I have created a package to export a Global into JSON object file and to re-create it by reloading from this file embeddedPython refers to the new available technologies. It should be understood as a learning exercise of how to handle the language interfaces. Only Global nodes containing data are presented in the generated JSON file.
If you are waiting for the Kindle Edition of Caché and MUMPS – Part II, I must apologize. I believed what others told me that once I have a book manuscript, the Kindle manuscript will be easy. Being a programmer I should have remembered: "never assume anything." The conversion to Kindle is proving a much bigger task than I thought. But don't lose heart, I am working full time on it. I have as my goal before May 1st. But, then again, you know what they say about goals. ;) - - Paul Mike Kadow
Usually I recommend to set the global buffer (GB) as large as possible in order to maintain in memory more globals as possible. I don't know if this is a standard recommendation, but I want to discuss what should be the best buffer size for a Ensemble instance that only process messages.
Is there a way to pull a user name and password from the Credentials list that is kept in Ensemble? Right now I have a LDAP user that I have hard coded into my ZAUTHENTICATE, which I would like to get away from. I am not to familiar with settings Global, or calling them at least.