For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code?
This article focuses on design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS support and authentication management will be discussed, along with various tips and tricks and best tools for all stages of REST API development. Learn about the open-source REST APIs available for InterSystems IRIS Data Platform and how they tackle the challenge of ever-increasing API complexity.
The article is a write-up for a recent webinar on the same topic.
We have few queries which are simple selects . For simplicity let's say there is a query that joins two tables and gets few columns and both tables have no indexes.
Select Tab1.Field1, Tab2.Field2 From Table1 Tab1 Join Table2 Tab2 On Tab2.FK = Tab1.PK
When we do query plan for this it shows approx 6 million, however if we make a simple adjustment to the query
I am trying to install Cache version 2018.1.0.184.0 on a Windows 10 System and i keep running into Permission errors during installation. I am getting
"Error 1406 Could not write value to key \SOFTWARE\Intersystems\\Classes\CLSID\{D11481CD-3B24-42E1-A20A-D179CDB6BEC5}\InstallCount"
I am signed in as an Administrator, i am running the installer as an administrator and i have edited permissions in the Registry to the referenced keys and i still can't get this to install. Has anyone run into this before and have some advice? I am pulling my hair out over here.
This is a lesson learned, which I would like to share with community.
Recently I ran into an issue, where I was using %ConstructClone and it kept cloning extra records, which were not needed. The record for which I was trying to run a clone had many-to-one relationships.
The solution to this issue was using param -1. If you run %ConstructClone(-1) it will not clone relationships, but rather just clone single oref as desired in this case.
I hope this information helps someone who is working with similar records.
Working on a project to call a web service and the soap header has custom header elements that need to be signed. i reviewed the %soap.inc and didn't see any appropriate macro
when I look into the "sql statements" ( sql page of the management portal ) I have lots of old statements with a lot of them frozen. many of them are %sqlcq routines (I believe these are the SLQ's I run when testing/running random SQL queries in the sql page. )
I can clearly see where I can click on an individual query and untick an individual query to unfreeze it. or delete it. but thats a painful slow process. I can't see anywhere to delete/change multiple queries
I would like a REST client to be able to send a custom header with the http request, for example "APPLICATION-ID".
This can be seen in the CSP gateway trace but I have tried using %request.GetCgiEnv("HTTP_APPLICATION-ID") in various formats and parts of the classes but cannot work out where I can get this. Documentation says this should work but is for normal CSP pages.
In the previous part of this series, we saw how to include data in a portlet from within DeepSee. This used the built in data controller. In this part, we are going to be pulling in data from outside of DeepSee. This will include both information from within InterSystems IRIS and from the OS.
Why use this?
This is useful if you would like to create a dashboard that only contains information about your system. It is also useful if you want to display data about your system along side data that you have stored in DeepSee.
Some may think it's a strange / daft idea, but just today the Raspberry Pi folks have announced that they've now sold more than 10 million of them..and counting. That's a huge potential marketplace, and a great platform for getting people to hear about Cache and try it out. Given its focus on the education sector, another great way of getting heard about.
When using Related Cubes in InterSystems IRIS BI, cubes must be built in the proper order. The One side must be built before the Many side. This is because during build time for the Many side, it looks up the record on the One side and creates a link. If the referenced record is not found on the One side, a Missing Relationship build error is generated. The One side is going to be the independent side of the relationship, AKA the side of the relationship that is referenced by the Many side or the Dependent cube. For example: Patients contain a reference to their Doctor.
Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.
ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.
This library will continue to grow, so give it a try and give your feedback!
Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!
I've writing a short classmethod that extracts an HL7 message from EnsLib.HL7.Message by ID and returns it as a stream. It's to be called as a stored procedure via ODBC (or ADO.NET) to fetch messages into an application.
I'm not using an SQL query in the classmethod itself, but it will be called as part of an SQL query via ODBC, but I can't figure out how to set a custom SQLCODE and error text from within the classmethod that propagates back to the external application. I thought %sqlcontext would be useful for this, but it doesn't appear to do anything. Here's the class:
I use the 2012 version of the caché, and I need to export data in an Excel file, the point that seems to complicate is to use the dropdown list in the cell and then trigger a validation if I exceed an interval of two values.
Intersystem Cache is a commercial operational database management system from intersystem, used to develop healthcare management, banking and financial, government sectors software applications.
Is there a way to get a good performing index on a date field? I have tried various date property indexes and the query plan is always in a pretty high range. Below are query plan result values I have observed:
StartDate > '2019-12-01' --cost = 699168 StartDate = '2019-12-21' --cost 70666 StartDate between '2019-12-21' and '2019-21-28' --cost = 492058
I am working on Files where I have to compare contents of two files and display result.
e.g Suppose file1 contains data in Name and Roll form and file2 contains data in name and class form, so it should compare name from file1 and file2 and display those matching data(Name,Roll,class).
I have piece of idea about file system so any help would be appreciated.
Thanks in advance.
I have written a procedure with the help of object scripting to export data to a csv file. There is more data than the csv limit.
Can anyone please tell me how to get the row count of csv file using object scripting, so that I can write an if condition and write to a second csv file.
Please find the code writing to the csv given below.
In the previous part of this series, we saw how to reference a web page that will enhance our dashboard experience. Now we will look into referencing data that is already in our cubes.
In this example, we will be referencing the controller object and we will be extracting data from it. This data will then be displayed as text in our Dashboard. In Part 5, we will show how to incorporate this data into other charting libraries.
I am trying to use the %ListOfDataTypes functionality, but am hitting a limit of 50 characters for each entry, when being used in a Web Service. Is there a way to increase the number of characters that can be used in the %ListOfDataTypes through a web service?