Search

Clear filter
Announcement
Anastasia Dyubaylo · Jul 9

Kick-off Webinar for InterSystems Developer Tools Contest 2025

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

How to earn points on InterSystems Global Masters Advocate Hub

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

Python tool for exporting/importing InterSystems API Manager configurations

🛠️ 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

Hosting a Flask REST API on InterSystems IRIS using WSGI

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

Hiring InterSystems IRIS for Health Developer – Remote (USA Only)

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

Technology Bonuses Results for the InterSystems Developer Tools Contest 2025

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

Online Meetup with the Winners of the InterSystems Developer Tools Contest 2025

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

Do you have the InterSystems IRIS SQL Specialist certification? Beta testers needed for our upcoming InterSystems IRIS SQL Professional certification exam

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

Intersystems IRIS 2020.4.0.524.0 (Docker) & IRIS Studio

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

How to use intersystems iris in springboot(java)

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

2020 Intersystems IRIS Roadmap - blueprint analysis

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

InterSystems Virtual Summit 2021: Innovations in Data

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

Intersystems API Manager(IAM) installation issues

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

Intersystems Caché ODBC - Apple Silicon M1

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

New Video: Intersystems IRIS Kubernetes Operator

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