Clear filter
Question
Andy Stobirski · Dec 13, 2021
Hi everyone
I see that a new Apache bug has been discovered, and since various InterSystems products use an Apache webserver, have Intersystems released any news or updates on this? I'm not seeing any updates, press releases from them. Anyone know anything?
Andy The Apache HTTP Server is not written in Java (See this StackExchange post)
The security exploit refers to a very popular java logging implementation, log4j. Log4j is published under the Apache Foundations name, but is not to be confused with the Apache http server (also called httpd occasionally).
That said, you might want to check if you are using any Java libraries in your InterSystems products via the Java gateway - and if they are bundled with log4j for logging. Also check if you are having log4j directly in your Java classpath. What you are looking for is the log4j.jar.
If you want to check a library, you can download the jar of the library and open it with 7zip or similar tools, then take a look and check if it contains log4j.jar. If it does, you should get in touch with the creator of the library.
Disclaimer: I am not part of InterSystems, this is of course not an official statement. I am just a Java developer that had to deal with this today a bit! We got an answer from ISC:
====IRIS and Cache do use log4j but our products do not include versions affected by this vulnerability. This vulnerability affects versions from 2.0-beta9 to 2.14.1. The log4j versions used in Cache and IRIS product are based on version 1.x of log4j which is not affected by this issue.====
But of course one can use Log4j 2.* in your own Java applications. You can also open your log4j.jar as you would a zip file, go to the META-INF folder, open MANIFEST.MF and look for "Implementation-Version" to see which version of log4j it is. I'm surprised you got an answer as I was unable to get one over the weekend until ISC makes any official statement. However, re: the 1.x comment:
2031667 – (CVE-2021-4104) CVE-2021-4104 log4j: Remote code execution in Log4j 1.x when application is configured to use JMSAppender (redhat.com)
The only usage of log4j I could find within an ISC platform was on Clinical Viewer. Curious if you could share where it is otherwise seen as being used? Maybe compiled into one of their own libraries and not directly exposed however. Please see the following page for official InterSystems guidance!https://community.intersystems.com/post/december-13-2021-advisory-vulnerability-apache-log4j2-library-affecting-intersystems-products That's interesting!
@Dmitry.Maslennikov posted a quick grep on the community discord and found a few occurrences in the machine learning and fop parts. So I guess these parts are those that might potentially be affected - but actually not, since they are still log4j v1! I'll just repost @Dmitry.Maslennikov grep from the community discord here, which might give you a hint where to look until ISC updated the official statement
$ grep -ir log4j /usr/irissys/
/usr/irissys/lib/RenderServer/runwithfop.bat:rem set LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
Binary file /usr/irissys/dev/java/lib/h2o/h2o-core-3.26.0.jar matches
Binary file /usr/irissys/dev/java/lib/uima/uimaj-core-2.10.3.jar matches
Binary file /usr/irissys/dev/java/lib/1.8/intersystems-integratedml-1.0.0.jar matches
Binary file /usr/irissys/dev/java/lib/1.8/intersystems-cloudclient-1.0.0.jar matches
Binary file /usr/irissys/dev/java/lib/1.8/intersystems-cloud-manager-1.2.12.jar matches
Binary file /usr/irissys/dev/java/lib/datarobot/datarobot-ai-java-2.0.8.jar matches
/usr/irissys/fop/fop:# LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
/usr/irissys/fop/fop.bat:rem set LOGCHOICE=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
Binary file /usr/irissys/fop/lib/commons-logging-1.0.4.jar matches
Binary file /usr/irissys/fop/lib/avalon-framework-impl-4.3.1.jar matches
/usr/irissys/fop/lib/README.txt: (Logging adapter for various logging backends like JDK 1.4 logging or Log4J)
Binary file /usr/irissys/fop/lib/pdfbox-app-2.0.21.jar matches
Question
Brian Daniels · May 30, 2016
Hello,I am not certain where to post this, but I am seeking to hire consultants with Intersystems Caché DBA experience. Is there a source for qualified professionals?Thank you!Brian Brian,For years this was the official InterSystems-sponsored site for this type of thing:http://skills.intersystems.com/However, it looks rather empty at the moment (I think things expire after 6 months or something like that). It wouldn't hurt to post your position there - perhaps with increased advertising on the Developer Community this will pick up in its usage again.HTH,Ben
Question
Kurt Hofman · May 7, 2019
Hello,We're having troubles with working over Telnet on Caché Unicode with WRQ Reflection.We can't input extended characters (é,à,Ø,...), DELETE-key doesn't work, ...Has anyone a solution for working with WRQ Reflection or a decent alternative ?We tried Putty and Caché-terminal but these are not sufficent. Regards,Kurt Hofman. $zm = RY\Latin1\K\UTF-8\Reflection can show unicode's just fine, it's just that we can't input them ! Doesn't seem to work at all, ...The only thing that works is Caché Terminal, but soms F-keys don't work and our customer don't like it :-( The main thing I can suggest is to verify that the client and server agree on the encoding. It's been years since I've used Reflection; hopefully it supports UTF-8. Check your settings and/or documentation.
When you're in a Caché session, look at the value of the $zmode special variable:
USER>w $zm
RY\Latin1\K\UTF8\
I'm not sure offhand what determines the default I/O translation table for a terminal, but if you see "RAW" instead of "UTF8", you can set it manually:
USER>u 0:(/IOT="UTF8")
USER>w $zm
RY\Latin1\K\UTF8\ Hi Kurt,Some old terminal emulators cannot work with UTF8.I used AniTa which had the same problem connecting to a Caché Unicode server.I tried TeraTerm which is free and can at least work with UTF8 and VT320 emulation, but i haven't tried all our terminal tricks yet to see if it can do the job for 100%.Once you start TeraTerm, don't forget to change in Setup->General the language to UTF-8,.Setup -> Save Setup will save all your changes to a Teraterm.ini file so they will be in effect the next time.
Question
Jordan Everett · Mar 30, 2023
Hey all,
I have been creating a class to handle file encryption by using GPG keys. I pushed my code out today and my encrypt and decrypt methods weren't working. About a half an hour later in troubleshooting I found out that it needed to be a syntax change. My method has three parameters to it. Examples below:
This is how I was calling it in the test system with no issues:
do gpg.Encrypt()
This is how I was having to call it in my production system to work with no issues:
do gpg.Encrypt("","","")
If I was to enter in my production environment do gpg.Encrypt() I would just get an undefined due to it not interpreting my variables.
It's like on my test system it infers my arguments if they're null, but on my production system they need to be passed in order to be interpreted.
Is there an environment variable in Intersystems that I might be missing that would cause this behavior? This is just out of pure curiosity and isn't a true need, but I just found it interesting/peculiar. What does your method's argument list look like? If it's something like this:
Method Encrypt(pVarA As %String = "", pVarB As %String = "", pVarC As %String = "") As %Status
The pVar* variables above should automatically default to empty strings when the method is called as provided in your first example.
I'm not aware of any system setting that would affect the behavior of unsupplied values for method arguments when they're not defined with an initial value (unlike those in my snippet above).
That doesn't mean that there isn't one, though ...
What's the Undefined config value on TEST and PROD:
zn "%SYS"
set sc=##Class(Config.Miscellaneous).Get(.p)
write p("Undefined")
Here is a snippet of my arguments. I don't have them set to a default value which wouldn't be a bad practice to get into anyways.
Method Encrypt(pDirectory As %String, pDelete As %Boolean, pLog As %Boolean) As %Status On my production box it is a 0 and on my test system it is a 2. Well I guess there IS a setting (thanks, @Eduard.Lebedyuk!)
The parameter Undefined specifies the behavior when ObjectScript attempts to fetch the value of a variable that has not been defined. The value of Undefined may be 0, 1, or 2:
0 - Always throw an <UNDEFINED> error. (default)
1 - If the undefined variable has subscripts, return a null string, but if the undefined variable is single-valued, throw an <UNDEFINED> error.
2 - Always return a null string.
You can change that setting in System Administration | System Configuration | Additional Settings | Compatibility. There definitely does seem to be one! I went ahead and set the parameters in the Method and changed my test system to match my production system. Thank you guys so much!
Question
Manikandasubramani S · Nov 3, 2017
Hi guys,
I have accidentally clicked the remember password option in my Ensemble studio. So it is now not asking for username and password and even the authentication popup is not showing every time i open the studio.
Is there anyway to remove the remember password option for the cache studio.
Thanks, You can do this via the following (it is a little hidden):Studio > File > Change Namespace > Connect > (select instance) > Enter credentials and uncheck "Remember Password"Could you please give this a try and let us know if it works for you? You can remove saved password from windows registryrun regedit.open path HKEY_CURRENT_USER\Software\InterSystems\Cache\Servers\choose serverremove Server Password
Article
Yuri Marx Pereira Gomes · Sep 3, 2018
In the next ten years the applications will radically change, see my vision about it:
Today, the web apps are developed using modern HTML 5/CSS/Javascript frameworks like React, Angular, Bootstrap, etc. These web apps are focused on responsive views from the laptop to tablets and mobile screens.
In the early future, new forms to interacting with the user come true, especially cognitive conversations based on voice, bots and augmented reality and IoT/Wearable conversations deployed on smart watches, clothing, shoes, glasses, portable healthcare devices and home smarts things like Amazon Alexa, smart TVs, and so on. These cognitive apps will retire current UX development and set up cognitive development kits to interact with user.
Data platforms used as backend to the next front end apps will require real time intelligent data processing on multiple formats and volumes and SQL databases will be legacy technology.
On this middleware layer or digital services layer, as I like to define, thanks to the trillion or more micro services instances operating, the current server technologies will be legacy technology too. ESB, Web App and MQ message servers will require operate like as Real Time Scalable Corporate Data Lakes with micro services API Management, not just dealing with request/response synchronous and asynchronous messages. These servers should be intelligent/cognitive data aware, understand sentiments and natural language requests.
The future is not very promising too to business processes and business intelligent management servers, like BPMN engines, ECM and CMS repositories and traditional BI engines. Words as information will be not primary source of information, workflows will not run human tasks with HTML interfaces and automatic tasks with web services and the analytic information will be not sourced by SQL/Relational databases. In the future workflows will be cognitive and will learn at real time how to response to the user. Content will be unstructured, large, non-relational and the ownership defined by biometric identity and business decisions will be provided by machine learning, no more by prescriptive dashboards.
App development to digital services layer will not use programming languages, that will be considered the new Assembly language. In the future, the digital and business logic will be developed using low code platforms with declarative programming and high level composite digital services ready to automate continuous business changing cognitive apps.
The IT infrastructure and your assets will be dynamic, on the cloud and hyper converged to support big data scenarios, multiple elastic IT digital service instances to process, store and transmit data. Will be necessary automate the continuous deployment of the digital services developed to this new IT infrastructure, without human interaction, considering automatic QA process. For this, DevOps techniques will be mandatory, storages, network and services will have required to be digital services too. And thanks the IoT, Big Data and Cognitive Services dozens servers will be packaged on single hyper converged appliances and one VM has become dozens of Docker instances.
The Intersystems IRIS is the most prepared Data Platform on the market to this future. It has on the same server data repository to SQL, NoSQL, Object, Document and Multimedia data. On the same server has an intelligent ESB/MQ engine connected with your Big Data/Data Lake implementation operating in real-time. With IRIS it is easy implement intelligent data aware micro-services with low code implementation and IRIS has a fantastic BI engine with natural processing language exposed as REST micro service interface to consume on traditional or future digital services.
I see IRIS as a perfect central piece to deploy on the current and future digital layer and with support to Docker and cloud architecture.
For me, using IRIS today is to be in conformity and alignment with the IT present and the future, preserving, in this way, the investments already made. Please consider posting it here. I don't think this kind of marketing material should be on IDC.My two cents. Hi, @Yuri.Gomes! I kind agree with Herman here - the post is great, well done and very thoughtful. But if you add to this one or two working technical solutions on IRIS to prove/describe the idea better, that will be much interesting for the audience if the Developer Community. I agree. I did not find option to remove this article from this channel. Can you remove @Evgeny? Thanks. Hi, Yuri! No need to remove, the topic is very interesting! It's just the request for technical content! It is always in a great demand on DC!
Article
Rob Ellis · Dec 13, 2024
The latest "Bringing Ideas to Reality" InterSystems competition saw me trawling through the ideas portal for UI problems to have a go at.
I implemented the following ideas in the IRIS Whiz browser extension, so if you use the management portal to help with your day-to-day integration management this extension could be for you!
Feature Added: Queue refresh
Iris now has an auto refresh dropdown for the Queues page. Will refresh the queue at the interval selected. Does not load on Ensemble as it already has this feature.
Useful if you have an upcoming clicking competition and need to rest your clicking finger.
Implemented from idea: https://ideas.intersystems.com/ideas/DPI-I-487
Feature Added: Export Search as CSV
On the Message Viewer page you can click the Iris Whiz Export button to download a CSV copy of the data currently in your search table.
Useful if you want to do quick analysis on your data but don't want to use the fancy new Chart.JS page I spent ages creating (see that in action here!).
Implemented from idea: https://ideas.intersystems.com/ideas/DPI-I-566
Feature Added: Production Page Queue Sort
Added sort options for the queue tab on the production page. Defaults to sorting by error count. Click a table header to switch between asc and desc sort order. Use the search bar to find items quickly.
Useful if you don’t want to scroll to get to the biggest queue.
Implemented from idea: https://ideas.intersystems.com/ideas/DPI-I-628
Feature Added: Category Dropdown Case-Insensitive Order
Alphabetises the category dropdown list on the production page, regardless of case. Without this the order is case dependent.
Useful if you want to find things in the category list but don’t want to have to re-categorise everything into the same case to do it.
Implemented from idea: https://ideas.intersystems.com/ideas/DPI-I-625
Bonus!
There’s also a refresh rate on the message viewer tab on the production page. This will also refresh your queue tab if you select an interval and navigate to the queue tab.
If you like any of these ideas please download the browser extension and let me know your thoughts. You can find a setup video on the OpenExchange listing which I recommend watching as you will need to complete some of it for most of the functionality to work!
Question
Pushyanthkumar Mukkala · Aug 4, 2023
We encountered difficulties while attempting to establish a JDBC connection to Intersystems using AZURE Databricks, resulting in an inability to retrieve data. The JDBC version utilized was intersystems-jdbc-3.3.1.jar. If anyone has successfully employed Databricks for establishing a connection, we would appreciate information regarding the libraries you used
Error Message:org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 3) (10.140.70.71 executor driver): java.sql.SQLException: [SQLCODE: <-25>:<Input encountered after end of query>] What was the query you were trying to run? This looks like an issue with the way the query was written. We followed the instructions in the Spark JDBC connection guide. We think the problem might have something to do with a library, but we're not sure
Below is the query:
cacheDF = spark.read \ .format('jdbc') \ .option('url', connectString) \ .option("query", "select AdjudicatedSvcNum from CLAIMS.AdjudicatedSvcs") \ .option('user', user) \ .option('password', password) \ .option('driver','com.intersystems.jdbc.IRISDriver') \ .load()cacheDF.show() Hi David
We followed the instructions in the Spark JDBC connection guide. We think the problem might have something to do with a library, but we're not sure
Below is the query:
cacheDF = spark.read \ .format('jdbc') \ .option('url', connectString) \ .option("query", "select AdjudicatedSvcNum from CLAIMS.AdjudicatedSvcs") \ .option('user', user) \ .option('password', password) \ .option('driver','com.intersystems.jdbc.IRISDriver') \ .load()cacheDF.show()
I hit this too...Instead of a query, try a dbtable with a query wrapper to a temp_table...
.option("dbtable", "(SELECT name,category,review_point FROM SQLUser.scotch_reviews) AS temp_table;")
check this post for full in and out with jdbc to databricks.https://community.intersystems.com/post/databricks-station-intersystems-cloud-sql Hello Ron
I am using dbtable only
final_result = (spark.read.format("jdbc")\
.option("url", jdbcUrl) .option("driver", "com.intersystems.jdbc.IRISDriver") .option("dbtable", f"({sql}) as temp;") .option("user", user) .option("password", password) .option("sslConnection","true") .load())This works fine until I add one specific column from the same table, when I add that column I get following error < Input (;) encountered after end of query
using - intersystems-jdbc-3.8.0.jarKindly help
Announcement
Jeff Fried · Apr 15, 2020
Preview releases are now available for the 2020.2 version of InterSystems IRIS, IRIS for Health, and IRIS Studio!
The build number for these releases is 2020.2.0.196.0.
Container images, components, and evaluation license keys are available via the WRC's preview download site.
Community Edition containers can also be pulled from the Docker store using the following commands:
docker pull store/intersystems/iris-community:2020.2.0.196.0
docker pull store/intersystems/irishealth-community:2020.2.0.196.0
InterSystems IRIS Data Platform 2020.2 adds support for TLS 1.3, which provides enhanced security and better performance. It also includes a variety of efficiency improvements and minor enhancements.
InterSystems IRIS for Health 2020.2 includes all of the enhancements of InterSystems IRIS. In addition, this release includes bi-directional data transformations between FHIR R4 and SDA, support for the IHE RMU profile, and other minor enhancements.
These are detailed in the documentation:
InterSystems IRIS 2020.2 documentation and release notes
IRIS for Health 2020.2 documentation and release notes
InterSystems IRIS Studio 2020.2 is a standalone development image supported on Microsoft Windows. It works with InterSystems IRIS and IRIS for Health version 2020.2 and below, as well as with Caché and Ensemble.
As this is a CD release, it is only available in OCI (Open Container Initiative) a.k.a. Docker container format. Container images are available for OCI compliant run-time engines for Linux x86-64 and Linux ARM64, as detailed in the Supported Platforms document. The preview builds have been updated to 204:
docker pull store/intersystems/iris-community:2020.2.0.204.0
docker pull store/intersystems/irishealth-community:2020.2.0.204.0
Announcement
Anastasia Dyubaylo · May 9, 2020
Hi Developers!
We are pleased to announce the next competition in creating open-source solutions using InterSystems IRIS Data Platform!
Please welcome the third InterSystems IRIS Online Programming Contest for Developers!
And the topic for this contest is InterSystems IRIS Native API.
The contest will last three weeks: May 18 – June 7, 2020.
Prizes
1. Experts Nomination - winners will be determined by a specially selected jury:
🥇 1st place - $2,000
🥈 2nd place - $1,000
🥉 3rd place - $500
2. Community Nomination - an application that will receive the most votes in total:
🥇 1st place - $1,000
🥈 2nd place - $500
If several participants score the same amount of votes they all are considered as winners and the money prize is shared among the winners.
Also, we will provide winners with high-level badges on Global Masters.
Who can participate?
Any Developer Community member from any country can participate in a contest, except for InterSystems employees. Create an account!
Contest Period
May 18-31, 2020: Two weeks to upload your applications to Open Exchange (also during this period, you can edit your projects).
June 1-7, 2020: One week to vote.
All winners will be announced on June 8th, 2020.
The Topic
➡️ InterSystems IRIS Native API ⬅️
We will choose the best applications that meet the IRIS NATIVE API requirement. Your application could be a library, package, tool, or any solution which uses any of InterSystems IRIS Native API: .NET, Java, Python, Node.js. Learn more here.
The application should work either on InterSystems IRIS Community Edition or on InterSystems IRIS for Health Community Edition.
The application should be Open Source and published on GitHub.
And you'll have technology bonuses if you introduce special technology implementations in your application.
Technology bonuses
1. Docker container - 1 expert point
The application gets a 'Docker container' bonus if it uses InterSystems IRIS running in a docker container.
When cloned or downloaded the application should be runnable with:
$ docker-compose up -d
Sample ApplicationsNative API Contest Template – demonstrates all 4 NativeAPIs setup and work. The template satisfies the "Docker container" technology bonus. Also, check the related video.
Helpful Resources
1. How to submit an application to a contest: Publish an application on Open Exchange and Submit an application for the contest
2. Getting started with InterSystems IRIS Native API: Java, .NET, Python and Node.js
3. Documentation on Native API: Python, Java, .NET, Node.js
3. Videos: InterSystems IRIS and Node.js and Globals Quickstart
4. Online courses for Native API
Judgment
Please find the Judgment and Voting Rules for the Contest here.
So!
Ready. Set. Code.
Stay tuned, the post will be updated!
❗️ Please check out the Official Contest Terms here.❗️ Idea for contestants.
Julyter Notebooks kernel for InterSystems ObjectScript.
Recently I developed bidirectional integration for Jupyter Notebooks. It allows you to create intelligent Business Processes with Python activities. Here's the code (it uses Native API for Python and there's less than a 1000 sloc in the whole integration). Here's some screenshots:
However, as you see currently only BPLs with Python are supported.
The idea for the app is simple - to do the reverse - add the ability for Julyter Notebooks to execute InterSystems ObjectScript code.
Why? It's a great tool for quick prototyping and demos!
How? Using Native API develop a wrapper kernel for InterSystems ObjectScript. Essentially all you need to do is to execute arbitrary string of code and return result. Check WebTerminal source code (by @Nikita.Savchenko7047) to see how a similar application works.
Docs:
Wrapper Kernel docs
List of Kernel Implementations
More docs (all possible approaches)
Nice idea! Thanks, Ed! Made an update on technology bonus and sample application:
Technology bonuses
1. Docker container - 1 expert point
The application gets a 'Docker container' bonus if it uses InterSystems IRIS running in a docker container.
When cloned or downloaded the application should be runnable with:
$ docker-compose up -d
Sample ApplicationsNative API Contest Template - demonstrates all 4 NativeAPIs setup and work. The template satisfies the "Docker container" technology bonus. A video that describes how to use the IRIS Native API contest template. Made by @Robert.Kuszewski Hi Developers!
Only 3 days left before the start of the 3rd InterSystems Online Programming Contest!
You will have 2 weeks (May 18-31) to upload your solutions to the Open Exchange (also during this period, you can edit your projects) and one week to compete for the main prizes.
So join our competition and win! 💪 Hi Community!
The registration period has already begun! Follow our Contest Board and stay tuned.
Waiting for your cool projects! Hey Developers,
The first application is already in the Contest Board!
@Robert Cemper and his project WebSocket Client JS with IRIS Native API as Docker Micro Server.
And who's next? 😉 Hi Developers!
Upload your applications to the Open Exchange and we'll see them on the Contest Board!
Let everyone know about your cool app! 💪 Hey Developers!
Our Contest Board is waiting for your apps! 🔥
How to apply for the Programming Contest
Log in to Open Exchange, open your applications section.
Open the application which you want to apply for the contest and click Apply for Contest.
Make sure the status is 'Published'.
The application will go for the review and if it fits the topic of the contest the application will be listed on the Contest Board. Participate in the contest as a team!
Possible? - Yes!
We don't have "forming teams" UI at the moment, but you are welcome to form a team by yourself, .e.g. using use Direct Messages on the Developer Community or chatting in Discord channel, make the project and submit it under anyone name from a team!
Developers!
You have 9 days to submit your application for the InterSystems IRIS Online contest!
Don't hesitate to submit if you didn't finish it - you'll be able to fix the bugs and make improvements during the voting week too! Hey developers!
The second week of registration has gone!
It's time to submit your cool apps on our Contest Board! 🤩
Also during this period, you can edit your projects.
Stay tuned! Hi Developers!
Enjoy watching the recording of the Kick-Off Webinar for InterSystems IRIS Native API Online Programming Contest:
This video describes the Native API Contest Template that demonstrates all 4 NativeAPIs setup and work. This template will help you to get started with the contest.
Stay tuned! ✌🏼 Hey Developers,
One more application is already in the game: iris-python-covid19 project by @Renato.Banzai!
And who's next? 👀 Developers!
Don't hesitate to submit your app to the Contest Board! Only5 days left! 🔥 Hey guys,
You're very welcome to join the InterSystems Developers Discord Channel to discuss all topics and questions related to the IRIS Programming Contests. There are lively discussions with InterSystems developers!
Join us! 😎 Hello @Eduard.Lebedyuk ! How are you? I was thinking about your idea. At least for now I dont know how the native api could help to create a ObjectScript Kernel for Jupyter, are you at community discord? If so, call me there and would be good to talk about this =)
best regards Hey Developers,
The next application is already in the game: ObjectScript Kernel project by @Nikita Mullin!
And who's next? 🤩 Hello, @Eduard.Lebedyuk I've implemented your idea here: ObjectScript Kernel Great! Another topic for this Native API contest could be "Import-export" util of global to JSON.
E.g. import JSON file and have a global inside IRIS, and having an arbitrary global inside IRIS export it to the JSON file. Hey Developers!
3 new applications joined our game:
IRISGlobalsNative.Extensions project by Mark Erwin Villarina
MongoDB to IRIS migration project by Oleh Dontsov
OData Server for IRIS project b @Yuri Gomes
Please see the full list of apps on our Contest Board.
Note: Today is the last day of registration. If you have not submitted your application yet, hurry up! 🔥 Last call! Registration for the InterSystems IRIS Native API Programming Contest ends today!
Hurry up to upload your application(-s) 😉 Yeah, +1 in the Contest Board!
Check out the new project: CRUD-GLOBALS-IRISNATIVEAPI-JAVA project by @Muni.Ganesh
Don't miss your chance to win! 🏆 Hello, @Evgeny.Shvarov. JSON import has been added to the new version of IRIS import manager Cool!
Do you mean the import of any JSON file to a Global?
How can I try it? To import, just insert the body of the JSON file with any structure. If it’s more convenient to upload a file, I’ll add this functionality to one of the following releases.
You can read how to use it in the description of the application, and see examples of its use in this article.
Announcement
Anastasia Dyubaylo · Sep 16, 2020
Hi Community!
Please welcome the new video on InterSystems Developers YouTube:
⏯ Get InterSystems IRIS from the Docker Store
In this video, you'll learn how to navigate to the InterSystems IRIS listing on the Docker Store and pull a Community Edition image.
⬇️ InterSystems IRIS Community Edition on Docker
Enjoy and stay tuned! 👍🏼
Question
Maik Gode · Jun 30, 2020
Hey,
I am pretty new to Docker and everything around that. I installed the container image from DockerHub and followed the instructions (https://hub.docker.com/_/intersystems-iris-data-platform/plans/222f869e-567c-4928-b572-eb6a29706fbd?tab=instructions). Everything is working fine except for the part where I want to change the default password.
I followed the instructions from this article (https://community.intersystems.com/post/using-intersystems-iris-containers-docker-windows) and the result was:
docker run --name iris3 --detach --publish 9091:51773 --publish 9092:52773 --volume C:\Users\user1\Desktop\TL5\DockerProjekt\warenverwaltung\container\IRISDataPlatform\password:/external 92ecaf86671c --before "cp /external/password.txt /external/password_copied.txt && /usr/irissys/dev/Cloud/ICM/changePassword.sh /durable/password_copied.txt"
The problem was that "changePassword.sh" doesnt exist inside the container. So I deleted the --before part to start the container and get inside it. I followed the path and saw that there are just "changePasswordHash.sh" and "changePasswordCSP.sh". Using "changePasswordCSP.sh" resulted in a permission denied error, but "changePasswordHash.sh" seems to work - The container is up and running and i am able to open the management portal.
The next problem is that I cant login with my password written in password.txt. I just typed "admin" in password.txt but when I try to login with
Username: _SYSTEM
PW: admin
it fails. Same for
Username: Admin
PW: admin
Even the login via _SYSTEM and SYS isnt working anymore.
Do you know what I am doing wrong?
Info: 92ecaf is my Container Image ID becauer I used a Dockerfile to build a new image for testing. Also i am using a Windows Machine with Docker Desktop installed Hi Maik,
changePassword.sh is still in the container, but its location has moved. It is in the PATH for your container, so if you delete the absolute-path portion and use "changePassword.sh /durable/password_copied.txt" you should be up and running.
changePasswordHash.sh is an internal tool and we don't recommend customers use it.
Hope this helps.
Announcement
Anastasia Dyubaylo · Jul 13, 2020
Hey Developers!
This week is a voting week for the InterSystems IRIS AI Programming Contest!
So, it's time to give your vote to the best AI- and ML-enabled solution on InterSystems IRIS!
🔥 You decide: VOTING IS HERE 🔥
How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.
Experts Nomination
If you are InterSystems Product Manager, or DC moderator, or Global Master from Specialist level and above cast your vote in the Expert nomination.
Community Nomination
If you ever contributed to DC (posts or replies) and this was not considered as spam you are able to vote for the applications in the Community nomination.
Voting
Voting takes place on the Open Exchange Contest Page and you need to sign in to Open Exchange — you can do it with your DC account credentials.
If you changed your mind, cancel the choice and give your vote to another application - you have 7 days to choose!
Contest participants are allowed to fix the bugs and make improvements to their applications during the voting week, so don't miss and subscribe to application releases!
➡️ Also, please check out the Judgment and Voting Rules for the Contest here. Ok! After the first day of the voting we have:
Expert Nomination, Top 3
iris-ml-suite – 3
iris-facial-recognition – 3
iris-integratedml-monitor-example – 3
➡️ The leaderboard.
Community Nomination, Top 3
iris-ml-suite – 2
iris-facial-recognition – 1
iris-integratedml-monitor-example – 1
➡️ The leaderboard.
So, the voting continues.
Please support the application you like with your vote! Hey Developers,
Here are the results after 2 days of voting:
Expert Nomination, Top 2
iris-integratedml-monitor-example – 9
iris-ml-suite – 3
➡️ The leaderboard.
Community Nomination, Top 4
iris-ml-suite – 2
iris-facial-recognition – 2
iris-integratedml-monitor-example – 2
ESKLP – 2
➡️ The leaderboard.
Participants! Improve and promote your solutions!
Full speed ahead! Voting for the AI Programming Contest goes ahead!
And here're the results at the moment:
Expert Nomination, Top 3
iris-integratedml-monitor-example – 9
iris-ml-suite – 6
ESKLP – 3
➡️ The leaderboard.
Community Nomination, Top 3
iris-integratedml-monitor-example – 3
iris-ml-suite – 2
ESKLP – 2
➡️ The leaderboard. And here are the current results:
Expert Nomination, Top 3
iris-integratedml-monitor-example – 16
iris-ml-suite – 10
SAPPHIRE – 6
➡️ The leaderboard.
Community Nomination, Top 3
iris-integratedml-monitor-example – 4
SAPPHIRE – 4
ESKLP – 3
➡️ The leaderboard.
Keep voting!Our participants need your support! Hey Developers!
And this is the last day fo Voting in our AI Programming Contest before we know the names of the winners!
✅ Please make your choice! ✅
Announcement
Stefan Wittmann · Jul 20, 2020
Preview releases are now available for the 2020.3 version of InterSystems IRIS, IRIS for Health, and IRIS Studio!
The build number for these releases is 2020.3.0.200.0.
Container images, components, and evaluation license keys are available via the WRC's preview download site.
Community Edition containers can also be pulled from the Docker store using the following commands:
docker pull store/intersystems/iris-community:2020.3.0.200.0
docker pull store/intersystems/iris-community-arm64:2020.3.0.200.0
docker pull store/intersystems/irishealth-community:2020.3.0.200.0
docker pull store/intersystems/irishealth-community-arm64:2020.3.0.200.0
InterSystems IRIS Data Platform 2020.3 makes it even easier to develop and deploy real-time, machine learning-enabled applications that bridge data and application silos. It has many new capabilities including:
Enhancements to the deployment and operations experience, both in the cloud and on-prem:
IKO - configuring a Kubernetes cluster just got way easier with the new InterSystems Kubernetes Operator (IKO)
ICM adds support for IAM deployments
Asynchronous mirroring support for sharded clusters
Work Queues are now manageable from the System Management Portal
Enhancements to the developer experience, including new facilities, higher performance, and compatibility with recent versions of key technology stacks:
Python Gateway - invoke Python code snippets for your analytics and machine-learning related tasks
Support for JDBC and Java Gateway reentrancy
.NET Core 2.1 support for the .NET Gateway
XEP adds support for deferred indexing
Support for Spark 2.4.4
InterSystems IRIS for Health 2020.3 includes all of the enhancements of InterSystems IRIS. In addition, this release includes
APIs for sending and receiving FHIR request/response messages, for performing client-side FHIR operations.
eGate support in the HL7 Migration Tooling
Documentation can be found here:
InterSystems IRIS 2020.3 documentation and release notes
InterSystems IRIS for Health 2020.3 documentation and release notes
InterSystems IRIS Studio 2020.3 is a standalone development image supported on Microsoft Windows. It works with InterSystems IRIS and IRIS for Health version 2020.3 and below, as well as with Caché and Ensemble.
As this is a CD release, it is only available in OCI (Open Container Initiative) a.k.a. Docker container format. Container images are available for OCI compliant run-time engines for Linux x86-64 and Linux ARM64, as detailed in the Supported Platforms document.
Give it a try and let us know what you think. Thanks,
Stefan Thanks, Stefan!
What about integratedML image store/intersystems/iris-aa-community:2020.3.0AA.331.0 released a while ago. Was it updated too? Hi Evgeny,
no. The Advanced Analytics image is staying on build 331. Docker Images with IRIS 2020.3 and ZPM 0.2.4:
intersystemsdc/iris-community:2020.3.0.200.0-zpm
intersystemsdc/iris-community:2020.2.0.204.0-zpm
intersystemsdc/irishealth-community:2020.3.0.200.0-zpm
intersystemsdc/irishealth-community:2020.2.0.204.0-zpm
intersystemsdc/iris-aa-community:2020.3.0AA.331.0-zpm
And to launch IRIS do:
docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-community:2020.3.0.200.0-zpm
docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-community:2020.2.0.204.0-zpm
docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/irishealth-community:2020.3.0.200.0-zpm
docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/irishealth-community:2020.2.0.204.0-zpm
docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-aa-community:2020.3.0AA.331.0-zpm
And for terminal do:
docker exec -it my-iris iris session IRIS
and to start the control panel:
http://localhost:9092/csp/sys/UtilHome.csp
Python Gateway - invoke Python code snippets for your analytics and machine-learning related tasks
Are there any docs or guides on that feature?
Announcement
Anastasia Dyubaylo · Apr 6, 2020
Hi Developers!
Want to participate again in the competition of creating open-source solutions using InterSystems IRIS Data Platform?
Then we're pleased to announce the second InterSystems IRIS Online Programming Contest!
And the topic for this contest is InterSystems IRIS with REST API.
The contest will again last three weeks: April 13-May 3, 2020.
Also, please join the InterSystems Contests Discord Channel to chat about contest and technology.
Prizes
We have 2 winning nominations and there will be more money prizes than in the previous contest!
1. Experts Nomination - winners will be determined by a specially selected jury:
🥇 1st place - $2,000
🥈 2nd place - $1,000
🥉 3rd place - $500
2. Community Nomination - an application that will receive the most votes in total:
🥇 1st place - $1,000
🥈 2nd place - $500
If several participants score the same amount of votes they all are considered as winners and the money prize is shared among the winners.
Also, we will provide winners with high-level badges on Global Masters.
Who can participate?
Any Developer Community member from any country can participate in a contest, except for InterSystems employees. Create an account!
Contest Period
April 13-26, 2020: Two weeks to upload your applications to Open Exchange (also during this period, you can edit your projects).
April 27-May 3, 2020: One week to vote.
All winners will be announced on May 4th, 2020.
The Topic
➡️ InterSystems IRIS REST API and web socket applications ⬅️
We will choose the best application built using InterSystems IRIS Community Edition(IRIS CE), or InterSystems IRIS for Health Community Edition (IRIS CE4H) as a backend exposing REST API or web sockets interface.
And you'll have technology bonuses if you introduce special technology implementations in your application.
Learn more about the topic and bonuses here.
Helpful Resources
1. How to submit an application to a contest: Quick example & Video
2. Online Course: Building REST API in InterSystems IRIS
3. Video: How to make the REST-API in InterSystems IRIS with Open API spec
4. Article: How to test modules before publishing to Open Exchange
Judgment
Please find the Judgment and Voting Rules for the Contest here.
So!
Ready. Set. Code.
Stay tuned, the post will be updated!
❗️ Please check out the Official Contest Terms here.❗️ Hey Community!
We launched a special hashtag for our programming marathon! Please welcome - #IRIScontest
This hashtag is already on InterSystems Developers' social networks: Twitter, Facebook, Telegram and LinkedIn.
Let the world know about the Intersystems IRIS Contest! Please share! 😉 Hi Developers!
Only 3 days left before the start of the Intersystems IRIS Programming Contest!
You will have 2 weeks (April 13-26) to upload your solutions to the Open Exchange and compete for the main prizes.
So join our competition and win! 😎 These competitions appear to demand the use of Cache ObjectScript rather than any other language. Is this correct? And if so, why can't other languages be used instead?
Hi Rob!
The official name of the language is InterSystems ObjectScript or just ObjectScript - it's not only for Caché any more ;)
And if so, why can't other languages be used instead?
Every contest has a topic. First one was about ObjectScript CLI. The current is about Intersystems IRIS REST API or web sockets interface. There is no ObjectScript requirement in this particular contest directly but it's obviously involved. Because if you even generate the REST API using spec-first approach you get endpoints but you need ObjectScript to write the logic. See examples in the article from @Eduard.Lebedyuk or another from @David.Reche.
And next month we are having a Native API contest where applications using python, node.js, .NET, java are very welcome. I updated my reply. Yes, ObjectScript is needed in this contest to implement REST API business logic. Introduced the 3rd technology bonus: usage of a spec-first approach!
You get the bonus if you generate the REST-API in Intersystems IRIS with swagger spec using Open API services. Learn more in the documentation.
See examples: one, two, three. And this is also a very nice example of spec-first by @Guillaume.Rongier7183! Hi Community!
We start tomorrow!
Are you ready to participate in our exciting contest? 🚀 Provided a few details on the requirements, possible application types, and bonuses. How to apply for the Programming Contest
Log in to Open Exchange, open your applications section.
Open the application which you want to apply for the contest and click Apply for Contest.
Make sure the status is 'Published'.
The application will go for the review and if it fits the topic of the contest the application will be listed on the Contest Board. Hi Rob!
We provided more details for the contest - and indeed you can avoid using ObjectScript in the contest!You can use already existing!
E.g. are extremely in need of the Frontend for the Forms 2.0, something line Vue, or react would be great!
Or you can use any out-of-the-box IRIS REST API. So, provided Intersystems IRIS is used as the back-end database for the data persistence of the APIs, the competition allows the use of any other technologies in front of it? eg QEWD/Node.js + browser UI? The competition allows using REST API on the Intersystems IRIS side.
If QEWD/Node.js + browser UI does this, then go ahead. That depends on your definition of "REST API on the Intersystems IRIS side". That Intersystems IRIS provides the HTTP interface? and/or the code that does the work of the API is within IRIS and therefore ObjectScript? As far as QEWD is concerned, Intersystems IRIS is simply a persistent JSON store with no other role (though you still can invoke ObjectScript methods and access classes if you want), so a REST API is implemented in JavaScript and handled by Node.js/QEWD. Sure, you can interpret Intersystems IRIS in any way it works for your application, but in this contest, we want to focus on REST API on Intersystems IRIS side. That means you either use any internal 6 api (Atelier, UIMA, iKnow, DocDB, MGMNT, BI, Monitoring) or any installed from Open Exchange or build your own with Swagger and/or ObjectScript. In that case I'll wait for a different competition :-)
The registration period has already begun! Follow our Contest Board and stay tuned.
Waiting for your cool projects! Hi Developers!
We are inviting you to join InterSystems Contests Discord Channel to quickly discuss all the questions related to technology requirements, bonuses, REST API, spec first, etc.
It has several rooms:
REST Contest
Technology Bonuses
Voting
Join! And let's chat about the contest and how to develop the solution and win!
Hey Developers,
The first application is already in the Contest Board!
@Lorenzo.Scalese with the JSON-Filter project is in the game!
And who's next? 😉 Hi Developers,
Wonder if you could vote for the solution you like? You can! If you contribute to DC!
Everyone contributing articles, questions and replies is very welcome to give the vote in the Community Nomination. An application that will receive the most votes in total will win in this nomination.
Prizes are waiting for you, stay tuned! 🚀 And here is the video which shows how to apply for the contest:
Enjoy! Hey Developers,
One more application is already in the game: isc-apptools-admin project by @MikhailenkoSergey.
Full speed ahead! 🔥 Please check out our Contest Board! Wrote how to test modules before publishing to Open Exchange. Hey Community,
Our Contest Board has been updated again. One more application is already participating in the Intersystems IRIS contest!
Please welcome the iris-history-monitor by @Henrique.GonçalvesDias!
And who's next? 😉 Added video How to make the REST-API in InterSystems IRIS and expose Open API (Swagger) spec for any InterSystems IRIS REST API This video shows how to create your own basic CRUD API for InterSystems IRIS using the GitHub template and expose it with Open API spec.
⏯ Creating CRUD REST API for InterSystems IRIS in 5 minutes
Enjoy! To those who want to earn the ZPM bonus: Here is also the video that describes what is ZPM (ObjectScript Package Manager), how to install and use it.
Hi all,
You're very welcome to join the InterSystems Developers Discord Channel to discuss all topics and questions related to the Intersystems IRIS Programming Contests (technology requirements, bonuses, REST API, spec first, etc).
There are lively discussions with InterSystems developers! Join us! 😎 Yeah, +1 in the Contest Board!
Check out the new project: REST for Tasks on my Status Report by @Oliver.Wilms 👍🏼 Developers!
You have 5 days to submit your application for the InterSystems IRIS Online Contest!
Don't hesitate to submit if you didn't finish it - you'll be able to fix the bugs and make improvements during the voting week too! Want more about ZPM (ObjectScript Package Manager)?
Enjoy watching the new video, specially recorded by @Evgeny.Shvarov for the second Intersystems IRIS contest:
⏯ How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS
This video shows how to build the Package with ObjectScript classes and REST API application from scratch, how to test it, and how to publish it on a test registry and in the InterSystems Open Exchange registry.
Stay tuned! If you have your REST API application and just need to Dockerize it - take the advantage of Intersystems IRISDocker Kit. This archive added to any repo with InterSystems IRIS code makes this repo running in InterSystems IRIS in Docker container. And you don't need to start from scratch with a template. Voting for the best application will begin soon! Only 4 days left before the end of registration for the Intersystems IRIS Programming Contest.
Don't miss your chance to win! 🏆 Last day to submit your application! Compete with other magnificent seven which are already in the competition! Last call! Registration for the Intersystems IRIS Contest ends today!
Hurry up to upload your application 😉 The voting has been started!
Choose your best InterSystems IRIS application!