Clear filter
Announcement
Anastasia Dyubaylo · May 4, 2022
Hi Community,
We're pleased to invite all the developers to the upcoming InterSystems Grand Prix Contest 2022 kick-off webinar!
We'll share the details of our mega Grand Prix Contest 2022 and describe how you can win up to $22,000 in prizes! Unlike our other InterSystems Developer Community contests, this contest allows you to use any element of our data platform - IntegratedML, Native API, multi-model, Analytics and NLP, Open API and Interoperability, IKO, etc - in your project.
In this webinar, we'll talk about the topics to expect from participants and show you how to develop, build and deploy applications on InterSystems IRIS data platform.
Date & Time: Monday, May 9 – 11:00 AM EDT
Speakers: 🗣 @Alexander.Woodhead, InterSystems Technical Specialist🗣 @Robert.Kuszewski, InterSystems Product Manager🗣 @Jeffrey.Fried, InterSystems Director of Product Management🗣 @Dean.Andrews2971, InterSystems Head of Developer Relations🗣 @Evgeny.Shvarov, InterSystems Developer Ecosystem Manager
We will be happy to talk to you at our webinar in Zoom.
✅ Register for the kick-off today!
Hey everyone,
The kick-off will start in an hour! Please join us in Zoom.
Or enjoy watching the stream on YouTube: https://youtu.be/hjFtYog-FQQ Hey Developers,
The recording of this webinar is available on InterSystems Developers YouTube! Please welcome:
⏯InterSystems Grand Prix Contest Kick-off Webinar 2022
Announcement
Anastasia Dyubaylo · May 26, 2022
Hi Community,
We're pleased to invite you to the upcoming webinar in Spanish called "SAM: Monitoring InterSystems IRIS with Grafana and Prometheus".
Date & Time: June 15, 4:00 PM CEST
Speaker: @Pierre-Yves.Duquesnoy, Sales Engineer, InterSystems Iberia
The webinar is aimed at system administrators who want to monitor one or some InterSystems IRIS platforms and its applications at a glance. It is also aimed at DevOps who have to add application or interoperability metrics to the monitoring.
SAM (System Alerting & Monitoring) is the perfect tool to monitor InterSystems IRIS data platforms. It offers an overall picture of the systems to be monitored, and facilitates alert management in any monitored systems.
During the webinar, we'll show SAM architecture and its installation; and we'll start to monitor different InterSystems IRIS clusters. We'll also extend the existing metrics to monitor other application metrics.
➡️ Register today and enjoy!
Announcement
Riccardo Andriuzzi · May 27, 2022
MSC Mediterranean Shipping Company continues to invest and lead the world container market with ships, an extensive container fleet, intermodal and dedicated staff for its customers. The Company’s evolution to its leading brand needs consistency to market, and therefore it is paramount to standardise data, processes and management information. Established in 1998, MSC Technology provides development and technology support for the MSC transportation divisions and is composed by highly accomplished technology professionals. Today, with a team of 1000 plus, MSC Technology provides the best, most interactive maritime software solutions available in the industry. With an emphasis on equal employment opportunities and a collaborative approach to growing our expertise and solving complex problems, we are a trusted strategic partner with a great journey ahead of us.
Intersystems Developer
Under the governance of the internal program, the Intersystems developer designs, develops and helps the operations of the Event Processing solution based on the IRIS Data Platform. MSC Logistics department is the main customer of this platform. It’s applicable to computing of the equipment activities and their corresponding message streams. The main area of design and development regard data integration and validation through predefined business rules and processing to Database. Subsequent integration technologies will be required to complete the process automation. The developer will work with the global teams (India, USA, Europe), with external partners / vendors and in coordination with the in-place Community of Practices to ensure the coherence of the development with the program architecture. The developer will need to deliver several work packages with local/offshore resources. The developer will play a key role during the release process in coordination with both the development teams and the Application operational teams. The developer will need to understand a) business and application requirements, performance, upgrade and maintainability requirements, and b) existing components available on the market and within MSC, to provide his expertise in a proactive manner to the projects teams.
Key Responsibilities
Design, develop, document and maintain his/her work packages with transparency
Enforce non-functional requirements such as reliability and performances in his/her project designs
Work closely with the development teams and existing system providers to provide and design solutions
Ensure knowledge transfer with development and operation teams for the corresponding platforms
Problem isolation and resolution, with expectation that continuous improvement and enhancements are implemented
Perform and coordinate development and operation across our multi-regions environment
Work with external 3rd parties to integrate the technologies
Additional Responsibilities
Identify opportunities for integration technical components
Advise, promote, coach, coordinate the use of these tools
Actively participate in the solution identification; review, assess and prepare decisions to be taken by Program’s Management and Architecture.
The developer ensure that all Projects and Applications effectively use technical components as per the validated Technical Architecture Design
Applications performance (response time and availability) will be paramount to the success of the Program. Thus, the developer is to propose and lead the setup of a specific governance model to ensure that the right emphasis and focus is given to performance related topic.
Participate in the building of applications development standards, best practices repository, and control mechanisms.
Build technical components user guides for other IT and Program’s Teams
Contribute to the development of training material and processes documentation
Qualifications and Experience
At least 4 years’ experience with InterSystems technology (IRIS/CACHE) with experience in the following subjects: COS (cache object script) & OO (object oriented) development using classes SQL (both embedded and dynamic), class queries & SP (stored procedures)
Proven experience with Interoperability (aka Ensemble) in both design & implement solutions in a complex production, experience with use of various adaptors (e.g. SQL, REST, HTTP)
Working with XML & JSON files
Developing with a modern IDE (e.g. Visual studio code) or eclipse, with some Studio knowledge
Developing with source control (preferable Dev-Ops) with experience using GIT
Benefits? Healthcare? comp band? remote possible? Hello Fabian,
we offer a relocation package for people coming from abroad and so full-remote working is not possible. An healthcare coverage is included.
I remain at your disposal for any details
Best regards,
Riccardo
Riccardo Andriuzzi
riccardo.andriuzzi@msc.com
Question
prashanth ponugoti · Feb 28, 2022
Hi Community ,
I have installed InterSystems IRIS Community in my personal laptop to do some POCs.
Here are the defined namespaces available: %SYS HSCUSTOM HSLIB HSSYS PPONUGOTINS USER
How to create samples in it?
please advice me.
Thanks,
Prashanth https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ASAMPLES Hi!
Please, checkout this post: https://community.intersystems.com/node/498271
HTH
If you want to discover IRIS for Health with some samples, the best way is to install ZPM (community package manager).
More info here : https://community.intersystems.com/post/install-zpm-one-line
Then, you have access of almost all application in OpenExchange.
Let's have an example with csvgen-ui :
https://openexchange.intersystems.com/package/csvgen-ui
```
zpm "install csvgen-ui"
```
In OpenExchange you will find may example about rest API, web app, and so.
Announcement
Jeff Fried · Mar 2, 2022
NOTE: we previously found an issue with the 2021.1.1.324.0 builds. The 2021.1.1 maintenance releases have been removed from the WRC and have been replaced with 2021.1.2.336.0 builds. 2021.1.2 containers will be available shortly.
Two new sets of maintenance releases are now available:
Caché 2018.1.6, Ensemble 2018.1.6, and HSAP 2018.1.6
InterSystems IRIS 2020.1.2, IRIS for Health 2020.1.2, and HealthShare Health Connect 2020.1.2
Installation kits and containers can be downloaded from the WRC Software Distribution site. Container images for the Enterprise Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry.
These are maintenance releases with many updates across a wide variety of areas. For information about the corrections in these releases, refer to the documentation for that version, which includes a Release Notes and Upgrade Checklist, and a Release Changes list, as well as the Class Reference and a full set of guides, references, tutorials, and articles. All documentation can be reached via docs.intersystems.com.
Build numbers for these releases are shown in the table below:
Version
Product
Build number
2018.1.6
Caché and Ensemble
2018.1.6.717.0
2018.1.6
Caché Evaluation
2018.1.6.717.0su
2018.1.6
HealthShare Health Connect (HSAP)
2018.1.6HS.9063.0
2020.1.2
InterSystems IRIS
2020.1.2.517.0
2020.1.2
IRIS for Health
2020.1.2.517.0
2020.1.2
HealthShare Health Connect
2020.1.2.517.0
2020.1.2
IRIS Studio
2021.1.2.517.0
2021.1.2
InterSystems IRIS
2021.1.2.336.0
2021.1.2
IRIS for Health
2021.1.2.336.0
2021.1.2
HealthShare Health Connect
2021.1.2.336.0
2021.1.2
IRIS Studio
2021.1.2.336.0
Container images InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry using the following commands for the 2020.1.2 release:
docker pull containers.intersystems.com/intersystems/iris:2020.1.2.517.0
docker pull containers.intersystems.com/intersystems/irishealth:2020.1.2.517.0
docker pull containers.intersystems.com/intersystems/iris-arm64:2020.1.2.517.0
docker pull containers.intersystems.com/intersystems/irishealth-arm64:2020.1.2.517.0
For a full list of the available images, please refer to the ICR documentation. Do I understand correctly that Caché Evaluation and IRIS Studio (full kit) are only available through WRC, which is not available to everyone, but only for supported customers?
It seemed to me that these products are designed for everyone.
By the way, the same goes for ODBC, JDBC and CSPGateway. @Vitaliy.Serdtsev - you could download the Community Edition of InterSystems IRIS from evaluation.InterSystems.com and just install Studio from that if you wish. Also, is there a reason you want the SingleUser version of Caché rather than the InterSystems IRIS Community Edition (which is freely available to everyone)? It's only 2 weeks ago when WRC said that 2018.1.5 will be last ever version of Cache and Ensemble!
But it's really nice to have new version, hopefully it fixes known bugs. What you heard from the WRC was in error - 2018.1.6 has been planned for over a year. It definitely fixes known bugs (otherwise why release a maintenance release? ;) ) you could download the Community Edition of InterSystems IRIS and just install Studio from that if you wish
That's exactly what I'm doing now. But agree, downloading hundreds of megabytes for the sake of Studio and drivers is inefficient.
Also, is there a reason you want the SingleUser version of Caché rather than the InterSystems IRIS Community Edition
IRIS does not interest me in this case.
Over the years I have "tormented" WRC about the bugs I found in Caché (in some way I acted as a free beta tester), until the technical support ended.
Some fixes at that time were included only in future versions of Caché , which I can no longer check. I would be interested to check out these fixes on the free version.
Maybe there are other reasons why there is still a single-user version of Caché, especially only for those who already have a full-featured version, but for me they are not obvious. Hi Vitaliy -
InterSystems IRIS has been on the market more than 3 years now and is the platform the general market is developing on. We've worked to make it easy to get InterSystems IRIS and the VS Code dev tooling, and are working to make independent components available easily as well.
By far the vast majority of users that want Caché are existing customers - so you can get this easily through the WRC. @Vitaliy.Serdtsev - you make a fair point about downloading the full Eval kit just for a few pieces of it ... unfortunately that is the only distribution mechanism that I know of currently available for non-supported customers.
Thank you for all the time you've spent over the years helping to find ways to make Caché more robust!! It sounds like you've been able to identify quite a few areas of improvement. There was significant effort put into streamlining things and solving known issues in the rebirth of Caché as InterSystems IRIS. You might find it interesting to download the Community Edition (IRIS version of the SU kit but much more powerful with fewer restrictions) and see if the bugs you reported are still present there or not. What do you think about that approach?
I got clarification that we still create an SU version of Caché which is available in the WRC because some of our large partners/APs rely on it for people to learn on (which makes sense). Obviously we won't want new prospects playing with it, which is why it is no longer publicly available and instead we provide the InterSystems IRIS Community Edition. Hi Jeffrey.
By far the vast majority of users that want Caché are existing customers - so you can get this easily through the WRC.
I have indicated why I already can't get Caché now, even the SU version:<..>, until the technical support ended.
<..> in future versions of Caché, which I can no longer check. You might find it interesting to download the Community Edition <..> and see if the bugs you reported are still present there or not. What do you think about that approach?
<..> we still create an SU version of Caché <..> because some of our large partners/APs rely on it for people to learn on <..>
I have already written that, as well as your large partners/APs who prefer to stay on Caché, IRIS does not interest me in this case.
Why would I check something that I won't be using in the foreseeable future, even if there are fixes there?
And yes, for the sake of hobby, I have been using IRIS CE for a long time.
Announcement
Anastasia Dyubaylo · Feb 23, 2022
Hey Community,
Enjoy watching the new video on InterSystems Developers YouTube channel:
⏯ Creating Virtual Models with InterSystems IRIS Adaptive Analytics
See how InterSystems IRIS Adaptive Analytics lets you quickly and easily create virtual data models, helping you make better business decisions. Adaptive Analytics includes built-in AI to improve query speed based on common requests by automatically creating data aggregates. Business users and analysts can access data using their business intelligence tool of choice.
Stay tuned!
Announcement
Anastasia Dyubaylo · Apr 15, 2022
Hey Developers,
New video is already on InterSystems Developers YouTube channel:
⏯ Creating Pivot Tables with InterSystems IRIS Business Intelligence
Learn how to use the Analyzer tool from InterSystems IRIS Business Intelligence to create pivot tables for display on a dashboard. This video shows the central components of the Analyzer tool and demonstrates how to construct a pivot table.
Enjoy and stay tuned!
Announcement
Anastasia Dyubaylo · May 3, 2022
Hey Community,
New video is already on InterSystems Developers YouTube channel:
⏯ Embed Business Intelligence into your Applications with InterSystems IRIS
Learn how InterSystems IRIS Business Intelligence works, and get an introduction to commonly used dashboards and user interfaces. InterSystems IRIS® Business Intelligence offers a complete set of tools for embedding business intelligence into your applications, making it easier to get insights into your data.
Enjoy and stay tuned!
Announcement
Anastasia Dyubaylo · May 29, 2022
Hey Developers,
Join us as we share lessons learned from standing up the initial InterSystems cloud offerings. We'll cover the challenges of standing up a SaaS and how to meet them:
⏯ Running InterSystems IRIS Workloads in the Cloud: Lessons Learned
🗣 Presenter: @Eduard.Lebedyuk, Sales Engineer, InterSystems
Stay tuned for the latest videos on InterSystems Developer YouTube!
Article
Deirdre Viau · Apr 1, 2022
InterSystems Reports Server stores system tables in an IRIS instance of your choice. How is this configured?
Read this article if:
You installed Logi Server directly using the Logi installer, not the InterSystems install script, OR
You want to change the system database configuration
Background
The system databases are initially configured upon install. The InterSystems install script asks you for a superserver port, namespace, and user. It creates the namespace and does the Logi setup for you. If you run the Logi installer directly, it puts the system databases in a local Derby database by default.
InterSystems Reports Server queries the system databases upon startup. If startup fails with the message "An error occurs when connecting to the database", it may be related to this setup.
Clarification
InterSystems Reports has two types of database connections. These databases are completely unrelated. They can be on the same IRIS instance, but they don't have to be.
Database
What it stores
Where connection is configured
Server system database
Logi Server configuration and states. Example: Logi user table
dbconfig.xml in InterSystems Reports Server file structure, or Server UI
Report data source
The data that is displayed on reports. Example: Patient diagnoses
Designer Catalog Manager
How to configure system databases post-install
1) If InterSystems Reports Server is running, shut it down cleanly.
2) Put a copy of the IRIS JDBC driver somewhere on the machine. Make note of the path.
Example: C:\MDV\intersystems-jdbc-3.1.0.jar
3) In setenv.bat (Windows) or setenv.sh (Linux), in the installation's bin folder, add the JDBC driver path to the ADDCLASSPATH string.
For Windows, use a semicolon (;) as a delimiter. For Linux, use colon (:).
Example (Windows): set ADDCLASSPATH=%REPORTHOME%\lib;%JAVAHOME%\lib\tools.jar;C:\MDV\intersystems-jdbc-3.1.0.jar
4) Create a database and namespace in your IRIS instance. To avoid conflicts, only use these for InterSystems Reports; do not share with another application. No special mappings are required.
5) Create a user with access to your database. This is used to retrieve data via JDBC query.
6) Update the connection info in dbconfig.xml, in the installation's bin folder. Refer to this documentation.
The url has the format: jdbc:IRIS://<server name>:<superserver port>/<namespace>
7) Start InterSystems Reports Server.
Frequently Asked Questions
Q. How can I tell if this worked?
A. Start InterSystems Reports Server, and make sure it starts succesfully. Then, see if any Logi tables were created in your IRIS namespace. You can use SQL Explorer and check the SQL.User schema.
Q. Do these steps copy the content of the system tables to the new database?
A. No. This creates fresh tables, like a new install. This may be fine right after install, or in a test system. If you need to preserve the content of the tables, use the DBMaintain tool to backup and restore: Backing up and Restoring Server Data (v18)
Q. InterSystems Reports Server won't start. There are errors in the log like:
[SQLCODE: <-201>:<Table or view name not unique>]
[%msg: <Table 'SQLUser.UPDATEDETAILS_1' already exists>]
A. This can happen when you change the system username after the system databases have been set up in IRIS. The Logi tables already exist in IRIS, with the old user as owner. The new user does not have access. To fix this, give the new user full privileges on all SQLUser tables in the namespace.
Additional Documentation
Configuring the Server Database (v18)
InterSystems Reports Server Installation
Announcement
Evgeny Shvarov · Mar 21, 2022
Hi Developers!
Here're the technology bonuses for the InterSystems IRIS Globals Contest 2022 that will give you extra points in the voting:
Data-model implementation - 5
Functional index implementation - 5
Data Move usage - 3
Embedded Python - 4
Docker container usage - 2
ZPM Package deployment - 2
Online Demo - 2
First Article on Developer Community - 2
Second Article On DC - 1
Code Quality pass - 1
Video on YouTube - 3
See the details below.
Data-model implementation - 5 pointsIntroduce an application that provides an API to implement any new to InterSystems IRIS data model. E.g. columnar data store, time-series database, graph datastore, document store, key-value database.
An API should contain at least the options to create/alter entities metadata, insert/update/delete data, query data, index data.
E.g. here is an example of iris-graph implementation (not finished and abandoned project). You are also welcome to fork it and finish the implementation for the contest.
The implementation can also mimic any other database engine of such in IRIS, e.g. mimic MongoDB or Redis in IRIS. Examples:
InterSystems IRIS as MongoDB
InterSystems IRIS as Redis (Implementation 1, Implementation 2)
The implementation should be "non-trivial" - e.g. CRUD API for key-value to globals will not be enough, but the implementation with the support of metadata management, indexing, and search/query will work.
Functional Index Implementation - 5 points
Introduce an implementation of Functional Index with globals and collect 5 extra points. Documenation. Example.
Data Move usage -3 points
DataMove is a powerful feature for moving data from one database to another in a live environment, but it operates at a fairly low level. Adding a layer around it for easy archiving of table data, an interface to keep track of (potentially large numbers of) subscript-level mappings, etc.. would be examples of helpful utilities in the big global space.
Embedded Python - 4 points
Use Embedded Python in your application and collect 4 extra points. You'll need at least InterSystems IRIS 2021.2 for it.
Docker container usage - 2 points
The application gets a 'Docker container' bonus if it uses InterSystems IRIS running in a docker container. Here is the simplest template to start from.
ZPM Package deployment - 2 points
You can collect the bonus if you build and publish the ZPM(InterSystems Package Manager) package for your Full-Stack application so it could be deployed with:
zpm "install your-multi-model-solution"
command on IRIS with ZPM client installed.
ZPM client. Documentation.
Online Demo of your project - 2 pointsCollect 2 more bonus points if you provision your project to the cloud as an online demo. You can do it on your own or you can use this template - here is an Example. Here is the video on how to use it.
Article on Developer Community - 2 points
Post an article on Developer Community that describes the features of your project and collect 2 points for the article.
The Second article on Developer Community - 1 point
You can collect one more bonus point for the second article or the translation regarding the application. The 3rd and more will not bring more points but the attention will all be yours.
Code quality pass with zero bugs - 1 point
Include the code quality Github action for code static control and make it show 0 bugs for ObjectScript.
Video on YouTube - 3 points
Make the Youtube video that demonstrates your product in action and collect 3 bonus points per each.
The list of bonuses is subject to change. Stay tuned!
Good luck in the competition! Things I mentioned in the kickoff webinar:
%SQL.AbstractFind/%Library.FunctionalIndex implementations:Semantic version index:https://github.com/intersystems-community/zpm/blob/master/src/%25ZPM/General/SemanticVersion/Index.clshttps://github.com/intersystems-community/zpm/blob/master/src/%25ZPM/General/SemanticVersion/Find.clshttps://github.com/intersystems-community/zpm/blob/master/src/%25ZPM/Repo/Filesystem/Cache.clsSpatial index: https://github.com/intersystems-ru/spatialindexImage color index: https://openexchange.intersystems.com/package/iris-image-index-demoInspiration for a project:Implement a hierarchical index that operates on a table with a self-referential field (e.g., an employee table with a manager field) to return (via a %SQL.AbstractFind implementation) all records above (directly/indirectly), below (directly/indirectly), or in the same tree (or graph - need to consider circular references) as a given record. r we planing to add columnar/time-series/graph into IRIS?
Announcement
Bob Kuszewski · Apr 1, 2022
Docker 20.10.14 (released March 23, 2022) changes the Linux capabilities given to containers in a manner that is incompatible with the Linux capability checker in InterSystems IRIS 2021.1 (and up) containers.
Users running Docker 20.10.14 on Linux will find that IRIS 2021.1+ containers will fail to start and the logs will incorrectly report that required Linux capabilities are missing. For example:
[ERROR] Required Linux capability cap_setuid is missing.
[ERROR] Required Linux capability cap_dac_override is missing.
[ERROR] Required Linux capability cap_fowner is missing.
[ERROR] Required Linux capability cap_setgid is missing.
[ERROR] Required Linux capability cap_kill is missing.
[FATAL] Your IRIS container is missing one or more required Linux capabilities.
Resolution
Users experiencing this problem will need to adjust the command line passed to the container’s entrypoint to disable checking for Linux capabilities. From the command line, add --check-caps false after the image in your docker run or docker start command. For example:
docker run containers.intersystems.com/intersystems/iris-community:2022.1.0.152.0 --check-caps false
If you're using docker-compose, the corresponding change would be as follows:
command: --check-caps false
The capability check acts as a way of checking for common misconfigurations before starting the IRIS processes. Disabling the Linux capability check has no impact on the IRIS processes running in the container.
More Reading
Docker 20.10.14 release notes
Running InterSystems Products in Containers
In the docker-compose file the command is still
command: --check-caps false
If the = is left in the command the following error will be returned
PARSE ERROR: Argument: --check-caps=false
iris_1 | Couldn't find match for argument
| Brief USAGE:
iris_1 | /iris-main [--ISCAgentPort <integer>] [--ISCAgent <bool>] [--check-caps
iris_1 | <bool>] [-k <license key>] [-L <<licenseID> <host1>,<port1>[
iris_1 | ,<dir1>] [<host2>,<port2>[,<dir2>]]>] [-p <password file>]
iris_1 | [-t <command>] [-c <command>] [-e <command>] [-a <command>]
iris_1 | [-b <command>] [-l <log file>] [-s <bool>] [-u <bool>] [-d
iris_1 | <bool>] [-i <instance>] [--] [--version] [-h]
iris_1 |
iris_1 | For complete USAGE and HELP type:
iris_1 | /iris-main --help Thanks Bob for the timely post. If you're using IKO, you can pass the "--check-caps false" argument in your iriscluster yaml like this:
apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
name: ephelps-1
spec:
licenseKeySecret:
name: license-key
configSource:
name: iris-cpf
imagePullSecrets:
- name: docker-secret
updateStrategy:
type: RollingUpdate
topology:
data:
mirrored: true
shards: 1
image: containers.intersystems.com/intersystems/iris:2021.2.0.651.0
podTemplate:
spec:
args:
- --check-caps
- "false"
serviceTemplate:
spec:
type: LoadBalancer
externalTrafficPolicy: Local
version: '3.6'
services:
iris:
build:
context: .
dockerfile: Dockerfile
restart: always
command: --check-caps false
ports:
- 1972
- 52773:52773
- 53773
volumes:
- ./:/irisrun/repo
Using cap-add might allow for a more fine-grained control:
--cap-add SETUID --cap-add DAC_OVERRIDE --cap-add FOWNER --cap-add SETGID --cap-add KILL
Or in docker compose:
version: '2'
services:
iris:
cap_add:
- SETUID
- DAC_OVERRIDE
- FOWNER
- SETGID
- KILL Please, next time, when you spontaneously add flags and remove flags or features that prevent starting IRIS in Docker, think about end-users, who would need, to run different versions of IRIS, it makes it more complicated to follow all those changes. One version does not work with flags, another does not work with this flag. We need something more stable. When I need to configure the CI process for multiple versions, now I should somehow decide which version has this flag and which has not. How would I go about creating an image using a Dockerfile that is based on one of these images? How can I get the docker build to include the --check-cap false? Hi Mike!
You can check this or that example, the simplest dockerfiles with IRIS.
The command with check-caps false can be found e.g. here in Docker-compose
Glad this was the first Google result for "docker required linux capability is missing"
Announcement
Evgeny Shvarov · Jun 1, 2022
Hi developers!
Here is the score of technical bonuses for participants' applications in the InterSystems Grand Prix 2022 programming Contest!
Project
InterSystems FHIR
IntegratedML
Native API
Interoperability
Production EXtension
Embedded Python
AtScale
Tableau, PowerBI, Logi
InterSystems IRIS BI
Docker
ZPM
Online Demo
Unit Testing
First Article on DC
Second Article on DC
Code Quality
Video on YouTube
Total Bonus
Nominal
5
4
3
3
4
5
4
9
3
2
2
2
2
2
1
1
3
55
db-migration-using-SQLgateway
2
2
2
6
CrossECP-IRIS
2
2
2
1
7
M-N-Contests
2
2
2
2
1
1
3
13
cryptocurrency-rate-forecasting
0
FHIR Patient Viewer
5
2
3
10
IRIS import manager
3
2
2
7
test-data
3
5
2
2
2
2
2
1
19
Docker InterSystems Extension
2
3
5
apptools-infochest
2
2
2
2
8
iris-mail
3
5
2
2
2
2
1
17
production-monitor
3
2
2
7
iris-megazord
5
3
2
2
2
2
2
1
3
22
apptools-admin
2
2
2
6
webterminal-vscode
2
2
ESKLP
3
2
2
7
Disease Predictor
4
2
2
2
1
3
14
iris-fhir-client
5
5
2
2
2
2
1
3
22
Water Conditions in Europe
5
4
9
3
2
2
2
1
3
31
FHIR Pseudonymization Proxy
5
3
2
2
12
ObjectScript-Syntax-For-GitLab
2
2
1
5
CloudStudio
2
3
5
FIT REST Operation Framework
3
2
2
7
Bonuses are subject to change upon the update.
Please claim here in the comments below or in the Discord chat. My app Disease Predictor has YouTube video. It is already added at the end of OEX app page description (https://openexchange.intersystems.com/package/Disease-Predictor). So I claim youtube bonus. I've added YouTube video and added it at the description of OEX Application https://openexchange.intersystems.com/package/Water-Conditions-in-EuropeAlso two related articles posted to DC, linked to application, please count.
And the last question is about bonuses for Tableau, PowerBI, Logi.
According to The Rules 3 points count for each of that systems.
I've used all them 3 in Contest App. I've added YouTube video and 2nd Article for iris-fhir-client app (https://openexchange.intersystems.com/package/iris-fhir-client) .So please consider it.
Thanks Added zpm/docker support (though struggling w/ M1 docker a bit I think) Hi @Craig.Regester! This is great!
Please submit the app with the ZPM option on OEx to make it available for everyone!
Article
Oliver Wilms · Dec 24, 2021
One of my colleagues had developed an interface in Health Connect (HealthShare 2019.1) to add large amounts of data to an external SQL Server database. The data comes from many text files with delimited rows and data for one table per file. There is a business process to read a file line by line and send an Insert Request to an operation. The request contains an Insert statement like ‘Insert into TABLE columns (col1, col2, … colZ) values (val1, val2, … valZ).’ The Health Connect operation utilizes Outbound SQL Adapter to insert one row into a table per request. You can probably imagine this process takes quite a long time. I believe it took about 4 hours to insert 200000 rows into one table. That is 50000 rows in one hour, which is 3600 seconds, or about 14 rows per second.
I saw on Open Exchange that Guillaume Rongier had developed Grongier.SQL.OutboundAdapter. I understand this code uses an Insert statement like ‘Insert into TABLE columns (col1, col2, col3) values (?, ?, ?)’ paired with an array consisting of number of rows, number of columns per row, data values and data types. I had to tweak the code a bit to make it run in HealthShare 2019.1. I learned a lot about InterSystems SQL classes by debugging the code. It did not really work for me with reliability. I think I tried to insert a batch of 5 rows into two different tables. It worked with one table, but with the other table it inserted only one row and the return value indicated no row had been inserted.
I believe it was Dmitry Maslennikov who suggested to me that I could use an Insert statement like ‘Insert into Table columns (col1, col2, col3) values (valA1, valA2, valA3), (valB1, valB2, valB3), (valC1, valC2, valC3).’ I refactored the business process to make one request per text file and the operation processed the stream line by line. I liked the idea to have all the values in the query statement, because I could use the standard InterSystems SQL Adapter with it. I observed that I could insert about 30 rows per second when I combined the values from two rows into one Insert statement. I was surprised that it did not make any significant difference if I inserted 20 columns per row or 90 columns per row.
It made sense to me that I could insert about twice as many rows per second when I inserted two rows per insert compared to inserting rows one by one. I wanted to see how fast I could insert rows if I combined more rows into one insert statement. Here are the results:
Batch Size Insert Rate
3 45.90
4 57.03
5 62.73
6 78.42
7 94.10
8 101.73
9 129.79
When I tried to insert rows by ten at a time (Batch Size = 10), the processing time was the same as nine rows per insert. I was able to insert nearly 130 rows per second, almost ten times what the original process provided.
I also need to delete data before inserting new data. For some tables we delete all the rows, for some tables we delete only the rows that are being updated. I am not sure why we ‘Delete TABLE where col1 = val1’ and then ‘Insert into TABLE columns (col1, …) values (valNew1, …).’ I think this could probably be accomplished quicker by an update statement. However, I was pleased to see I could delete thousands of rows in less than one second with a single delete statement like ‘Delete TABLE where SiteID = 123.’ I have not yet collected metrics comparing deleting individual rows with inserting individual rows.
The refactored process refers to UPDATE logic when it uses an Insert statement like ‘Insert into Table columns (col1, col2, col3) values (valA1, valA2, valA3), (valB1, valB2, valB3), (valC1, valC2, valC3)’ AFTER deleting any rows matching the rows to be inserted. We have identified key columns per table to identify records for the delete. Assuming a table uses key columns col1, col2, and col3, I will combine the key values from multiple rows using OR condition like shown below for a batch size of three rows:
Delete TABLE where (col1 = valA1 AND col2 = valA2 AND col3 = valA3) OR (col1 = valB1 AND col2 = valB2 AND col3 = valB3) OR (col1 = valC1 AND col2 = valC2 AND col3 = valC3)
Announcement
Anastasia Dyubaylo · Feb 9, 2022
Hey Developers,
New video is already on InterSystems Developers YouTube channel:
⏯ Using the VS Code Debugger for InterSystems ObjectScript
See how VS Code’s debugger for InterSystems ObjectScript helps you step through and inspect code. Learn how to write launch configurations for debugging class methods and production components, and get an overview of the VS Code debugger interface—including the variables section, watch pane, and debug console.
Enjoy and stay tuned!