Clear filter
Announcement
Anastasia Dyubaylo · Jul 9
Hey Community,
We're pleased to invite all the developers to the upcoming kick-off webinar for the InterSystems Developer Tools Contest!
Date & Time: Monday, July 14 – 11 am EDT | 5 pm CEST
Discover the exciting challenges and opportunities that await developers in this contest. We will also discuss the topics we would like the participants to cover and show you how to develop, build, and deploy applications using the InterSystems IRIS data platform.
Speakers: 🗣 @Raj.Singh5479, Project Manager - Developer Experience, InterSystems🗣 @Evgeny.Shvarov, Senior Startups and Community Programs Manager, InterSystems🗣 @DKG, Developer Relations Evangelist, InterSystems
✅ Register for the kick-off today!
Announcement
Olga Zavrazhnova · Jun 19, 2019
It’s no secret that the InterSystems Global Masters program is integrated with Developer Community, Open Exchange, and Ideas Portal. Whenever you contribute to any of these platforms, you automatically earn points and badges on Global Masters.
We’ve created a short guide to help you discover the best ways to earn points on Global Masters:
Please note that points are automatically awarded on the 4th day after you make a contribution on DC, OEX, or the Ideas Portal (activities made outside of the Global Masters platform).
HOW TO EARN POINTS ON GLOBAL MASTERS
Activity
Points
Badge(s)
Activities on Developer Community
👣 First Steps
Register on Developer Community
50
First article
1500
DC Author
First question
500
InterSystems Researcher
First comment or answer
300
DC Commenter
Certified Specialist badge
200
📑 Articles on Developer Community
Each published post on Developer Community
200
Published post on DC in Chinese
400
Published post on DC in Spanish
400
Published post on DC in French
400
Published post on DC in Japanese
400
Published post on DC in Portuguese
400
5 Articles on DC
7500
Reporter
10 Articles on DC
15000
Blogger
25 Articles on DC
40000
Influencer
50 Articles on DC
75000
Opinion Maker
💬Comments on Developer Community
Each comment on the Developer Community
30
Comment on DC in Chinese
60
Comment on DC in Spanish
60
Comment on DC in French
60
Comment on DC in Japanese
60
Comment on DC in Portuguese
60
Accepted answer on Developer Community
150
❓Questions
5 Questions on DC
2000
Curious Member
10 Questions on DC
5000
Thorough Member
25 Questions on DC
15000
Inquisitive Member
50 Questions on DC
30000
Socratic Member
🙋♂️Answers
1 Accepted Answer
1000
DC Problem Solver
5 Accepted Answers
4000
Master of Answers
10 Accepted Answers
8000
Bronze Master of Answers
25 Accepted Answers
20000
Silver Master of Answers
50 Accepted Answers
40000
Gold Master of Answers
If you would like to learn about our special set of badges and additional points for a number of Accepted Answers on the Developer Community!
🌐Translations of the DC Articles
Translate an articleRead how to translate Articles here.
150
DC Translator — 1 completion
Advances — 5 completions
Bronze — 15 completions
Silver — 25 completions
Gold — 50 completions
Translate a question
30
🌟Best Practices
1 Best Practices Article
500
Best Practices Author
2 Best Practices Articles
1500
Advanced Best Practices Author
3 Best Practices Articles
3500
Bronze Best Practices Author
4 Best Practices Articles
5000
Silver Best Practices Author
5 Best Practices Articles
7500
Gold Best Practices Author
👀 Post Views (on your post)
750 Views on DC Post
200
Popular Writer
2000 Views on DC Post
500
Notable Writer
5000 Views on DC Post
1000
Famous Writer
15000 Views on DC Post
3000
Gold Writer
👍 Likes (on your posts)
50 Likes on DC Posts
500
Insightful Author
100 Likes on DC Posts
1000
Expert Author
500 Likes on DC Posts
5000
Recognizable Author
1000 Likes on DC Posts
10000
Powerful Author
Activities on Open Exchange
💿Downloads of Your Application
50 Downloads on OEX App
500
Popular App
100 Downloads on OEX App
1000
Bronze Popular App
250 Downloads on OEX App
2500
Silver Popular App
500 Downloads on OEX App
5000
Gold Popular App
🧑💻Applications
Each App on Open Exchange
800
IPM application on Open Exchange
400
1 App on OEX
1000
Open Exchange Developer
5 Apps on OEX
10000
Bronze Open Exchange Developer
10 Apps on OEX
25000
Silver Open Exchange Developer
25 Apps on OEX
50000
Gold Open Exchange Developer
📝OEX Reviews
Each Open Exchange Review
200
1 OEX Review
200
Open Exchange Reviewer
5 OEX Reviews
500
Advanced Open Exchange Reviewer
10 OEX Reviews
1000
Bronze Open Exchange Reviewer
25 OEX Reviews
2500
Silver Open Exchange Reviewer
50 OEX Reviews
5000
Gold Open Exchange Reviewer
Activities on Ideas Portal
💡Product Ideas Submission
Product Idea Submitted
Points are awarded automatically for ideas submitted under the "InterSystems Products" category, after the idea has passed moderation. Read more in this post.
100
Idea Creator — 1 idea
Advanced — 5 ideas
Bronze — 10 ideas
Silver — 25 ideas
Gold — 50 ideas
Product Idea In Progress
500
Product Idea Implemented
3000
Complete challenges, get badges and climb up the levels: Insider > Advocate > Specialist > Expert >Ambassador> Legend.**Please note the level system is not available on a new Global Masters platform starting from April 2024. We are working on bringing it back!
The higher level you are, the more interesting prizes available!
And...
Please check the additional information about Global Masters:
What is Global Masters? Start Here
Global Masters Badges Descriptions
Global Masters Levels Descriptions
Additionally, you can join our Referral Program here and earn 1,000 points for each friend who joined Developer Community!
If you have not joined InterSystems Global Masters Advocacy Hub yet, let's get started right now!
Feel free to ask your questions in the comments to this post.
*Post last updated: 21 July 2025 Thanks, Anastasia!Very helpful! I believe we also have a series upon the number of accepted answers, like 10,25,50,100 accepted answers. Do we? Thank you for this quick reference table (and for my *looks up amount of points for comments* 30 points!) Hi Evgeny,let me answer - we do not have so far, and I think that would be good to have such series & badges to recognize the authors. Are these automated in any way? Wondering if mine is bugged because I've certainly posted questions and comments before but those badges were never unlocked. Their descriptions below say "first" question/comment and I don't know if mine are being detected:https://community.intersystems.com/post/changes-global-masters-program-new-level-new-badges-new-possibilities Hi David! This should be automatic. We'll investigate. I wrote a post on DC in 2017? Do I have to 'register' it to get points on Global Masters?Kind regards, Stephen Hi David!We have fixed this issue. Thank you for the feedback! Thank you! You're very quick! Hi Stephen, I see you have joined recently the Global Masters, that is so great! -this post is not counted in "Write a post on Developer Community" challenge (100 points), as it has been published before you registered- it is counted in all other type of challenges listed above e.g. "Write 10 posts on DC". This was really helpful
Thank you
This is an excellent article and is worth bumping the thread :) Great! This is very helpful! This is helpful. Thank you! "Invite your colleague to Developer Community" - is there a formal way to do this via the D.C. interface? I looked around and couldn't seem to find an 'invite a friend' option or anything like that. I have some colleagues whom I think would benefit from getting involved in the D.C. (CC: @Anastasia.Dyubaylo / @Evgeny.Shvarov ) Hi @Benjamin.Spead you can do that via this Global Masters challenge (this challenge is currently in your "Later" tab) Thank you @Olga.Zavrazhnova2637! I knew I had seen it somewhere at some point. I just had a conversation with a new colleague yesterday about the value of the D.C. and Global Masters, so I will send her an invite :) It's a good idea! Do you mean to have the UI on DC to prepare an email invitation to join DC to a friend developer with a standard invitation text? This was more to figure out the proper way to do this in order for tracking for the badge, etc on the G.M. platform. It makes sense that it needs to originate in a challenge (and than you to Olga for pointing that out).
I don't think that just having a form on the D.C. to invite a friend necessarily makes sense, as anyone can just shoot a friend an email with the link. If others would like to see this as a new feature I won't object though. Hello,please, can you explain how to translate an article/question?
Regards You can see the language of the article in the upper left side of the window, click on it and a list of language will be deployed, select the language to translate the article and a new window will be shown with 2 options, translate and request translate, select the first and you will be able to translate the article. Oh, I see.
Unfortunally there is not Italian language available. Puoi dare un suggerimento in Ideas Portal
Penso che ci sia abbastanza supporto lì.
Perciò ?? @Luca.Ravazzolo ?? Thank you for the table! Thanks, Anastasia!
Very helpful! Thanks for the help. Hello! Thank you very much for remembering these points! I was reading and noticed that the option "Share an article / video in Social Networks" is no longer available in publications, I think this referred to the old platform, right? Hi Marcelo! Yes, the option to share was available for any article and video on the old platform. On the new platform, we still have some articles/videos for sharing, but only for selected content. Social sharing “asks” are tagged with the “social share” tag on the platform when available. Thank you!! Thank for the tips thanks for the information it is very useful Very helpful, thanks I was curious, how long should it take for there to be an update to your points after reading an article / posting a reply? Is this something that should happen immediately, or take some time? This is so cool! Can't wait to get active in the Intersystems community and earn some points Hi Henry! The points are awarded on the 4th day after you post a comment or article — this delay is intentional, for moderation purposes.
However, if you notice a delay longer than that, please let me know. That could indicate a possible issue with the integration between your profiles on DC and GM that we may need to look into 😊 Hi Olga! Thank you for the quick response. That definitely makes sense Hi Olga,
I had a question about the point structure regarding comments. Do you get 300 points for being the first to comment on a post, or is it 300 points for your first ever comment, then 30 points for every subsequent one?
Thanks for your help! That’s a good question! You get 300 points for your first-ever comment on DC — and it comes with a badge too. Then, 30 points for every subsequent one. We’ll update the table to make this clearer.
Now I really like the idea of awarding bonus points to the author of the first answer to a question 😄 — maybe we should introduce something like that! Thanks for the clarification! And I agree, that would be a good way to incentivize initiation on posts.
I also think you should give points to those who suggested great ideas on how to score points 😄 And then the question is, does it have to be a correct answer? Because if not I'm going to be getting lots of points very quickly ;) It doesn’t have to be correct, but make it your best shot :)P.S. Our moderators are wide awake — just saying 😄😜 Sensational
Article
Sylvain Guilbaud · Jul 18
🛠️ Managing InterSystems InterSystems API Manager (IAM = Kong Gateway) configurations in CI/CD
🔍 Context: InterSystems IAM configurations
As part of integrating InterSystems IRIS into a secure and controlled environment, InterSystems IAM relies on Kong Gateway to manage exposed APIs.Kong acts as a modern API Gateway, capable of handling authentication, security, traffic management, plugins, and more.
However, maintaining consistent Kong configurations (routes, services, plugins, etc.) across different environments (development, testing, production) is a major challenge. This is where tools like deck and this Python script become highly valuable.
⚙️ Overview of kong_config_tool.py
This tool allows you to:
Export the current configuration of a Kong Gateway into a versionable YAML file.
Import a YAML configuration into a Kong Gateway (via deck sync).
Automate full logging (logs, stdout/stderr) for accurate tracking.
Easily integrate into a CI/CD pipeline.
🎯 Goals and Benefits
🔄 Consistent Synchronization Across Environments
The tool simplifies propagating Kong configuration between environments. By exporting from dev and importing into staging or prod, you ensure functional parity.
🔐 Traceability and Audits via Logs
With the --log option, all operations (including internal deck commands) are logged:
Who executed what
What configuration was applied
What was Kong’s response (number of resources created, modified, etc.)
🧪 CI/CD Pipeline Integration
In GitLab CI, GitHub Actions, or Jenkins:
The export step can be triggered automatically after API changes.
The import step can deploy the Kong config on every merge or release.
The generated YAML files can be version-controlled in Git.
🧰 Example GitLab Pipeline
stages:
- export
- deploy
export_kong:
stage: export
script:
- python3 kong_config_tool.py --export --log
artifacts:
paths:
- kong.yaml
- kong_config_tool.log
deploy_kong:
stage: deploy
script:
- python3 kong_config_tool.py --import --log
🛡️ Security and Reproducibility
Since InterSystems IAM is often used in sensitive environments (healthcare, finance...), it’s essential to:
Avoid manual errors using deck sync
Ensure each deployment applies the exact same configuration
Maintain a clear audit trail via .log files
💡 Tool Highlights
Feature
Description
--export
Saves the current config to a file like kong-<timestamp>.yaml
--import
Applies the contents of kong.yaml to the Gateway
--log
Enables full logging (stdout, stderr, logs)
Automatic Symlink
kong.yaml is always a symlink to the latest exported version
Easy Integration
No heavy dependencies — relies on standard Python and deck
📦 Conclusion
The kong_config_tool.py script is a key component for industrializing Kong configuration management in the context of InterSystems IAM. It enables:
Better configuration control
Enhanced traceability
Smooth integration into CI/CD pipelines
Compliance with security requirements
🚀 Potential Future Enhancements
Native GitOps integration (ArgoCD, FluxCD)
Configuration validation with deck diff
Error notifications (Slack, Teams)
🧬 Python Code Overview
The kong_config_tool.py script is a Python CLI tool designed to automate configuration exports and imports for Kong Gateway using deck, while ensuring robust logging.
📁 General Structure
#!/usr/bin/env python3
import argparse
import subprocess
from datetime import datetime
from pathlib import Path
import sys
import logging
Uses only standard Python modules.
argparse: to handle command-line options.
subprocess: to run deck commands.
logging: for structured output (console + file).
🧱 Logger Initialization
logger = logging.getLogger("kong_config_tool")
Initializes a named logger, configurable based on whether a log file is requested.
📝 setup_logging(log_file=None)
This function:
Creates handlers for both console and/or file.
Redirects sys.stdout and sys.stderr to the log file if --log is provided.
🔎 This captures everything: Python logs, print(), errors, and also output from deck.
📤 export_kong_config()
deck_dir = Path.cwd()
output_file = deck_dir / f"kong-{timestamp}.yaml"
Executes deck gateway dump -o ... to export the current configuration.
Captures stdout and stderr and sends them to logger.debug(...).
Creates or updates a kong.yaml symlink pointing to the exported file — simplifying future imports.
Logs and exits on failure.
📥 import_kong_config()
Checks for the presence of the kong.yaml file (symlink or actual file).
Runs deck gateway sync kong.yaml.
Captures and logs full output.
Handles errors via CalledProcessError.
🔁 This logic mirrors the export process.
🚀 main()
The main entry point that:
Handles --export, --import, and --log arguments.
Calls the appropriate functions.
Example usage:
python kong_config_tool.py --export --log
python kong_config_tool.py --import --log
💡 If --log is omitted, output goes to console only.
🧪 Typical CI/CD Execution
Export
python kong_config_tool.py --export --log
Results:
kong-2025-07-18_12-34-56.yaml (versionable content)
kong.yaml (useful symlink for import)
kong_config_tool.log (audit log)
Import
python kong_config_tool.py --import --log
Results:
Applies the configuration to a new gateway (staging, prod, etc.)
kong_config_tool.log to prove what was done
✅ Code Summary Table
Feature
Implementation
Intuitive CLI Interface
argparse with help descriptions
Clean Export
deck gateway dump + timestamp
Controlled Import
deck gateway sync kong.yaml
Full Logging
logging + stdout/stderr redirection
Resilience
Error handling via try/except
CI/CD Ready
Simple interface, no external dependencies
Let me know if you'd like the English version of the actual code too!
kong_config_tool.py
#!/usr/bin/env python3
import argparse
import subprocess
from datetime import datetime
from pathlib import Path
import sys
import logging
logger = logging.getLogger("kong_config_tool")
def setup_logging(log_file=None):
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s", "%Y-%m-%d %H:%M:%S")
handlers = []
# Console handler
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
handlers.append(console_handler)
if log_file:
file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(formatter)
handlers.append(file_handler)
# Redirect all stdout and stderr to the log file
log_file_handle = open(log_file, "a")
sys.stdout = log_file_handle
sys.stderr = log_file_handle
for handler in handlers:
logger.addHandler(handler)
def export_kong_config():
deck_dir = Path.cwd()
current_date = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
output_file = deck_dir / f"kong-{current_date}.yaml"
try:
logger.info(f"Exporting Kong config to: {output_file}")
result = subprocess.run(
["deck", "gateway", "dump", "-o", str(output_file)],
check=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
# Log and print deck output
logger.debug(result.stdout)
logger.debug(result.stderr)
print(result.stdout)
print(result.stderr)
symlink_path = deck_dir / "kong.yaml"
if symlink_path.exists() or symlink_path.is_symlink():
symlink_path.unlink()
symlink_path.symlink_to(output_file.name)
logger.info(f"Symlink created/updated: {symlink_path} -> {output_file.name}")
except subprocess.CalledProcessError as e:
logger.error(f"Export failed: {e}")
logger.error(e.stderr)
print(e.stderr)
sys.exit(1)
def import_kong_config():
deck_file = Path.cwd() / "kong.yaml"
if not deck_file.exists():
logger.error(f"Configuration file {deck_file} not found.")
sys.exit(1)
try:
logger.info("Syncing kong.yaml to gateway...")
result = subprocess.run(
["deck", "gateway", "sync", str(deck_file)],
check=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
# Log and print deck output
logger.debug(result.stdout)
logger.debug(result.stderr)
# print(result.stdout)
# print(result.stderr)
logger.info("Sync completed successfully.")
except subprocess.CalledProcessError as e:
logger.error(f"Sync failed: {e}")
logger.error(e.stderr)
print(e.stderr)
sys.exit(1)
def main():
parser = argparse.ArgumentParser(
description=(
"Tool to export or import Kong Gateway configuration using deck.\n\n"
"Exactly one of the options --export or --import is required.\n\n"
"Examples:\n"
" python kong_config_tool.py --export --log\n"
" python kong_config_tool.py --import --log\n\n"
"For help, run:\n"
" python kong_config_tool.py --help"
),
formatter_class=argparse.RawTextHelpFormatter
)
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument("-e", "--export", dest="export_config", action="store_true",
help="Export Kong configuration to a timestamped YAML file and create/update kong.yaml symlink.")
group.add_argument("-i", "--import", dest="import_config", action="store_true",
help="Import (sync) Kong configuration from kong.yaml into Kong Gateway.")
parser.add_argument(
"--log",
dest="log_file",
nargs="?",
const="kong_config_tool.log",
help="Enable logging to a file. Use default 'kong_config_tool.log' if no path is given."
)
args = parser.parse_args()
setup_logging(args.log_file)
if args.export_config:
export_kong_config()
elif args.import_config:
import_kong_config()
if __name__ == "__main__":
main()
Article
Liam Evans · Jul 14
For my intern project, I am building a Flask REST API backend. My goal is to host it on InterSystems IRIS using the WSGI interface. This is a relatively new approach and is currently only being used in a handful of projects such as AskMe. To help others get started, I decided to write this article to simplify the process.
Creating a Basic Flask App
First, let’s create a minimal Flask application. Here is the code:
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route('/test')
def test():
return "Test"
if __name__ == "__main__":
app.run()
This simple app runs a Flask server with one API endpoint at /test that returns the text “Test.”
Let's analyze our code line by line:
from flask import Flask
from flask_cors import CORS
We are using Flask as our web framework to build the REST API, so we import Flask .
CORS (Cross-Origin Resource Sharing) is imported via flask_cors to allow requests from different domains (important for frontend apps hosted elsewhere to access your API without security errors).
app = Flask(__name__)
CORS(app)
We create an instance of the Flask application named app.
We then wrap this app with CORS middleware, enabling cross-origin requests by default. Without this, browsers might block API calls from other domains.
@app.route('/test')
def test():
return "Test"
Here we define a route /test using the @app.route decorator. This binds the URL /test to the Python function test().
When a user sends an HTTP GET request to /test, Flask will invoke the test() function, which simply returns the string "Test". This serves as a simple API endpoint for testing connectivity.
if __name__ == "__main__":
app.run()
This block checks if the script is being run directly (not imported as a module).
If so, it starts Flask’s built-in development server locally on your machine.
Note: When deploying on InterSystems IRIS using WSGI, this section is ignored because IRIS manages the server.
Configuring the Web App on IRIS
Once your Flask app is ready, the next step is to host it on IRIS by configuring a Web Application with the WSGI option.
Open the IRIS Management Portal for your instance.
Go to System > Security Management > Web Applications or search Web Applications.
Click the Create New Web Application button.
Fill out the form as follows:
Name: Give your web app a path, for example: /flaskapp1/api.
Description: Add a brief description like My Flask API backend.
Enabled: Make sure this checkbox is checked.
Scroll down and check the WSGI (Experimental) option to enable running Python WSGI apps.
Then fill in the WSGI details:
Application Name: main (This corresponds to the WSGI callable you want IRIS to use.)
Callable Name: app (This matches the Flask application variable name in your code.)
WSGI App Directory: Enter the full file path to your main.py file where the Flask app is defined. For example: /path/to/main.py.
Debug: Unchecked
Click Save.
Here’s what this configuration looks like in the portal:
Testing Your API
After saving, your Flask API should now be available at:
https://base.<your-domain>.com/flaskapp1/api/test or more generally, https://base.<your-domain>.com/<path>/test
Open this URL in your browser or test it using Postman or curl. You should see the response:
'Test'
What’s Next?
This setup lets you run a Flask REST API hosted directly on IRIS using the WSGI integration. From here, you can expand your API with more endpoints and connect to IRIS data sources to build powerful applications.Put in the comments what you plan on building with Flask 😜
Announcement
Mohammad Ali · Jul 25
We are looking for experienced InterSystems IRIS for Health developers to join a long-term healthcare technology project. You must be USA-based and available to work full-time remotely.
🔹 Requirements:
Strong experience with InterSystems IRIS for Health
Solid understanding of HL7, FHIR, and healthcare integration workflows
Proficiency in ObjectScript, and Python/Java/SQL
Prior experience with EHR, LIS, or other clinical systems is a big plus
Must be based in the United States
Interested candidates can DM here or email on: ali.ceo@softhawker.com
Announcement
Evgeny Shvarov · Jul 31
We are happy to present the bonuses page for the applications submitted to the InterSystems Developer Tools Contest 2025!
See the results below.
Project
Vector Search
Embedded Python
Interoperability
IRIS BI
VSCode Plugin
FHIR Tools
Docker
IPM
Community Idea Implementation
Find Embedded Python bug
First Article on DC
Second Article on DC
Video on YouTube
First Time Contribution
Total Bonus
Nominal
3
3
3
3
3
3
2
2
4
2
2
1
3
3
37
Interoperability REST API Template
3
3
6
iristest-html
3
3
Global-Inspector
2
2
2
3
9
InterSystems Testing Manager for VS Code
3
4
2
1
3
13
IPM Explorer for VSCode
3
2
3
3
11
typeorm-iris
2
4
2
3
11
addsearchtable
3
3
iris-message-search
3
2
2
7
iris4word
3
3
3
2
2
4
2
1
3
23
PyObjectscript Gen
0
IrisTest
2
3
5
dc-artisan
3
3
3
3
2
2
2
1
3
22
templated_email
3
3
2
2
2
12
wsgi-to-zpm
3
2
5
toolqa
3
3
2
2
1
11
dataset-sample-split
3
2
3
8
snipforge
3
3
6
Please apply with your comments for new implementations and corrections to be made here in the comments or in Discord. Hi @Evgeny.Shvarov , how are you?
What about this item? It could be a new article or a translation, right?The Second article on Developer Community - 1 point
You can collect one more bonus point for the second article or the translation of the first article. The second article should go into detail about a feature of your project. The 3rd and more articles will not bring more points, but the attention will be all yours. *This bonus is subject to the discretion of the experts whose decision is final.
HI! Right, It can be a translation of the first article or you can provide a new article if you want. @Semion.Makarov ,this is exactly what I'm questioning, to see if there is any other detail that may have prevented the score from being received. Andre, you can choose any option from translation or new article, only theme should be related with app and length for new article should be more when 1000 characters. No more restrictions So the point was not computed. Ok. Please provide link to translation. I'll update the table https://pt.community.intersystems.com/post/toolqa-espera-acabouThank you, @Semion.Makarov Done Hi @Semion.Makarov I'm not sure if we can claim points for "Community Idea Implementation" on dc-artisan. While we don't literally implement the idea from https://ideas.intersystems.com/ideas/DPI-I-557, but the rag-pipeline mode was heavily inspired by it. Our goal was to showcase embedded chunks, management, and vector ingestion, which aligns closely with the core concept of that idea. It's not a direct, word-for-word implementation of a GUI like vectorAdmin, but the underlying idea is very similar. Hi! That's pretty cool that you was inspired by one of ideas! But that idea requires UI for Vector db management. Your app doesn't follow the main idea's line Video for InterSystems Testing Manager for VS Code is now on YouTube. Thank you! Bonus was added. Can I get a bonus for Community opportunity Idea?
As part of the main project, to proper test across multiple versions of IRIS, I implemented another project and wrote an article about it, with examples from typeorm-iris project
I know that only Python matters nowadays, but what about other languages officially supported by InterSystems?
I found significant bugs in the NodeJS driver, and it is not worth anything. Published Video about typeorm-iris I think IPM Explorer for VSCode has been incorrectly awarded the IPM bonus.
From the bonuses article:
This entry isn't published as an IPM package but as a VS Code extension on Microsoft's Marketplace. Hi! I've added bonus for idea. About languages, in this contest we have bonuses only for Embedded Python. Hi! I've updated bonuses, thank you! Hi! Judges decided to add this bonus to this app because it directly related with IPM. @Dmitry.Maslennikov Could you please add this link to your OEX app? First Article pointing for dc-artisan https://community.intersystems.com/node/585174 I've added bonus. Thank you! Hmm, seems unfair they didn't take that view last year for my IPM in VS Code entry:
https://community.intersystems.com/post/technological-bonuses-results-developer-tools-contest-2024 Ask @Evgeny.Shvarov for details. I discussed that with Evgeny and team, and we decided to remove this bonus. @John.Murray Hi @Evgeny.Shvarov
Now dc-artisan has a Youtube promo / demo video
Hi! Bonus was added Hi @Semion.Makarov Second article for dc-artisanhttps://pt.community.intersystems.com/post/do-barro-à-obra-prima-conheça-o-dc-artisan-e-crie-prompts-com-qualidade Hi! Bonus was added. Thanks!
Announcement
Anastasia Dyubaylo · Aug 5
Hi Community,
Let's meet at the online meetup with the winners of the InterSystems Developer Tools Contest! It's a great opportunity to chat with the InterSystems Experts team and our contestants.
Winners' demo included!
Date & Time: Friday, August 8, 11:30 am EDT | 5:30 pm CEST
Join us to learn more about winners' applications and to have a talk with our experts.
➡️ REGISTER TODAY
See you all at our virtual meetup!
Announcement
Celeste Canzano · May 12
Hello IRIS community,
InterSystems Certification is currently developing a certification exam for InterSystems IRIS SQL professionals, and if you match the exam candidate description given below, we would like you to beta test the exam! The exam will be available for beta testing starting May 19, 2025.
Please note: Only candidates with the pre-existing InterSystems IRIS SQL Specialist certification are eligible to take the beta. Interested in the beta but don’t have the SQL Specialist certification? Take the SQL Specialist exam!
Eligible candidates will receive an email from the certification team on May 19, 2025 with instructions on scheduling the exam.
Beta testing will be completed August 31, 2025.
What are my responsibilities as a beta tester?
You will schedule and take the exam by July 15th. The exam will be administered in an online proctored environment free of charge (the standard fee of $150 per exam is waived for all beta testers). The InterSystems Certification team will then perform a careful statistical analysis of all beta test data to set a passing score for the exam. The analysis of the beta test results will take 6-8 weeks, and once the passing score is established, you will receive an email notification from InterSystems Certification informing you of the results. If your score on the exam is at or above the passing score, you will have earned the certification!
Note: Beta test scores are completely confidential.
How is this exam different from the InterSystems IRIS SQL Specialist exam?
This new exam - InterSystems IRIS SQL Professional - covers higher-level SQL topics and is recommended for candidates with 4 to 6 years of relevant experience, compared to the 1 to 2 years recommended for the SQL Specialist exam.
Interested in participating? Read the Exam Details below.
Exam Details
Exam title: InterSystems IRIS SQL Professional
Candidate description: A developer or solutions architect who
Designs IRIS SQL applications
Manages IRIS SQL operations
Uses IRIS SQL
Loads and efficiently queries datasets stored in IRIS SQL
Number of questions: 38
Time allotted to take exam: 2 hours
Recommended preparation: Review the content below before taking the exam.
Online Learning:
Using SQL in InterSystems IRIS (learning path, 3h 45m)
Recommended practical experience:
4 to 6 years of experience developing and managing IRIS SQL applications is recommended.
At least 2 years of experience working with ObjectScript and globals in InterSystems IRIS is recommended.
Exam practice questions
A set of practice questions is provided here to familiarize candidates with question formats and approaches.
Exam format
The questions are presented in two formats: multiple choice and multiple response. Access to InterSystems IRIS Documentation will be available during the exam.
DISCLAIMER: Please note this exam has a 2-hour time limit. While InterSystems documentation will be available during the exam, candidates will not have time to search the documentation for every question. Thus, completing the recommended preparation before taking the exam, and searching the documentation only when absolutely necessary during the exam, are both strongly encouraged!
System requirements for beta testing
Working camera & microphone
Dual-core CPU
At least 2 GB available of RAM memory
At least 500 MB of available disk space
Minimum internet speed:
Download - 500kb/s
Upload - 500kb/s
Exam topics and content
The exam contains questions that cover the areas for the stated role as shown in the exam topics chart immediately below.
Topic
Subtopic
Knowledge, skills, and abilities
1. Designs IRIS SQL applications
1.1 Designs a SQL schema
Distinguishes use cases for row vs columnar table layout
Distinguishes use cases for different index types
1.2 Designs advanced schemas
Recalls anatomy of Globals (subscript and value)
Interprets relationship between table structure and Globals
Distinguishes the (Globals) level at which mirroring/journaling operates from the SQL layer
Distinguishes the differences between date/time data types
Interprets the overhead associated with stream data
Identifies use cases for text search
1.3 Writes business logic
Identifies use cases for UDFs, UDAFs, and SPs
1.4 Develops Object/Relational applications
Recalls SQL best practices when defining classes
Uses Object access to interact with individual rows
Identifies SQL limitations with class inheritance
Uses serial and object properties
Identifies use cases for collection properties
Distinguishes class relationships from Foreign Keys
1.5 Deploys SQL applications
Determines what needs to be part of a deployment
2. Uses IRIS SQL
2.1 Manages IRIS query processing
Identify benefits of the universal query cache
List considerations made by the optimizer
Differentiates client and server-side problems
Uses Statement Index to find statement metadata
Distinguishes between the use of parameters and constants in a query
Distinguishes between transaction and isolation levels
2.2 Interprets query plans
Identifies the use of indices in a query plan
Identifies vectorized (columnar) query plans
Uses hints to troubleshoot query planning
Identifies opportunities for indices, based on a query plan
2.3 Uses IRIS SQL in applications
Distinguishes use cases for Dynamic SQL and Embedded SQL
2.4 Uses IRIS-specific SQL capabilities
Uses arrow syntax for implicit joining
Determines use cases for explicit use of collation functions
3. Manages IRIS SQL operations
3.1 Manages SQL operations
Identifies use cases for purging queries and rebuilding indices
Recalls impact of purging queries and rebuilding indices
Identifies use cases for un/freezing query plans, including automation
Identifies use cases for (bitmap) index compaction
Uses the runtime stats in the Statement Index to find statements with optimization opportunities
3.2 Configures InterSystems SQL options
Recalls relevant system configuration options (e.g. lock threshold)
Differentiates scale-out options, ECP, and sharding
3.3 Manages SQL security
Recalls to apply SQL privilege checking when using Embedded SQL
3.4 Uses PTools for advanced performance analysis
Identifies use cases for using PTools
Interested in participating? Eligible candidates will receive an email from the certification team on May 19th with instructions on how to schedule and take the exam. Hello Celeste! This is really interesting. How are the eligible candidates chosen? Is there a way to apply? Thank you. Hi Pietro! Unlike prior certification exam betas, only folks who hold the InterSystems IRIS SQL Specialist certification are eligible. There is no application process, rather, the certification team will be reaching out directly to eligible individuals on May 19th. Anyone who holds an active SQL Specialist certification will receive an email next Monday with instructions on how to access and take the beta exam. The email will be sent to the address associated with your account on Credly, our digital badging platform.
If you do not yet have the SQL Specialist certification, I encourage you to consider taking the InterSystems IRIS SQL Specialist certification exam. Once you pass this exam and obtain the certification, you will receive an email from the certification team regarding the beta.
Please let me know if I can clarify anything! Thank you for the clarifications Celeste! dear @Celeste.Canzano
Can anyone take this beta test? or only those who holds an active SQL Specialist certification is eligible for this?
Regards,
Harshitha Hi Harshitha! Only those who hold an active SQL Specialist certification are eligible for the SQL Professional beta. Please let me know if you have any additional questions.
Question
Kurt Hofman · Dec 15, 2020
Hello,
I'm testing IRIS 2020.4 Preview with preview key.
I've access to the management portal but I can't connect with Studio.
This is my docker-command : docker run --name my-iris --detach --publish 9091:51773 --publish 9092:52773 --volume C:\Docker\iris_external:/external –-volume C:\Docker\iris_durable:/durable –-env ISC_DATA_DIRECTORY=/durable/irissys containers.intersystems.com/intersystems/iris:2020.4.0.524.0 --key /external/iris.key --password-file /external/password.txt
I notice that Caché Direct is disabled by the license.
Can someone help me out ? InterSystems have changed SuperServer port in a few latest builds, back to 1972. So, just replacing 51773 with 1972, should work.
You can use docker inspect
docker inspect containers.intersystems.com/intersystems/iris:2020.4.0.524.0
Will outputs something like this
.....
"ExposedPorts": {
"1972/tcp": {},
"2188/tcp": {},
"52773/tcp": {},
"53773/tcp": {},
"54773/tcp": {}
},
.....
"Labels": {
"com.intersystems.adhoc-info": "",
"com.intersystems.platform-version": "2020.4.0.524.0",
"com.intersystems.ports.default.arbiter": "2188",
"com.intersystems.ports.default.license-server": "4002",
"com.intersystems.ports.default.superserver": "1972",
"com.intersystems.ports.default.webserver": "52773",
"com.intersystems.ports.default.xdbc": "53773",
"com.intersystems.product-name": "IRIS",
"com.intersystems.product-platform": "dockerubuntux64",
"com.intersystems.product-timestamp": "Thu Oct 22 2020 13:02:16 EDT",
"com.intersystems.product-timestamp.iso8601": "2020-10-22T17:02:16Z",
"maintainer": "InterSystems Worldwide Response Center <support@intersystems.com>",
"org.opencontainers.image.created": "2020-10-22T19:32:32Z",
"org.opencontainers.image.documentation": "https://docs.intersystems.com/",
"org.opencontainers.image.title": "intersystems/iris",
"org.opencontainers.image.vendor": "InterSystems",
"org.opencontainers.image.version": "2020.4.0.524.0-0"
}
I've just left, only interesting lines in your case. Where you can find, which ports are declared as exposed in the image, and labels, which declares available ports in the image.
Access directly to the label
$ docker inspect containers.intersystems.com/intersystems/iris:2020.4.0.524.0 \
--format '{{ index .Config.Labels "com.intersystems.ports.default.superserver" }}'
1972 Thanks, I replaced 51773 with 1972 and now it works !
Question
yeung elijah · Jan 28, 2021
Hi,
I'm a java developer,have integration package for springboot?(maven or gradle)
This is also the question I want to submit. check https://openexchange.intersystems.com/package/springboot-iris-crud
Article
Yuri Marx · Oct 22, 2020
I liked the transactional analytic DBMS and Advanced Analytics segmentation concept.
The 1.0 version IRIS plug-in to VSCode is amazing. The partnership between community and InterSystems was very positive to it. However a low code option would do very well for IRIS in the near future.
The Dynamic Gateways/Native API positions IRIS as the most advanced data platform for the main open languages in the market, but it is necessary use the public package managers from these languages, specially maven public repository.
The API Manager is a good option but it is not available to the community IRIS version and can be used only with API created with IRIS. It is a critical point to resolve.
OPC-UA adapter to IoT and Kakfa adapter to realtime events are great, I loved it. In the future, new adapters to the Salesforce, SAP, Office 365 and other most used platforms could be considered.
Cloud support is perfect now, with ICM and IKO to deploy and manage and SAM to monitor.
The FHIR accelerator is great option to FHIR projects, it's really very useful.
IRIS really is getting faster and faster, impressive to be able to make something that is already very fast faster.
The Adaptive Analytics was an impressive launch and very welcome, it has the ability to speed up and simplify the creation of analytical cubes (in a totally visual and intuitive way) and its exposure to excel and other data viewers in a wonderful way. In the future I would like to see InterSystems launching its own viewer, since IRIS Reports is for restricted use and is not available for community versions, making it impossible to popularize in the community.
The IntegratedML was my favorite new IRIS feature. Very easy to use, any DBA can be use it. The AutoML is a fantastic technology and will be used a lot. Now, InterSystems needs to deliver a viewer of predictions and classifications to the end user, it could use the same technology as SAM, the Grafana.
I agree with you in most cases.
The most important announcement for me would be Embedded Python.This will bring to the community the power of python libraries, it's a giant step forward.
Yes, the integration with python is very important.
Announcement
Anastasia Dyubaylo · Oct 12, 2021
Hey Developers,
Are you joining us for the InterSystems Virtual Summit 2021?
⚡️ THE REGISTRATION IS NOW OPEN ⚡️
Innovations in Data - #VSummit21
At the second InterSystems Virtual Summit, learn how to make your organization thrive with healthy data, powerful analytics, and a smart data fabric powered by InterSystems technology. Hear from our experts, world-leading thought leaders, and InterSystems customers from around the globe.
🗓 Tuesday, October 26 - Friday, October 29
👉 Keynotes | Live Experience Labs | Focus Sessions On-demand | Free Registration
Summit Schedule
Day 1 (Tuesday, Oct.26)Keynote presentations by our InterSystems leadership team, thought leaders, and key customers.
Day 2 (Wednesday, Oct. 27)Keynotes about Client Support and "What’s New and Next" presentations by product directors for InterSystems IRIS®, InterSystems IRIS for Health™, HealthShare®, and TrakCare®.
Days 3 and 4 (Thursday, Oct. 28, and Friday, Oct. 29)Build your own schedule. Take this opportunity to view all the Focus Sessions on demand. You can also sign up for our Experience Labs. All on demand focus sessions are pre-recorded and will be available on day 2 starting at 2 PM ET.
REGISTER FOR FREE TODAY. And see you at Virtual Summit 2021!
Question
Nagarjuna Reddy Kurmayyagari · May 5, 2020
I am trying to install IAM in my local and I downloaded IAM-0.34-1-1.tar.gz and extracted. I went to the location where iam_image.tar is available and run below command in the command prompt.
C:\ESB\HC\IAM-0.34-1-1.tar\IAM-0.34-1-1\IAM>docker load -i iam_image.tarunsupported os linux
Getting unsupported os Linux issue. Kindly let me know if anyone had this issue. Thanks!
On windows docker works in two different ways, as windows containers and linux containers. It looks like, you just should switch it to linux from Windows Thanks for reply @Dimtriy, I am new to Docker. I have below info on my machine about docker and looks it is using Windows container. Let me know if anything needs to be changed.
C:\>docker versionClient: Docker Engine - Community Version: 19.03.8 API version: 1.40 Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:23:10 2020 OS/Arch: windows/amd64 Experimental: false
Server: Docker Engine - Community Engine: Version: 19.03.8 API version: 1.40 (minimum version 1.24) Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:37:20 2020 OS/Arch: windows/amd64 Experimental: false
As I said for server side it show linux for os/arch. You should find the switcher in context menu in tray on docker icon. Thank you, I am able to load the image after I switch to linux container in server-side. After I loaded the image, I am trying to do the next step of configuration.
2) Configure your InterSystems IRIS instance
2a) Enable the /api/IAM web application 2b) Enable the IAM user 2c) Change the password for the IAM user
Do we need to change these settings in iris.cpf file? any inputs where we have to configure. I have IRIS 2019.1.1 installed in my machine.
Question
Neguinho Robson · Jun 23, 2021
Is there any chance to make available a arm64/aarch64 binary version for Caché ODBC Driver?
Just like IRIS ftp://ftp.intersystems.com/pub/iris/odbc//2021/ODBC-2021.1.0.215.0-lnxrharm64.tar.gz
As I am using docker, currently is not possible to build locally a new image using existing Caché ODBC Drivers on Mac M1. Do you still expect some echo?Or is the question meanwhile just out of date? @Robert.Cemper1003
I am waiting for that. Do you have any solution ? Caché will not get support for M1, and so, I think no reasons to wait for an ODBC driver for M1 too No, I have no solution.As all development on Caché (except serious bugfix) is frozen I wouldn't expect this to come.You may migrate your Caché to IRIS. Or use some other way (REST ?) for access.
Announcement
Anastasia Dyubaylo · Feb 12, 2020
Hi Developers,
The new video from Global summit 2019 is already on InterSystems Developers YouTube:
⏯ Intersystems IRIS Kubernetes Operator
This video introduces the InterSystems IRIS Kubernetes operator, which enables InterSystems IRIS containers to function as "first-class citizens" of the Kubernetes ecosystem. We recommend that you be familiar with basic Kubernetes concepts: Introduction to Kubernetes Video
Takeaway: You will understand and appreciate the value proposition of the InterSystems IRIS Kubernetes operator.
Presenters: 🗣 @Luca.Ravazzolo, Product Manager, InterSystems🗣 @Steven.Lubars, InterSystems Software Developer
Additional materials to this video you can find in this InterSystems Online Learning Course.
Check out the Cloud Deployment Resource Guide.
Enjoy watching this video! 👍🏼 HI Guys,
Can you please post the link of prevision session that you mentioned in this video. I am still not sure how we will use Kubernetes with IRIS . It be great if you can put some light on that too ?
Thanks Hi Neerav Adam,
Are you looking for the Introduction to Kubernetes session? Does anyone know how to download this operator? I'm excited to start using it. Hi @Jonathan.Keam, I hope you found the answer back in Jan. If not head over to containers.intersystems.com
HTH