Thank you, Robert! What you did and keep doing for the community is priceless! We are very lucky to have you! Thank you so much!
- Log in to post comments
Thank you, Robert! What you did and keep doing for the community is priceless! We are very lucky to have you! Thank you so much!
But this is Management Portal, right? Where is the demo?
Not sure why this doesn't work. Calling for experts @Dmitry Maslennikov @Eduard Lebedyuk
Well done, @Yuri Marx! Thank you! Hope you'll beat your record in 2022! ;)
Honestly have no idea ) It's was just thought between NY salads eating) But I bet @Robert C. Cemper or @Dmitry Maslennikov could suggest something. I bet Terminal saves aliases in some global that could be investigated. It's a hack of course thus not recommended officially until we document the global.
If you use Docker for development with IRIS this could be easier. E.g. we could run the terminal program(what is it BTW?) during the iris.script phase and setup aliases of taste.
This was a wonderful year - and mostly because of you, InterSystems Developer Community members!
Thank you! Looking forward to seeing how will be 2022!
Great research! Thanks, @Andreas Schneider!
Perhaps a ZPM package that sets all up can help?
Cool stuff! Thanks, Joel!
Real data means - not generated data.
Unique means new and never existed before.
In fact, it is the dataset you own - e.g. your collection of coins, or your library. Or the set of observations of any kind.
Thanks @Yuri Marx! Yes, all the datasets shouldn't contain any private data.
@Kevin An and @Yuval Golan!
Congratulations on your victory in the contest! Could you please submit both repositories to Open Exchange?
It's a pity that's it all the code is in mac and int thus so there is no quality check available that works for CLS ObjectScript code only for now.
Also, it's difficult to run and examine the code you submitted as it needs a lot of manual steps to load it into a docker.
It'd be great if you could add a docker environment into the repo (like in a template) and hopefully convert code to CLS ObjectScript.
It's not "the must", but it'd be very convenient to use for the community.
Thanks, and congratulations!
Hi @Kevin An! Embedded Python was not eligible for the contest.
It was an ObjectScript contest only as it ware stated by @Anastasia Dyubaylo .
As for the next year we don't know yet whether it makes a lot of sense to compete in Embedded Python as it looks like the sort of tasks in AoC can be solved without deep usage of DBMS or/and globals so it becomes a competition in clear python.
Any advice on how we could make Embedded Python competition within AoC and keep the sense is much appreciated.
Thanks! Next request to publish it on Open Exchange too to let it be visible to all the InterSystems Developers Ecosystem) Here is how.
Great stuff, @Rizmaan Marikar!
Do you want to share the code on GitHub and Open Exchange?
So I guess it is preview version and that'll be fixed
Thanks, Vitaliy! A new LOAD DATA command doesn't generate class, right?
Very cool!
It's indeed convenient if you need to fix the typo in your ObjectScript and can do that just typing "." symbol and can make changes even from iPad :)
ObjectScript plugin installation worked perfectly!
Thanks, @Dmitry Maslennikov for sharing!
Thanks, Ben! Just curious is it safe and the best practice to edit the storage definition manually?
Or is it safer to let the compiler do the thing?
Agree on having the storage definition in the source control along with the class definition.
Thanks @Dmitry Maslennikov, @Robert C. Cemper and @Herman Slagman !
Turn out it's not that hard with your help!
The result can be observed here - adding a parameter and the implementation to a method in csvgen.
And yes, here is the code itself:
ClassMethod AddAppendtoImport(pClassName As %String) As %Status
{
set method = ##class(%Dictionary.MethodDefinition).%OpenId(pClassName_"||Import")
if method.FormalSpec["pAppend" quit $$$OK
set method.FormalSpec=method.FormalSpec_",pAppend:%Boolean=0"
set imp=method.Implementation
set newImp=##class(%Stream.TmpCharacter).%New()
while 'imp.AtEnd {
set line=imp.ReadLine()
if line'["%DeleteExtent" {do newImp.WriteLine(line)}
else {
do newImp.WriteLine($p(line,"do")_"if 'pAppend do ..%DeleteExtent(,.tDeleted,.tInstances,1)")
}
}
set method.Implementation=newImp
set sc=method.%Save()
if $$$ISERR(sc) return sc
set sc=$System.OBJ.Compile(pClassName,"cuk")
return sc
}
With the csvgen 1.2.1 release added the Append support as @Yuri Marx requested.
Thanks @Vivian Lee!
This is a known issue. And this is why it is THE MUST to store the storage strategy with the class definition in the source code repository.
Also, maybe it's not a bad idea to never delete properties and just mark it as archived/deprecated.
Fantastic, @Eduard Lebedyuk!
Do you want to create a ZPM module from it?
Available on Docker Hub too.
And images with ZPM package manager 0.3.2 are available accordingly:
intersystemsdc/iris-community:2021.2.0.617.0-zpm intersystemsdc/iris-ml-community:2021.2.0.617.0-zpm intersystemsdc/iris-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-ml-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-community:2021.1.0.215.3-zpm
And to launch IRIS do:
docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2021.2.0.617.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-ml-community:2021.2.0.617.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2021.2.0.617.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2021.2.0.617.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-ml-community:2021.2.0.617.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2021.2.0.617.0-zpm
And for terminal do:
docker exec -it my-iris iris session IRIS
and to start the control panel:
http://localhost:9092/csp/sys/UtilHome.cspTo stop and destroy container do:
docker stop my-irisAnd the FROM clause in dockerfile can look like:
FROM intersystemsdc/iris-community:2021.2.0.617.0-zpm
Or to take the latest image:
FROM intersystemsdc/iris-community
Thanks, Robert!
And what is the easiest way to change the particular line of code?
E.g. I need to add a parameter to a method definition.
Hi Ben!
There appears to be an issue on Windows as it doesn't strip out the ":" from the filename when auto-generating the class( https://github.com/evshvarov/csvgen/issues/13).
This is fixed with the new release.
As for the Library.DateTime, there is no support for this type yet.
You can add the support and PR - it's an open-source library and PRs are very welcome.
Also, you can consider csvgen-ui library by @Guillaume Rongier - it has a very nice UI to guess types and choose your own if guessing fails or doesn't apply.