Clear filter
Question
Ponnumani Gurusamy · Aug 17, 2016
what are the difference between Deepsee and Ensemble , and how to access the ensemple .Please Tell me Thank you Dmitry strictly speaking Ensemble is a separate product. DeepSee is the BI technology that is included in both Cache and Ensemble. Some functionality of DeepSee needs extra license options. Both of this are completely different products. Where: Ensemble is an Integration platform, and DeepSee is an Business IntelligenceAlso, you can look at some learning courses from InterSystems, about Ensemble and DeepSee and Caché
Announcement
Evgeny Shvarov · Feb 28, 2016
Hi Community!Meet the new group in Developer Community:InterSystems Data Platform Blog!In this group you'll find technical posts form InterSystems engineers and Community about InterSystems Data Platform technology cases which we consider as good or even best practices.Every article in this blog passes InterSystems engineers' reviewing procedure and only then becomes available. You are very welcome to comment and share it!We'll find best practices of InterSystems Technology implementations, will transform it into articles and will deliver for you in this group on a regular basis.Don't miss new posts and subscribe to InterSystems Data Platform Blog today!Evgeny Shvarov,InterSystems Community Manager
Article
Eduard Lebedyuk · Apr 25, 2016
Introduction
If you manage multiple Caché instances across several servers, you may want to be able to execute arbitrary code from one Caché instance on another. System administrators and technical support specialists may also want to run arbitrary code on remote Caché servers. To address these needs, I have developed a special tool called RCE.In this article, we will discuss what are the typical ways of solving similar tasks and how RCE (Remote Code Execution) can help.
What possible approaches are available?
Execute OS commands locally
Let's start with the simplest – executing OS commands locally from Caché. You can do it by executing the $zf command:
$ZF(-1) will call a program or command of the operating system. A call is made from a new process, and the parent process waits until the child process is finished. Once the command is executed, $ZF(-1) returns the resulting code for the child process: 0 if executed successfully, 1 if executed with errors or -1 if the system was unable to create the child process.It looks like this: set status = $ZF(-1,"mkdir ""test folder""")$ZF(-2) is similar command except that the parent process does not wait until the child process is finished. The command returns 0 if the process was created successfully or -1 if the system was unable to create the child process.
There are also methods of the %Net.Remote.Utility class (for InterSystems use only) which provides convenient wrappers for standard functions and displays the results of called processes in a more user-friendly form:
RunCommandViaCPIPE executes a command using Command Pipe. Returns the created device and the output of the process.RunCommandViaZF executes a command using $ZF(-1). Writes the process output to a file and returns the process output
An alternative option is using the terminal command ! (or $ which is the same) that opens the standard shell of the operating system directly within the Caché terminal. Two working modes are available:
One-line mode – the entire command is passed with ! and immediately executed by the shell's interpreter, while its output is sent to the current Caché device. The previous example looks like this:
SAMPLES>! mkdir ""test folder""
Multi-line mode – the system executes ! first and then opens the shell where you can enter the necessary commands of the operating system. To close the shell, enter "quit" or "exit" depending on the shell you are working in:
SAMPLES>!
C:\InterSystems\Cache\mgr\samples\> mkdir "test folder"
C:\InterSystems\Cache\mgr\samples\> quit
SAMPLES>
Remote execution of Caché ObjectScript code
Remote execution is possible via the %Net.RemoteConnection class (deprecated) which provides the following functionality:
Open and modify stored objects;Execution of class methods and objects;Execution of queries.
Sample code demonstrating these capabilities
Set rc=##class(%Net.RemoteConnection).%New()
Set Status=rc.Connect("127.0.0.1","SAMPLES",1972,"_system","SYS") break:'Status
Set Status=rc.OpenObjectId("Sample.Person",1,.per) break:'Status
Set Status=rc.GetProperty(per,"Name",.value) break:'Status
Write value
Set Status=rc.ResetArguments() break:'Status
Set Status=rc.SetProperty(per,"Name","Jones,Tom "_$r(100),4) break:'Status
Set Status=rc.ResetArguments() break:'Status
Set Status=rc.GetProperty(per,"Name",.value) break:'Status
Write value
Set Status=rc.ResetArguments() break:'Status
Set Status=rc.AddArgument(150,0) break:'Status // Addition 150+10
Set Status=rc.AddArgument(10,0) break:'Status // Addition 150+10
Set Status=rc.InvokeInstanceMethod(per, "Addition", .AdditionValue, 1) break:'Status
Write AdditionValue
Set Status=rc.ResetArguments() break:'Status
Set Status=rc.InstantiateQuery(.rs,"Sample.Person","ByName")
This code performs several actions:
Connects to the Caché serverOpens the Sample.Person class instance with ID=1Obtains the attribute valueModifies the attribute valueSets arguments for the methodCalls the method of the instanceExecutes the Sample.Person:ByName query
For operation on the server side %Net.RemoteConnection requires installed C++ binding.It is also worth mentioning the ECP technology. The technology allows you to execute JOB processes remotely on a database server from your application server.In general, combination of these two approaches can efficiently solve our task, but users still need a simple workflow of creating batch scripts, as these approaches can be rather difficult to understand and implement.
RCE
Thus, the project's goals were as follows:
Execution of scripts on remote servers from Caché;No need for configuring remote servers (client side);Minimum configurations on local servers (server side);Transparent switch between commands of the operating system and Caché ObjectScript;Support both Windows-based and Linux-based clients.
Hierarchy of classes in the project looks like this:
The "Machine – OS – Instance" hierarchy stores the information required for accessing remote servers.All commands are stored in the RCE.Script class which contains the sequential list of RCE.Command class objects serving as either OS commands or Caché ObjectScript code.Examples of commands:
Set Сommand1 = ##class(RCE.Command).%New("cd 1", 0)
Set Сommand2 = ##class(RCE.Command).%New("zn ""%SYS""", 1)
The first argument is the text of the command, the second argument is the execution level: 0 – OS, 1 – Cache.Sample creation of a new script:
Set Script = ##class(RCE.Script).%New()
Do Script.Insert(##class(RCE.Command).%New("touch 123", 0))
Do Script.Insert(##class(RCE.Command).%New("set ^test=1", 1))
Do Script.Insert(##class(RCE.Command).%New("set ^test(1)=2", 1))
Do Script.Insert(##class(RCE.Command).%New("touch 1234", 0))
Do Script.%Save()
In this example, the system will execute the 1st and 4th commands at the OS level and the 2nd and 3rd commands at the Caché level. Switching between these two level is absolutely transparent for users.
Execution mechanisms
Presently, the following execution paths are supported:
Server Client Linux Linux, Windows (the SSH server must be installed on the client side) Windows Linux, Windows (you should install an SSH server on the client side or psexec on the server side)
If ssh is supported on the client side, the server will generate the ssh command and execute it on the client side using the standard %Net.SSH.Session class.If both server and client operate under Windows OS, the system will generate a BAT file and then execute it on the client side using psexec.
Adding a server
Load classes from the repository into any namespace. If your server operates under Windows and you want to manage other Windows-based servers, then assign the ^settings("exec") global a path to psexec. And that's all!
Adding a client
Adding a client is basically saving all the data required for authentication.
Example of the program code that creates a new hierarchy "PC – OS – Instance"
Set Machine = ##class(RCE.Machine).%New()
Set Machine.IP = "IP or Host"
Set OS = ##class(RCE.OS).%New("OС") // Linux or Windows
Set OS.Username = "Operation system user"
Set OS.Password = "User password"
Set Instance = ##class(RCE.Instance).%New()
Set Instance.Name = "Caché instance name"
Set Instance.User = "Caché user name" // Unrequired on minimal security settings
Set Instance.Pass = "Caché user password" // Unrequired on minimal security settings
Set Instance.Dir = "Path to cterm" // Required only on Windows clients, who don't have cterm in PATH
Set Instance.OS = OS
Set OS.Machine = Machine
Write $System.Status.GetErrorText(Machine.%Save())
Script execution
And finally, let's execute our scripts. It's very simple – all we need to do is to run the ExecuteScript method from the RCE.Instance class into which the script object and the namespace (%SYS by default) are passed:
Set Status = Instance.ExecuteScript(Script, "USER")
Summary
RCE provides a convenient mechanism of remote code execution for InterSystems Caché. Since the tool uses only stored scripts, you need to write each of them only once and then execute them wherever you want on any number of clients.
References
GitHub repository of RCEArchive of classes from the RCE project Good article, Eduad. Is this prototype only or you do use it in production somehow?
Announcement
Evgeny Shvarov · May 13, 2016
Hi, Community!We've launched Twitter for InterSystems Developer Community!Follow us to be in touch what happens on InterSystems Developer Community. Find valuable postings, hot discussions and best practices links there. You can also retweet and like what you find significant!See how it looks:Join! The permalink to join Twitter can be found also on the right of every DC page: I am not a fan of tweeter and wish you would have asked the community about it first. Mike, if you don't like it - you don't use it. You'll not miss any DC content if you just subscribe for every post and comment in subscription settings.DC Twitter is intended to increase the audience for DC highlights. Write valuable topic and it will be tweeted on DC Twitter. @Evgeny great initiative, let's link it up ;) Luca, thank you! And thanks for the following and retweeting! That's great! All major companies have twitter accounts even to give some basic support. Will we provide also that kind of service through twitter?
Announcement
Evgeny Shvarov · Nov 2, 2016
Hi, Community!Let me introduce Dmitry Maslennikov as our new Developer Community Moderator.Dmitry continuously shows the outstanding contribution to InterSystems Developer Community and we decided to trust Dmitry this role and hope that Dmitry can even help to make the Developer Community better in this new status.Thanks for your great contribution, Dmitry! And, we are looking for the new moderators from Community! InterSystems Developer Community is growing! Congrats Dmitry, well deserved!
Article
Steve Wilson · Feb 3, 2017
Points to remember before you start:
It is not possible in a COS (Caché Object Script) job/process context to have multiple Named Pipes. It is a one Named Pipe per job/process limited line of communication.
Named Pipes, in Caché, like most pipes on most operating systems are Unidirectional. That means you open them for either Read or Write, but not both.
If you need a two-way bidirectional conversation between servers or jobs then consider using TCP connections or the IJC (inter Job Communication) paired ports.
The only real advantage a Named Pipe has over a TCP connection is the reduced Network impact, but it does also remove the need for one end to be running all the time – less likely to fail due to a temporary gap in process/job visibility – because writes are buffered, so if you want to send something and don’t know (or care) when the other end receives and processes it then use a Named Pipe.
When trying to understand Named Pipe documentation in a COS context, the “Server” is the listening/receiving/Reading device end of the pipe and the non-server (local or otherwise) is the sending/writing end. Opening a Named Pipe with “” (empty string) for the host parameter is a Server Named Pipe Open, so trying to Write to that device will just hang the process. In other words, opening a server Named Pipe is the same as opening a pipe for READ only and opening a Named Pipe with a “.” or a string for the Host parameter is the same as opening for WRITE only.
Opening a Named Pipe is the same as opening a file, but in a non-UNIX environment you must have both a WRITE and a READ (non-server OPEN and server OPEN) before you can close the Named Pipe. Opening a Named Pipe for READ or WRITE without the corresponding end in another process will just hang/wait until the other end is opened. Imagine trying to save/close a NULL (not just empty but actually null) file – it doesn’t even make sense.
Closing a Named Pipe without writing anything to it will cause an error at the READ (server) end. This is like hitting an EOF at the beginning of the file.
Named Pipes are primarily used for printing – sending (writing) files to print devices – so if you are looking to use them for anything else you may be straying down the wrong system design path.
A simple example to help us understand how to use Named Pipes in a COS routine can be shown using two separate Cache Terminal sessions to act as two “ends”. Run a process with a “server” Named Pipe type OPEN in one session and a corresponding “client” (WRITE) OPEN in the other. The two routines look like this…
server
open "|NPIPE|4":("":/PIP="testNP")
use "|NPIPE|4"
read sentString
close "|NPIPE|4"
write "Server received - ",sentString,!
QUIT
…and…
client
WRITE "Enter a string to send:"
READ stringToSend
open "|NPIPE|4":("localhost":/PIP="testNP")
use "|NPIPE|4"
w stringToSend
close "|NPIPE|4"
w !, "Finished"
quit
…and when the server and then client are run this gives us outputs something like this…
USER>d ^server
Server received - Hello World
USER>
…and…
USER>d ^client
Enter a string to send:Hello World
Finished
USER>
…the only thing not shown here is the pause/wait that we have on the “server” while we wait for the “client” input of the string and then hit return.
References:
For more information on using Pipes in Cache and Ensemble … http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GIOD_interproccomm#GIOD_interproccomm_pipesandcommandpipes
For more information on Named Pipes in general, this Wiki page is good...
https://en.wikipedia.org/wiki/Named_pipe
Article
Evgeny Shvarov · Mar 20, 2020
Hi colleagues!
Every day Johns Hopkins University publishes new data on coronavirus COVID-19 pandemic status.
I built a simple InterSystems IRIS Analytics dashboard using InterSystems IRIS Community Edition in docker deployed on GCP Kubernetes which shows key measures of the disease outbreak.
This dashboard is an example of how information from CSV could be analyzed with IRIS Analytics and deployed to GCP Kubernetes in a form of InterSystems IRIS Community Edition.
Added the interactive map of the USA:
The next dashboard shows the timeline:
And can be filtered by country. E.g. here is in the USA:
The source code of the application is available on Open Exchange.
How does it work?
Demo runs using InterSystems IRIS Community Edition docker container and exposes InterSystems IRIS BI dashboards using DeepSee Web representation layer via MDX2JSON REST API. Its deployed on GCP and operates using Google Kubernetes Engine (GKE).
How it was developed
The data is taken from the Johns Hopkins repository in CSV form.
Classes, cubes, and initial pivots were generated via Analyzethis module, thanks @Peter.Steiwer!
Import method then was introduced using the CSVTOCLASS method, thanks @Eduard.Lebedyuk!
Dashboards are rendered with DeepSee Web (DSW) module.
IRIS BI artifacts (pivots, dashboards) were exported by ISC.DEV module:
IRISAPP> d ##class(dev.code).workdir("/irisdev/app/src")
IRISAPP> d ##class(dev.code).export("*.dfi")
The code has been developed using VSCode ObjectScript, thanks @Dmitry.Maslennikov.
Building docker image for development and deploymentAll the deployment sits in Dockerfile. With Dockerfile we build an image with data, web apps and modules installed and properly setup and then we deploy the image to GCP Kubernetes.
This Dockerfile is a modified version of this Template Dockerfile which is described very well in this article.
All the preliminary steps are being done in iris.script file:
Here we install DeepSee Web.
zpm "install dsw"
This enables IRIS Analytics (DeepSee) for /csp/irisapp web app:
do EnableDeepSee^%SYS.cspServer("/csp/irisapp/")
This code is needed to make the analytics web app be available without credentials:
zn "%SYS"
write "Modify MDX2JSON application security...",!
set webName = "/mdx2json"
set webProperties("AutheEnabled") = 64
set webProperties("MatchRoles")=":%DB_IRISAPP"
set sc = ##class(Security.Applications).Modify(webName, .webProperties)
if sc<1 write $SYSTEM.OBJ.DisplayError(sc)
And here in Dockerfile this command helps to set DSW configuration.
COPY irisapp.json /usr/irissys/csp/dsw/configs/
Deployment to Kubernetes
The deployment procedure is being processed by Github Actions - and this workflow handles it on every commit to the repository.
Github workflow uses Dockerfile we built on a previous step along with Terraform and Kubernetes settings.
The procedure is identical to the one described in this article by @Mikhail.Khomenko.
How to run and develop it locally
You are very welcome to run, develop and collaborate with this project.
To run it locally using docker do:
Clone/git pull the repo into any local directory
$ git clone https://github.com/intersystems-community/objectscript-docker-template.git
Open the terminal in this directory and run:
$ docker-compose build
Run the IRIS container:
$ docker-compose up -d
Once the container is built up and running open the application on:
localhost:yourport/dsw/index.html#/irisapp
How to Develop
This repository is ready to code in VSCode with the ObjectScript plugin. Install VSCode, Docker, and ObjectScript plugin and open the folder in VSCode.
How to Contribute
Fork the repository, make changes, and send Pull Requests. See the video for more information.
Would love to see your contribution! Wow Evgeny, this is very cool. Thank you. Great to see this!
Look forward to people using it and improving / extending it! Thank you, Joe!
This is a rather simple example but it could be a good beginning in working with COVID-19 data with InterSystems IRIS on a local machine and docker container along with a GitHub Actions deployment workflow to Google Kubernetes cloud. Thank you, Jeff!
Yes!
Developers! The repository is fully prepared for collaboration! Your forks and Pull Requests are very welcome! The US reached 100K COVID-19 confirmed.
Italy and USA both lead the disease stats:
Introduced the second dashboard: -Covid timeline.
And can be filtered by country. E.g. here is the USA:
Introduced the interactive map of the USA on the spreading of COVID-19.
Thanks to @Semen.Makarov for DSW-map, @Eduard.Lebedyuk for the help with DeepSee IRIS Analytics, and @Arun.Tiriveedhi9645 for the PR for the update from Github data source.
Added the world map:
All dashboards. Added a new dashboard with a bubble chart on Confirmed-Recovered-Deaths for Top-10 countries:
💡 This article is considered as InterSystems Data Platform Best Practice. Fixed the URL this is fixed too
Article
Lelikone · Mar 26, 2020
These Competition Terms (the "Terms") apply to competitions and contests sponsored by InterSystems and its affiliates including coding contests relating to InterSystems products and technologies (each a "Contest"). Please read these Terms and all applicable Rules (defined below) carefully as they form a binding legal agreement between you and InterSystems Corporation (“InterSystems”), with principal office located at:
InterSystems Corporation1 Memorial Drive CambridgeMA, 02142 UNITED STATES
Our Contests vary, and InterSystems may post Contest-specific rules ("Rules") on the Contest websites on the Open Exchange (or linked therefrom) which, along with these Terms, become part of your agreement with InterSystems relating to the respective Contest. If there is a conflict between these Terms and the Rules, the Rules have priority.Any decision or determination of any Contest administrator or judge, including interpretation and applications of the Terms and Rules, is final and binding in all matters relating to such Contest, to the extent allowed by law.The Terms and Rules include information about how InterSystems may use your personal information when you create an “Open Exchange Profile” (as defined below) or participate in a Contest.
UNLESS YOU AGREE TO THE TERMS AND APPLICABLE RULES, YOU:
(1) MUST NOT CREATE AN OPEN EXCHANGE PROFILE OR PARTICIPATE IN A CONTEST AND
(2) ARE NOT ELIGIBLE TO RECEIVE PRIZES UNDER A CONTEST.
The words "include" and "including" are used in these Terms and any Rules to mean "including but not limited to."
ELIGIBILITYVOID WHERE PROHIBITED. Each Contest is void in Crimea, Iran, North Korea, Quebec, Syria, and where prohibited by law.NO PURCHASE NECESSARY TO ENTER OR WIN. You do not need to purchase any InterSystems product or service to enter or win a Contest.INELIGIBLE INDIVIDUALSYou cannot participate in a Contest, will be immediately disqualified, and forfeit any related prize if you are or become:
a resident of Quebec;
a resident of Crimea, Iran, North Korea, Syria, or other US embargoed country;
ordinarily resident in a US embargoed country;
otherwise prohibited by applicable export controls and sanctions programs; or
a resident anywhere that a Contest is prohibited by law.
You cannot participate in a Contest if you are under the age of majority in your home state or nation, and in no case if you are less than sixteen (16) years of age at the time of registration for the Contest.
REQUIREMENTS TO ENTER AND RECEIVE A PRIZEIn order to enter a Contest, you must have:
access to the Internet,
a valid email address, and
a registration to any InterSystems online community required by these Terms or the applicable Contest Rules.
IF A CONTEST OFFERS A PRIZETo coordinate the delivery of prizes, you must provide on InterSystems request:
your name,
phone number,
a valid mailing address, and
any other information InterSystems may need to award or send you such prize.
This information must be provided to InterSystems in English using ASCII characters only and will be used to award and send a prize to you. Use of non-ASCII characters may prevent or delay your receipt of an award or prize. InterSystems will endeavor to disperse prizes to all eligible prize recipients. You understand that there may be rare circumstances in which InterSystems is unable to disperse a prize due to administrative, carrier, or legal restrictions.
VERIFYING ELIGIBILITYInterSystems reserves the right to verify your eligibility and to adjudicate any dispute at any time. You agree to provide InterSystems with any proof of eligibility requested by InterSystems, and your refusal or failure to provide such proof within ten (10) days of InterSystems request for such information will result in your disqualification from a Contest and forfeiture of any prizes.COMMUNICATIONSAll communications between InterSystems and you, including over the Contest website or email communications, must be in English.
HOW TO ENTER A CONTESTOpen Exchange Profile Creation and Contest Participation.To enter a Contest, you must first create a profile on the Open Exchange (“Open Exchange Profile”). Once your Open Exchange Profile has been created, you will be able to request registration for Contests. You will be required to provide additional information about yourself when registering for Contests.
Registration times are listed on the applicable Contest websites. YOU ARE RESPONSIBLE FOR DETERMINING THE CORRESPONDING TIME IN YOUR TIME ZONE. InterSystems may modify the opening and closing dates for registration by an informational notice on the applicable Contest website. You are responsible for frequently reviewing Contest details on the applicable Contest website.
All the data provided through the profile creation and registration process must be complete, correct, and provided in English.
APPLICATION NAMES AND NICKNAMESInterSystems reserves the right to change or omit contestant nicknames or application names for purposes of publication on InterSystems websites, listserves, or other publication mechanisms particularly if they are, in InterSystems sole discretion, offensive, obscene, or violate the intellectual property rights of others. If InterSystems determines that you or your team’s naming fails the above criteria, you and your team members, if applicable, may be disqualified from the Contest(s) for which you have registered.
CONTEST STRUCTUREEach Contest consists of submission and voting stages as may be more fully described in the Rules posted on the applicable Contest website. Each Contest introduces one or more challenges for you to resolve (hereinafter, “Prompt(s)”). In each Contest, you will receive a score based on the success of your solution to the Prompt and the quality of code.PROMPTSIn each Contest, you will be asked to resolve one or more problems in the Prompt. Based on your contest submission, votes from the judges or other judging participants (as described in the Contest Rules) will be cast to determine the winner(s) of the Contest. You will be able to access the Prompt(s) on the applicable Contest website or online the judging system when the Contest begins.SUBMISSIONSYou must submit your applications through the Contest website or the specified online judging system.
Your submission must be in the format specified by the applicable Contest website or relevant online judging system, the applicable Rules, and these Terms (in order of decreasing priority). Deliberately obfuscated source code is not allowed.
You should submit your solutions with enough time remaining in each time period to avoid latency issues between your computer and InterSystems servers. Solutions will not be accepted after the applicable contest period expires.
MODIFYING A CONTESTInterSystems may cancel or modify the structure and timing of a Contest for any or no reason at all. Generally, such modification will be limited to ensuring conformance or clarity of the Terms and applicable Rules or to prevent an unfair result. In the event of any such modification to a Contest, its rules, or these Terms, InterSystems shall post a notice of the changes conspicuously on the Open Exchange or the Contest website.PRIVACY TERMSScope. This Privacy Terms section covers the information you share with InterSystems during the course of your participation in a Contest or use of any Contest website.
Privacy, Generally. Your use of any coding competitions services or platforms in connection with your participation in a Contest is governed by the applicable Rules and these Terms, including this Section (Privacy Terms), InterSystems Privacy Policy, and, if applicable, any relevant InterSystems policies relating to other relationships between InterSystems and the contestant(s), including employment, candidate, and consultant privacy policies. InterSystems uses the information collected in connection with a Contest based on InterSystems legitimate interest in administering and managing Contests and activity associated with each Contest.
Information InterSystems Collects. In order to administer Contests and manage Contest activity (including Contest Profiles), InterSystems collects basic contestant information about you (for example, your name, email, and school or company name), information about your coding experience (such as your preferred coding language), and information about your contest submissions (for example: file information and content information about your submission, its evaluation, or your Contest scores). InterSystems will collect this information from both:
You, when you provide it during the course of registering for a Contest or creating an Open Exchange Profile); or
judges or other individuals responsible for managing a Contest.
InterSystems Use of Your Information. InterSystems will use the information you provide to administer a Contest (including verifying your eligibility to participate in a Contest and delivering prizes). This data will be maintained in accordance with the InterSystems Privacy Policy. If you have expressed interest in learning about InterSystems events, programs, and/or job opportunities, your data will be disclosed to InterSystems’s internal outreach and staffing teams.
Personally Identifiable Information in Nicknames and Submissions. InterSystems strongly discourages from you from including any personally identifying information (e.g., your legal name or location) in your contestant nickname, team name, and submissions. Such nickname, team name, or submission material may be published publicly.Sharing Your Information. Your name, username, application name, location details, country of residence, and any personal details (e.g., your favorite coding language) that you specified during registration; any/all of these may be displayed publicly on Contest websites, social media, and InterSystems-managed blogs for promotion purposes. You can request to have this information omitted from display by emailing InterSystems Developer Community at community@InterSystems.com.
If you win a prize, InterSystems may share your name, phone number, e-mail address, and mailing address with third parties during the process of prize fulfillment. InterSystems may also be required to disclose your information to external third parties, such as local labor authorities, courts, tribunals, regulatory bodies, and/or law enforcement agencies for the purpose of complying with applicable laws and regulations or in response to legal processes.
InterSystems maintains servers around the world, and your information may be processed on servers located outside of the country where you live. Data protection laws (including those regulating the publishing and disclosure of your information) vary among countries.
ACCESSING YOUR INFORMATION
While logged into a Contest website, you will be able to access, review, and update some of your personal data held by InterSystems in connection with a Contest.
In certain countries, you may have the right to request access or updates to your information, request that it be deleted, and restrict the processing of your information. You may also have the right to object to the processing of your information. Please contact the contest administrator via the applicable Contest website if you would like to exercise any of these rights. InterSystems will respond to any requests in accordance with applicable law; therefore, there may be circumstances where InterSystems is not able to comply with your request.
To delete your Open Exchange Profile, you must email community@InterSystems.com. Deleting your Contest Profile may terminate your access to your Contest history, de-register you from all Contests for which you have enrolled; or forfeit all claims to prizes accruing to your Profile. If you have participated in past Contests, deleting your Contest Profile shall prevent your registered nickname from appearing on any public scoreboards. However, your code and historical activity may remain in our system data stores and scoreboards.
CONTACTING INTERSYSTEMS ABOUT PRIVACY QUESTIONSYou can contact the applicable Contest administrator via the applicable Contest website if you have questions about the processing of your information collected in connection with a Contest.
If you are in the EU and cannot find the answer to your question in these Terms or Rules, then you can contact InterSystems Data Protection Office at dpo@intersystems.com.
Depending on your country of residence, you can contact your local data protection authority if you have concerns regarding your rights under local law.ADVANCEMENT AND NOTICE OF WINNERSNotice of Advancement. Results posted on a Contest website are not definitive and may change as necessary in InterSystems sole discretion to comply with these Terms or the Contest Rules.Announcement of Winners. The results of a Contest will be posted on the applicable Contest website after completion of such Contest. Posted results will include a list of the contestants' names, nicknames, usernames, and application names in ranked order based on their scores.
PRIZESIf a Contest offers a prize, then the following Terms are applicable:Money Prizes. Money prizes will be awarded in U.S. dollars and may be delivered in the form of cash, check, gift card, or other cash equivalent. You are responsible for any costs associated with currency exchanges directed by you. InterSystems may work with an authorized third-party to convert money prizes into a local currency. You understand InterSystems has sole discretion to choose which currency exchange rate to apply in order to convert any money prize into a non-U.S. dollar currency.Taxes. You are solely responsible for complying with all applicable tax laws and filing requirements. To remain eligible for a prize, you must submit to InterSystems or a relevant tax authority specified by InterSystems, all documentation requested by InterSystems or required by applicable law within seven (7) days (or less if required by regulation) of request by InterSystems or its designated agent. You are solely responsible for paying all taxes, duties, and other fees imposed on prizes awarded to you. All prizes will be net of any taxes InterSystems is required by law to withhold.No Warranties for Prizes. Except as required by law, InterSystems makes no warranties, express or implied, for prizes.Prizes are Non-Transferable. Participants may not sell or give away the entitlement to a prize to their customers or other persons.
DISQUALIFICATIONYou may be disqualified from a Contest and forfeit any prizes you may be eligible to receive for said Contest or any other Contest if InterSystems reasonably believes that you have attempted to undermine the legitimate operation of a Contest, including by:
Providing false information about yourself during registration or concerning your eligibility;
Breaching or refusing to comply with any Terms or Rules of any Contest for which you have registered;
Tampering or interfering with administration of a Contest (including monitoring at onsite rounds) or with the ability of other contestants to participate in a Contest;
Submitting content that:
violates the rights of a third party;
is lewd, obscene, pornographic, racist, sexist, or otherwise inappropriate to a Contest, in each case, as determined in InterSystems sole discretion; or
violates any applicable law.
Threatening or harassing other contestants or InterSystems personnel--including its employees and representatives.
Harassing behavior (as described in the list above) includes offensive, threatening, and/or hateful comments directed toward an individual or protected class (e.g., sexual orientation, disability, gender identity, age, race, religion, ethnicity, veteran status), the use or display of sexual images in public or shared spaces, deliberate intimidation or distress, stalking, following, taking unwelcome photos/videos, sustained disruption of talks or other events, inappropriate physical contact, unwelcome sexual attention or communications, and developing and/or promoting any applications designed to encourage any of these behaviors. InterSystems has sole discretion over whether a Contest participant has committed threatening or harassing behavior.REPORTING INAPPROPRIATE BEHAVIORUsing the applicable Contest administrator email address specified on the applicable Contest website, you may report to InterSystems any harassment, cheating, or violation of any Terms or Rules by another contestant. InterSystems may investigate any such allegations and all decisions by InterSystems in these matters are final and binding. If you are asked to stop any harassing behavior, you are expected to comply immediately.As required in the sole discretion of InterSystems or its agents, disqualification from one Contest may disqualify you from other Contests or from the same Contest in subsequent years. The scope of a disqualification will depend on the character and severity of the violation resulting in such disqualification.
OWNERSHIP; RIGHTS IN YOUR SUBMISSIONSLicense to Use Content; Reservation of Rights. InterSystems may publish code and content to Contest websites to support participation in the Contest. You may use the code and content made available on a Contest website solely to prepare for and compete in such Contest. InterSystems retains all rights in such code and content except as explicitly granted by the Terms or Rules of the Contest(s) for which you have registered.Ownership of Submissions. You warrant that you have the right to publish your Contest submission in any Contest for which you register. You retain all rights to your submitted source code and any other work product that you held before submitting them to a Contest except that you grant to InterSystems a perpetual, nonexclusive, unrestricted right to use your Contest submission(s) anywhere in the world for the promotion or management of InterSystems online communities, marketing, or research relating to technologies used in your submissions.Social Media. If you post on your social media page using Contest hashtags or labels (e.g., “#IRISDev”) or share/post any content on a Contest social media page (altogether “Social Media Content”), then InterSystems may feature such Social Media Content in marketing and promotional materials for any Contest.
THE LICENSE YOU GRANT TO INTERSYSTEMSYou grant InterSystems an unrestricted, sublicensable, transferable, perpetual, irrevocable, worldwide, free license to use your Social Media Content to promote any Contest.
You warrant that you have the authority to grant the license set forth in this Section.
You waive all rights in such content shared on social media (including any right of prior approval), and you release InterSystems and its agents from any claim or cause of action, whether now known or unknown, for: defamation, copyright infringement, invasion of rights to privacy, publicity, or personality or any similar matter, or any cause of action based relating to the use and exploitation of Social Media Content. Moreover, you will neither sue nor bring any proceeding against InterSystems or its agents for their use of your Social Media Content in accordance with these Terms or other applicable Contest Rules.
Permission to Use Your Name and Likeness. By registering for a Contest, you agree that InterSystems and its agents may, without compensation, use your name, likeness, and statements to promote a Contest--including displaying it on a Contest website.
YOUR REPRESENTATIONS, WARRANTIES, INDEMNITIES.Representations and Warranties.
You represent and warrant that:
the information you provide about yourself while registering or in subsequent communications with InterSystems is truthful and accurate;
except as permitted by the Terms and Rules of the Contest(s) for which you have registered, your submissions to a Contest are original and not created with the assistance of any information about the relevant Prompt other than what has been provided by InterSystems;
you own all rights in your submissions or otherwise have the right to submit your submissions to InterSystems and to grant to InterSystems the licenses granted in these Terms and any applicable Rules without violating any rights of any other person or entity or any obligation you may have to such person or entity; and
your submissions do not violate any applicable laws.
Indemnities. You will indemnify InterSystems and its affiliates, directors, officers, and employees against all liabilities, damages, losses, costs, fees (including reasonable legal fees), and expenses relating to any allegation or third-party legal proceeding to the extent arising from:
your acts or omissions in relation to a Contest (including your use or acceptance of any prize and your breach of these Terms or any applicable Rules); and
your submissions violating any rights of any other person or entity or any obligation you may have with them.
DISCLAIMERSEACH CONTEST WEBSITE AND ALL CONTENT (INCLUDING SOURCE CODE) IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS. INTERSYSTEMS DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES (EXPRESS OR IMPLIED), INCLUDING ANY WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. INTERSYSTEMS IS NOT RESPONSIBLE FOR ANY INCOMPLETE, FAILED, OR DELAYED TRANSMISSION OF YOUR APPLICATION INFORMATION OR SUBMISSIONS DUE TO THE INTERNET, INCLUDING INTERRUPTION OR DELAYS CAUSED BY EQUIPMENT OR SOFTWARE MALFUNCTION OR OTHER TECHNICAL PROBLEMS. INTERSYSTEMS IS NOT RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER OR SOFTWARE RESULTING FROM DOWNLOADED SOURCE CODE. YOU USE ALL SOURCE CODE AVAILABLE ON A CONTEST WEBSITE OR ONLINE JUDGE SYSTEM AT YOUR OWN RISK.MISCELLANEOUSNot an Offer or Contract of Employment.
You acknowledge that your participation in the Open Exchange, Developer Community, Contest, or other interaction with InterSystems relating to these terms, is voluntary.
You acknowledge that no confidential, fiduciary, agency or other relationship or implied-in-fact contract now exists between you and InterSystems so as to contravene or override these Terms.
No relationship described in part B of this Section is established by your submission of an entry to Contest.
You understand and agree that nothing in these Terms, any Rules, any submission to a Contest, or any award of a prize may be construed as an offer or contract of employment with InterSystems.
Severability. If any provision (or part of a provision) of these Terms or Contest Rules is or becomes invalid, illegal, or unenforceable, the rest of the terms will remain in effect.Import and Export Laws. InterSystems will organize each Contest in compliance with all applicable import laws, export laws, rules, regulations, and sanctions programs. Participants acknowledge and agree that each Contest (including the award of prizes, swag, or other items) may be subject to certain export laws and regulations.Governing Law. ALL CLAIMS ARISING OUT OF OR RELATING TO THESE TERMS AND ANY CONTEST RULES WILL BE GOVERNED AND INTERPRETED IN ACCORDANCE WITH THE LAWS OF THE COMMONWEALTH OF MASSACHUSETTS WITHOUT GIVING EFFECT TO THE MASSACHUSETTS’ CONFLICT OF LAWS PROVISIONS, AND THE SAME SHALL BE LITIGATED EXCLUSIVELY IN THE FEDERAL OR STATE COURTS OF THE COMMONWEALTH OF MASSACHUSETTS IN MIDDLESEX COUNTY. THE PARTIES HERETO CONSENT TO PERSONAL JURISDICTION IN COURTS IDENTIFIED ABOVE. There are minor changes in the Contest Terms. Please check them out.
Announcement
Anastasia Dyubaylo · Mar 16, 2021
Hey Developers,
You asked - we did it! We're glad to announce the next competition for InterSystems Developers! Please welcome:
🏆 InterSystems Programming Contest: Developer Tools 🏆
Submit an application that helps to develop faster, contribute more qualitative code, helps in testing, deployment, support, or monitoring of your solution with InterSystems IRIS.
Duration: March 29 - April 25, 2021
Total prize: $8,500
Prizes
1. Experts Nomination - a specially selected jury will determine winners:
🥇 1st place - $4,000
🥈 2nd place - $2,000
🥉 3rd place - $1,000
2. Community winners - an application that will receive the most votes in total:
🥇 1st place - $750
🥈 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. 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
🛠 March 29 - April 18: Application development and registration phase (during this period, devs are able to edit/improve their projects).
✅ April 19 - 25: Voting phase.
🎉 April 26: Winners announcement.
Note: Developers can improve their apps throughout the entire registration and voting period.
The topic
💡 InterSystems IRIS developer tools 💡
In this contest, we expect applications that improve developer experience with IRIS, help to develop faster, contribute more qualitative code, helps to test, deploy, support, or monitor your solution with InterSystems IRIS.
Here are the requirements:
Accepted applications: 100% new apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest.
Types of applications that match: UI-frameworks, IDE, Database management, monitoring, deployment tools, etc.
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 contain the installation steps and contain either the video demo or/and a description of how the application works.
Source code for the application is available in UDL format (not XML). Example.
The requirements above are subject to change.
Helpful resources
Example applications:
iris-rad-studio - RAD for UI
cmPurgeBackup - backup tool
errors-global-analytics - errors visualization
objectscript-openapi-definition - open API generator
Test Coverage Tool - test coverage helper
and many more.
Templates we suggest to start from:
objectscript-docker-template
rest-api-contest-template
native-api-contest-template
iris-fhir-template
iris-fullstack-template
iris-interoperability-template
iris-analytics-template
How to submit your app to the contest:
How to publish an application on Open Exchange
How to apply for the contest
Judgment
Please find the updated voting rules here.
So!
We're waiting for YOUR great project – join our coding marathon to win!
❗️ Please check out the Official Contest Terms here.❗️
Hey Developers!
Please, check out our new Voting Rules!
If you have any questions, feel free to ask!
And good luck in InterSystems Programming Contest!🔥 Hey, Developers!
Only a few days left before the start of registration, don't miss it! Developers!
The InterSystems Contest Kick-off Webinar: Developer Tools will be on Monday.
We look forward to your participation! Hi Community!
The registration period has already begun! Follow our Contest Board and stay tuned.
Waiting for your cool projects! 🤩 We have the first application!
IRIS-easy-ECP-workbench by @Robert.Cemper1003
Who's next? Hi Developers!
The recording of the InterSystems Contest Kick-off Webinar: Developer Tools is available on InterSystems Developers YouTube! Please welcome:
Hey Developers!
The second week of registration has already started! Just wait for us a little bit more We are on our way Exited! 🤩 Hi Developers!
Upload your applications to the Open Exchange and we'll see them on the Contest Board!
Let everyone know about your cool app! 💪 Devs! Hurry up! 🔥 The last week of the registration has already begun!⌛️ This demo supports the programming contest and lets all the participants use the secret key and deploy their contest solutions on the InterSystems account at name.contest.community.intersystems.com
Watch the video to learn more:
⏯ Deploying InterSystems IRIS docker solutions to GKE cloud in 5 minutes
We have a new cool application!🔥
IRIS_REST_Documentation by @davimassaru.teixeiramuta Hey Developers!
We have a lot of new applications!
zapm-editor by @Sergei.Mihaylenko Grafana Plugin for InterSystems by @Dmitry.Maslennikov IntelliJ InterSystems by @Dmitry.Maslennikov config-api by @Lorenzo.Scalese gj :: locate by @George.James Server Manager for VSCode by @John.Murray
Only one day is left, so hurry up! Let us see your cool app!🔥 Developers!
The last registration day is almost over.
Upload your application and participate in our InterSystems Programming Contest: Developer Tools 🏆
Don't forget to check the new Voting Rules!
Good luck to all! Hi all! Just submitted another one to Open Exchange: https://openexchange.intersystems.com/package/Git-for-IRIS It seems it's still on approval and can't be submitted to the contest yet. Any chance to submit it?
Edit: Published and submitted.
Article
Dmitry Maslennikov · Apr 23, 2021
Let me introduce the support of InterSystems IRIS in IntelliJ IDEA. This plugin adds Syntax Highlighting support for ObjectScript, and auto import and compile on the server after saving a changed file. It uses LanguageServer written in Rust, where was added an ability to import and compile code.
Installation
You will need the latest version of IntelliJ IDEA, Community Edition also supported. Probably other editions of IntelliJ products also supported, but not tested.
Download the latest version of the plugin from the releases page, do not extract it
Open IntelliJ IDEA, go to Settings, Plugins, Gear icon, Install Plugin from Disk, and select downloaded file
Restart the IDE
Now you can open any folder with ObjectScript source code you already have as a new project.
And first of all, you have to configure the connection to IRIS. Settings -> Languages & Frameworks -> InterSystems. Note, that there is SuperServer port, not WebServer's.
After that, when you change mac or cls file, after save it's automatically will import to the server and compile.
Please vote for the project on the current contest
Article
Yuri Marx · May 20, 2021
What is Data Fabric?
“It is a set of hardware infrastructure, software, tools and resources to implement, administer, manage and execute data operations in the company, including, acquisition, transformation, storage, distribution, integration, replication, availability, security, protection , disaster recovery, presentation, analysis, preservation, retention, backup, recovery, archiving, recall, deletion, monitoring and capacity planning, across all data storage platforms and enabling application use to meet the company's data needs company".
(Alan McSweeney)
The Data Fabric is a new way to operate the data using all resources and technology innovations available to get business value, including multimodel databases, Analytics, AI, ESB/SOA, microservices and API Management.
Data Fabric principles
Alan McSweeney listed the following principles when using Data Fabric:
Administration, management and control - maintain control and be able to manage and administer data, regardless of where it is located
Stability, reliability and consistency - common tools and utilities used to deliver a stable and reliable Data Fabric across all layers
Security - Security standards across the Data Fabric, governance automation, compliance and risk management
Open, flexible and free choice - ability to choose and change data storage, access and location
Automation - automated management and maintenance activities, DevOps and DevSecOps
Performance, recovery, access and use - applications and users can gain access to data when needed, as needed and in a format in which it is usable
Integration - All components interoperate together at all layers
Data Fabric Architecture
McSweeney designed a conceptual diagram to detail Data Fabric into an organization, see:
You can see that is needed some technologies to get a fluid data input, processing and output operating toghether to "fabric" the data and deliver business value to the data consumers. These elements can be resumed by this diagram:
The operation of the data is in Data Intake Gateway, using ESB and API Gateway technology to capture, orchestrate, transform, enrich and integrate data assets into to corporate data assets.
The result of the data operation is consumed using Analytics and AI to allows data consumers to get the insights.
The multimodel repositories are key player too, because the volume and variety of the data and the requirement of "golden data", the "single channel of truth".
InterSystems IRIS and the Data Fabric
The InterSystems IRIS is a Data Fabric platform thats enable a Data Fabric architecture into the organizations, see:
DATA FABRIC COMPONENT
INTERSYSTEMS IRIS COMPONENT
Multi-Purpose Repository
IRIS Database
Supported SQL Relational object in Java, Python, .NET and Object Script
NoSQL to JSON – DocDB
Analytical with MDX cubes
Shards support to enable Big Data (same as MongoDB)
Corporate Cache – ECP
MDM implemented via Integration Bus
RBAC, Cryptography and Labeling
Transanalytic and Data Lake
JDBC, ODBC or native SQL access with ORM for Object Script
Data Intake / Gateway via Integration Bus /
Service Bus and API Gateway
IRIS Interoperability
REST API and API Management
Data Bus - SOA, EAI, ESB
Integration and EDI Adapters
Flow Automation - BPL and DTL, Rules
Native integration with Java, .NET and C Python and JavaScript
MFT - Managed File Transfer
Messaging, Events and JMS
IoT with MQTT / API
Data Extraction / Ingestion, Transformation and Loading
Analysis and Reporting Utilities
IRIS Analytics
BI / Analytical and ETL (BPL / DTL)
Hierarchical Panels, Analysis and Pivots
SQL, MDX and Power BI Connectors Access
Reports and Embedded Reports
UIMA - Analysis of unstructured contente
Semantic and sentiment analysis
Real-time or scheduled analytics
AutoML – IntegratedML
IA / ML with R or Pyhton
NLP - Natural language processing
Statistical in R, Python and Object Script
Data Bus and Cognitive Flows
Text Analytics
PMML
Adaptive Operational Analytics (AtScale)
User Portal
AI utilities
Conclusion
The InterSystems IRIS is not a simple database, or interoperability platform, it is a central player to get your Data Fabric. If you use another solutions from other companies, you need buy 4 to 7 solutions, but with InterSystems you create your Data Fabric with only solution, composed by multimodel DB, ESB/APIM, Analytics and AI. It is cheaper and more simple to you.
Learn more in: https://pt.slideshare.net/alanmcsweeney/designing-an-enterprise-data-fabric Great article about Data Fabric!Could you share with us the diagram of Data Fabric Architecture?
The diagram looks awesome and would like to see the details Thanks, diagram into: https://pt.slideshare.net/alanmcsweeney/designing-an-enterprise-data-fabric
Announcement
Anastasia Dyubaylo · Jun 19, 2021
Hey Developers,
We're pleased to announce the next InterSystems online programming competition:
🏆 InterSystems AI Programming Contest 🏆
Duration: June 28 - July 25, 2021
Total prize: $8,750
Landing page: https://contest.intersystems.com
Prizes
1. Experts Nomination - a specially selected jury will determine winners:
🥇 1st place - $4,000
🥈 2nd place - $2,000
🥉 3rd place - $1,000
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. 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
🛠 June 28 - July 18: Application development and registration phase.
✅ July 19 - July 25: Voting period.
🎉 July 26: Winners announcement.
Note: Developers can improve their apps throughout the entire registration and voting period.
The topic
🤖 Artificial Intelligence and Machine Learning 🤖
Develop an AI/ML solution using InterSystems IRIS. Your application could be a library, package, tool, or any AI/ML solution which uses InterSystems IRIS.
Here are the 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.
Build the app that either uses AI/ML capabilities with InterSystems IRIS.
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.
Source code of the InterSystems ObjectScript part (if any)should be available in UDL format (not XML). Example.
The requirements above are subject to change.
➡️ Some ideas for contestants.
Use Embedded Python to join the current contest!
Embedded Python is a new feature of InterSystems IRIS that gives you the option to use python as a "first-class citizen" in backend business logic development with InterSystems classes.
Embedded Python could be used in "on-demand" images that could be delivered via InterSystems InterSystems Early Access Program (EAP) if you refer to python-interest@intersystems.com. More details here.
Helpful resources
1. Templates we suggest to start from:
InterSystems IntegratedML template
IRIS R Gateway template
2. Data import tools:
Data Import Wizard
CSVGEN - CSV import util
CSVGEN-UI - the web UI for CSVGEN
3. Documentation:
Using IntegratedML
4. Online courses & videos:
Learn IntegratedML in InterSystems IRIS
Preparing Your Data for Machine Learning
Predictive Modeling with the Machine Learning Toolkit
IntegratedML Resource Guide
Getting Started with IntegratedML
Machine Learning with IntegratedML & Data Robot
5. How to submit your app to the contest:
How to publish an application on Open Exchange
How to apply for the contest
Judgment
Voting rules will be announced soon. Stay tuned!
So!
We're waiting for YOUR great project – join our coding marathon to win!
❗️ Please check out the Official Contest Terms here.❗️
Here are some ideas for contestants:
New ML language. Interoperability with numerical computational languages or even CASes proper are great and offer the freedom of choice. Furthermore, these math-oriented languages allow faster problem search/space traversal than more generalized languages such as Python. Several classes of supporting ML problems can be solved with them. Callout interface makes implementation process easy (reference community implementations: PythonGateway, RGateway, JuliaGateway). Suggested languages: Octave, Scilab.
New showcases in IoT, Real-Time predictions, RPA. Convergent Analytics group provides a lot of starting templates in these fields - as InterSystems IRIS capabilities are an especially good fit for them. I'm always interested in more examples, especially real-life examples of machine learning.
Data Deduplication solutions. Do you have a dataset with a lot of dirty data and know how to clean it? Great. Make a showcase out of it.
Reinforcement learning showcases. Examples of Partially observable Markov decision process or other reinforcement learning technologies.
Hey Developers!
The competition starts on Monday and we have prepared Helpful resources for you:
InterSystems IntegratedML template
IRIS R Gateway template
Feel free to check it out! Developers!The InterSystems AI Programming Contest is open.The first week of registration has begun. Make the most of the tips and materials to create the best appl!😉
We'll wait for you on our Contest board. Hey developers,
If you haven't seen it yet, don't miss our official contest landing page: https://contest.intersystems.com/ 🔥
Stay tuned! Hey Developers,
The recording of the InterSystems AI Contest Kick-Off Webinar is available on InterSystems Developers YouTube! Please welcome:
⏯ InterSystems AI Contest Kick-Off Webinar
Thanks to our speakers! 🤗 Developers!
We are waiting for your great apps!
Don't forget to participate! Hey Devs!
Two weeks before the end of registration!⏳Upload your cool apps and register for the competition!🚀
Here some information how to submit your app to the contest:
How to publish an application on Open Exchange
How to apply for the contest
Hey Developers,
💥 Use Embedded Python to join the current contest!
Embedded Python is a new feature of InterSystems IRIS that gives you the option to use python as a "first-class citizen" in backend business logic development with InterSystems classes.
⏯ Short demo of Embedded Python by @Robert.Kuszewski
Embedded Python could be used in "on-demand" images that could be delivered via InterSystems Early Access Program (EAP) if you refer to python-interest@intersystems.com. More details here.
⬇️ Template package on how to use Embedded Python deployable with ZPM. Don't forget to change the image to the one you get from the EAP.
Stay tuned! Developers!
We are waiting for your solutions!
Please register on our Landing page Future Participants!
Don't forget about our special technology bonuses that will give you extra points in the voting. 🤩
Try them and start to upload your cool apps! 😃
Happy coding!
Dear Developers!
We have one additional idea for an application.Often, new UI components and pages are relevant to provide customers additional information within an app. We would like inject "AI Apps" into our HealthShare Clinical Viewer (HS CV).
A custom app wrapper component in the HS CV needs to be implemented. We will provide a HealthShare environment together with an AI App on the AI platform of DataRobot to you. https://www.datarobot.com/blog/introducing-no-code-ai-app-builder/
For additional details please reach out to Eduard or myself. We are ready to chat! Dear Developers,
The last week of the registration has begun!
If you still don't have ideas for your app, you can choose some preparedby @Eduard.Lebedyuk https://community.intersystems.com/post/intersystems-ai-programming-contest#comment-159576
and @Thomas.Nitzsche https://community.intersystems.com/post/intersystems-ai-programming-contest#comment-160796
We'll wait for your solutions on our Contest board. 😃
Hey Developers!
We remind you that you can register with one click 😉, just press the button "I want to participate" on our
Landing page: https://contest.intersystems.com
Who will be the first? 🤗 Hey Developers,
The first application is already on the Contest Board!
ESKLP by @Aleksandr.Kalinin6636
Who's next? Hey Devs!
Only 2 days left till the end of the registration. ⏳
Hurry up to upload your cool apps to our Contest Board!
Announcement
Anastasia Dyubaylo · Jun 7, 2021
Hi Community,
Please welcome the new video from #VSummit20:
⏯ Special Sauce: InterSystems IRIS Overview
See what makes InterSystems IRIS data platform so special, learn about the unique features behind the scenes, and identify what InterSystems IRIS can do for you. Follow #InterSystemsIRIS for more.
🗣 Presenter: @Harry.Tong, Senior Solutions Architect, InterSystems
Subscribe to InterSystems Developer YouTube and stay tuned! 👍🏼
Announcement
Anastasia Dyubaylo · Jun 25, 2021
Hi Community,
Enjoy watching the new video on InterSystems Developers YouTube:
⏯ Installing InterSystems API Manager
See the installation process for InterSystems API Manager 1.5. Learn how to prepare an InterSystems IRIS database platform instance and host system, and see how to run scripts provided in the API Manager installation kit.
Related chapters in InterSystems Documentation:
Installation instructions: IAM Guide
Configuring secure connections: Using TLS with InterSystems IRIS
In this video:
Preparing an InterSystems IRIS instance
Preparing a host system for API Manager
Running API Manager setup scripts
Testing and viewing the Admin Portal
Enjoy and stay tuned! 👍🏼
Announcement
Anastasia Dyubaylo · Mar 26, 2021
Hi Developers!
As you may know, InterSystems Developer Community can help you to find a job. There are two options for developers: find a job for yourself or hire staff for your company. Just post an ad on the InterSystems Developer Community and find what you are looking for!
How does it work? Check the details below:
The "Jobs" section available in the top menu here:
What can be found in this section?
Job opportunities:
Job opportunity announcements on any position which demands any of InterSystems technology skills.
Job wanted:
Announcements of specialists in InterSystems Data Platforms who are looking for a job. The list of skills should contain any of InterSystems technologies.
So, if you:
want to offer a position that demands any of InterSystems technology skills OR
have experience with InterSystems technology and are looking for a new job,
you can both publish a post in the Developer Community. You just have to add related tags to your announcements:
Job opportunity
Job wanted
And here's the easiest way to create a job opportunity:
Go to the Jobs section and click on the "New job opportunity" button, an ad will be automatically created with a special "Job opportunity" tag. This tag will make a vacancy out of your announcement and add it to this section.
So!
You will be able to find new employees or a new job in a quick and easy way with InterSystems Developer Community! 😉
If you have any questions or need some help with the post, don't hesitate to contact us!
Precautionary measures:
InterSystems does not guarantee the accuracy of recruitment posts or other information posted on this website.
InterSystems assumes no responsibility whatsoever for any losses incurred as a result of the information posted on this website. Please confirm the contents and conditions directly with the recruiter or applicant.
For more, please refer to the Developer Community Code of Conduct.