Clear filter
Article
André Dienes Friedrich · Feb 6
Overview
With the help of SQL, you can build, train, and manage machine learning models directly in the database with InterSystems IRIS's robust IntegratedML tool. Using SQL examples that represent your data, we will go over IntegratedML configuration and how it is used in practical situations in this article.
IntegratedML Configuration
A ML configuration (“ML Configuration”) defines the machine learning provider that will perform the training, in addition to other necessary information. IntegratedML has a default configuration called %AutoML, already activated after installing InterSystems IRIS.
Creating ML Configuration
To create a new ML configuration, we can use the System Management Portal or SQL commands.
Creating ML Configuration via SQL:
CREATE ML CONFIGURATION MeuMLConfig PROVIDER AutoML USING {'verbosity': 1};
To set this configuration as default:
SET ML CONFIGURATION MeuMLConfig;
To view the training settings:
SELECT * FROM INFORMATION_SCHEMA.ML_TRAINING_RUNS;
IntegratedML Application
Creating a predictive model to estimate the amount of energy generated by a consumer unit:
CREATE MODEL PredicaoEnergia PREDICTING (quantidade_generada) FROM UnidadeConsumidora;
Training the model:
TRAIN MODEL PredicaoEnergia;
Making predictions:
SELECT quanto_generada, PREDICT(PredicaoEnergia) AS predicao FROM UnidadeConsumidora WHERE id = 1001;
Implementation: Machine Learning in Solar Energy
1. Data Integration with IRIS
We extracted essential data from multiple tables to build the dataset:
SELECT PSID, CHNNLID, TYPENAME, DEVICESN, DEVICETYPE, FACTORYNAME, STATUS FROM datafabric_solar_bd.EQUIPAMENTS;
2. Predictive Maintenance Model Training
Using Python Embedded in IRIS to train a predictive maintenance model:
from sklearn.ensemble import RandomForestClassifier
from iris import irispy
# Load data
sql_query = "SELECT PSID, DEVSTATUS, ALARMCOUNT FROM datafabric_solar_bd.USINAS;" data = irispy.sql(sql_query)
# Train the model
model = RandomForestClassifier()
model.fit(data[['DEVSTATUS', 'ALARMCOUNT']], data['PSID'])
3. Forecasting Energy Production
Using time series analysis to forecast daily energy production:
from fbprophet import Prophet
# Prepare dataset
df = irispy.sql("SELECT STARTTIMESTAMP, PRODDAYPLANT FROM datafabric_solar_bd.POINTMINUTEDATA;")
df.rename(columns={'STARTTIMESTAMP': 'ds', 'PRODDAYPLANT': 'y'}, inplace=True)
# Train forecasting model
model = Prophet()
model.fit(df)
future = model.make_future_dataframe(periods=30)
forecast = model.predict(future)
4. Identifying Areas of High Solar Irradiance
The analysis of geospatial data allows the identification of areas with the greatest potential for solar energy generation, optimizing resource allocation.
Conclusion
IntegratedML makes it easier to implement machine learning in InterSystems IRIS by allowing models to be trained and applied directly using SQL. Furthermore, using machine learning techniques for predictive maintenance and energy generation forecasting can help solar plants operate more efficiently great article
Announcement
Vadim Aniskin · Aug 28, 2023
Hi Community!
Our 2nd InterSystems Idea-A-Thon has come to an end and resulted in 29 brilliant ideas dedicated to the topic of the contest:
💡 Run solutions fast, safe, and green with InterSystems IRIS 💡
Thank you all for your ideas, comments, and votes!
And now it's time to announce the winners...
Experts Nomination
🥇 1st place goes to the idea Light version InterSystems IRIS by @Andre.LarsenBarbosa The winner will receive🎁 Apple Watch SE / Fairphone Fairbuds XL headphones
🥈 2nd place goes to the idea Support for Liquibase by @Yuri.GomesThe winner will receive🎁 Speaker bundle JBL Pulse 5 / Apple AirPods Pro 2nd Generation / LEGO Star Wars R2-D2.
🥉 3rd place goes to the idea InterSystems IRIS for Energy management by @Heloisa.Paiva The winner will receive🎁 LEGO Porsche 911 / Beeline Bike GPS Computer - Velo 2.
Community Nomination
🌟 Goes to the idea Light version InterSystems IRIS by @Andre.LarsenBarbosaThe winner will receive🎁 LEGO Porsche 911 / Beeline Bike GPS Computer - Velo 2.
All the winners will get a special Global Masters badge called "Idea-A-Thon Winner".
🔥 We'd like to highlight all the participants and their bright ideas:
Light version InterSystems IRIS by @Andre.LarsenBarbosa Make IRIS a part of Spring Cloud by @wang.zheInterSystems IRIS "green time" profile by @Pietro.Montorfano Surface test coverage information in VS Code by @John.Murray Include bar code/QR code recognition as a standard function by @David.Hockenbroch Energy Consumption Estimate Report Per Production / Business Component by @Rob.Ellis7733Make interoperability's visual trace to easy to check, when process was running parallel. by @Ohata.Yuji IRIS Community with no connections limit by @Dmitry.Maslennikov Support for Liquibase by @Yuri.Gomes Binary index implementation by @Akio.Hashimoto1419 Full studio migration to VSCode by @Akio.Hashimoto1419 Database Cache (Global Buffers) needs to be optimized by @wang.zheInterSystems IRIS for Energy management by @Heloisa.Paiva InterSystems IRIS for Carbon tracking by @Heloisa.Paiva Advanced real-time data processing optimization for InterSystems IRIS by @Yone.Moreno testing framework for InterSystems IRIS microservices by @diba testing dashboard for InterSystems IRIS by @diba Develop a testing framework for InterSystems IRIS blockchain applications by @diba Add support for AI-powered test automation by @diba InterSystems IRIS on Cloud. by @Ohata.Yuji Download the HL7v2 Browser Extension for Interface Analysts by @Rob.Ellis7733Add "Create New Router" Option to Business Operation Wizard by @VICTORIA.CASTILLO Through queuing theory and fuzzy logic: Optimization of patient queue management in hospitals using InterSystems IRIS by @Yone.Moreno AI-Driven GreenIRIS: Optimization and Sustainability in InterSystems IRIS Solutions through Artificial Intelligence by @Yone.Moreno Programmatic reports by @Yuri.Gomes Create real world application by using IRIS and Python Streamlit web framework by @Muhammad.Waseem AntiMatter Code accelerator by @Alex.Woodhead Optional "Green Mode" Configuration Setting for IRIS by @Nelson.Tarr Why use storage for an index that has never been used? by @Nelson.Tarr
All the participants of the 2nd Idea-A-Thon will get our special gift - a Wireless Charging Mouse Pad.
And more...
👏 Special thanks to @Dmitry.Maslennikov who created a liquibase-iris app to realize the Support for Liquibase idea from @Yuri.Gomes submitted for the Idea-a-thon.
And we would like to recognize Dimitri's efforts with one of the top prizes as well!
OUR CONGRATULATIONS TO ALL WINNERS AND PARTICIPANTS!
Thank you for your significant contributions to the official InterSystems feedback portal 💥
Important note: The prizes are in production now. We will contact all the participants when they are ready to ship. Thank you, thank you and thank you! It is an honor to have participated again. Thank you to everyone who voted and believed in my idea. Thank you to the entire InterSystems team. Thank you to all participants for making this event even more fantastic. congrats to the winners!! Congratulation to all the winners and organizers 👏 Thanks the nomination and for @Dmitry Maslennikov and all ideas portal staff Thank you very much! I hope my idea can help contribute somehow to healthier energy consumption soon! Congratulations to all of the winners!
Congratulations to all!! Congratulations, well done everyone! Congratulations kudos everyone! Congratulations guys! Congratulations Congratulations!!)🎉
Announcement
Anastasia Dyubaylo · Sep 25, 2023
Hey Community,
It's time to announce the winners of the InterSystems Python Programming Contest 2023!
Thank you to all our amazing participants who submitted 15 applications 🔥
Experts Nomination
🥇 1st and 🥈 2nd places and $4,000 each are shared between two applications that got the same number of expert votes: iris-vector by @Dmitry.Maslennikov and iris-GenLab by @Muhammad.Waseem
🥉 3rd place and $1,500 go to the iris-recorder-helper app by @Alexey.Nechaev
🏅 4th place and $750 go to the iris-python-machinelearn app by @Dienes
🏅 5th place and $500 go to the Face Login app by @Yuri.Gomes
🌟 $100 go to the native-api-command-line-py-client app by @Robert.Cemper1003
🌟 $100 go to the IRIS-Cloudproof-Encryption app by @Li.XU5494
🌟 $100 go to the BardPythonSample app by @xuanyou.du
🌟 $100 go to the iris-python-lookup-table-utils app by Johannes Heinzl
🌟 $100 go to the apptools-django app by @MikhailenkoSergey
Community Nomination
🥇 1st place and $1,000 go to the iris-vector app by @Dmitry.Maslennikov
🥈 2nd place and $750 go to the iris-python-machinelearn app by @Dienes
🥉 3rd place and $500 go to the iris-GenLab app by @Muhammad.Waseem
🏅 4th place and $300 go to the BardPythonSample app by @xuanyou.du
🏅 5th place and $200 go to the native-api-py-demo app by @shan.yue
Our sincerest congratulations to all the participants and winners!
Join the fun next time ;) Thanks all 15 applications of real quality 😀
Thanks to all participants for their involvement and ideas. Congratulations to all participants!!
Thanks all for your efforts to provide fantastic apps and wonderful articles.
 Congratulations! Congratulations to all the winners and organizers 👏It was a great competition and again a lot to learn.2nd time sharing the place. This time with @Dmitry.Maslennikov Heeeeeyyyy guys 👋
Congratulations everyone!! Congratulations to the winners! Well done! kudos to all the winners👏 Video highlighting the winners!
Wonderful photograph !!
NB to all future participants: having a beard has never been a criterion facilitating access to the first prize 🏆
Announcement
Kevin Xu · Jul 14
InterSystems IRIS 2025.2 introduces the IRISSECURITY database, the new home for security data. Unlike IRISSYS, the previous home for security data, IRISSECURITY can be encrypted, which secures your sensitive data at rest. In a future version, IRISSECURITY will be mirrorable.
This version also introduces the %SecurityAdministrator role for general security administration tasks.
The changes described here affect both continuous delivery (CD) and extended maintenance (EM) release tracks. That is, starting with versions 2025.2 (CD, released on 23 July, 2025) and 2026.1 (EM), InterSystems IRIS will include the IRISSECURITY database, and all security data is automatically moved from IRISSYS to IRISSECURITY when you upgrade.
Before You Upgrade
IRISSECURITY makes several potentially breaking changes to how users interact with security data:
Users can no longer directly access security globals without %All and must instead use the APIs provided by the various security classes.
OAuth2 globals can no longer be mapped to a different database.
Users can no longer arbitrarily query security tables, even when SQL security is disabled.
System databases now use predefined resources that cannot be changed. On Unix, if you created and assigned a new resource to a system database in a previous version, it will be replaced by the predefined resource when you upgrade (though if any roles reference the non-default resource, they must be changed manually to use the default resource to keep database access). On Windows, you must change the resource back to the default. If you attempt to upgrade on Windows while databases have non-default resources, the upgrade will halt (the instance is not modified) and display an error message "Database must have a resource label of..."
The following sections go into detail about these changes and what you should do instead if you depended on the original behavior, but in general, before you upgrade, you should verify and test that your applications and macros:
Use the provided security APIs to administer security (as opposed to direct global access).
Have the necessary permissions (%DB_IRISSYS:R and Admin_Secure:U) for using those APIs.
Global Access
Previously, when security globals were stored in the IRISSYS database, users could access security data with the following privileges:
%DB_IRISSYS:R: Read security globals both directly and through security APIs.
%DB_IRISSYS:RW: Read and write security globals.
%DB_IRISSYS:RW and Admin_Secure:U: Administer security through security APIs.
In InterSystems IRIS 2025.2:
Users can no longer access security globals directly without %All.
Both %DB_IRISSYS:R and %Admin_Secure:U are the minimum privileges needed to both access security data (through the provided security APIs) and administer security through the various security classes.
For general security administration, you can use the new %SecurityAdministrator role.
Read-only access to security data (previously available through %DB_IRISSYS:R) has been removed.
Global Locations
In InterSystems IRIS 2025.2, the following security globals have been moved from IRISSYS to the ^SECURITY global located in IRISSECURITY:
^SYS("SECURITY")
^OAuth2.*
^PKI.*
^SYS.TokenAuthD
The following table lists the most notable globals that have been moved, their security classes, old locations, and new locations:
Security Class
Old Location (IRISSYS)
New Location (IRISSECURITY)
N/A
^SYS("Security","Version")
^SECURITY("Version")
Security.Applications
^SYS("Security","ApplicationsD")
^SECURITY("ApplicationsD")
Security.DocDBs
^SYS("Security","DocDBsD")
^SECURITY("DocDBsD")
Security.Events
^SYS("Security","EventsD")
^SECURITY("EventsD")
Security.LDAPConfigs
^SYS("Security","LDAPConfigsD")
^SECURITY("LDAPConfigsD")
Security.KMIPServers
^SYS("Security","KMIPServerD")
^SECURITY("KMIPServerD")
Security.Resources
^SYS("Security","ResourcesD")
^SECURITY("ResourcesD")
Security.Roles
^SYS("Security","RolesD")
^SECURITY("RolesD")
Security.Services
^SYS("Security","ServicesD")
^SECURITY("ServicesD")
Security.SSLConfigs
^SYS("Security","SSLConfigsD")
^SECURITY("SSLConfigsD")
Security.System
^SYS("Security","SystemD")
^SECURITY("SystemD")
Security.Users
^SYS("Security","UsersD")
^SECURITY("UsersD")
%SYS.PhoneProviders
^SYS("Security","PhoneProvidersD")
^SECURITY("PhoneProvidersD ")
%SYS.X509Credentials
^SYS("Security","X509CredentialsD")
^SECURITY("X509CredentialsD ")
%SYS.OpenAIM.IdentityServices
^SYS("Security","OpenAIMIdentityServersD")
^SECURITY("OpenAIMIdentityServersD")
OAuth2.AccessToken
^OAuth2. AccessTokenD
^SECURITY("OAuth2.AccessToken ")
OAuth2.Client
^OAuth2.ClientD
^SECURITY("OAuth2.Client")
OAuth2.ServerDefinition
^OAuth2.ServerDefinitionD
^SECURITY("OAuth2.ServerDefinitionD")
OAuth2.Client.MetaData
^OAuth2.Client.MetaDataD
^SECURITY("OAuth2.Client.MetaDataD")
OAuth2.Server.AccessToken
^OAuth2.Server.AccessTokenD
^SECURITY("OAuth2.Server.AccessTokenD")
OAuth2.Server.Client
^OAuth2.Server.ClientD
^SECURITY("OAuth2.Server.ClientD")
OAuth2.Server.Configuration
^OAuth2.Server.ConfigurationD
^SECURITY("OAuth2.Server.ConfigurationD")
OAuth2.Server.JWTid
^OAuth2.Server.JWTidD
^SECURITY("OAuth2.Server.JWTidD")
OAuth2.Server.Metadata
^OAuth2.Server.MetadataD
^SECURITY("OAuth2.Server.MetadataD")
PKI.CAClient
^PKI.CAClientD
^SECURITY("PKI.CAClient")
PKI.CAServer
^PKI.CAServerD
^SECURITY("PKI.CAServer")
PKI.Certificate
^PKI.CertificateD
^SECURITY("PKI.Certificate")
%SYS.TokenAuth
^SYS.TokenAuthD
^SECURITY("TokenAuthD")
OAuth2 Global Mapping
Previously, you could map OAuth2 globals to a different database, which allowed OAuth2 configurations to be mirrored.
In InterSystems IRIS 2025.2, OAuth2 globals can no longer be mapped, and IRISSECURITY cannot be mirrored. If you depended on this behavior for mirroring, you can use any of the following workarounds:
Manually make changes to both the primary and failover.
Export the settings from the primary and then import them to the failover (requires %ALL).
To export OAuth2 configuration data:
set items = $name(^|"^^:ds:IRISSECURITY"|SECURITY("OAuth2"))_".gbl"
set filename = "/home/oauth2data.gbl"
do $SYSTEM.OBJ.Export(items,filename)
To import OAuth2 configuration data:
do $SYSTEM.OBJ.Import(filename)
SQL Security
Previously, SQL security was controlled by the CPF parameter DBMSSecurity. When DBMSSecurity was disabled, users with SQL privileges could arbitrarily query all tables in the database.
In InterSystems IRIS 2025.2:
The DBMSSecurity CPF parameter has been replaced with the system-wide SQL security property. You can set this in several ways:
Management Portal: System Administration > Security > System Security > System-wide Security Parameters > Enable SQL security
SetOption: ##class(%SYSTEM.SQL.Util).SetOption("SQLSecurity", "1")
Security.System.Modify: ##Class(Security.System).Modify(,.properties), where properties is properties("SQLSecurity")=1
Security tables can now only be queried through the Detail and List APIs, which require both %DB_IRISSYS:R and %Admin_Secure:U even when SQL security is disabled.
For example, to get a list of roles, you can no longer directly query the Security.Roles table. Instead, you should use the Security.Roles_List() query:
SELECT Name, Description FROM Security.Roles_List()
Encrypting IRISSECURITY
To encrypt IRISSECURITY, use the following procedure:
Create a new encryption key. Go to System Administration > Encryption > Create New Encryption Key File and specify the following:
Key File – The name of the encryption key.
Administrator Name – The name of the administrator.
Password – The password for the key file.
Activate the encryption key. Go to System Administration > Encryption > Database Encryption and select Activate Key, specifying the Key File, Administrator Name, and Password from step 1.
Go to System Administration > Encryption > Database Encryption and select Configure Startup Settings.
From the Key Activation at Startup dropdown menu, select a key activation method. InterSystems highly recommends Interactive key activation.
From the Encrypt IRISSECURITY Database dropdown, select Yes.
Restart your system to encrypt IRISSECURITY.
Percent-class Access Rules
In previous versions of InterSystems IRIS, the procedure for managing a web application’s access to additional percent classes involved writing to security globals. You can accomplish this in InterSystems IRIS 2025.2 through the Management Portal or the ^SECURITY routine.
Management Portal
To create a percent-class access rule with the Management Portal:
Go to System Administration > Security > Web Applications.
Select your web application.
In the Percent Class Access tab, set the following options:
Type: Controls whether the rule applies to the application’s access to just the specified percent class (AllowClass) or all classes that contain the specified prefix (AllowPrefix).
Class name: The percent class or prefix to give the application access to.
Allow access: Whether to give the application access to the specified percent class or package.
Add this same access to ALL applications: Whether to apply the rule for all applications.
^SECURITY
To create a class access rule with the ^SECURITY routine:
From the %SYS namespace, run the ^SECURITY routine:
DO ^SECURITY
Choose options 5, 1, 8, and 1 to enter the class access rule prompt.
Follow the prompts, specifying the following:
Application? – The name of the application.
Allow type? – Whether the rule applies to the application's ability to access a particular class (AllowClass) or all classes that contain the specified prefix (AllowPrefix).
Class or package name? – The class or prefix to give the application access to.
Allow access? – Whether to give the application access to the specified class or package.
IRISSECURITY cannot be mirrored, yet*. 😎 an active project now
Article
Derek Gervais · Sep 8
Hey folks! Having recently onboarded to InterSystems, I realized that despite having a totally free and awesome Community Edition, it's not super clear how to get it. I decided to write up a guide highlighting all the different ways you can access the Community Edition of InterSystems IRIS:
Get InterSystems IRIS Community Edition as a Container
Working with a containerized instance of the Community Edition is the recommended approach for folks who are new to developing on InterSystems IRIS, and in my opinion it's the most straightforward. InterSystems IRIS Community Edition can be found on DockerHub; if you have an InterSystems SSO account, you can also find it in the InterSystems Container Registry.
In either case, you'll want to pull the image you want using the docker CLI:
docker pull intersystems/iris-community:latest-em
// or
docker pull containers.intersystems.com/intersystems/iris-community:latest-em
Next, you'll need to start the container: In order to interact with IRIS from outside the container (for example, to use the management portal) you'll need to publish some ports. The following command will run the IRIS Community Edition container with the superserver and web server ports published; note that you can't have anything else running that depends on ports 1972 or 52773!
docker run --name iris -d --publish 1972:1972 --publish 52773:52773 intersystems/iris-community:latest-em
Get InterSystems IRIS Community Edition in the Cloud
You might want to avoid having to deal with a local installation entirely; if that's the case, you can get up and running with a cloud deployment of InterSystems IRIS Community Edition. All major cloud providers are supported; check our Cloud Partners page for more information. For this example, we're going to focus on deploying on AWS.
Start by finding the InterSystems IRIS Community Edition on the AWS Marketplace:
You can click "View purchase options" and log into your account to view the subscription page:
Scrolling down, you can click "Subscribe," fill out the required information, and then click "Deploy" to deploy the IRIS Community Edition as a cloud node! Check out our documentation on deploying InterSystems IRIS to the cloud for more information.
Get InterSystems IRIS Community Edition as an Install Kit
If you prefer to work with InterSystems IRIS installed directly to your machine and you don't want to deal with containers, you can download an install kit for your system from the InterSystems Evaluation Service. In order to download an install kit, you'll need an InterSystems SSO login; the good news is, if you have an account here on the Developer Community you already have one! Otherwise, you can click "Register for a new account" and complete the steps that follow:
Once you've logged in, you should see the following page; click "Download Community Edition" to begin downloading the install kit:
You'll be prompted to fill out some information on exactly which version of InterSystems IRIS you need, and which platform you will be installing it on:
For most use cases, you'll want to select "InterSystems IRIS Community" and the most recent version available for your platform. After agreeing to the TOS, you're ready to download the install kit! Follow the installation instructions in the platform-specific documentation, and you're all set!
Announcement
Evgeny Shvarov · Jun 9, 2019
Hi Community!
I have very good news for the developers, who are using GitHub to host projects with InterSystems ObjectScript. GitHub introduced the support of InterSystems ObjectScript this week!
How does it work?
Now all the .cls files in your repository are considered as InterSystems ObjectScript and highlighted according to the language rules of ObjectScript. For example WebTerminal, Samples-Data.
All the credits go to @Dmitry.Maslennikov, who is developing VSCode ObjectScript module and code highlighting of VSCode and GitHub both use TextMate grammar. Dmitry had introduced the PR to Github Linguist which was reviewed by the GitHub community and has been recently approved.
So your repositories with cls will no longer go as strange Apex or TeX but as InterSystems ObjectScript.
Thanks, Dmitry! Hope you'll provide the details on how ObjectScript is supported in GitHub.
Great news!Coloring works, but still APEX, VB, TeX. Commit triggered a recalculation. Great news, congratulations!P.S. Special thanks to Evgeny for pointing out to exactly WebTerminal's analytics class :) I have published a little bit more details. And there you can find info, how to count and highlight the source of MAC, INT, INC files as well. Thank you @Dmitry.Maslennikov and @Evgeny.Shvarov this is great news! You are welcome, Nikita! This was pretty random but must admit that WebTerminal is a really popular app. And looking forward to seeing the commit to make the repo considered as InterSystems ObjectScript application ;) Thanks a lot @Dmitry.Maslennikov !
Announcement
Evgeny Shvarov · Sep 23
Hi Developers!
Here are the technology bonuses for the InterSystems External Languages Contest: Java, .NET, node.js, Python that will give you extra points in the voting:
XEP API for Java, .NET - 2
Native SDK for Java, .NET, Python, node.js - 2
PEX Interoperability for Java, .NET, Python - 3
Java persister - 2
ADONET and .NET Entity Framework -2
Docker container usage - 2
Online Demo - 2
Implement InterSystems Community Idea - 4
Find a bug in InterSystems IRIS External Language Development Offerings - 2
New First Article on Developer Community - 2
New Second Article on Developer Community - 1
First Time Contribution - 3
Video on YouTube - 3
See the details below.
XEP API for Java, .NET - 2
XEP is an InterSystems library that introduces high-performance persistence technology for Java or .NET object hierarchies. Use it and collect 2 more bonus points for Java or/and .NET (4 points max). Learn more on JAVA XEP., and .NET XEP.
Native SDK for Java, .NET, Python, node.js - 2 points
The InterSystems IRIS Native SDKs are lightweight interfaces that allow Python, Java, .NET, and Node.js applications to access powerful InterSystems IRIS resources. Use it and collect 2 extra bonus points for every language(Python, Java, .Net, Node.js) implemented (8 at max). Documentation.
Pex Interoperability for Java, .NET, Python - 3 points
The Production EXtension (PEX) framework provides a choice of external languages Java, .NET and Python that you can use to develop interoperability productions. Use it and collect 3 extra points for for every language(Python, Java, .Net) implemented (9 max). Documentation. Here is a pex-demo application.
Java Persister -2 points
The InterSystems IRIS Persister for Java is designed to ingest data streams and persist them to a database at extremely high speed. Get 2 bonus points for implementing it in your solution. Documentation.
ADONET and .NET Entity Framework - 2 points
InterSystems provides to access persistent classes data via ADONET. Implement it in your app to collect 2 bonus points. Documentation.
Same you can get 2 bonus points for leveraging .NET Entity Framework with IRIS. Here is the Documentation.
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.
Online Demo of your project - 2 pointsCollect 2 more bonus points if you provision your project to the cloud as an online demo at any public hosting.
Implement Community Opportunity Idea - 4 points
Implement any idea from the InterSystems Community Ideas portal which has the "Community Opportunity" status. This will give you 4 additional bonus points.
Find a bug in InterSystems IRIS External Languages Offerings - 2 pointsWe want the broader adoption of InterSystems Java, .NET, Python API and node.js offerings so we encourage you to report the bugs you will face during the development of your external languages applications with IRIS in order to fix it. Please submit java, python, .NET and node.js bugs and how to reproduce it. You can collect 2 bonus points for the first reproducible bug one per language (java, .NET, node.js, Python) - so you can collect 8 points max.
New First Article on Developer Community - 2 points
Write a brand new article on Developer Community that describes the features of your project and how to work with it. Collect 2 points for the article.
New Second Article on Developer Community - 1 point
You can collect one more bonus point for the second new article or the translation regarding the application. The 3rd and more will not bring more points but the attention will all be yours.
First-Time Contribution - 3 points
Collect 3 bonus points if you participate in InterSystems Open Exchange contests for the first time!
Video on YouTube - 3 points
Make new YouTube videos that demonstrate 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!
Question
Kevin Furze · Aug 15, 2019
I've just been tempted to the option exchange (curiosity) and when browsing, I often right-click, and open links in a new tab, eventually ;-) I have enough interesting open tabs to go off and read the tabbed articles,I can't do this in open exchange, it will only allow a direct click to open the url.even worse, when I come back (to where I left off) It starts from the top of the page.any chance of changing the url's to allow us to right click and open in a new tabI'm guessing that this applies to may other URL's around the intersystems community, but it's the first time it annoyed me. kev Hi Kevin!This is fixed. Check the new UX. Evgeny.I've played with the links, much better, thumbs up, one thing, and it may be my imagination.if you open a link (new tab or otherwise), it seems to jump part way down the article.could you tweak it, so that it opens at the top of the new page please.subtle, but would helpkev Hi Kevin!Thanks for the feedback!This is a good point. Submitted an issue. If this describes the problem right?
Question
Luis-Ángel Pérez-Ramos · Jun 17, 2019
Good morning!I am developing a Java project (Spring Boot + Maven + Hibernate) but I've a big issue when I try to define the Hibernate Dialect org.hibernate.dialect.InterSystemsIRISDialect... that dialect is neither in the Hibernate library nor in the IRISDriver class com.intersystems.jdbcHow should I define the IRISDialect in my project? Thank you in advance! I think there may be another jar, probably available from hibernate.org, which has the driver. I don't know for certain, but I think that is how things work. Note "org.hibernate.dialect" as the prefix of the URL means that hibernate has and owns the driver, including its support.Just my two cents,Jonathan Thank you Jonathan for your answer, but I don't find any reference to InterSystemsIRISDialect in any page of Hibernate.It's mysterious... The dialect of Intersystems IRIS being approved in the hibernate git repository.The depot managers want to stop the "support" of the Cache dialect to position the IRIS one.https://github.com/hibernate/hibernate-orm/pull/2335 Unfortunately, deployment of the Hibernate dialect for InterSystems IRIS is still a bit of a work in progress:
https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=BTPI_hibernate
There's an old dialect for Caché in the Hibernate distribution itself, but the IRIS dialect lives in a handful of files that you can get from the WRC. I created a new dialect see: https://community.intersystems.com/post/using-new-intersystems-iris-hibernate-6-dialect-springboot-project
Question
Ashish Gupta · Feb 1, 2019
Hi All,
Can someone help me getting the security features & standards which InterSystmes Cache adheres to ISO 27001 & other security & privacy standards.
Also if you can tell me the algorithm used for database encryption & key strength by default.
This is required for a security audit.
Thanks in advance.
Ashish Check Cache Security Administration Guide. And also this article. You might be interested in this page:
https://docs.intersystems.com/ens20181/csp/docbook/DocBook.UI.Page.cls?KEY=GCAS_standards
Or potentially some of the documents on this one:
https://www.intersystems.com/gt/
Database encryption uses AES. You select the key size when creating the key; 128, 192, and 256 bits are all options.
If you have a specific question about standards not covered there, I would recommend contacting the WRC.
Announcement
Anastasia Dyubaylo · Aug 5, 2022
Hi Community!
While we're on a roll with new ideas for the Developer Community, we decided to also give the credit where the credit is due (meaning you, our dearest members), and share your creativity and imagination with others.
We're going to introduce a new rubric "InterSystems Memes"! 😜
A month ago we launched a challenge on Global Masters where we asked you to post memes that make you smile. We had a lot of fun seeing all the entries so we decided to share this merriment with all DC members!
We'll be posting your memes in special fun announcements on DC soon. Stay tuned! 😝
Have an idea for a new meme related to ISC technology? Don't hesitate to share the memes in the comments to this post as well.
We're going to restart the challenge and every month we will choose the best memes and publish them here, on Developer Community, so that every member has a good laugh ;)
Join the fun as an author of the memes, or as a reader!
Discussion
Erik Svensson · Sep 18, 2020
Hello!
First of all, let me state that I am no senior InterSystems expert.
In my organization, we have a HealthShare Health Connect setup where each namespace has one code database and one data database, which are both actively mirrored. We have two nodes in the mirror.
We had a controlled failover last night to make sure that the backup node works as intended, which it didn't. It turned out that we had only deployed code onto the primary node in several namespaces causing errors with missing classes after the failover. So it seems that each time you deploy productions, you have to manually deploy it to both instances (the primary and failover). That makes me wonder:
What is actually mirrored when you mirror a code database
Obviously not new classes
changes to existing classes?
settings on the production adapters?
something else?
How do you guys go about deploying new code?
Are you utilizing some kind of automation tool to keep the mirrored nodes consistent regarding code and versions of code?
Are you just manually deploying to each node and have good routines doing it?
Or do we have some kind of faulty setup which makes this not work as intended?
I don't think our setup is faulty, I think we just missed this a bunch of times which makes me want to abstract this to a way where you deploy to something that deploys the same code to both nodes.
An example: We have 3 environments (production, QA and test), for each of QA and prod, we receive webservice requests from 2 different networks, an internal network and an external one. For each network, we have a pair of web servers running httpd with web gateway. This makes 4 web server hosts for each production and qa environment and in the test environment, we have slimmed this to only have the one pair. Totally 10 web servers. This is bound to be time consuming to maintain and create inconsistency and details that is not done exactly the same between the hosts if you are not extremely thorough, if you would do it manually. So we use Ansible. I have made a playbook and a set of configs for each environment and each network type so each pair is treated exactly the same and the playbook is always used to deploy changes and keep consistency.
I would like to achieve something similar with deploying code to our HeathConnect mirrored instances.
How do you guys do it? #1) check that ALL code Dbs are part of your Mirror. There is a fair chance that not all code you use is in a single code DB but is mapped to other DBs.I'm not talking about implicitly mapped pieces like all System and %* Utilities.#2) If you use code mapping It is highly important that Package mapping AND routine mapping go hand in hand#3) Whatever Mirror is synchronizing is based on Global Journal. So also all code DBs require Journalling. Since every routine or class whether deployed or not is stored in some global.
But my personal preference is not to apply Mirror to code DBs.Mainly to control the point in time when a Change/Update happens. I'm a fan of the Red Fire Button and like to control the moment of essential changes Hi Robert,
Seeing as how I'm fighting the same issue (keeping mirror members synched, not code DBs though), what does the "Red Fire Button" refer to?
Thanks,
Dan
Definitely, something wrong in the configuration. Code in InterSystems in fact is no different from any other data stored there. So, you may have some wrong mappings, or store some of your code in %SYS.
I have a configuration with mirroring + ECP, and it works perfectly, I don't even care which of the nodes is primary, and can switch it any time, with no issues. And I have even more than one Code databases, and more than 20 Data databases. Mirroring Nodes works on 2018.1 while ECP Application Servers on 2012.2, with no issues.
If you have some doubts about your configuration, you can ask for help through WRC, or we can help you with it, we can review your settings, and say what actually happened and how to solve it Hi @Dan.Pahnke The "Red Fire Button" is a synonym I used over the years with my various teams for an action/decisionthat should not be taken by a single person but follows (at least) the 4-eyes-principle.
Inspired by an endless number of Airforce fighting movies from Hollywood andthe old but still incredible song from The Dubliners.And its best cover version The issue was that the general package mappings we had in %ALL namespace was not mirrored and they were not mapped in the backup node.
Question
José Ademar de Oliveira Junior · Jan 6, 2022
Hello developers, I'm a newbie to Intersystems technologies and I started to work with Caché and Ensemble, and to be more specific I'm working with systems integration. In a scenario where I need to develop new software from scratch, would it be better to develop this new software using REST APIs? Does anyone have any recommendations about courses? Here is some useful documentation.
You're going to want to make a class that extends %CSP.REST and set up an application that uses that class as its dispatch class. You'll have a URL map in that class to tell IRIS or Cache what to do with the request. Depending on your specific application, you might also want to get familiar with using %request and %response in that process. https://community.intersystems.com/post/learning-path-beginnershttps://community.intersystems.com/post/intersystems-iris-rest-application-patternshttps://community.intersystems.com/post/objectscript-rest-api-cookbook Hi.I've used Cache/IRIS Native Provider, but recently I'm moving all my apps to REST. It is OS/IDE independent and commonly used. Cache/IRIS REST API services are very efficient and very easy to use. Recommended.
Regards, Matjaž.
Question
Joseph Lovato · Aug 5, 2021
I am unable to download Cache Studio from the Intersystems web page. The download link times out.
https://www.intersystems.com/developing-with-intersystems-iris/
Scroll down and click on 'Studio'. Spins then times out.
@Andreas.Dieckow can you provide any insight?
Joe I think this may happen, due to some issues with availability of some internal services.
In any way it’s now possible using VSCode for development with InterSystems versions 2016.2 and later. So, I would recommend using it instead. Documentation doc.intersystems.com has been down for the last week which is where the link takes you to download You can use VSCode with the ObjectScript plugin while Studio is not available Thanks! We thought it was very temporary. We'll try the VSCode extension.