Hi @JAQUELINE KRIEGER !
How do you link two dashboards? There are several ways to do that
- Log in to post comments
Hi @JAQUELINE KRIEGER !
How do you link two dashboards? There are several ways to do that
Hi @Helmut Forstner !
Great announcement, thank you!
BTW, do you want to promote your framework on InterSystems OpenExhange too? This is a dedicated service to promote tools, frameworks, solutions on InterSystems products.
Thanks @Dmitry Maslennikov !
I'm looking for 'client' configuration. is this a case?
How "community.intersystems.com" as a name will work here?
Hi!
You can request for a fully licensed IRIS on this page
If you want to try or use IRIS features with IRIS Community Edition:
Use IRIS Community from DockerHub on your laptop as is, or with different samples from Open Exchange. Check how to use IRIS Docker image on InterSystems Developers video channel.
or run Community on Express IRIS images on AWS, GCP or Azure.
HTH
Great news, Jeff!
Could we expect IRIS Community Edition 2019.2 preview too?
Hi Mads!
If you want to use Caché/IRIS from Python side only maybe you want to try Python IRIS Native API in recently announced IRIS 2019.2 preview version?
Hi @Anton Umnikov ! Thanks for raising this topic.
The question of the most acceptable folder structure widely discussed already on community.
As for Atelier, - why do you care where it puts the code? I believe you can maintain your code in a folder structure you like and let Atelier compile it and bring back in a place it took it, right?
Guys, thanks for a lot of options! It looks like it is a relevant question ;)
Personally I feel that 3 parameters for a method are OK, but 4 is too much. But how much is for an average developer? Is there is a consensus about it?
If I know, that method will accept a lot of settings and not all of them are mandatory, I like the .args approach, which @Robert Cemper mentioned and which, e.g. is introduced in e.g. in Database, Namespace and Web App management functions. E.g.:
set props("NameSpace")="Namespace"
set props("Enabled")=1
set props("DeepSeeEnabled")=1
Do ##class(Security.Applications).Create("AppName", .props)It's readable and you don't count commas.
Also I'm curious if we can setup and pass a JSON that easily too? Would be great.
Yes, Dmitry. Args... feature is neat, but you don't know what each parameter does so it's easy to miss the thing when you call the method, because the Args(index) should be a number, but not a meaningful parameter.
Hi Duncan!
As mentioned above the video is a sort of "work through" for this article. Could you be more specific what doesn't work?
BTW, just Yesterday I recorded another one which shows how to start a totally new app with Github, IRIS on docker and VSCode. Hope it will answer some of your questions.
Yes. It's easy if you are in IDE.
But often you need to call this useful function from terminal...
Hi Stella!
If you have the id of a child object and know how to form expressions and how to call %cube methods - what prevents you from opening the object of child by childId and get return its properties to form levels of dimension, properties of level, etc?
Hi @Dmitry Maslennikov ! And how to make this app a default app for the namespace and also enable IRIS Analytics (DeepSee) in it?
What a problem are you trying to solve? Is it to sort long strings? or ti find duplicates in long strings?
Thanks, Ed!
I placed iscpython.so file into the repo floder and this helped - docker-compose build worked smoothly and container started.
So I managed to build this with IRIS Community Edition, though you need to go directly to PYTHON namespace to make it work - class mapping is not available on IRIS CE unfortunately.
Anyway, python in container is callable from IRIS:
Namespace:
You're in namespace USER
Default directory is /usr/irissys/mgr/user/
USER>zn "PYTHON"
PYTHON>set sc = ##class(isc.py.Callout).Setup()
PYTHON>set sc = ##class(isc.py.Main).SimpleString("x='Hello from Python'", "x", , .x)
PYTHON>write x
Hello from Python
PYTHON>set sc = ##class(isc.py.Callout).Finalize()
PYTHON>set sc = ##class(isc.py.Callout).Unload()
PYTHON>Another thing happened:
Step 16/20 : COPY ./isc/ $SRC_DIR/isc ---> c989207755ea Step 17/20 : COPY ./rtn/ $SRC_DIR/rtn ---> 69e29a972e05 Step 18/20 : COPY iscpython.so $ISC_PACKAGE_INSTALLDIR/bin/ ERROR: Service 'iris' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder989962722/iscpython.so: no such file or directory
Tried to do a docker-compose locally and got failed. Here is the part of trace:
+ python get-pip.py --disable-pip-version-check --no-cache-dir pip==19.0.3
Collecting pip==19.0.3
Downloading https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl (1.4MB)
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/c8/b0/cc6b7ba28d5fb790cf0d5946df849233e32b8872b6baca10c9e002ff5b41/setuptools-41.0.0-py2.py3-none-any.whl (575kB)
Collecting wheel
Downloading https://files.pythonhosted.org/packages/96/ba/a4702cbb6a3a485239fbe9525443446203f00771af9ac000fa3ef2788201/wheel-0.33.1-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-19.0.3 setuptools-41.0.0 wheel-0.33.1
+ pip --version
pip 19.0.3 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
+ find /usr/local -depth ( ( -type d -a ( -name test -o -name tests ) ) -o ( -type f -a ( -name *.pyc -o -name *.pyo ) ) ) -exec rm -rf {} +
+ rm -f get-pip.py
Removing intermediate container 21587d33a883
---> 5be4246c2aad
Step 13/19 : RUN pip install pandas matplotlib seaborn numpy dill
---> Running in ade32bf9dd2c
Collecting pandas
Downloading https://files.pythonhosted.org/packages/19/74/e50234bc82c553fecdbd566d8650801e3fe2d6d8c8d940638e3d8a7c5522/pandas-0.24.2-cp36-cp36m-manylinux1_x86_64.whl (10.1MB)
Collecting matplotlib
Downloading https://files.pythonhosted.org/packages/e9/69/f5e05f578585ed9935247be3788b374f90701296a70c8871bcd6d21edb00/matplotlib-3.0.3-cp36-cp36m-manylinux1_x86_64.whl (13.0MB)
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 360, in _error_catcher
yield
File "/usr/local/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 442, in read
data = self._fp.read(amt)
File "/usr/local/lib/python3.6/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 62, in read
data = self.__fp.read(amt)
File "/usr/local/lib/python3.6/http/client.py", line 449, in read
n = self.readinto(b)
File "/usr/local/lib/python3.6/http/client.py", line 493, in readinto
n = self.fp.readinto(b)
File "/usr/local/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.6/ssl.py", line 1012, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.6/ssl.py", line 874, in read
return self._sslobj.read(len, buffer)
File "/usr/local/lib/python3.6/ssl.py", line 631, in read
v = self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 179, in main
status = self.run(options, args)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 315, in run
resolver.resolve(requirement_set)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolve.py", line 131, in resolve
self._resolve_one(requirement_set, req)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolve.py", line 294, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolve.py", line 242, in _get_abstract_dist_for
self.require_hashes
File "/usr/local/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 334, in prepare_linked_requirement
progress_bar=self.progress_bar
File "/usr/local/lib/python3.6/site-packages/pip/_internal/download.py", line 878, in unpack_url
progress_bar=progress_bar
File "/usr/local/lib/python3.6/site-packages/pip/_internal/download.py", line 702, in unpack_http_url
progress_bar)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/download.py", line 946, in _download_http_url
_download_url(resp, link, content_file, hashes, progress_bar)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/download.py", line 639, in _download_url
hashes.check_against_chunks(downloaded_chunks)
File "/usr/local/lib/python3.6/site-packages/pip/_internal/utils/hashes.py", line 62, in check_against_chunks
for chunk in chunks:
File "/usr/local/lib/python3.6/site-packages/pip/_internal/download.py", line 607, in written_chunks
for chunk in chunks:
File "/usr/local/lib/python3.6/site-packages/pip/_internal/utils/ui.py", line 159, in iter
for x in it:
File "/usr/local/lib/python3.6/site-packages/pip/_internal/download.py", line 596, in resp_read
decode_content=False):
File "/usr/local/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 494, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/usr/local/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 459, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File "/usr/local/lib/python3.6/contextlib.py", line 99, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py", line 365, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
ERROR: Service 'iris' failed to build: The command '/bin/sh -c pip install pandas matplotlib seaborn numpy dill' returned a non-zero code: 2Pointing to @Sergei Shutov's answer. HTH
Added VSCode settings with the last commit - so you are able to code and compile immediately after you open the project in VSCode.
That's great! Do you want to add IRIS tag then? and IRIS product to the app on Open Exchange?
There were an article by @Mikhail Khomenko . Also, there is another one on using Grafana for monitoring and Prometheus.
Great article, Henry! I have a question: will it work with IRIS? E.g. with IRIS Community Edition?
Happy to hear that! Let me know if that worked for you)
Hi Stella!
This is complicated cause the base class of a cube should contain the most granular records for the subject area being analyzed. Speaking with family terms children can analyze their dads in a cube but not vice versa. That means want to analyze Kids - build the cube for Kids.
There is one trick though which lets you analyze Kids from Dads assuming if your Dad is not very fruitful ;) I mean this will work if your Dad has less then 1,000 kids)
You can build the Kids dimension with a level which consists of a comma-separated list of Kids IDs or kids data - use ObjectScript expressions for this. And mark this dimension as comma-separated in Dimension settings.
If the ObjectScript expression is long, use %cube.Method to call the method of the cube where you can code the complex logic.
Then you are able to show in levels and properties in this dimension whatever data you want to calculate and aggregate from kids using ObjectScript expressions.
HTH
Hi Vincent!
One of the working examples of DeepSee Dashboard filters promoted via URL you can check here in Developer Community.
If you open your member's page you may click on View Analytics link and open the DeepSee Dashboard with filter parameters in URL, which shows this year postings filtered by Vincent Levesque.

And you may check how this works and even install on your laptop using this repo.
Is it possible to introduce .vscode settings into the repo?
E.g. I want to checkout the repo, docker build, docker run, and then having VSCode connected to server, port and namespace, which are set in a dockerfile and docker-compose.yml?
And forgot to add, that to open IRIS terminal just call the following:
user$ docker-compose exec iris iris session iris
Would be great to see the paremeters of VSCOde current connection - what is the server, port, namespace.
Now I see only this:

and would be great to know, what is the namespace
Great news, Eduard!
I wonder - if Python Gateway works with IRIS Community Edition?