If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).
I am pleased to announce the availability of InterSystems Container Registry. This provides a new distribution channel for customers to access container-based releases and previews. All Community Edition images are available in a public repository with no login required. All full released images (IRIS, IRIS for Health, Health Connect, System Alerting and Monitoring, InterSystems Cloud Manager) and utility images (such as arbiter, Web Gateway, and PasswordHash) require a login token, generated from your WRC account credentials.
Let's imagine if you would like to write some real web application, for instance, some simple clone of medium.com. Such sort of application can be written using any different language on the backend side, or with any framework on the frontend side. So many ways to do the same application, and you can look at this project. Which offers a bunch of frontends and backends realizations for exactly the same application. And you can easily mix them, any chosen frontend should work with any backend.
Let me introduce the same application realization for InterSystems IRIS on a backend side.
In this 3-part series of articles, is shown how you can use IAM to simply add security, according to OAuth 2.0 standards, to a previously unauthenticated service deployed in IRIS.
In the first part, was provided some OAuth 2.0 background together with some IRIS and IAM initial definitions and configurations in order to facilitate the understanding of the whole process of securing your services.
Over the last couple of weeks the Solution Architecture team has been working to finish off our 2019 workload: this included open-sourcing the Readmission Demo that was brought to HIMSS last year, so we could make it available to anyone looking for an interactive-way of exploring the tooling provided by IRIS.
Earlier this year, the AppS.REST package was released. AppS.REST is a framework for easily exposing existing persistent classes in IRIS as REST resources. AppS.REST-enabled classes support CRUD operations with little effort from the developer, bridging the gap between persistent data in IRIS and data consumers, such as an Angular front end application.
But IRIS classes are much more than just a definition for loading and saving individual records! This article aims to highlight a few ways to leverage the power of IRIS in your REST applications. Using the Phone.Contact sample app, we'll look at out-of-the-box query support, use of class queries and finally ObjectScript methods.
According to IDC, more than 80% of information it is NoSQL, especially text into documents. When the digital services or applications not process all this information, the business lose. To face this challenge, it is possible use OCR technology. OCR uses machine learning and/or trained image patterns to transform image pixels into text. This is important, because many documents are scanned into images inside PDF, or many documents contains images with text inside. So OCR are an important step to get all possible data from a document.
I use an excellent service to collect time programming. Is the WakaTime: https://wakatime.com/.
This service integrate with main IDE tools, including VSCode and collect time spent by project, language, IDE and code stats at general. See my last 7 days:
These information help me to organize and balance my targets by project.
Triggered by a question placed by @Kurro Lopez recently I took a closer look at the indexing of collections. My simple test setup is a serial class and a persistent class with a list of this serial.
Preview releases are now available for the 2020.4 version of InterSystems IRIS, IRIS for Health and IRIS Studio. As this is a preview release, we are eager to learn from your experiences with this new release ahead of its General Availability next month.
Recently we released the updated version 0.1.3 of ObjectScript Package Manager (ZPM) which comes with the support of simplified ObjectScript sources folder structure.
What 'simplified' does mean?
Before 0.1.3 ZPM expected the following structure:
/src
---/cls - for ObjectScript classes
---/cls/package_name/class_name.cls
---/cls/package_name/class_name2.cls
---/mac - or Mac ObjectScript routines
---/mac/package_name/mac_routine.mac
---/mac/package_name/mac_routine2.mac
---/inc - for ObjectScript macro include files.
---/inc/package_name/include_file.inc
Many of you publish your InterSystems ObjectScript libraries on Open Exchange and Github.
But what do you do to ease the usage and collaboration to your project for developers?
In this article, I want to introduce the way how to introduce an easy way to launch and contribute to any ObjectScript project just by copying a standard set of files to your repository.
The Command extension enables the execution of Multi-Line Commands from Terminal prompt.
Terminal Multi-Line Input with Edit, Insert, Delete, Print extension for IRIS and Caché IRIS and Caché have just single command lines in terminal available This Multi-Line Commands Editor also will execute the Multi-line Commands. In addition, it is independent of access to %SYS and can be installed in any namespace
Special thanks to @Jeffrey Drumm who inspired me to this and supported me as beta-tester.
Moving over from Studio To VSCode like many other will do now the ObjectScript plugin reached version 1.0, I noticed I was missing some items in the objectscript explorer. For example when creating a Rest API using the spec first approach, 3 classes are generated, an application.impl, application.disp and application.spec class, but the disp class was missing in the Object Explorer.
As the application.disp is a generated class, for showing these classes you need to turn this on by hitting the switch on the object explorer: