I'm trying to develop a program calling Cache REST service twice with Cors. The first is fetching some information of a patient with GET request, the second is using obtained information to call another REST service(implemented in the same class though) with POST to perform other tasks.
Sometimes global mapping of the same globals can be defined in different ways. E.g., I need to define it for 3 globals ^qAuditC, ^qAuditLog, ^qAuditLogC from the same database named APP-NOJOURN. Which approach should be better from the performance point of view?
1) qAudit* => APP-NOJOURN (one record in global mapping table) or
2) qAuditC => APP-NOJOURN qAuditLog => APP-NOJOURN qAuditLogC => APP-NOJOURN (three records in global mapping table)
InterSystems Data Platform includes utilities and tools for system monitoring and alerting, however System Administrators new to solutions built on the InterSystems Data Platform (a.k.a Caché) need to know where to start and what to configure.
This guide shows the path to a minimum monitoring and alerting solution using references from online documentation and developer community posts to show you how to enable and configure the following;
Caché Monitor: Scans the console log and sends emails alerts.
System Monitor: Monitors system status and resources, generating notifications (alerts and warnings) based on fixed parameters and also tracks overall system health.
Health Monitor: Samples key system and user-defined metrics and compares them to user-configurable parameters and established normal values, generating notifications when samples exceed applicable or learned thresholds.
History Monitor: Maintains a historical database of performance and system usage metrics.
pButtons: Operating system and Caché metrics collection scheduled daily.
Remember this guide is a minimum configuration, the included tools are flexible and extensible so more functionality is available when needed. This guide skips through the documentation to get you up and going. You will need to dive deeper into the documentation to get the most out of the monitoring tools, in the meantime, think of this as a set of cheat sheets to get up and running.
I have to make a daily task (Job) which will run (7 am to 7 pm) in a day at an interval of 3 hours. Timings are as (7:00 am, 10:00 am,13:00 pm,16:00 pm,19:00 pm). But at each time when task will run i have to set a variables as per below condition
Sample:
1) If task run at 2019-03-19 07:00 am in morning
I have to set two variables (start and end) whose value will become like this
(set starttime= 2019-03-09 07:00:00.00 and set endtime=2019-03-09 10:00:00.00)
Lets imagine that there's a process that locks an entry of a gived domain, in my example the ID 2 of the table User.tApplications and using an exclusive lock. Additionally the error handling is managed by a $ETrap routine wich will look for error data in order to log it
I have a rights problem when giving a user permission to perform some select queries on particular tables. So I have created a user with the following rights.
So this all works well. No problem so far. But the customer is using a program where you can easily build visually the query by selecting the table, choose the right colums etc. So the problem we have is when I give the user the Role %All the tables are shown.
After compilation of routine .int file is not generated and toggle breakpoint is also not visible for that routine.
It is showing error #5001 Editing of INT file is not allowed. How can I resolve this ?
Just curious to know about the pros and cons of Parent/Child Vs One/Many.
We do use a bit of both. One big reason we use Parent child is we feel if we delete one global, it gets rid of all child data too and all parent child data is stored in one global. Much easier to manage.
In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:
Git 101
Git flow (development process)
GitLab installation
GitLab Workflow
Continuous Delivery
GitLab installation and configuration
GitLab CI/CD
In the previous article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software. Still, our focus was on the implementation part of software development, but this part presents:
GitLab Workflow - a complete software life cycle process - from idea to user feedback
Continuous Delivery - software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently.
I'm connecting to a remote device using TCP. It has a binary protocol.
set host = ""
set port = ""
set io = $io
set device = "|TCP|7000"
set timeout = 2
open device:(host:port:"M")
use device:(/IOT="RAW")
read string:timeout
use io
zzdump string
The problem is when reading from it, I get a 0A (also known as 10 or \n or linefeed) byte, which terminates the read.
I have an existing table, and I've added an array property to it that I need to populate. The issue is that I can only use SQL to insert into the table due to access reasons.
For example:
Class Package.Tables.Person Extends %Persistent { Property Name As %String(MAXLEN = "");
Property Address As Array of Package.Datatypes.Address; }