Search

Clear filter
Announcement
Evgeny Shvarov · May 21, 2019

InterSystems Developers in Spanish!

Hi Community!I'm pleased to announce the official start of InterSystems Developer Community in Spanish!Here is the landing page which describes the thing:Also, you can switch between sites using two language buttons in the top right corner.So!If you know Spanish welcome to contribute articles, discuss articles and answer questions about InterSystems data platforms now in Spanish too!Also!If you posted an article in English it could be translated by anyone in Spanish and will be helpful for even more people! Check the translation guide.And! You can expand the audience and translate your question into another language - just click the "Es" switcher in your English question and proceed with translation - the translated question will be generated in another language. For Example: And let me introduce you @David.Reche from InterSystems Iberia office as creator and now as a manager of InterSystems Developer Community in Spanish!Don't hesitate to provide your feedback to David how to make Spanish InterSystems community better!Welcome to InterSystems Developers Community in Spanish, and stay tuned! Congratulations to all Spanish community and, in particular, congratulations to @David.Reche for this great work.Muchas gracias When will Russian language support be available? Hi Vitaly! Thanks for the idea! Please submit a task and vote for it. If we have a lot of votes will consider to add it. I have one problem with it - if we introduce Russian Community, will you stop answering questions in English? ) If we have a lot of votes will consider to add it. Do we still have to vote for this? On-my enough one moreover, that moderators (you and Dmitry) and engineers InterSystems (Eduard, Alexander, Anton, Sergey, Anastasia, Timur, etc.) - Russian-speaking. I have one problem with it - if we introduce Russian Community, will you stop answering questions in English?) 1. I here like writing code more than words. 2. It will depend on who is asking.
Article
Evgeny Shvarov · Nov 26, 2018

InterSystems Best Practices

Hi Community!We are introducing a new feature on DC site - Best Practices of InterSystems Data Platforms.It is the tag, which highlights articles on DC considered as Best Practices on how to develop, test, deploy and manage solutions on InterSystems Data Platforms. Why do we do this?You often asked us(InterSystems) what is the attitude to different posts on DC? How to distinguish posts with InterSystems message for developers from "just thoughts"? Actually, you can subscribe to Product Managers and Technology architects directly, but we must admit that there are a lot of articles from Community members which have tons of experience, bright solutions, and knowledge and which are in fact the Best Practices for InterSystems Data Platforms. And we want to highlight this content.Who makes the decision? We established a council of InterSystems Product Managers and Technology Architects who review articles and decide on whether it is considered as InterSystems Best Practice.What posts will be reviewed?All articles and some questions on DC which have best practices answers.How often will we see new Best Practices on DC?Every week we'll tag a new Best Practices article. You can get the notification about it if you subscribe to Best Practice tag page. Also we'll put a comment to the post from DC administration that it is selected as Best Practices.When will we start?We already started. Subscribe to the tag and stay tuned!And we are waiting for your InterSystems Best Practices article! Consider adding @Sascha.Kisser article on [DeepSee troubleshooting](https://community.intersystems.com/post/deepsee-troubleshooting-guide) Great point, Alexander! It's in a queue. Hi Evgeny,this looks great,could we also hv one in CN DC?Thx! Michael @Evgeny.Shvarov Hi... I'm not a programmer, I work with QA. And I see development-related issues everyday as basic functionality bugs and also related to specification, spelling and so on. In a way, could I write something along these lines? Of care we should have when developing? Hi Andre! Yes, sure, give it a try Thanks @Evgeny.Shvarov. I will try it. And thanks for the opportunity. Hello again Evgeny Shvarov. It's done. Where can I put a preview of my article so you, or someone else, could read it before I get embarrassed. Feel free to create a draft here and send the link to @Evgeny.Shvarov. Hi everyone... My name is André Larsen Barbosa, known “popularly” as Larsen. Unlike most community members, I'm not a programmer, and in fact, I don't like programming at all. Yes, there are other areas in IT besides these. Come on, I believe all of you developers do testing after development, right? Or are they so confident that they believe they can't make mistakes? Or, do they wait for the problem to appear in the user? Then just launch an update and fix or undo this mistake. So, that's exactly where we work with quality (well, everyone should work with quality), but I'm referring to a specific area, which is QA, or Quality Assurance. When I talk about this, at the same time, I know that there are many companies that already work in this way, with very specific departments and with a somewhat rigid process. However, we also know that many are self-employed, independent programmers, who perhaps, and only perhaps, have not had or do not have this opportunity, which I tell you, is unique. No, I don't want to convert anyone, but I'm sure if you've read this far, you'll think about it. What is quality software? Only software that doesn't give an error when opening it? Is it fast software? Cheap? Simple? Who meets what has been proposed? Which meets the customer's needs? Well, we have a lot of possibilities, but, I tell you all, when we talk about customers, they certainly expect all these questions to be answered by the software you've developed. And I go further, it's not just the code used, if it's clear, if it has comments, if it follows some rules and basic concepts. This is just part of the process, which crosses some boundaries and affects many areas. Process, there is a very important word for the “acquisition” of quality in a project. So, how to achieve the expected result if we don't get a satisfactory interview with the client? Therefore, we will not know exactly what to build. How can we do something with quality if we don't participate in the negotiation of deadlines? Thus, it is true to say that quality must be involved throughout the entire process. I'm not saying that it's a rule and that if it doesn't, it won't work, but it will positively influence this participation. With one more interesting point mentioned, which in fact is software (and here I open to any and all work that can be done, whether it is software, building a house, a cake recipe, anyway, anything, once that Quality, or the concept of quality is universal) of quality? It is very subjective to speak, but, thinking of a way to translate this, we would have something like: “The totality of characteristics of a product or service that can satisfy a certain need of a certain customer. And it is achieved through the permanent search for better results based on the best performance of each of the elements of a process, always oriented towards the customer, meeting their needs and above all exceeding their expectations.” What motivated me to do this article (if I can afford to call it that)? You would be surprised by the absurdities we see. It's about losing sleep. Hi Andre I have read your article and I think that it is worthy of being included in this thread as you speak many truths. I am sure that many people work with technology, from the Customer Project Managers, the Business Analysts, the Team Leaders, the Scrum Master, the Senior Developers, Junior Developers, Testers, Customer UAT testers, and ultimately the Users of the resultant Technology Solution who view their role in the chain with Blinkers and work on the basis that as long as they do their job properly (and that is a word that can mean many different things) and are either unconcerned about the people who fill the other roles in the chain or view them as a necessary evil. But I also believe that there are technologists who are very conscious of the fact that they are an important element in the overall delivery of a solution. It is very rare to find people who can wear the hat of all of the players in this chain. I have met maybe 3 people in my entire career who just stood head and shoulders above everyone else in their ability to communicate and understand the needs and requirements of the customer, translate those requirements into a set of tasks for the Business Analysts to prioritize, document, create the project scope and timeline, write requirement specifications that can be understood by the customer and the development team, be able to sit with the senior developers and discuss the possible approaches to crafting a solution, who can clearly identify which tasks should be handled by the senior developers and those that should be delegated to the more junior developers, create testing plans for the testers and the documentation writers and ultimately guide the Customer UAT team through the stringent test scenarios to ensure that the application does what was requested, does not crash, does not present the user with an explosion of colour and animation and finally go back to the customer and get that all-important sign-off so that the invoicing and payments can be finalised. Some of us have been lucky enough to have been assigned to a project where we were able to interact with the customer, understand their business, understand their pain or their ambitions, then take that knowledge and produce the requirement specifications, technical process flows, choose the software elements, write the code that pulls all of the components into a functioning whole, documents their code such that future developers who have to work with that code can do so without messing it up because they are unaware that a statement in line 23 of 5000 lines will inadvertently cause the logic on line 2356 to take an unexpected step to the left and render the program unusable. Very few developers get to spend time with the quality assurance staff and ultimately the users who have to use the application to do their jobs and be able to go home without a blinding headache and a sense of dread that tomorrow they are going to have to fight with the application to get the printout or that all-important "Your data has been saved. Click OK to proceed" popup. I have seldom met a programmer who will concede that their code is not as good as the person coding next to them, or for that matter finding a developer who can gracefully and politely read some truly awful code of another developer and take the time to work with that bad developer and help them become a better programmer without inadvertently step on 1 f 20 emotional and ideological traps that arise in every one of these encounters. Or maybe I would use the analogy of the McDonalds Ice-cream specialist who was born to whip up the most perfect McFlurry who has to stand and watch a steady stream of ice-cream servers who don't give a damn and will be leaving in a month to go and pour soda at Wendy's. For the last 50 years software creators, whether they be individuals or technology companies, have discussed, and theorized, and consulted psychologists and time-management experts, and even astrologers to come up with the definitive guide to creating perfect, absolutely perfect, application. Entire libraries of books and templates and methodologies and Predictive Indicators intended to match the right person to the right role and despite those 50 years and the brilliant, practical, theorists and technologists who have contributed, with dedication and fervor to this topic, And yet, for every model that has emerged from these think tanks, 100 bad applications are spilling out the doors of the technology companies. And I haven't even started on the external forces, the project managers, the customer relations manager, the accountants, the middle managers, and worst of all the salesmen who, in just doing their jobs, manage to inflict sufficient damage to the 'plan' thus guaranteeing that the final product will be ....less. But then you encounter a group of people who have formed themselves into a community, a 'Developer Community', who come from a myriad of different backgrounds, skills, methodologies, personalities, and socio-economic, gender-based cultures who miraculously have one thing in common. They love to code. Their hearts soar when they interact with a user who says 'Thank you because of some modification that they have made that has made that user's life just that little bit better. And all of us have at some time or other written a bad piece of code or have struggled to fit into the 'TEAM', or had to deal with a salesman who has sold unrealistic solutions and unachievable timelines to a customer who in reality didn't actually know what they actually wanted to start with. We have seen it all, we have notched up successes and strive hard to forget the failures and yet we go to bed at night and we dream of tropical islands with dancers wrapped in fine silks with pet tigers on leads and woken up the following morning with 5 pages of code written vividly on the insides of their skulls and in a blinding flash of light they know that they have cracked it. The mists of possibilities and uncertainties and intrusions and indecision that has plagued them for the previous 4 weeks have overnight coalesced into the 'Perfect' solution. Their fingers are already tapping at their laptops as they eat their breakfast and for the next 8, 18, 80 hours magic flows from their fingers into that IDE that is the interface between their imagination and the architecture that will swallow up their code and compile it into the module and voila! It's done, and it's beautiful. And then we go home and get up the next day and do it all again. And as we create solutions we come to our community and we bounce ideas off each other, we seek out the nuggets of knowledge and experience from our friends who went through the process of being the first person to master a technique or understand a piece of functionality that is almost incomprehensible to most of us because or minds might not be wired in such a way that understanding that functionality was as easy as watching the Eurovision song contest without crying. What we all share in common though are years and years of tuning our coding styles, learning and absorbing emerging technologies, developing the skills to share our knowledge with the people we work with without making them run from the room sobbing because you have been too brutal in your appraisal of their work and it is through a community like ours that so many of us have become the skilled and dedicated developers that we are. What I do know is that generally speaking, I have met more developers who have been able to help the Business Analysts understand the requirements, ask the right questions of the customer to find out what they actually need, pacify the project managers that their agile, and scrum, and Jira, and storyboards will get to the finish line without incurring penalties for late delivery. Who find the time to document their code knowing that no matter how well it is written it is going to take another developer some time to work out what you have written and how it fits into the bigger picture and finally, one day, they get to meet the user who is using that application who turns round and comments that this application has helped them get their work done quickly and efficiently, that doesn't shower them with pompous popups asking them how they could be so stupid to put a text letter into a numeric field. We may not be able to ensure that every element in the chain is going to work as expected and that ideas and requirements don't occasionally get twisted in translation nor make every single user equally happy but we can control the space that we occupy and we know what we are doing and we have adopted different coding styles over the years and we find our selves at a point where we believe that we can layout a template, a structure, a developers ethical code and produce a set of standards and conventions on which we all (give or take) agree, if followed, will stand a chance of guaranteeing that the programs we write work, are readable and maintainable and when fitted into the whole will generate an application that works, is good, beautiful even. We take pride in our community. We welcome the input of the outside world, we like to learn and experiment and listen to the experiences of our comrades and when we are in Boston we will gather in a fairly dark room and drink a little too much and listen and watch as one of ours demonstrates his latest little app or tool or plugin and it makes us happy and we feel very much at home. Nigel. Hi Nigel, despite your tone of vengeance, I agree with you, I know the ability that developers have and that in many cases, they know much more than the user, or even anyone else who claims to know the process. And if it generated this feeling, I'm sorry, it wasn't the idea, and yes, it's good to have a different view. At the same time, you agree with me that this look from the outside also influences, no? And, I saw in your text a good part of the questions that I live in my work. I can only thank you for your "comment" and apologize if it was too general and offended you as a whole. At the same time, I believe that we have different views and that uniting them is certainly beneficial. So thanks and sorry. And these discussions, in my opinion, are very healthy and provide growth. Hi Andre, I would like to apologise if the tone of my reply came across as vengeful,, that was certainly not my intention. An hour ago I started writing a response where I took two examples from documentaries that I had watched during these long Covid Lockdown hours. One was about the production of a single Rolls Royce car and the amount of time, craftsmanship, quality control, pride and perfection that goes into the manufacture of each car. Each component is crafted by an individual who has practised his art over decades of trial and error. If the component has the slightest 'fault', quite often some imperfection that 99% of the population would not notice but the man who crafted the component and the quality control manager did notice and the item would be scrapped and the process would start all over again and I guess that it is for that reason that the best Rolls Royce cars sell for around $12 million. Probably half of that cost goes into those discarded items that did not meet the standard of quality that Rolls Royce prides itself in. The second documentary was about the ice cream machines that franchise owners of McDonald's restaurants have to buy when they buy a McDonald's restaurant and how those machines have a very complicated cleaning program, which, should it fail, renders the machine unusable until a certified mechanic is called out to come and fix the machine. The mechanics are certified by the manufacturers of the ice cream machines and the rates they charge are high and in the food business where profit margins are slim is easy to understand why roughly one-third of McDonald's restaurants in the USA are not serving ice cream as the machine is 'broken'. 25% of the companies revenue is derived from the 'services' of their mechanics. The company could probably make an ice cream machine that doesn't break down but to do so would eliminate 25% of their revenue. It just so happens that the company that makes the ice cream machines are located in the same city as McDonald's headquarters and they have had a 50-year relationship where McDonald's earn a certain amount of revenue through the sales of the ice cream machines and the ice cream machine manufacturer earns 25% of their revenue by supplying machines that in a sense are designed to fail periodically. It also turns out that both McDonald's and the ice cream manufacturer are owned by a nameless holding company. In the original version of this reply I went into far greater detail about each documentary and then two things happened. For the last month I have been using a program called Grammarly which, in the free version, will do basic spelling checks and other gramatical errors but in the paid version it will analyse your text and using fairly sophisticated algorithms will score your text against 10 different criteria and make suggestions, very good suggestions, as to how a paragraph could be rephrased as the original is too verbose or is too passive or aggressive and so on. I suspect that if I had run my original message it would have detected that the tone was a bit 'vengeful' and would have suggested ways that I could express the concepts I was trying to convey in a more palatable manner. The other thing that happened is I accidentally hit the back page button and I lost all of the text that I had written and so I rewrote it and given that I didn't have an hour to write out all of the detail in my original I ended up writing this text instead. Grammarly tells me that I score 5/5 for Informal, 4/5 for optimistic and 3/5 for confidence. I guess the last one, confidence, is due to the fact that I haven't yet linked the messages behind the documentaries to the subject of software. I have worked in software companies that have been in business for 30 years or so and there were people and practices within those companies that led to a certain sense of 'we do it like this because we have always done it like this'. That can work in two ways, if you happen to have worked out a formula where all of the constituent parts are tried and tested and produce a certain level of excellence then that software company is likely to produce good applications and will continue in business for many years to come. Somewhere in those companies you are likely to find individuals who take great pride in their work and that sense of excellence influences those around that person and challenges them to aim for the same levels of excellence. On the otherhand it can lead to a company that started off with an innovative product that sold well and as a result they have applied the same standard to everything that they have done thereafter irrespective of changes in technology or fresh ideas brought in by new employees but eventually fail as the software they produce is no longer innovative and probably fails periodically requiring a 'sotware expert' to come on site and fix it. It is a fine balance to maintain. Companies cannot just change the way that they do things at the say so of some fresh employee with bright ideas. Nor can they remain stuck in a certain well trodden path because eventually they will be left behind as other younger and more adventurous companies enter the market with their innovative products and steal the lime light. Excellence comes at a price. Those individuals who have taken their craft seriously and have become masters in their trade do not come cheap. Companies that try and produce excelllence using people with fewer skills and a willingness to work for lower wages are likely to produce poor software. The art is in matching the right people for the right tasks. Investing in the areas that demand excellence whilst not ignoring the role of the often overlooked managers who hold the whole enterprise together with their stoic reliance on repetative tasks. At this point Grammarly is telling me that I have said enough. My ratings are now showing 5/5 for Optimistic and Confident and 5/5 for Formal as opposed to 5/5 for informal that it scored me half way through the text. Yours respectfully Nigel @Evgeny.Shvarov can we add a same Chinese tag in CN DC? Thx!
Announcement
Evgeny Shvarov · Nov 26, 2018

InterSystems IRIS on AWS

Hi Community! I'm pleased to share the announcement that InterSystems IRIS Data Platform is available on Amazon Web Services marketplace! Few details: Version: InterSystems IRIS 2018.2 Preview; OS: Ubuntu 18.04 LTS; License: BYOL. Ease deploying your InterSystems IRIS cloud solutions now on AWS! Stay tuned! Hi Evgeny,Any new on when the Community Edition of IRIS will be available ?Steve As it was announced on Global Summit it should happen in November. We have at least one more week of November. So, stay tuned )
Article
Sylvain Guilbaud · Sep 25, 2023

InterSystems IRIS trainings

Hi Community, to learn quickly and in total autonomy on IRIS, I offer you some links which can help you in this beautiful bicycle ride rich in discoveries: InterSystems Developer Hub​​​​​​ Full Stack Tutorial Build the IT infrastructure for a company that roasts and sells coffee. See how InterSystems IRIS can serve as your IT architecture backbone REST + Angular Application Build a simple URL bookmarking app using InterSystems IRIS, REST service engine, and the Angular web framework Apply Machine Learning Create, train, validate and use prediction models for hospital readmissions based on a publicly available historical database InterSystems Interoperability Test drive our integration framework for connecting systems easily and developing interoperable applications. Getting Started with InterSystems ObjectScript Developing in ObjectScript with Visual Studio Code Building a Server-Side Application with InterSystems Getting Started with InterSystems IRIS for Coders Managing InterSystems IRIS for Developers InterSystems IRIS Management Basics Predicting Outcomes with IntegratedML in InterSystems IRIS Writing Applications Using Angular and InterSystems IRIS Writing Python Applications with InterSystems Configuring InterSystems IRIS Applications for Client Access Connecting Java Applications to InterSystems Products Connecting .NET Applications to InterSystems Products Connecting Node.js Applications to InterSystems Products Analyzing Data with InterSystems IRIS BI Building Business Integrations with InterSystems IRIS Building Custom Integrations If you want to get started with your own local IRIS instance, I recommend using our templates available at OpenExchange : intersystems-iris-dev-template iris-interoperability-template iris-embedded-python-template iris-fullstack-template iris-analytics-template Thanks @Sylvain.Guilbaud This is pretty useful. This is a great list of resources for the beginners! I think would be great to expand the first link, which contains 4 interactive in-browser tutorials Thanks for the advice @Dmitry.Maslennikov I added direct links to the 4 subsections wow! amazing guide for beginners 🤩 thank you, @Sylvain.Guilbaud!!
Announcement
Anastasia Dyubaylo · Oct 27, 2023

InterSystems Java Contest

Hey Developers, We are super excited to invite you all to the new InterSystems online programming contest focused on Java and its derivatives! 🏆 InterSystems Java Programming Contest 🏆 Duration: November 13 - December 3, 2023 Prize pool: $14,000 The topic We invite you to use Java in a new programming contest! Applications that use Kotlin, Clojure and Scala are also very welcome. Submit an open-source application that uses Java, Kotlin, Clojure or Scala with InterSystems IRIS or InterSystems IRIS for Health. General Requirements: An application or library must be fully functional. It should not be an import or a direct interface for an already existing library in another language (except for C++, there you really need to do a lot of work to create an interface for Iris). It should not be a copy-paste of an existing application or library. Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest. The application should work either on IRIS Community Edition or IRIS for Health Community Edition. Both could be downloaded as host (Mac, Windows) versions from Evaluation site, or can be used in a form of containers pulled from InterSystems Container Registry or Community Containers: intersystemsdc/iris-community:latest or intersystemsdc/irishealth-community:latest . The application should be Open Source and published on GitHub. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. Only 3 submissions from one developer are allowed. NB. Our experts will have the final say in whether the application is approved for the contest or not based on the criteria of complexity and usefulness. Their decision is final and not subject to appeal. Prizes 1. Experts Nomination - a specially selected jury will determine winners: 🥇 1st place - $5,000 🥈 2nd place - $3,000 🥉 3rd place - $1,500 🏅 4th place - $750 🏅 5th place - $500 🌟 6-10th places - $100 2. Community winners - applications that will receive the most votes in total: 🥇 1st place - $1,000 🥈 2nd place - $750 🥉 3rd place - $500 🏅 4th place - $300 🏅 5th place - $200 If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. Who can participate? Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account! Developers can team up to create a collaborative application. Allowed from 2 to 5 developers in one team. Do not forget to highlight your team members in the README of your application – DC user profiles. Important Deadlines: 🛠 Application development and registration phase: November 13, 2023 (00:00 EST): Contest begins. November 26, 2023 (23:59 EST): Deadline for submissions. ✅ Voting period: November 27, 2023 (00:00 EST): Voting begins. December 3, 2023 (23:59 EST): Voting ends. Note: Developers can improve their apps throughout the entire registration and voting period. Helpful resources 1. Developing Java Applications with InterSystems IRIS: InterSystems Java Connectivity Options Learning Path Connecting Java Applications to InterSystems Products JDBC Driver Documentation XEP Java Documentation Native API for Java Documentation iris JDBC driver distribution 2. For beginners with ObjectScript Package Manager (IPM): How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. How to submit your app to the contest: How to publish an application on Open Exchange How to submit an application for the contest 4. Example applications: native-api template workshop-pex fhir-client-java pex-demo iris-hibernate iris-liquibase 5. Videos: Using Java to Connect to InterSystems Connecting to InterSystems Cloud Services with Java What is PEX? InterSystems Connectivity with Java and other languages Deploying Java project + InterSystems IRIS in Docker Need Help? Join the contest channel on InterSystems' Discord server or talk with us in the comment to this post. We're waiting for YOUR project – join our coding marathon to win! By participating in this contest, you agree to the competition terms laid out here. Please read them carefully before proceeding. Hey developers, don't miss the demo on Deploying Java project + InterSystems IRIS in Docker on Tuesday, October 31. Register for this roundtable here. Is Closure a spelling mistake? Do you mean Clojure (https://clojure.org/) instead? Hi Jani! Clojure, of course, thanks! native-api template was broken since May I have fixed it for the contest with this Pull Request Build for Java is ok CLASSPATH is adjusted to the changed location in IRIS install Python is also available Node.js has some version and resource issues. It is out-commented now .NET is also somehow sick and breaks build. Also out-commented The rest builds and starts ok. PR is merged OK Dear Developers! Please use technology bonuses to collect more votes and get closer to winning the main prize. 🥳 Happy coding!✌ Hi All, The recording of the kick-off webinar for the Java Programming Contest 2023 is already available 🔥 Check it out! Hey, Devs! There are four applications have already been added to the contest! native-api-command-line-java by @Robert.Cemper1003 JIRISReport by @Yuri.Gomes iris-extlanguage-openpdf by @Nicki.Vallentgoedjava-global-editor by @Robert.Cemper1003 Upload your apps and join the contest! Developers! Only one week left for registration! Two more applications have been added to the contest! iris-parquet by @Yuri.Gomesquiz-app by @Andrii.Mishchenko Hi, Community! One more application has been added to the contest! presto-iris by @Dmitry.Maslennikov Only 2 days left to register for the contest! Hurry up to upload your application! https://iris-dmn.demo.community.intersystems.com/dmn/index.html# ^ I made an online demo, you can test it
Announcement
Dean Andrews · Apr 4, 2022

Introducing InterSystems Ideas!

We are excited to introduce you to our new feedback portal, InterSystems Ideas! We aim to improve our feedback mechanisms so that you can suggest ways our products could evolve to meet your business challenges. Developer Community Questions are a great way to interact with your peers around a specific coding issue, and Customer Support is, as always, the way to get an immediate problem fixed. This new portal is meant to capture higher level ideas. Less of how you do something today, and more about how you would like to see the product work better in the future. It allows you to post your own feedback & comment/upvote on feedback provided by others. InterSystems can view any feedback you submit, respond to your feedback directly, and update the status of your feedback items as we make progress on your requests. So please take a look, contribute your ideas, and bookmark it for the future. Thank you! @Dean.Andrews2971 - this is very exciting! I know that the members of the D.C. have a lot of great ideas and I look forward to reading about them in the portal :) For some of them exist even concrete proposals for solutions. (e.g. Global <-> JSON) Maybe we can move them to "solved"? Or at least provide the list of solutions in OEX? What do you think @Dean.Andrews2971 ?
Discussion
Timothy Leavitt · Oct 19, 2022

Upgrading InterSystems software

Hello community! I'm working on an internal innovation effort at InterSystems considering our documentation/resources around upgrades. As part of this, I'd love to have your answers to any/all of the following questions, either via comment or (if you prefer your answers to be more private) direct message. Thanks in advance! What InterSystems products + versions are you running? ($zv is ideal.) What makes you decide to upgrade? What are your blockers to upgrading? What is your process for evaluating and planning a possible upgrade? What documentation resources do you use? What gaps/issues do you see in our existing documentation around upgrades? What would make your InterSystems software upgrade process better? What has made an upgrade fail? When have you had to roll-back? Seeing as I just completed a production upgrade yesterday: What InterSystems products + versions are you running? ($zv is ideal.) IRIS for Windows (x86-64) 2022.1 (Build 209U) Tue May 31 2022 12:16:40 EDT [Health:3.5.0] What makes you decide to upgrade? New features + security fixes ​​​​​​​What are your blockers to upgrading? ​​​​​​​Bugs in new releases + being limited to the non-CD releases due to current configuration What is your process for evaluating and planning a possible upgrade? ​​​​​​​Install in our NPE and use the new version, run tests against the most heavily used elements What documentation resources do you use? ​​​​​​​Release notes + any upgrade guides that explicitly call out versions you can/can't upgrade from ​​​​​​​What gaps/issues do you see in our existing documentation around upgrades? ​​​​​​​It's a small thing, but a link to the release notes from the online distribution page on WRC would be greatly received alongside the release in question. What would make your InterSystems software upgrade process better? ​​​​​​​One step that always bothers me is the need to do a recompile post upgrade, as it's not been made quite clear to me at what stage this needs to be done when working in a mirrored environment. This could be a step handled by the installer given that it should happen with any major version change.​​​​​​​ What has made an upgrade fail? Not to hammer on at the same point, but I did have an upgrade "fail" due to a miscommunication about if the version change was major or minor, and we hadn't run the recompile of all namespaces. When have you had to roll-back? Never had to fully roll back, but have had to fall back to a secondary mirror after noting the upgraded mirror was having issues (see above). Otherwise we aim for a "fix forward" approach to issues found following an upgrade. @Julian.Matthews7786 thanks for the super quick reply! A follow-up question - do you tend to do maintenance release updates or just jump major versions? Mainly major version jumps unless something is problematic in the version that has ended up in our production environment. Last jump was 2019.1 to the current 2022.1 and I'm blaming the pandemic on no upgrades between those two releases Thank you - this is a helpful data point too! We have put our upgrade on pause right now due to constraints, but will be starting it back up and hopefully upgrading by March. What InterSystems products + versions are you running? ($zv is ideal.) We are currently running HealthShare Health Connect 2018.1.3 Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDTWhat makes you decide to upgrade? Push to move away from AIX and more towards Red Hat for costs, support, additional enhancements and options available to us in IRIS vs 2018.1.3 What are your blockers to upgrading? New network/security policies, new hardware, new OS What is your process for evaluating and planning a possible upgrade? What is the benefit to upgrade What does the new version offer and benefits to the Medical Center Where is the Medical Center going What new requirements/policies do we need to address What is the EOL/EOS for the version we are on What documentation resources do you use? Release notes, installation requirements and guide What gaps/issues do you see in our existing documentation around upgrades? While the release notes is nice, but more explanation of what is changing, screen shots, etc... What would make your InterSystems software upgrade process better? Lessons Learned Guide to Upgrades What we should be on the lookout for Notes on the individual changes to be worked Dedicated InterSystems contact that could help with any questions or guide us on the upgrade. Thank you! I've added two more questions at a colleague's suggestion: What has made an upgrade fail? When have you had to roll-back? I have added these to my initial response Probably our biggest pain point related to InterSystems software upgrade, and one we have to try and make sure sites using our Deltanji source code management tool are aware of, is that the procedure can result in class dictionaries of remote databases being upgraded to a dictionary version that the instance hosting the databases cannot handle. Our Deltanji documentation now includes this paragraph in the section about InterSystems platform upgrades: Before upgrading an InterSystems IRIS, Caché or Ensemble instance we strongly recommend that you first disable all ECP connections the instance makes to other instances. Leave these connections disabled until after you have completed the upgrade, including execution of any post-upgrade steps recommended by InterSystems such as the recompilation of code in all namespaces. These precautions should prevent the upgrading instance from inadvertently upgrading class dictionary entries and routines on remote instances which may still be running an earlier InterSystems platform version. I think docker is ideal for upgrading - just change the line of the docker image or just use the latest. It may not be the case for production, but for development, docker is a no-brainer IMHO. This is a good point. Fortunately, dictionary version updates are few and far between these days. (They used to happen all the time.) @Evgeny.Shvarov agreed - although it's good to be sure that you're developing on the same version that you're targeting in production.
Announcement
Kristina Lauer · Aug 25, 2022

Dive into InterSystems technologies

In the August Learning Services newsletter, see how you can get hands-on with healthcare analytics tools, Embedded Python, and InterSystems Package Manager. If you're new to InterSystems ObjectScript, try out a learning path to get started!
Article
Aasir Waseer · Jul 28, 2022

Approach to InterSystems IRIS

Hi Folks, Before I begin my writing journey here I wish to introduce myself briefly, so that everyone who reads and follows me will get a clear picture. To start with I did my Bachelors in Physical Sciences, Mathematics and Computer Science were my core subjects. I have 4+ years of experience in HealthCare Revenue Cycle operations including Medical Coding, Billing, AR Collections, Denial Management and Fincial Reconciliation. Also, 2+ years of experience in Data Operations and Analytics, specifically in Python, PowerBI, SQL and MsExcel. i'm a beginner here. I love reading, exploring and I'm a continous learner. I'm pursuing towards DataScince and AI. I will continue to write blog related to my path. Let's support each other and grow together. Please don't hesitate to share your inputs and thoughts. Thank you for your time Aasir Waseer Welcome Aasir! Aasir! Welcome to the InterSystems Community!
Announcement
Eduard Lebedyuk · Aug 31, 2021

InterSystems Reports webinar

We invite you to the webinar "InterSystems Reports", on Tuesday, September 7th, at 10:00 (Moscow time). The language of the webinar is Russian. InterSystems Reports, a part of InterSystems IRIS and InterSystems IRIS for Health, is a robust, modern report generation and publishing solution that includes: Report Designer - a tool for report developers to create and preview reports. Report Server, which gives users access to run, schedule, filter, and modify reports. In this webinar, we'll cover all the steps of working with the InterSystems Reports, including: Connecting InterSystems IRIS as a data source Creating reports Publishing reports Administration Registration is required. Register here.
Announcement
Anastasia Dyubaylo · Dec 13, 2021

InterSystems Datasets Contest

Hey Developers, With the release of InterSystems IRIS 2021.2 Preview and all-new LOAD DATA functionality, we'd like to put it to the test with the new DATASETS contest! 🏆 InterSystems Datasets Contest 🏆 Duration: December 27 - January 16, 2022 In prizes: $9,450 Prizes 1. Experts Nomination - a specially selected jury will determine winners: 🥇 1st place - $4,000 🥈 2nd place - $2,000 🥉 3rd place - $1,000 🌟 4-10th places - $100 2. Community winners - applications that will receive the most votes in total: 🥇 1st place - $1,000 🥈 2nd place - $500 🥉 3rd place - $250 If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. Who can participate? Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account! 👥 Developers can team up to create a collaborative application. Allowed from 2 to 5 developers in one team. Do not forget to highlight your team members in the README of your application – DC user profiles. Contest Period 🛠 December 27 - January 9: Application development and registration phase. ✅ January 10 - 16: Voting period. Note: Developers can improve their apps throughout the entire registration and voting period. The topic One of the most discussed problems with our previous programming contests is the lack of datasets. Every time you have a project idea about a particular subject area or industry, you need a related dataset, and part of the work with the contest is to find/prepare/load the dataset. That’s why we decided to have a dataset contest! Let’s bring several helpful datasets to the InterSystems Community! What are we looking for? Present a repository that will load a dataset into the InterSystems IRIS namespace. This could be done ideally with a ZPM package, and the data can be inside the package, or the package can have a method that loads data from the URL into the IRIS instance. Anyways your project, once installed, should bring a class (classes) and its data for it that are related to a particular topic, subject area, idea, industry, name it. The project should suggest how to use data - SQL query, REST API, or both. Visualization of the data is a plus. Both visualization and API (if any) can be delivered with another project, but it’s not mandatory. We don’t limit you in the ways, how the data can be stored in the repository. E.g., this could be: Export of the global(-s) (preferably in XML than in GOF format). An SQL script that creates data An ObjectScript (or java, js, python, name it) that generates data in IRIS Integration with external Data API Here are the project examples, that deliver the thing: Dataset-titanic, Dataset-countries, Posts and tags, Synthea Requirements: Class naming convention. Start the class names with: dc.data.your_name.class. E.g. if there is a dataset on trading data the class names could be: dc.data.finance.transaction, dc.data.finance.instrument. The reference to the source of data. If you take the dataset from somewhere on the Internet and adapt it to InterSystems IRIS format, please provide the link to the source. If this is your data, please provide the license of the usage. The ZPM package should start with a“dataset-” name, e.g., dataset-countries, dataset-titanic. And as usual, we’ll have technical bonuses for docker, demo, article, zpm, video, etc. Provide the license to a dataset. 👉 Common license types for datasets (the source) Spoiler Common licenses in order of most open to most restrictive: PUBLIC DOMAIN MARK - PUBLIC DOMAIN Dedicate your dataset to the public domain: This isn’t technically a license since you are relinquishing all your rights in your dataset by choosing to dedicate your dataset to the public domain. To donate your work to the public domain, you can select “public domain” from the license menu when creating your dataset. OPEN DATA COMMONS PUBLIC DOMAIN DEDICATION AND LICENSE - PDDL This license is one of the Open Data Commons licenses and is like a public domain dedication. It allows you, as a dataset owner, to use a license mechanism to surrender your rights in a dataset when you might not otherwise be able to dedicate your dataset to the public domain under applicable law. CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL CC-BY This license is one of the open Creative Commons licenses and allows users to share and adapt your dataset so long as they give credit to you. COMMUNITY DATA LICENSE AGREEMENT – CDLA PERMISSIVE-2.0 This Community Data License Agreement is similar to permissive open source licenses such as the MIT license. It allows users to use, modify and adapt your dataset and the data within it, and to share it. The CDLA-Permissive-2.0 terms explicitly do not impose any obligations or restrictions on results obtained from users’ computational use of the data. The 2.0 version is significantly shorter, uses plain language to express the grant of permissions and requirements. The only obligation is to "make available the text of this agreement with the shared Data," including the disclaimer of warranties and liability. OPEN DATA COMMONS ATTRIBUTION LICENSE - ODC-BY This license is one of the Open Data Commons licenses and allows users to share and adapt your dataset so long as they give credit to you. CREATIVE COMMONS ATTRIBUTION-SHAREALIKE 4.0 INTERNATIONAL - CC-BY-SA This license is one of the open Creative Commons licenses and allows users to share and adapt your dataset so long as they give credit to you and distribute any additions, transformations or changes to your dataset under this license. We consider this license (a.k.a a viral license) problematic since others may decide not to work with your CC-BY-SA licensed dataset if there is risk that by doing so their work on your dataset will need to be shared under this license when they would rather use another license. COMMUNITY DATA LICENSE AGREEMENT – CDLA-SHARING-1.0 This license is one of the Community Data License Agreement licenses and was designed to embody the principles of "copyleft" in a data license. It allows users to use, modify and adapt your dataset and the data within it, and to share the dataset and data with their changes so long as they do so under the CDLA-Sharing and give credit to you. The CDLA-Sharing terms explicitly do not impose any obligations or restrictions on results obtained from users’ computational use of the data. OPEN DATA COMMONS OPEN DATABASE LICENSE - ODC-ODBL This license is one of the Open Data Commons licenses and allows users to share and adapt your dataset so long as they give credit to you and distribute any additions, transformation or changes to your dataset under this license. We consider this license (a.k.a a viral license) problematic since others may decide not to work with your ODC-ODbL licensed dataset if there is risk that by doing so their work on your dataset will need to be shared under this license when they would rather use another license. CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL 4.0 INTERNATIONAL - CC BY-NC This license is one of the more restrictive Creative Commons licenses. Users can share and adapt your dataset if they give credit to you and do not use your dataset for any commercial purposes. CREATIVE COMMONS ATTRIBUTION-NODERIVATIVES 4.0 INTERNATIONAL - CC BY-ND This license is one of the more restrictive Creative Commons licenses. Users can share your dataset if they give credit to you, but they cannot make any additions, transformations or changes to your dataset under this license. CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL - CC BY-NC-SA This license is one of the most restrictive Creative Commons licenses. Users can share your dataset only if they (1) give credit to you, (2) do not use your dataset for any commercial purposes, and (3) distribute any additions, transformations or changes to your dataset under this license. We consider this license a viral license since users will need to share their work on your dataset under this same license and any users of the adapted dataset would likewise need to share their work on the adapted dataset under this license and so on for any other changes to those modified datasets. CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL-NODERIVATIVES 4.0 INTERNATIONAL - CC BY-NC-ND This license is one of the most restrictive Creative Commons licenses. Users can share only your unmodified dataset if they give credit to you and do not share it for commercial purposes. Users cannot make any additions, transformations or changes to your dataset under this license. ADDITIONAL LICENSE COVERAGE OPTIONS If a license is not listed in the data.world menu options, you may select Other and specify the details in the summary of your dataset. NO LICENSE SPECIFIED No one can use, share, distribute, re-post, add to, transform or change your dataset if you have not specified a license. These descriptions are only summaries of these licenses. For the actual text of the licenses, which we strongly encourage you to read, click on the links provided. Summary of common license types: PUBLIC DOMAIN The work has been dedicated to the public domain by waiving all rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. ATTRIBUTION You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. SHARE-ALIKE If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. NON-COMMERCIAL You may not use the material for commercial purposes. DATABASE ONLY License applies to the database only and not its contents or data. NO DERIVATIVES No Derivative Works. You may not alter, transform, or build upon this work. All licenses that begin with CC-BY in the table above refer to version 4.0 of those licenses. General Requirements: Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest. The application should work either on IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition. The application should be Open Source and published on GitHub. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. Helpful resources 1. For beginners with InterSystems IRIS: Build a Server-Side Application with InterSystems IRIS Learning Path for beginners 2. For beginners with ObjectScript Package Manager (ZPM): How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. How to submit your app to the contest: How to publish an application on Open Exchange How to submit an application for the contest 4. And more: InterSystems IRIS 2021.2 Preview LOAD DATA Judgment Voting rules will be announced soon. Stay tuned! So! We're waiting for YOUR project – join our coding marathon to win! ❗️ Please check out the Official Contest Terms here.❗️ It would be great to see a solution that made it easy to get data from open government systems using popular APIs such as Socrata and CKAN. For example, Cambridge, MA uses Socrata. And the US Government uses CKAN. Another interesting area is ingesting Synthea data directly into IRIS! Thanks for sharing, Raj! That's a great competition. I look forward to It. Here are two examples using Synthea: https://github.com/intersystems-community/irisdemo-base-synthea https://github.com/grongierisc/synthea-fhir-iris And two example repositories using LOAD DATA (but not yet ZPM-enabled): https://github.com/bdeboe/isc-tpch-script https://github.com/bdeboe/isc-adventureworks (using the DWH flavour of this well-known dataset only) Developers! Only 2 days left and the InterSystems Datasets Contest begins!Get ready to upload your applications! Happy weekends!😊 The InterSystems Datasets Contest is only started and we already have the first competitor in the game! Medical Dataset by @Muhammad.Waseem Check it out! Upload your applications, we are waiting for your solutions! A new competitor is in the game with 2 great applications! Dataset OEX reviews by @Robert.Cemper1003 Dataset Lightweight M:N by @Robert.Cemper1003 Check them out!And don't forget to join a new InterSystems Datasets Contest 🏆 Developers! Happy new year and merry Xmas! Have a great weekends, and happynes to everyone! Wow! One more application on the Contest board: openflights_dataset by @Andreas.Schneider We're also waiting for other participants and their cool apps! Happy weekends! Another application is in the competition! iris-kaggle-socrata-generator by @Henrique Who is gonna be next? We are waiting for you! Community! Only 4 days left to register your application! Upload your app and join the competition! And we have 2 more new apps by developers in the InterSystems Datasets Contest! dataset-covid19-fake-news by @henry Health Dataset by @Yuri.Gomes Developers!One more application on the Contest board: exchange-rate-cbrf by @MikhailenkoSergey Hurry up to upload your solutions! 😎 Hey Devs! The registration period is will be over on Monday!So don't forget to use Technology Bonuses to get extra points in the voting! And by the way, we have another application in the game:iris-python-faker by @Dmitry.Maslennikov We are waiting for your solutions, join the InterSystems Datasets Contest !Happy weekends😊
Announcement
Anastasia Dyubaylo · Mar 10, 2022

InterSystems Globals Contest

Hey Community, Ready for the next contest? We are glad to invite you all to the 19th InterSystems online programming competition: 🏆 InterSystems Globals Contest 🏆 Duration: March 21 - April 10, 2022 In prizes: $10,000 The topic Globals or direct data access - is the heart of InterSystems IRIS persistence engine. All the IRIS data that could be accessed via SQL, REST-API, ObjectScript, DocDB, or Native API is stored in globals. Globals engine is responsible for the performance, reliability, and scalability of InterSystems IRIS. In this contest, we invite everyone to contribute open source applications that will use InterSystems IRIS globals to read, store and change the data. We invite you to use the power of globals to leverage the performance of data ingestion and reading along with the flexibility of storage schema that lets to introduce arbitrary data model implementations. General Requirements: Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest. The application should work either on IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition. The application should be Open Source and published on GitHub. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. Contest Prizes: 1. Experts Nomination – winners will be selected by the team of InterSystems experts: 🥇 1st place - $4,000 🥈 2nd place - $2,000 🥉 3rd place - $1,000 🌟 4-15th places - $100 2. Community winners – applications that will receive the most votes in total: 🥇 1st place - $1,000 🥈 2nd place - $750 🥉 3rd place - $500 ✨ Global Masters badges for all winners included! Note: If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. Important Deadlines: 🛠 Application development and registration phase: March 21st, 2022 (00:00 EST): Contest begins. April 3, 2022 (23:59 EST): Deadline for submissions. ✅ Voting period: April 4, 2022 (00:00 EST): Voting begins. April 10, 2022 (23:59 EST): Voting ends. Note: Developers can improve their apps throughout the entire registration and voting period. Who Can Participate? Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account! Developers can team up to create a collaborative application. Allowed from 2 to 5 developers in one team. Do not forget to highlight your team members in the README of your application – DC user profiles. Helpful Resources: Globals are sparse multidimensional arrays that could be stored and managed within the IRIS database. You can deal with Globals using ObjectScript and Native API. ✓ Example applications: GlobalToJSON-embeddedPython errors-global-analytics ✓ Documentation: Globals Using Globals Using Multidimensional Storage (Globals) Managing globals in management portal ✓ Articles + video: Globals are Magic Swords for managing data The art of mapping Globals to Classes Globals QuickStart ✓ For beginners with IRIS: Build a Server-Side Application with InterSystems IRIS Learning Path for beginners ✓ For beginners with ObjectScript Package Manager (ZPM): How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM ✓ How to submit your app to the contest: How to publish an application on Open Exchange How to submit an application for the contest Need Help? Join the contest channel on InterSystems' Discord server or talk with us in the comment to this post. We can't wait to see your projects! Good luck 👍 By participating in this contest, you agree to the competition terms laid out here. Please read them carefully before proceeding. Developers! Only 5 days left for the start of the InterSystems Globals Contest!The Kick-off Webinar will be announced soon. Stay tuned! We are looking for the implementations of different data models with globals as a persistence engine. Technically everyone can implement their own graph, temporal, columnar, document, or any other type of a persistence engine implementing the API via Embedded Python, ObjectScript, or through Native API libs of node.js, java, python, or dotnet. Also, we are looking for smart data index implementations, such as spatial index, functional indexes for search, etc. There will be technical bonuses of such. Stay tuned and join our Monday's kick-off for more details. Developers! Don't miss the upcoming InterSystems Globals Contest Kick-off Webinar! Date & Time: Monday, March 21 – 11:00 AM EDT Speakers: 🗣 ​​​@Daniel Kutac, Senior Sales Engineer🗣 @Joel Solon, Senior Technical Trainer🗣 @Timothy Leavitt, Development Manager 🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager Tomorrow the registration phase will be started!Upload your solutions, and join the contest! Also interested to see submissions / ideas on handling really BIG globals. DataMove is a powerful feature for moving data from one database to another in a live environment, but it operates at a fairly low level. Adding a layer around it for easy archiving of table data, an interface to keep track of (potentially large numbers of) subscript-level mappings, etc.. would be examples of helpful utilities in the big global space. FWIW, we have several roadmap items for IRIS in this area, but I won't go into detail on them as it's much more exciting and informative for us to learn about the problems you are seeing and the solutions you'd propose to them :-) Developers! The first competitor is already in the game! What a great job by @Robert.Cemper1003 🚀 Check out the application: Globals: Embedded Python vs. ObjectScript Community! 3 more applications have been uploaded by @Robert.Cemper1003 GlobalToJSON-Compact GlobalToJSON-Efficient GlobalToJSON-XL-Academic Go check it out! For anyone wanting to learn more about globals as a database storage technology, and some information on how to use them to model various kinds of database structures, I've created this repository of documents just for you! Hopefully it will provide some inspiration towards this competition. https://github.com/robtweed/global_storage Developers! 2 more new apps are in the competition: Spreadsheets based on globals by @alex.kosinets Student score query by @yang.shijie You still have time till Monday to upload your apps. Happy weekend!✌ Community! Today is the last day to upload your application! Join the competition! So don't miss your chance to participate! Stay tuned!
Announcement
Anastasia Dyubaylo · Nov 1, 2021

InterSystems Security Contest

Security wanted! Welcome to the next InterSystems online programming competition: 🏆 InterSystems Security Contest 🏆 Duration: November 15 - December 05, 2021 Prizes: $9,450 in prizes! Prizes 1. Experts Nomination - a specially selected jury will determine winners: 🥇 1st place - $4,000 🥈 2nd place - $2,000 🥉 3rd place - $1,000 🌟 4-10th places - $100 2. Community winners - applications that will receive the most votes in total: 🥇 1st place - $1,000 🥈 2nd place - $500 🥉 3rd place - $250 If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. Who can participate? Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account! 👥 Developers can team up to create a collaborative application. Allowed from 2 to 5 developers in one team. Do not forget to highlight your team members in the README of your application – DC user profiles. Contest Period 🛠 November 15 - 28: Application development and registration phase. ✅ November 29 - December 05: Voting period. Note: Developers can improve their apps throughout the entire registration and voting period. The topic In the security contest, we encourage developers to share the solutions that show how to perform security tasks related to InterSystems IRIS and InterSystems IRIS for Health. We invite you to contribute apps that will reveal tasks related to the Authentication, Authorization, Auditing and Encryption parts of the InterSystems Security Model. Such tasks could be: OAuth/OpenID/SAML/LDAP Authentication implementations. PKI implementations Access Management to certain parts of a REST API: application-level security, role/user-level security. Access Management to data: on a database, table, column, or row-level access. Access to interoperability components Access to IRIS BI components: cubes, pivots, dashboards etc. DevOps questions of authorization (users, roles, resources) and authentication (OAuth) settings. Developer and support tools related to authentication and authorization. Your idea! Requirements: Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest. The application should work either on IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition. The application should be Open Source and published on GitHub. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. Helpful resources 1. For beginners with InterSystems IRIS: Build a Server-Side Application with InterSystems IRIS Learning Path for beginners 2. For beginners with ObjectScript Package Manager (ZPM): How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. How to submit your app to the contest: How to publish an application on Open Exchange How to submit an application for the contest 4. Documentation, courses, and videos: Security Documentation Course: InterSystems Security Basics Video: Active Directory Integration with LDAP Video: Configuring a Web Server for IIS for Better Performance and Security Video: Webinar: Securing the Management Portal Video: Advances in Security Article: Building an FHIR Repository + OAuth2 Authorization Server/Resource Server Configuration on IRIS for Health Part 1 Article: InterSystems IRIS Open Authorization Framework (OAuth 2.0) implementation - part 1 Article: Protect your REST API applying OWASP Top Ten 5. Templates Secured REST API example Judgment Voting rules will be announced soon. Stay tuned! So! We're waiting for YOUR project – join our coding marathon to win! ❗️ Please check out the Official Contest Terms here.❗️ My suggestion is an implementation to pseudonymization or anonymization to protect sensitive data to not fall within the scope of the GDPR or LGPD(Brazilian version of GDPR) could fits to the security contest. I planning to do something like that if it fits I like that idea, Henry. Either update real data to fake data or just create fake data for testing. It is a contest about security not about privacy. In the rules, it is necessary use InterSystems Security Model. Yuri, yes, data anonymization and obfuscation is not a part of the InterSystems Security model but it's an interesting topic related to secure IT practicies. And regarding privacy - I think it becomes privacy when you agree or disagree with the consent. So IMHO privacy begins when the solution is implemented which we don't expect to see in the contest :) Henry, it's an interesting topic! If we don't see strong objections and concerns we'll expand the scope of the contest. Consent in the privacy is a legacy resource, because all days we give consent without read the contract and conditions. Now, to reach privacy, you need to use the resource of transparency. When the user know what the data controller did with your data and it is allowed to the data holder manage data sharings, get reports and claim privacy rights using this transparency, you get the real privacy. Gdpr, lgpd is about it. Is not about cypher data or allows a consent opt in, but to give to the holder the power to manage all aspects about your data. So to expand the security contest with privacy, will require to you review all current rules. The risk to see apps using 95% from another technologies and 5% of iris it is real with this expansion. While when you has the requirement to use intersystems security model, we have more chance to see apps with intensive use of iris Encryption is the part of InterSystems security model. I think the data anonymization task is close to data encryption, isn't it? And privacy regulations can even deal with anonymized and unencrypted data. If @henry removes GDPR or LGPD terms from the question (which are the potential implementation goals), will the case work as a security topic? So our contest is not about privacy. But we can include encryption and data obfuscation/anonymization. IRIS has encryptation already, but not anonymization. Is a valid security topic. Thank you @Yuri.Gomes and @Evgeny.Shvarov for all enlightenment. I will follow the advice to remove GDPR and LGPD from the implementation goal and will focus on anonymization data, if it's included on scope. Hey Developers! Are you started creating your solutions? We are waiting to see them! Don't forget, that the new InterSystems Security Contest is starting on Monday! So, good luck to everybody! Added an example of REST API with basic authentication and users deployed and an example of roles authorization implemented. We expanded the topic for Auditing and Encryption too. So, @henry, your idea meets the contest requirements - please apply for the contest! @Yuri.Gomes, thanks for your attention and useful comments as always! Hey Devs! The registration period is finally started! Join our Security Contest! Here is the landing page: https://contest.intersystems.com/ WOW! Developers! There are already 2 applications that have been uploaded by @MikhailenkoSergey ! What a speed! ⚡ appmsw-forbid-old-passwdisc-apptools-lockdown Go check it out! So, who will be next? Hey Developers, The recording of the InterSystems Security Contest Kick-off Webinar is available on InterSystems Developers YouTube! Please welcome: ⏯InterSystems Security Contest Kick-off Webinar Hey Community! We are waiting for your participation in the Security Contest! Here is the landing page: https://contest.intersystems.com/ Hello Developers! The first week of the registration period has ended, so only one week left! So, upload your applications and participate! Wow, participants have added new apps!🎉 Let's see them: passwords-tool by @Dmitry.Maslennikov API Security Mediator and Audit Mediator by @Yuri.Gomes iris-disguise by @henry Developers, only 3 days left till the end of the registration period. Hurry up! Happy coding) Hi Community! Only 2 days left before the start of voting. Hurry up to upload your application! Developers! Only one day left for registration! Join us to win! 🚀 Community! Last call! Today is the last day of registration! 5 more articles gave been added to the competition! iris-saml-example by @Dmitry.Maslennikov Server Manager 3.0 Preview by @John.Murray appmsw-dbdeploy by @MikhailenkoSergey Data_APP_Security by @Muhammad.Waseem IRIS Middlewares by @davimassaru.teixeiramuta
Announcement
Christine Tang · Sep 18, 2021

Thank you InterSystems!

Just wanted to thank InterSystems for sponsoring this year's HACKMIT! You are very welcome, @Christine.Tang! Thank you for your participation! Hey Christiane, We hope you had a great experience and a lot of fun at HackMIT with us and InterSystems Technologies! Greetings from InterSystems team at HackMIT 2021: ⭐️ @Anton.Umnikov ⭐️ @sween ⭐️ @Anastasia.Dyubaylo ⭐️ @Jeffrey.Fried ⭐️ @Regilo.Souza ⭐️ @Evgeny.Shvarov ⭐️ Keep in touch 🤗 Hi Christine, We are impressed with the organization. It's no surprise the success of the event. Every year you raise the bar. We love the interesting ideas participants had during the weekend and hope at least some will be successful businesses. Thank you for the chance to be a small part of the event and congratulations on the success.
Announcement
Anastasia Dyubaylo · Jan 26, 2022

InterSystems Python Contest

Hey Developers, We are pleased to invite you all to the next InterSystems online programming contest focused on Python! 🏆 InterSystems Python Contest 🏆 Duration: February 7 - 27, 2022 In prizes: $10K - more prizes included! Prizes 1. Experts Nomination - a specially selected jury will determine winners: 🥇 1st place - $4,000 🥈 2nd place - $2,000 🥉 3rd place - $1,000 🌟 4-15th places - $100 2. Community winners - applications that will receive the most votes in total: 🥇 1st place - $1,000 🥈 2nd place - $750 🥉 3rd place - $500 If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. Who can participate? Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account! Developers can team up to create a collaborative application. Allowed from 2 to 5 developers in one team. Do not forget to highlight your team members in the README of your application – DC user profiles. Contest Period 🛠 February 7 - 20: Application development and registration phase. ✅ February 21 - 27: Voting period. Note: Developers can improve their apps throughout the entire registration and voting period. The topic The recent release of InterSystems IRIS 2021.2 brings Embedded Python functionality and also extends PEX to Python. We invite you to use Embedded Python in a new programming contest! Applications that use Native API for Python or PEX for Python are welcomed too. Submit an open-source application that uses either Embedded Python or Native API for Python or Python PEX for Python with InterSystems IRIS or InterSystems IRIS for Health. General Requirements: Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest. The application should work either on IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition. The application should be Open Source and published on GitHub. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. Helpful resources 1. Developing Python Applications with InterSystems IRIS: Learning Path Writing Python Application with InterSystems Embedded Python Documentation Native API for Python Documentation PEX Documentation 2. For beginners with ObjectScript Package Manager (ZPM): How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. How to submit your app to the contest: How to publish an application on Open Exchange How to submit an application for the contest 4. Example applications: interoperability-python pex-demo python-examples WebSocket AOC2021 Python Faker 5. Videos: Introduction to Embedded Python Embedded Python: Bring the Python Ecosystem to Your ObjectScript App Embedded Python for ObjectScript Developers: Working with Python and ObjectScript Side-By-Side Embedded Python with Interoperability InterSystems IRIS Native Python API in AWS Lambda Judgment Voting rules will be announced soon. Stay tuned! So! We're waiting for YOUR project – join our coding marathon to win! ❗️ Please check out the Official Contest Terms here.❗️ ![yeee](https://media1.giphy.com/media/Fo1cy8mqGDvbjpJBB7/giphy.gif?cid=ecf05e47lna8kh28mgvj32phaelx1xw21kc7d47fzvhampyj&rid=giphy.gif&ct=g) so exited! hehehe))) ??? OEX Conrests shows: Start on March 7th, 2022.I hope Feb. 7th is correct, ??? Thank you Robert, already changed the date.🙏 Hello Developers! Don't miss the opportunity to join the InterSystems Python Contest! Participate, make your solutions and win the prizes! Glad to see this contest and what comes out of it!! I'm waiting the start date to participate with this app: https://openexchange.intersystems.com/package/AI-Image-Object-Detector Community! A few days left to the start of the InterSystems Python Contest! Stay tuned and participate! Developers! Do not miss the upcoming InterSystems Python Contest Kick-off Webinar - tomorrow, February 7 at 12:00 PM EDT! Community! The registration to the InterSystems Python Contest is finally started! We are waiting for your participation! Hey, Devs! We already have 3 participants in the game! 🚀 Check them out: AI Image Object Detector by @Yuri.Gomes appmsw-sql2xlsx by @MikhailenkoSergey GlobalToJSON-embeddedPython by @Robert.Cemper1003 Who is gonna be next?! Another application has been uploaded by @Robert.Cemper1003 ! 🚀 GlobalToJSON-ePython-pure What a great job! Check it out! Developers! Technology bonuses for InterSystems Python Contest have been released! Don't forget to check them! They will give you extra points in the voting. Hi Community! Half of the second week for the registration period is almost over.⌛ We are looking forward to your solutions!👨‍💻 Whose application will be next?👀 What timezone is the deadline for the 20th ? I am looking at the eleventh hour here if I can pull it off and was wondering if I have until midnight 2/20 EST. Registration Ends – February 20, 2022, 11:59:59 PM EST Registration ends on the right day when Python is 31 !! I've posted two articles attached to OEX Application for the Contest: Comparison of Python&Dashboards | InterSystems Developer Community |and Dash-Python-IRIS | InterSystems Developer Community | Dashboards|EmbeddedHow to get bonus points?