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 326
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 217
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 765
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.8K
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.4K
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 300
Article Dmitry Maslennikov · Mar 24, 2020 2m read BlocksExplorer map generator I hope you already know one of my projects Cache Blocks Explorer. I've recently renamed it to Blocks Explorer. For the recent contest, I've added a new feature, the ability to generate a static picture of any Cache or IRIS database. Like below. Where unique globals have a unique color. This is how looks like inside 9.5GB database. Where 1 pixel represents one block. By link on image you will get even bigger image, with more detalization. #Databases #System Administration #Caché #InterSystems IRIS Open Exchange app 2 6 0 368
Question Dmitry Maslennikov · Jan 16, 2020 Custom Login Page for IRIS When I tried to migrate one of ZEN applications to IRIS from 2018.1 I'm faced with the issue with Login Page, in this case used some ZEN page, completely customized. But when a user tries to get access, he gets the error like below. The requested URL /csp/user/User.Login.cls was not found on this server. I tried to test it with a fresh just created login page class Class User.Login Extends %CSP.Page { ClassMethod OnPage() As %Status { &html<<h1>Hello</1>> Quit $$$OK } } Set it to /csp/user application as Login page, and #Access control #CSP #InterSystems IRIS 0 4 1 913
Question Dmitry Maslennikov · Jan 12, 2020 Timeout for $zf In one of the projects, when we have ECP with 10 ECP application servers, from time to time we faced the issue when our journals fail to purge, due to open transactions. While we have about 100-150 GB journal files per day, it quite quickly became a big issue, and with mirroring a very big issue. Mostly we just rebooted our ECP Data server, so it searches rollbacks any transactions, but such process is too long, may steal a few hours. I did not find any way, how to get the list of the open transactions from one place from ECP Data Server. We just migrated our Data server to 2018.1. #Database Transaction Processing #ECP #System Administration #Caché #Ensemble #InterSystems IRIS 3 4 0 934
Announcement Dmitry Maslennikov · Sep 9, 2019 VSCode ObjectScript release 0.7.13 Hi all, it's finally time for the next release of VSCode ObjectScript extension. So what's new in this release.Debugging support, for classes, routines and attach to a running processFiles in Server Explorer now can be editedAdded more details about connection errorsImprovements in Server Explorer build treeFixed memory leak when exporting large amount of filesServer view can be opened in explorer as virtual file system with schema `isfs://`Option to suppress popup information message about successful compile, ("objectscript.suppressCompileMessages": true)Export, addCategory setting have more flexibility in naming category for exported itemsFormatting for commands and functions, as Word, UPPER or lowerSome improvements in syntax highlightingSome other small fixes #CaretDev #Development Environment #ObjectScript #VSCode #Other Open Exchange app 10 16 3 1.6K
Article Dmitry Maslennikov · Jul 13, 2019 6m read Dealing with a disk space in Docker I wanted to write it as a comment to article of @Evgeny Shvarov . But it happens to be so long, so, decided to post it separately. I would like to add a bit of clarification about how docker uses disk space and how to clean it. I use macOS, so, everything below, is mostly for macOS, but docker commands suit any platform. #Best Practices #CaretDev #Cloud #Containerization #Docker #System Administration #Caché #InterSystems IRIS 6 6 3 7K
Announcement Dmitry Maslennikov · Jun 10, 2019 VSCode-ObjectScript release 0.7.11 Hi all, I have released the latest version of VSCode extension for ObjectScript already a month ago, and finally a time for the info about this new release. So, what's new in the release: What's new in this version added export setting "objectscript.export.addCategory" if enabled uses the previous behaviour, adds category folder to export folder, disabled by default added Server actions menu, by clicking on server info from status bar. Open Management portal, Class Reference and toggle connection. Class Suggestion in ##class, Extends, As, CompileAfter, DependsOn, PropertyClass $SYSTEM suggestion by Classes from %SYSTEM Import and compile folder or file by context menu in File Explorer Server Explorer, now possible to open any other namespace Macros suggestion For details how it works now, look further. #CaretDev #Development Environment #ObjectScript #VSCode #InterSystems IRIS #Other Open Exchange app 9 14 5 978
Article Dmitry Maslennikov · Jun 10, 2019 2m read GitHub now supports ObjectScript Hey developers, I have great news for you. A few days ago, GitHub was updated with the latest version of linguist project, which is being used to recognize source code types in repositories. It helps to determine which programming language had been used in every file of the repository. Repository statistics section shows the results of this module work. Also, you can search across all available GitHub repositories for any chosen language. #Development Environment #GitHub #Languages #ObjectScript #Other 6 3 1 779
Article Dmitry Maslennikov · Jun 4, 2019 1m read Favourite editor for programming There are many projects which work on InterSystems products, and they are not always written only in ObjectScript. I think some of you working with different programming languages and already have some experience with other editors, and hope you already have a favourite online editor. My current choice is VSCode, whereas you may already know I have added an extension to support ObjectScript. #Development Environment #Other 1 8 0 746
Announcement Dmitry Maslennikov · May 31, 2019 VSCode Extension for ObjectScript 1000 installs My extension has recently reached first 1000 installations. And thank you all of you, who use it and fill issues and even contribute to the project. #CaretDev #Development Environment #Other Open Exchange app 9 4 2 449
Question Dmitry Maslennikov · May 6, 2019 Cross Caché/IRIS development Well, we now have two different platforms Caché and IRIS. With so many changes, that it makes so many difficulties to have the same sources for both platforms. I'm not arguing about the reasons for it. Some of the changes are really reasonable.It's good when I can import code from Caché to IRIS and get it worked after all background job was done. In Caché we have %CacheStorage type used for Storages. In IRIS it automatically converts to %Storage.Persistent. So, If I develop on IRIS, I will have incompatible sources for Caché. #Development Environment #ObjectScript #InterSystems IRIS 0 6 0 533
Article Dmitry Maslennikov · Mar 20, 2019 3m read Behind the scene of isc-tar project and story about Continuous Integration using GitHub Actions This is a continuation of my story about the development of my project isc-tar started in the first part. Just having tests is not enough, it does not mean that you will run tests after all changes. Running tests should be automated, and when you cover all your functionality with tests, everything should work well after any change in any place. And Continuous Integration (CI) helps to keep the code and deployment procedure with as fewer bugs as possible and automates the routine procedures, like publishing releases. I use GitHub to store the source code. And some time ago GitHub started to work on its own CI/CD platform and named it GitHub Actions. It is not widely available, yet. You have to be signed as a beta tester for this feature, as I did. GitHub Actions uses quite a different way how to deal with a build workflow. What is important that Github Actions allows to use Docker, and it’s quite easy to customize available actions. And interesting that GitHub Actions is really much bigger than any classic CI like we have in Travis, Circle or Gitlab CI and so on. You can find more in the official documentation. #Containerization #Continuous Integration #Development Environment #DevOps #Docker #GitHub #InterSystems IRIS 3 0 1 667
Article Dmitry Maslennikov · Mar 18, 2019 4m read Behind the scene of isc-tar project I am just recently announced my project isc-tar. But sometimes it is not less interesting what’s behind the scene: how it was built, how it works and what happens around the project. Here is the story:How to develop this projectHow to test itHow to release new versions for publishingAnd finally how to automate all aboveContinuous integrationSo, I would like to tell all about it. #Development Environment #DevOps #Docker #VSCode #InterSystems IRIS 2 0 2 574
Article Dmitry Maslennikov · Mar 15, 2019 2m read Tar compress tool in ObjectScript I'm sure most of you have already familiar with the possibility of using GZIP in InterSystems products. But, the problem is that GZIP working only with one file or stream, and it does not support folders. When you work in Unix systems, there is a possibility how to solve it, using tar compress tool which goes with every Linux system from out of the box. But what to do if you have work on Windows as well, which does not have it. I am pleased to offer you my new project isc-tar, which will help you do not care about operating system, and deal with tar files anywhere. #Development Environment #Tips & Tricks #Tools #InterSystems IRIS #Open Exchange Open Exchange app 6 1 4 858
Question Dmitry Maslennikov · Mar 6, 2019 Increment value in property with SQL Let's imagine you have only SQL. You need some table where you should increment value in some property when you update this line. We have the table CREATE TABLE "test" ( "identifier" VARCHAR(200) NOT NULL, "value" INTEGER, PRIMARY KEY ("identifier") ) #SQL #Caché 1 6 0 734