Article Dmitry Maslennikov · Dec 2, 2021 3m read How secure is password? How to check if the password is strong enough, so it will not be cracked very fast? And how to make a strong password? I've developed a tool that may help with this. You can find it on OpenExchange. Install it with zpm zpm "install passwords-tool" This module will install just one class caretdev.Passwords, which contains a few helpful methods in it #Security #InterSystems IRIS Open Exchange app 6 4 0 363
Article Dmitry Maslennikov · Oct 19, 2021 3m read Monitor production with Node-RED I would like to demonstrate how you can create monitoring of Production with Node-RED, and get a dashboard like this. #Interoperability #InterSystems IRIS Open Exchange app 6 3 0 1.2K
Article Dmitry Maslennikov · Sep 9, 2021 3m read Connect Google Data Studio to DeepSee Previously I have already tried to play with Google Data Studio when I connected it to InterSystems FHIRaaS. It has quite a nice UI, with a few chart types available out of the box, it can be quite easily connected to some plain tables (stored as CSV or JSON, for instance), and gives the ability to build quite flexible analytics over it. So, I have decided to implement a new connector to InterSystems Analytics (DeepSee), with the ability to select a cube and do some queries on it. #Analytics #InterSystems Ideas Portal #InterSystems IRIS #InterSystems IRIS BI (DeepSee) Open Exchange app 3 0 0 301
Article Dmitry Maslennikov · Aug 20, 2021 6m read GitHub Codespaces with IRIS Some time ago GitHub, has announced the new feature, GitHub Codespaces. It gives an ability to run VSCode in the browser, with almost the same power as it would run locally on your machine, but also with a power of clouds, so, you are able to choose the machine type with up to 32 CPU cores and 64 GB of RAM. Looks impressive, is not it? But how it could help us, to work with projects driven by InterSystems IRIS? Let's have a look, how to configure it for us. #Best Practices #Development Environment #InterSystems IRIS #VSCode 17 3 7 917
Question Dmitry Maslennikov · Jun 9, 2021 Streams and %IsModified after %Save Found one interesting behaviour in one system with Ensemble. Some Request class has a property with type %XML.CharacterStream by design, this class is the heaviest request in the system, and with profiling journal files, it got about 40% of the file. When I counted all the sizes of such streams per one day and found that the real stored data is three times less. #Databases #Ensemble #InterSystems IRIS 1 3 0 320
Article Dmitry Maslennikov · Jun 5, 2021 2m read Google Data Studio Connector to FHIRaaS Google has one intersting tool named Data Studio. This tool allows creating some interactive dashboards, based on your data, available from the internet. It already offers hundreds of connectors to any sort of data developed by the community. As well as some amount of community developed visualizing. And most importantly, Google offers a way to develop your own connector to your data. FHIRaaS provides a REST API, and it's available from the internet. So I've decided to try to create some basic report on data stored there. And in the end, I got this. #FHIR #InterSystems IRIS for Health Open Exchange app 4 0 2 285
Question Dmitry Maslennikov · Jun 1, 2021 Mirroring Ensemble service information I have some system with heavy production. There are about 500GB of journals daily. And I'm looking at the ways, how to decrease the amount of data that appeared there. I found no way, on how to split have the journal separately for mirroring databases and for others. So, I'm thinking about moving some of the globals to CACHETEMP. So, they will disappear from journals. So, thinking about Ens.* globals, I have about 30% of data in journals just for such data. Which production data can be safely moved to CACHETEMP, with no issues for mirroring? #Interoperability #Ensemble #InterSystems IRIS 0 6 0 273
Article Dmitry Maslennikov · Apr 23, 2021 2m read Compile ObjectScript with SublimeText3 In addition to IntelliJ IDEA, it's now possible to configure SublimeText3 to be able to compile code there too. And what you will need is just the language server I did. #Development Environment #InterSystems IRIS Open Exchange app 6 1 0 364
Article Dmitry Maslennikov · Apr 23, 2021 1m read IntelliJ IDEA plugin for InterSystems Let me introduce the support of InterSystems IRIS in IntelliJ IDEA. This plugin adds Syntax Highlighting support for ObjectScript, and auto import and compile on the server after saving a changed file. It uses LanguageServer written in Rust, where was added an ability to import and compile code. #Development Environment #InterSystems IRIS Open Exchange app 4 0 0 611
Article Dmitry Maslennikov · Apr 19, 2021 2m read Grafana support for InterSystems IRIS Hello everyone, let me introduce, one of my latest projects. It is a DataSource plugin for Grafana, which can connect directly to InterSystems IRIS and gather any data (in the future). #Monitoring #SAM - System Alerting and Monitoring #InterSystems IRIS Open Exchange app 7 2 3 865
Article Dmitry Maslennikov · Mar 3, 2021 4m read Access to IRIS from Rust What do you think If I will say you, that very soon you will be able to connect to IRIS from the application written in Rust. What is Rust Rust is a multi-paradigm programming language designed for performance and safety, especially safe concurrency. Rust is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references. Rust achieves memory safety without garbage collection, and reference counting is optional. (c) Wikipedia #CaretDev #Deployment #Languages #VSCode #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 6 5 2 496
Discussion Dmitry Maslennikov · Nov 9, 2020 %session.Data with unlimited amount of indexes Let's imagine you have to implement a method with a definition /// Set value to %session.Data ClassMethod setValue(params...) As %Status { } How it should work do ..setValue("key1", "val") is equal to set %session.Data("key1") = "val" and do ..setValue("key1", "key2", "key3", "key4", "val") is equal to #Beginner #ObjectScript #Tips & Tricks #Caché #InterSystems IRIS 1 15 0 233
Article Dmitry Maslennikov · Oct 6, 2020 6m read RealWorld Application with InterSystems IRIS 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. #Angular #CaretDev #Contest #JSON #OAuth2 #React #REST API #Vue.js #InterSystems IRIS Open Exchange app 6 3 1 749
Question Dmitry Maslennikov · Sep 21, 2020 %JSON.Adaptor export to %DynamicObject aka native JSON Doing a new project with %JSON.Adaptor, unexpectedly realized that %JSON.Adaptor does not support export to native JSON. %JSONExport just outputs directly to the current device, and there are two more methods %JSONExportToString, and %JSONExportToStream. In conjunction with generating REST from swagger specification, where any generated method accepts as a result %DynamicObject, which is good. I have multiple places in my REST where I have to return JSON for an object, but I have to modify the result a bit, just extend it with some other way. #JSON #REST API #InterSystems IRIS 1 7 2 746
Discussion Dmitry Maslennikov · Sep 4, 2020 Format of stored files in Source Code Control systems The use of Source Code Control systems in development is important. And there are a few systems known in the world, like GIT, SVN (Subversion), Perforce, Mercurial. Where the most popular nowadays is the git. Using it is very useful in many cases, but mostly it depends on the code as text, which can be compared between commits, branches, or versions of releases and so on. #CaretDev #Development Environment #VSCode #Caché #InterSystems IRIS 1 0 0 281
Question Dmitry Maslennikov · Aug 16, 2020 No StructureDefinition in FHIR out of the box Just curious, why StructureDefinition is very empty on freshly configured FHIR server r4? I supposed it should contain definitions for any resources available on a particular realization? I'm used iris-fhir-template project. Is it possible to load that data, that should be correct for InterSystems FHIR realization? #FHIR #InterSystems IRIS for Health 0 2 0 184
Question Dmitry Maslennikov · Jun 8, 2020 SQL Cached queries Since IRIS 2020.1, changed the way how embedded SQL compiled. Now it compiles upon the first execution of such queries. Is there any way, I could switch that feature back to the previous behavior, or get some more control over it? #Deployment #SQL #System Administration #InterSystems IRIS 0 16 0 572
Article Dmitry Maslennikov · May 11, 2020 5m read Work with SAML in IRIS When a company is quite large and many different applications used by employees. But while those applications are mostly completely different, how to make it possible to not force users to enter credentials as many times as many applications they would like to use. The best way is to use SSO, so, it will be possible to have a portal, where users could launch any application used in a company. There are many different ways how to give access to your application by using the SSO mechanism, and some of them are: OAuth2 Kerberos SAML InterSystems already supports OAuth2 and can be quite easily deal with Kerberos. But I would like to discuss about using SAML (Security Assertion Markup Language). #Access control #Authentication #InterSystems IRIS Open Exchange app 4 2 5 1.5K
Question Dmitry Maslennikov · Apr 30, 2020 %JSON.Adaptor for streams Okay, we've got a quite useful way to very easily Import and export our objects as JSON, similar to what we already had before for XML. So, It's a %JSON.Adaptor. But the issue here I faced with, working with Stream properties. I have an example, when I generate an object, with stream binary stream properties. Export and Import the same, but getting the different resulting objects, depends on the original size of streams. #JSON #InterSystems IRIS 0 6 1 1.2K
Announcement Dmitry Maslennikov · Mar 27, 2020 VSCode-ObjectScript reached 4000 installs I am glad to say that VSCode-ObjectScript reached 4000 installs. Thanks to all of you who use it in their work. VSCode-ObjectScript is an extension for VSCode which allows you to develop InterSystems based applications on ObjectScript using the modern code editor developed by Microsoft. Choice #1 editor amongst all developers worldwide by Stackoverflow survey 2019. Some short notes about how to install and configure it you can find here. If you need any help with a migration process of your development team to VSCode, please contact us by info@caretdev.com. #CaretDev #Development Environment #VSCode #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 4 3 0 270