Clear filter
Announcement
Anastasia Dyubaylo · Dec 1, 2019
Hi Developers,
It's December the 1st! And this means that the Advent of Code 2019 has been started!
And you are very welcome to participate in the ObjectScript contest!
Here is the leaderboard. There are last year's participants and some people already solved the first task.
Note: You need to sign in to Advent of code (e.g. with GitHub or Google account) to see the leaderboard and participate in the contest.
Win Conditions: To win our prize you should be on the top of ObjectScript Leaderboard and upload all the solutions in a public repository and present the code in InterSystems ObjectScript in UDL form. The example of the repo.
Note: You need to sign in to Advent of code (e.g. with Github or Google account) to see the leaderboard and participate in the contest.
Prizes:
→ 1st Place: 10,000 points on Global Masters and FREE registration & hotel accommodation for the next InterSystems Global Summit 2020 in Seattle!
→ 2nd Place: 5,000 points on Global Masters
→ 3rd Place: 3,000 points on Global Masters
You can join the ObjectScript private leaderboard with 130669-ab1f69bf code.
Good luck to all of you! what is the join code for ObjectScript Leaderboard I get asked for ??
You can join a private leaderboard by entering its join code here:
--- Your Private Leaderboard ---
You don't have a private leaderboard. You can only have one. You can [Create It] now. Could someone explain to a newcomer what the time is telling me ?
Any local time (lokes like EST) ? or some total ???
--------Part 1-------- --------Part 2--------
Day Time Rank Score Time Rank Score
1 11:37:18 15816 0 11:50:08 14212 0 is the code the same as last year ???
130669-ab1f69bf
??? the code worked together with the link: ObjectScript Leaderboard @Dmitry.Maslennikov I joined your leaderboard
This is the private leaderboard of Dmitry Maslennikov for Advent of Code 2019.
It seems to be the official one (at least by the well-known names). Yes, Robert!
Thanks for rasing the topic!
Code is the same 130669-ab1f69bfAnd it's the same @Dmitry.Maslennikov's board he created last year and we are using again this year for ObjectScript contest. The leaderboard looks like that now:
If you see these people in the list - you are in the right place ;) It's kind of time you spend to solve a task, since it was unlocked at Noon EST.
Only the first 100 get the score, by solving order. Thanks for the clarification. It's a rare chance I might be up at that early time and if my body is it doesn't mean my brain is too. Yeah, our colleagues from Boston in the best position. Nice work @Peter.Steiwer :) The situation is changing quickly ;)
The link seems to just take me to the overall leader board.
Am I missing something?
This is going well for me so far Nevermind.
"Note: You need to sign in to Advent of code (e.g. with Github or Google account) to see the leaderboard and participate in the contest." Soooo, what is UDL form? A Google search shows Universal Design for Learning, but I can't seem to find a spec for writing code.
Also, I'm still using Studio. I've saved a project called AOC.prj and created a class AOC.Day1 in USER, but I can't find the source folder for USER to start a git repo and push it up. Nor can I save the project to anywhere but the namespace. Anyone else using Studio?
Trying to remain positive here as I haven't even coded the first day yet because of my set up challenges :(
Hi Mike!
UDL is the one of the way $System.OBJ.Export() exports classes. Simply UDL is not XML)
Just make the solutions in ObjectScript in any IDE you like! Thanks Evengy :)
Yeah, I think my plan is to code and run in ObjectScript and then once correct, copy to a file in NotePad++ and commit changes from there.
Does that sound right? BTW, Yesterday I shared the template repo with the solution for the day1 with the code in UDL.
HTH Whatever works for you. I think I need to share the fastest way to code ObjectScript with repo some day...
The fastest imho is IRIS CE on docker+VSCode Ah ok. We don't have IRIS. Cache 2018 :) Maybe it's a good moment to start/try with IRIS.
Check the article
You don't need anything but docker, git and vscode - IRIS Community Edition will be pulled from Docker and its free to use.
I went home and put the community edition on my laptop, however, I will see if I can follow the steps in your article here at work.
Thanks! Nice! Also, check the video how to code and debug with IRIS Community Edition and VSCode. I've recorded how I solved Day 4 with IRIS and VSCode-ObjectScript
where is this from? Chrome extension Advent Of Code 2019 reached its equator!
Here is the current top-20 list:
We decided to raise the odds in the competition and we are adding a new prize for winners - 3 vouchers for InterSystems Certification Exams!
Top-3 participants will get the voucher for any of the two exams available!
*The option is not eligible for InterSystems employees. There ARE currently ISC employees in the top 3, so don't give up yet! Also on Firefox @Dmitry.Maslennikov
I'm wondering if you can talk me through your Day 3 code? Specifically the draw function.
I'm terribly confused on where crossType and crossSteps are being set.
Also the InterSystems documentation clearly shows how to use $LB on the right side of an equals operator, but I haven't seen it on the left side or understand how that works:
Set grid(y, x) = $Listbuild(type, steps)
I guess simply it's setting that node in the array to a list of two elements, type and step?
Maybe by Christmas I'll get to day 5! Haha!
Mike crossType and crossSteps I get from $lb stored in grid which I read with $Data with variable crossInfo.
So, I use the trick with the second argument in $Data, where variable gets value if data exists.
And another trick with the left $listbuild as you noticed. Which just extracts values from right's side $listbuild to variables in the left's side $listbuild. The documentation actually has information about it.
Good luck. )) Thanks, after spending some time with this I see it way more clearly now.
I was on the right track using $LB in my code, but I'm not efficiently storing my coordinates for each wire and I'm get a MAXSTRING error.
More tomorrow.
Best,
Mike I also used a grid to store where the wires go, avoids the whole maxstring problem:https://github.com/kazamatzuri/AoC/blob/dd5eb40ca5b828f35953c196668dfe68618bec63/aoc-cos-container/src/cls/fkh2019/Day3.cls#L55 This is my first comment ever since working at InterSystems for the last 2 and a half years, and my second time participating in Advent of Code. Just finished the last problem of the year, and sent Santa on his way. Wishing everyone a merry Christmas, and best of luck assisting your own Santas. :) Good game :) I enjoyed the competition ;)
Happy Holidays!
You can check my code at
https://github.com/uvg/AdventOfCode
Couldn't make day 18 and part 2 of day 25 (because of not completing day 18)
Also couldn't find a cos code for bignum so the last calculations of part2 in day22 were made in an external calculator Really enjoy your set of utils. Cool stuff! Hi All, Can you help me to contact Vladimir Urdešić to congratulate and award? Seems he is not registered on DC. DM me, please!
this one is actually the more helpful one: https://github.com/kazamatzuri/AoC/blob/master/aoc-cos-container/src/cls/Utils/Graph.cls I saw it but didn't get what it does. Could you please share how is it helpful? It's a graph library that allows me to create a generic graph. the shortestPath method uses A* (https://en.wikipedia.org/wiki/A*_search_algorithm) to find the shortest path connecting two nodes in the graph. This is reusable in all of the 'find a path through a maze' kind of puzzles. The lack of generalized libraries/tools is the biggest drawback in COS. For example Day20, part1: https://github.com/kazamatzuri/AoC/blob/1387289dbcacfa2d7dd62906e873c074fb32e689/aoc-cos-container/src/cls/fkh2019/Day20.cls#L133
```
k ^grid,^ports,^portals
d ..parseInitial()
d ..buildGraph()
d ..findPortals()
d ..linkPortals()
s entry=$LG(^portals("AA"),1)
s exit=$LG(^portals("ZZ"),1)
zw entry
w " -> ",!
zw exit
s path=..graph.shortestPath(entry,exit)
s length=$LL(..graph.shortestPath(entry,exit))-1
return length
``` had the same problem for 22 :/ I'm not aware of any big-num library for Iris. Probably because it's not really language used for numerical stuff.
day 18 takes quite long: https://github.com/kazamatzuri/AoC/blob/master/aoc-cos-container/src/cls/fkh2019/Day18.cls
Especially part1, part2 finishes quicker since it's 4 much smaller mazes. I'm still trying to improve it a bit (you have to adjust your memory settings to even work at all, otherwise you're getting errors all over the place) True.
Fabian! Could you please publish this Graph util as standalone app on Open Exchange? His LinkedIn and Twitter, but I don't see any relations of him with InterSystems technologies. So, I think he just googled how to join our leaderboard.
Thank you, Dmitriy! I contacted him. His solutions are written not in ObjectScript. My AOC repository: https://github.com/psteiwer/AOC
Well...my solutions are in COS.
Working on a bignum solution (also in COS) for the last code of part2 in day 22.
Announcement
Fabiano Sanches · Aug 17, 2022
This is the fifth in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready. Many updates, fixes and enhancements have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. Please share your feedback through the Developer Community so we can build a better product together.
The Early Access Program (EAP) is still active for the Columnar Storage. Customers interested in exercising it should join the Early Access Program.
Developer preview 5 adds support to Ubuntu 22.04 LTS.
As usual, CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's preview download site or through the evaluation services website (use the flag "Show Preview Software"to get access to the 2022.2).
Container images for the Enterprise Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry using the following commands:
docker pull containers.intersystems.com/intersystems/iris:2022.2.0.311.0
docker pull containers.intersystems.com/intersystems/irishealth:2022.2.0.311.0
docker pull containers.intersystems.com/intersystems/iris-arm64:2022.2.0.311.0
docker pull containers.intersystems.com/intersystems/irishealth-arm64:2022.2.0.311.0
Container images for the Community Edition can also be pulled from the InterSystems Container Registry using the following commands:
docker pull containers.intersystems.com/intersystems/iris-community:2022.2.0.311.0
docker pull containers.intersystems.com/intersystems/irishealth-community:2022.2.0.311.0
docker pull containers.intersystems.com/intersystems/iris-community-arm64:2022.2.0.311.0
docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2022.2.0.311.0
For a full list of the available images, please refer to the ICR documentation. Alternatively, tarball versions of all container images are available via the WRC's preview download site.
The build number for this developer preview release is 2022.2.0.311.0.
Announcement
Anastasia Dyubaylo · Feb 3, 2023
Hey Community,
Enjoy watching the new video on InterSystems Developers YouTube:
⏯ Let InterSystems IRIS Do the Work: Git Source Control & Linting ObjectScript Across Editors @ Global Summit 2022
Learn about two Open Exchange projects, git-source-control and isc-codetidy, which help in the development process independent of your code editor of choice. Isc-codetidy is new to the Open Exchange, while git-source-control was demonstrated in a session last year and has seen significant improvement thanks to input from the developers who use it.
Presenters:
🗣 @Sarmishta.Velury, Developer, Application Services, InterSystems🗣 @Timothy.Leavitt, Application Services Development Manager, InterSystems
Hope you like it and stay tuned! 👍 Great resource for ObjectScript developers!! I am very excited to see isc-codetidy finally get to the point where we can use it to standardize all of our internal coding styles ;)
Announcement
Fabiano Sanches · Apr 6, 2023
InterSystems announces its fifth developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Additionally, a new feature to provide the ability to use Foreign Tables is being released as "experimental" and will be accessible through an Early Access Program (EAP). Some of these features or improvements may not be available in this current developer preview.
Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better product together.
Documentation can be found at these links below. They will be updated over the next few weeks until launch is officially announced (General Availability - GA):
InterSystems IRIS
InterSystems IRIS for Health
HealthShare Health Connect
In addition, check out this link for upgrade information related to this release.
As usual, Extended Maintenance (EM) releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's preview download site or through the evaluation services website (use the flag "Show Preview Software" to get access to the 2023.1).
Container images for both Enterprise and Community Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the new InterSystems Container Registry web interface. For additional information about docker commands, please see this post: Announcing the InterSystems Container Registry web user interface.
The build number for this developer preview release is 2023.1.0.226.0.
For a full list of the available images, please refer to the ICR documentation. Alternatively, tarball versions of all container images are available via the WRC's preview download site.
Announcement
Fabiano Sanches · Aug 31, 2022
This is the sixth in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready. Many updates, fixes and enhancements have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. Please share your feedback through the Developer Community so we can build a better product together.
The Early Access Program (EAP) is still active for the Columnar Storage. Customers interested in exercising it should join the Early Access Program.
Remember that 2022.2 developer previews have added support to both Ubuntu 22.04 LTS and Linux RHEL 9.
As usual, CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's preview download site or through the evaluation services website (use the flag "Show Preview Software"to get access to the 2022.2).
Container images for the Enterprise Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry using the following commands:
docker pull containers.intersystems.com/intersystems/iris:2022.2.0.322.0
docker pull containers.intersystems.com/intersystems/irishealth:2022.2.0.322.0
docker pull containers.intersystems.com/intersystems/iris-arm64:2022.2.0.322.0
docker pull containers.intersystems.com/intersystems/irishealth-arm64:2022.2.0.322.0
Container images for the Community Edition can also be pulled from the InterSystems Container Registry using the following commands:
docker pull containers.intersystems.com/intersystems/iris-community:2022.2.0.322.0
docker pull containers.intersystems.com/intersystems/irishealth-community:2022.2.0.322.0
docker pull containers.intersystems.com/intersystems/iris-community-arm64:2022.2.0.322.0
docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2022.2.0.322.0
For a full list of the available images, please refer to the ICR documentation. Alternatively, tarball versions of all container images are available via the WRC's preview download site.
The build number for this developer preview release is 2022.2.0.322.0. Can't find Studio 2022.2 on the WRC. Look in "Developer Preview". It's not released yet Thanks, I was looking in Components.
Announcement
Fabiano Sanches · Feb 22, 2023
InterSystems announces its second developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Some of these features or improvements may not be available in this current developer preview.
Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better product together.
Documentation can be found at these links below. They will be updated over the next few weeks until launch is officially announced (General Availability - GA):
InterSystems IRIS
InterSystems IRIS for Health
HealthShare Health Connect
In addition, check out this link for upgrade information related to this release.
As usual, Extended Maintenance (EM) releases come with classic installation packages for all supported platforms, as well as container images in Docker container format. For a complete list, refer to the Supported Platforms document.
Installation packages and preview keys are available from the WRC's preview download site or through the evaluation services website (use the flag "Show Preview Software" to get access to the 2023.1).
Container images for both Enterprise and Community Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the new InterSystems Container Registry web interface. For additional information about docker commands, please see this post: Announcing the InterSystems Container Registry web user interface.
The build number for this developer preview release is 2023.1.0.196.0.
For a full list of the available images, please refer to the ICR documentation. Alternatively, tarball versions of all container images are available via the WRC's preview download site.
Article
Eduard Lebedyuk · Mar 13, 2018
In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:Git 101Git flow (development process)GitLab installationGitLab WorkflowContinuous DeliveryGitLab installation and configurationGitLab CI/CDIn the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.In the second article, we covered GitLab Workflow - a complete software life cycle process and Continuous Delivery.I this article we'll discuss:GitLab installation and configurationConnecting your environments to GitLabGitLab installationWe're going to install GitLab on premise. There are many ways to install GitLab - from source, package, in a container. I'm not actually going to describe all the steps here, there is a guide for that. But still, some notes.Prerequisites:Separate server - since it's a web application and a fairly resource intensive it's better to run it on a separate serverLinux(Optional but strongly recommended) Domain - required to run pages and secure the whole setupConfigurationFirst of all, you'd probably need to send emails with notifications.Next, I recommend installing Pages. As we discussed in the previous article - artifacts from the script can be uploaded into GitLab. User can download them but it's useful to be able to open them directly in browser and for that we need pages.Why do you need pages:To display some generated wiki or a static page for your projectTo display html artifactsOther stuff you can do with pagesAnd as html pages can have an onload redirect, they can be used to send the user wherever we need. For example here's the code that generates html page which sends a user to the last executed unit test (at the moment of html generation):
ClassMethod writeTestHTML()
{
set text = ##class(%Dictionary.XDataDefinition).IDKEYOpen($classname(), "html").Data.Read()
set text = $replace(text, "!!!", ..getURL())
set file = ##class(%Stream.FileCharacter).%New()
set name = "tests.html"
do file.LinkToFile(name)
do file.Write(text)
quit file.%Save()
}
ClassMethod getURL()
{
set url = "http://host:57772"
set url = url _ $system.CSP.GetDefaultApp("%SYS")
set url = url_"/%25UnitTest.Portal.Indices.cls?Index="_ $g(^UnitTest.Result, 1) _ "&$NAMESPACE=" _ $zconvert($namespace,"O","URL")
quit url
}
XData html
{
<html lang="en-US">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="refresh" content="0; url=!!!"/>
<script type="text/javascript">window.location.href = "!!!"</script>
</head>
<body>
If you are not redirected automatically, follow this <a href='!!!'>link to tests</a>.
</body>
</html>
}
There's is a bug I encountered using pages (502 error when browsing artifacts) - here's a fix.
Connecting your environments to GitLab
To run CD scripts you need environments - configured servers to run your application. Assuming you have a Linux server with InterSystems product installed (let's say InterSystems IRIS, but it would work with Caché and Ensemble too) these steps would connect environment to GitLab:
Install GitLab runnerRegister runner with GitLabAllow runner to call InterSystems IRIS
Important note on installing GitLab runner - DON'T clone servers after you installed GitLab runner. Results are unpredictable and most unwelcome.
Register runner with GitLab
After you run the initial:
sudo gitlab-runner register
you'd be presented with several prompts and While most of the steps are fairly straightforward several are not:
Please enter the gitlab-ci token for this runner
There are several tokens available:
One for the whole system (available in administration settings)One for each project (available in project settings)
As you connect a runner to run CD for a specific project you need to specify a token for this project.
Please enter the gitlab-ci tags for this runner (comma separated):
In your CD configuration, you can filter which scripts run on which tags. So in the most simple case specify one tag which would be environment name.
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:docker
If you're using the usual server without docker choose shell. Docker would be discussed in the later parts.
Allow runner to call InterSystems IRIS
After connecting runner to GitLab we need to allow it to interact with InterSystems IRIS, to do that:
gitlab-runner user should be able to call csession. To do that add him to cacheusr group:
usermod -a -G cacheusr gitlab-runnerCreate gitlab-runner user in InterSystems IRIS and give him roles to do CD tasks (write to DB, etc)Allow OS-level authentication
For 2 and 3 other approaches can be used, such as passing user/pass but I think that OS authentication is preferable.
Conclusion
In this part:
Installed GitLabConnected environments to GitLab
Links
Installation instructionsPagesRunnerPart I: GitPart II: GitLab workflow
What's next
In the next part, we'd write our Continuous Delivery configuration. Hi Eduard,
I have followed your Article. On our own Linux environment it works well but when I try to run it on a clients windows server; and the following command is run by the runner
irissession IRISHEALTH -U TEST "##class(isc.git.GitLab).load()"
we get the following "error"
<NOTOPEN>>
I do not know why this happens, it does look like it has something to do with user rights but I am totally lost at this point as we have done everything I can think off relating to grant correct access etc.
Do you perhaps have something you can point me to to try and get this working, the client running the Windows server does does not want to move to Linux as they do not have IT people that can work on it. If it's a non-production instance you can try running iris windows service (IRIS controller for IRISHEALTH in your case) under your windows user account, instead of the default system one. That usually helps.
If it's not possible, either give system account rights to irissession or create a new user with rights for irissession and run the iris service under that account.
Question
Ricardo Alves dos Santos · May 29
Hello everyone,
I’m using VS Code with the InterSystems ObjectScript extension and I want to keep my local folder (client-side) as the “source of truth” while still using the built-in Server Source Control features (diff, stage, commit, etc.) against my IRIS/Ensemble instance.
So far:
I have a local Git repository with my .cls and .mac files.
I’ve configured "objectscript.serverSourceControl.respectEditableStatus": true and "objectscript.serverSourceControl.disableOtherActionTriggers": false in my .vscode/settings.json.
I’m able to export and import code manually, and IntelliSense works when I export my server code locally.
However, when I edit files in my local folder, I don’t see the “Source Control” icons or context-menu actions injected by the ObjectScript extension—those only appear when I open files under the ISFS server mount.
What I’d like to achieve:
Edit files locally in my Git project.
On save (or via a keyboard shortcut), push changes to the server (export & compile).
Use the ObjectScript Source Control UI (icons, diff, commit…) directly on those local files without manually opening the ISFS folder.
Has anyone successfully configured a fully client-side workflow that still leverages the extension’s Server Source Control features? Are there additional settings, workspace layouts (multi-root?), or keybindings I should use to bridge the gap between my local edits and the server’s Source Control UI?
Thank you in advance for your guidance! For anyone else who may be interested, here is my answer to @Ricardo.AlvesdosSantos's question that I provided on the GitHub Discussion he opened:
The extension intentionally doesn't support what you want to do. You have to pick a side. Since you're using Git and are happy to edit the files on your local file system, I suggest you turn off source control on the server and fully embrace the client-side editing workflow. Your local file system will be the "source of truth" and the extension will sync files with the server on save and compile them. The only change is that instead of using IRIS to run the source control actions, you can use any number of industry-standard Git-compatible tools. VS Code works well with Git out of the box, and there are additional extensions you can install to make that experience even better. You can also use a different GUI application like GitHub Desktop or Sourcetree, or the git CLI directly.
Question
Mohamed Ashik · Jun 20, 2020
I have a set of strings that contains special characters. Im trying to write a sql query to remove all the special characters in the string. Im using Intersystems cache sql.
Example
%Lis&ten - Listen you can use $ZSTRIP retrieve the specified string, for more information you can refer https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzstrip This helps alot, Thank you Dhinupa. if you know exactly what characters you want to remove you may use $TRANSLATE (in SQL) !
docs: https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=RSQL_d_translate characters are random, it can be any of the special characters. but yeah i was able to use this directly in my query. Thank you :)
Article
Victor Sanner · Apr 20, 2022
Hi,
I have wrote an article about how to install the intersystems cache driver in a Docker container, and then deploy it using Azure Functions:
How to run a (Python) Azure Function as a Docker container & Deploy it using Bicep | Victor SannerThis might be useful to others, especially the dockerfile which I have copied below. This builds a debian docker container and installs the Intersystems Cache driver, which python can then use :)
To enable ssh & remote debugging on app service change the base image to the one below
# FROM mcr.microsoft.com/azure-functions/python:3.0-python3.6-appservice
FROM mcr.microsoft.com/azure-functions/python:3.0-python3.6
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
AzureFunctionsJobHost__Logging__Console__IsEnabled=true
# Add ODBC Driver requirements
RUN apt-get update \
&& apt-get install unixodbc -y \
&& apt-get install unixodbc-dev -y \
&& apt-get install freetds-dev -y \
&& apt-get install freetds-bin -y \
&& apt-get install tdsodbc -y \
&& apt-get install --reinstall build-essential -y
# add pyodbc requirements
RUN apt-get install python-pyodbc -y
#copy the driver to container
COPY /Driver /usr/lib/intersystems/odbc
#run install script
RUN /usr/lib/intersystems/odbc/ODBCinstall
#copy the odbc configuration file to the container
COPY odbc.ini /etc/intersystemsodbc.ini
#make the odbc library aware that we have added a new driver
RUN odbcinst -i -d -f /etc/intersystemsodbc.ini
#symlink the odbc driver, not sure if its required
RUN ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /usr/lib/x86_64-linux-gnu/odbc/libodbccr.so
#copy the Azure Functions project to the docker image
COPY . /home/site/wwwroot
#install the python libraries as you would usually do
RUN cd /home/site/wwwroot && pip install -r requirements.txt
I hope this saves some people a lot of time, because it was quite a challenge to build this!
Question
Eduard Lebedyuk · Aug 17, 2019
I have two local instances:IRIS for Windows (x86-64) 2018.1.2 (Build 626_3U) Wed Jun 12 2019 19:07:59 EDTIRIS for Windows (x86-64) 2019.1 (Build 510U) Thu Mar 14 2019 14:13:37 EDTI'm using Java Gateway to talk to external system.Both instances are using the same:jargenerated classjava versionThey are calling the same method with this java signature:
package isc.rabbitmq;
public class API {
public void sendMessage(byte[] msg) throws Exception {}
}
On the InterSystems IRIS side I'm calling it like this:
set sc = ##class(%Net.Remote.Service).OpenGateway(gatewayName, .gatewayConfig)
set sc = ##class(%Net.Remote.Service).ConnectGateway(gatewayConfig, .gateway, "PATH-TO-JAR", 1)
set api = ##class(isc.rabbitmq.API).%New(gateway)
set stream = ##class(%GlobalBinaryStream).%New()
do stream.Write(123456)
d api.sendMessage(stream)
And the method works for IRIS 2018.1.2, however on IRIS 2019.1 the byte[] is NULL.
IRIS documentation is stating that %GlobalBinaryStream is a correct class to use:
Any ideas what changed? Solved.Streams are not passed only for overloaded methods.This does not work:
public class API {
public void sendMessage(byte[] msg) throws Exception {}
public void sendMessage(byte[] msg, String Id) throws Exception {}
}
However this does:
public class API {
public void sendMessage(byte[] msg) throws Exception {}
public void sendMessageId(byte[] msg, String Id) throws Exception {}
}
Announcement
Spencer Frey · Aug 31, 2022
Hi everyone!
I am recruiting on a fully remote Intersystems Developer. This role will be a long term contract to begin with high likelihood of extensions or conversion permanent. Please check out the job description down below and feel free to send me an email with your resume: Spencer.Frey@insightglobal.com
The Healthcare Integration Developer is responsible for designing, developing, and deploying the complex near real-time and real-time data interoperability solutions using Healthcare industry-standard data formats/specifications (HL7, FHIR, EDI, etc.). The role is responsible for consulting with internal customers, team members, and external vendors to design, build, test, and manage application services. A key responsibility is strategically collaborating with cross-functional teams to understand operational needs, perform gap analysis and convert customer requirements into custom interoperability solutions using in-depth knowledge of healthcare business processes and data integration optimization. This role is the internal expert in system capabilities and architectural interoperability standards. Also is responsible for maintaining system changes, documenting functional and technical requirements, mapping process flows, establishing test plans, conducting system testing, establishing user manuals, and administering training related to the interoperability code.
Must Haves:2+ years experience with Intersystems Development2+ years experience with Intersystems IRIS areas of APIM, FHIR Server, and Longitudinal Patient record2+ years experience with HL72+ year experience with one or more programming language ( C#, Python, TCL, ESQL, M, T-SQL, JavaScript)Healthcare Experience
Plus:
Experience with AWS or Azure Cloud Services
Experience with FHIR
Epic experience - inner connect (API tool), chronicles, custom development
Bachelors Degree
Experience with Healthcare Interoperability/Interface engines is it open to China developers?
Question
Kalle Päplow · Mar 29, 2023
Hello,
I have a question regarding the Intersystems Caché Database and its jdbc driver. I need to set the connection timeout for the database, but I couldn't find any documentation stating that the jdbc driver for Caché supports setting the connection timeout. However, I noticed that the jdbc driver for the Intersystems Iris Database appears to support this feature.
My question is, can I use the Iris jdbc driver to set the connection timeout for the Caché Database?
The jdbc driver I use: cache-jdbc-2.0.0.jar
Thank you for your help.
Best regards,Kalle
Announcement
Athanassios Hatzis · Jan 2, 2018
Connected Data London ConferenceTRIADB is an emerging unique and valuable technology in NoSQL database modelling and BI analytics. The following video is from a presentation and demonstration of TRIADB prototype implemented on top of Intersystems Cache database and driven with a CLI in Python (Jupyter-Pandas). In fact this is the second time in the past year that a prototype based on this technology is implemented and demonstrated. The first one was built on top of OrientDB multi-model database and driven by a Mathematica notebook.Unfortunately the light conditions were not ideal for the demonstration of our system. We recommend you visit the links at the right side of the following table to view Pandas notebooks in addition to the video above. You may also start the video at the corresponding time. Time (min:sec)Pandas Notebooks in HTML format05:00Traversal and Hypergraph09:00Hypernodes, Hyperedges and Tuples11:45Hypercollections13:00Data Model15:30MappingAnd these are the slides from the presentationTechnical ObjectivesIntegration of multiple data resources, automatic correlation, aggregation and exploration based on Associative Semiotic Hypergraph technology (see S3DM/R3DM).Key Differentiating FactorsMulti-Perspective Database Framework : tuples, domain sets, objects and hypergraphAct both as an operational and data warehouse database with a 360 degree viewAutomatic fixed indexing schema instead of user-defined secondary indexingManage the references instead of data. Fully referenced and relational based on fixed composite indexing. No duplicates but single value instance instead based on system defined primitive data typesMapping and consolidation of multiple data resources on user-defined data modelsDeveloper friendly and easily programmable thanks to powerful functional commands in PythonFunctional operations (e.g. Get, Add) with standard parameters instead of a query language with variable partsChallengeProve that a system built with this technology can be beneficial for either a single-user and/or competive for a big enterprise with suitable use-casesNext milestoneA better PoC prototype preferably sponsored by Intersystems Cache or perhaps another database vendor. We are actively looking for teammates and partners for the next phase of the project.