Article Evgeny Shvarov · Feb 24, 2020 10m read Dockerfile and Friends or How to Run and Collaborate to ObjectScript Projects on InterSystems IRIS Hi Developers! 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. Let's go! #Best Practices #Development Environment #Docker #Git #ObjectScript #Tutorial #InterSystems IRIS #Open Exchange Open Exchange app 10 21 6 2.3K
Article Evgeny Shvarov · Feb 21, 2020 1m read InterSystems IRIS Docker Container Image With ObjectScript Package Manager Hi Developers! Another way to start using InterSystems ObjectScript Package Manager is to use prebuilt container images of InterSystems IRIS Community Edition and InterSystems IRIS for Health Community Edition. We deploy this IRIS images on DockerHub and you can run it with the following command: docker run --rm -p 52773:52773 --init --name my-iris -d intersystemsdc/iris-community:2019.4.0.383.0-zpm Launch a terminal with: docker exec -it my-iris iris session IRIS And install zpm-module as: USER>zpm zpm: USER>install objectscript-math [objectscript-math] Reload START [objectscript-math] Reload SUCCESS [objectscript-math] Module object refreshed. [objectscript-math] Validate START [objectscript-math] Validate SUCCESS [objectscript-math] Compile START [objectscript-math] Compile SUCCESS [objectscript-math] Activate START [objectscript-math] Configure START [objectscript-math] Configure SUCCESS [objectscript-math] Activate SUCCESS zpm: USER> And use same commands for InterSystems IRIS for Health using the tag: intersystemsdc/irishealth-community:2019.4.0.383.0-zpm The images are being published on IRIS Community Edition and IRIS Community Edition for Health repositories of Docker Hub. We will update tags with every new release of IRIS and ZPM. Happy coding! #Deployment #Docker #ObjectScript #InterSystems Package Manager (IPM) #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 4 0 1 390
Article Evgeny Shvarov · Feb 15, 2020 5m read Setting Up Your Own InterSystems ObjectScript Package Manager Registry Hi Developers! As you know the concept of ObjectScript Package Manager consists of ZPM client - client application for IRIS which helps you to install packages from the registry. And the code which works "on the other side" is ZPM Registry - server which hosts packages and exposes API to submit, list and install it. Now when you install the ZPM client it installs packages from community package registry, which si hosted on pm.community.intersystems.com But what if you want your own registry? E.g. you produce different software packages for your clients and you want to distribute it via private registry? Also, you may want to use your own registry to deploy solutions with different combinations of packages. Is it possible? The answer is YES! You can have it if you deploy ZPM registry on your server with InterSystems IRIS. To make it happen you would need to set up your own registry server. How to do that? #Docker #InterSystems Package Manager (IPM) #InterSystems IRIS #Open Exchange Open Exchange app 2 1 1 1K
Announcement Evgeny Shvarov · Feb 4, 2020 InterSystems Open Exchange January 2020 Digest Hi Developers! This is the digest of new solutions and applications submitted to InterSystems OpenExchange in January 2020! New applications in January 2020 OUReports by Irina Yaroshevskaya Online reporting tool for InterSystems IRIS. Online User Reports - automatically analyzes data - generates automated reports - provides interface for ad hoc reports - conducts statistical research. Learn more on OUReports.com Samples-Aviation by InterSystems Provides sample data for use in exploring InterSystems IRIS Text Analytics capabilities. objectscript-package-example by Evgeny Shvarov ObjectScript Package example with a simplified folder structure to edit/compile/collaborate with InterSystems IRIS, Docker and Github. Reducing Readmission Risks with Realtime ML by Amir Samary Patient Readmissions are said to be the Hello World of Machine Learning in Healthcare. We use this problem to show how IRIS can be used to safely build and operationalize ML models for real time predictions and how this can be integrated into a random application. REST Business Activity Monitoring by Stephen Pisani Send IRIS Business Metrics to a REST Endpoint, or host a REST API to retrieve Business Metric values eXTreme for IRIS / Caché Example by Iryna Mykhailova A console .NET application which shows how to access, create and store globals from a .NET application using eXTreme. zpm-dockerhub by Evgeny Shvarov repository for publishing zpm enabled images for InterSystems IRIS via Github Actions #Digest #Open Exchange 0 0 0 168
Announcement Evgeny Shvarov · Feb 1, 2020 InterSystems Developers Community Release, February 2020 Hi Developers! In January we introduced into Developers Community: New postings type - Discussions; No more answers - only comments-replies; bug fixes and small improvements. See the details below. #Release #Developer Community Official 0 0 0 229
Announcement Evgeny Shvarov · Jan 31, 2020 Developer Community 2019 Survey results Hi Developers! Thank you for participating in the 2019 DC survey! I'd love to share some results and answer some questions which were raised in the survey. NPS 54 You give us 54 - which is really cool! Thank you for your trust, we'll try to prove it this year again! #Developer Community Official 3 0 0 289
Article Evgeny Shvarov · Jan 25, 2020 4m read Working with Several ObjectScript Projects simultaneously Using VSCode and Docker in InterSystems IRIS Hi Developers! "objectscript.conn" :{ "ns": "IRISAPP", "active": true, "docker-compose": { "service": "iris", "internalPort": 52773 } I want to share with you a nice new feature I came across in a new 0.8 release of VSCode ObjectScript plugin by @Dmitry Maslennikov and CaretDev. The release comes with a new configuration setting "docker-compose" which solves the issue with ports you need to set up to make your VSCode Editor connect to IRIS. It was not very convenient if you had more than one docker container with IRIS running on the same machine. Now, this is solved! Read below how it works now. #Best Practices #Docker #ObjectScript #InterSystems IRIS #Open Exchange #VSCode Open Exchange app 5 8 3 822
Article Evgeny Shvarov · Jan 24, 2020 3m read The Simplified ObjectScript Source Folder Structure For Package Manager Hi Developers! 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 #Deployment #ObjectScript #InterSystems Package Manager (IPM) #InterSystems IRIS #Open Exchange Open Exchange app 6 3 1 899
Discussion Evgeny Shvarov · Jan 22, 2020 Convert all answers to comments, mark comments as accepted for questions Hi Community! We plan to get rid of the answers. Convert them all to comments, rename comments to replies and make the option to mark comments-replies as accepted. Profit: you don't bother what to post: answer or comment. You can accept comments as answers if you search for a comment you don't need to search in answers too. What do you think? #DC Feedback 1 7 0 241
Article Evgeny Shvarov · Jan 18, 2020 2m read Installing Samples BI module with ObjectScript Package Manager Hi Developers! Many of you are looking for samples on how to work with InterSystems IRIS Analytics, formerly known as DeepSee. There is a Samples BI module with Patients and Holefoods examples which is available on Github with source code. The installation steps are clear but take time. Recently we added the option to run IRIS Community Edition containers with ObjectScript Package Manager (ZPM) on board. This simplifies the installation to the "run-one-command" step for the modules submitted to ZPM Community Registry. And thus we can benefit the Samples BI installation with ZPM. And here is how you can run it on your laptop. Let's go! #Deployment #ObjectScript #InterSystems Package Manager (IPM) #InterSystems IRIS #InterSystems IRIS for Health #InterSystems IRIS BI (DeepSee) #Open Exchange Open Exchange app 1 1 0 399
Article Evgeny Shvarov · Jan 17, 2020 2m read Using ObjectScript Package Manager With InterSystems IRIS and IRIS for Health Docker Containers Hi Developers! Recently we published on Docker Hub images for InterSystems IRIS Community Edition and InterSystems IRIS Community for Health containers. What is that? There is a repository that publishes it, and in fact, it is the same container IRIS Community Edition containers you have on official InterSystems listing which have the pre-loaded ObjectScript Package Manager (ZPM) client. So if you run this container with IRIS CE or IRIC CE for Health you can immediately start using ZPM and install packages from Community Registry or any others. What does this mean for you? It means, that anyone can deploy any of your InterSystems ObjectScript application in 3 commands: run IRIS container; open terminal; install your application as ZPM package. It is safe, fast and cross-platform. It's really handy if you want to test a new interesting ZPM package and not harm any of your systems. Suppose, you have docker-desktop installed. You can run the image, which wiil pull the latest container if you don't have it locally: #Docker #InterSystems Package Manager (IPM) #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 1 1 0 321
Article Evgeny Shvarov · Jan 15, 2020 3m read Using Invoke Element to Call Class Methods in ObjectScript Packages Hi Developers! Often when we install a code package we want to make some post-install settings, e.g. call to a method, set up a configuration file. This article describes how to do this with the ObjectScript Package Manager. To make any post-install calls you need to add <Invoke> elements into <Invokes> tag to the module.xml. Each <Invoke> element can have nested <Arg> elements if you want to pass params to the method: #ObjectScript #InterSystems Package Manager (IPM) #Tutorial #Open Exchange Open Exchange app 2 0 1 557
Article Evgeny Shvarov · Jan 13, 2020 4m read How to Make Open Exchange Helpful For Your InterSystems Application Hi Developers! In previous articles, we spoke on how to publish your application. But how to make Open Exchange work its best for your application? What do you want for your application on Open Exchange? It is attention (traffic) and downloads. Let's talk about how Open Exchange can deliver this. #Tutorial #Open Exchange 0 0 0 315
Article Evgeny Shvarov · Jan 12, 2020 2m read InterSystems Open Exchange: How to Publish a New Release of Your Application? Hi Developers! Suppose you published your application on Open Exchange with version 1.00. And then you've added a new outstanding feature and you make a new release. You can also make a new release of your application on Open Exchange. Why make releases on Open Exchange? This the way for you to highlight the new features of your application. When you publish a new release the following happens: Release notes appear on the News page of Open Exchange The version of your app changes Version History tab is updated #Tutorial #Open Exchange 0 0 0 248
Article Evgeny Shvarov · Jan 11, 2020 2m read How to Setup a Company on Open Exchange Hi Developers! Many of you work in the companies which produce tools, solutions, frameworks on InterSystems Data Platforms. You can list your Company on Open Exchange to have an option to publish tools, solutions, and frameworks on behalf of your Company: This article describes how to do that. #Tutorial #Open Exchange 0 0 0 311
Article Evgeny Shvarov · Jan 10, 2020 3m read How to Publish an Application on InterSystems Open Exchange: Part 2 Hi Developers! This post describes how you could publish your InterSystems application on Open Exchange. What is the InterSystems application? It could be anything, which is built with InterSystems data platforms or to help work with InterSystems data platforms: InterSystems IRIS, InterSystems IRIS for Health, InterSystems HealthShare, InterSystems Ensemble and InterSystems Caché. This could be tools, frameworks, adapters, examples and business solutions. Why publish on Open Exchange? InterSystems Open Exchange is an "App Central" for the solutions in InterSystems. It's the first place where the developer goes to look for tools, frameworks, and examples on InterSystems IRIS. And Open Exchange brings the added traffic to your solution which could be converted into leads. We are having a set of business development tools for published Open Exchange applications. This definitely makes your InterSystems application more noticed. Submitting an application Suppose you have a library with open source published on Github which you want to publish on Open Exchange. For the purpose of a demo, I'll fork this remarkable project of @Peter Steiwer ObjectScript-Math which I forked and renamed to object script-super-math. #Tutorial #Open Exchange 1 2 0 350
Article Evgeny Shvarov · Jan 9, 2020 2m read InterSystems Open Exchange: How to use it? Hi Developers! Recently we updated the design of Open Exchange and I want to describe how you can find the solutions you are interested in. Applications Catalog The first thing you see is the catalog of published applications, tools, and solutions. #Release #Tutorial #Open Exchange Open Exchange app 0 0 0 381
Announcement Evgeny Shvarov · Jan 3, 2020 InterSystems Open Exchange December 2019 Digest Hi Developers! This is the digest of new solutions and applications submitted to InterSystems OpenExchange in December 2019! New applications in December 2019 ObjectScript-Math Math library for InterSystems ObjectScript Author: @Peter Steiwer , OEX Profile JSONExportManyToMany Sample for %JSONExport against a class with Many to Many Relationship Author: @Peter Steiwer , OEX Profile InterSystems ObjectScript zpm-registry Server-side hosting service for ObjectScript packages installable via ZPM client. Author: @Evgeny Shvarov, OEX Profile Publisher: InterSystems Corporation SUDOKU SUDOKU game written in InterSystems ObjectScript Author: @Robert Cemper, OEX Profile Portlet Samples Sample DeepSee Portlets showing different ways to implement custom widgets Author: @Peter Steiwer , OEX Profile Advent of Code ObjectScript Docker Template A simple template to craft Advent of Code with ObjectScript in InterSystems IRIS Author: @Evgeny Shvarov, OEX Profile Ingestion Speed TestShows how IRIS can ingest thousands or millions of records per second while allowing for queries on the same cluster. Works on a single IRIS instance or on an IRIS cluster on the cloud. Author: @Amir Samary, OEX Profile John Conway's Game of Life With this class, you could simulate Game of Life world that John Conway invented in 1970. We can see how John Conway universe evolves in our terminal Author: @Jose-Tomas Salvador, OEX Profile #Digest #Open Exchange 2 0 0 143
Announcement Evgeny Shvarov · Jan 2, 2020 InterSystems Developers Community Release, January 2020 Hi Developers! Happy New Year! And I'm pleased to share the notes on the new DC Release. What comes? New design for Articles Voice over for Articles Format painter feature for editor New private messages informer, Github profile and other minor enhancements See the details below, here we go! #Release #Developer Community Official 1 2 0 292
Question Evgeny Shvarov · Dec 26, 2019 How to Make One Docker Container See The Web Service of Another One? Hi Developers! I stuck with one interesting problem. For example, let's use this template repo. If you build this container A using docker-compose and then run the container it exposes REST-API which is available on: localhost:52773/person/all The question is how to make this REST-API accessible from another docker container B running on the same machine? E.g. with IRIS 2019.4 Community from this repo? The problem is that for the second container localhost it's something which belongs to container B. I think I need to set up a network between containers somehow. E.g. using docker-compose. But is there any simpler way? #Containerization #Docker #REST API #InterSystems IRIS 0 2 0 311