go to post Evgeny Shvarov · Dec 29, 2021 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.
go to post Evgeny Shvarov · Dec 28, 2021 Thanks @Yuri Marx! Yes, all the datasets shouldn't contain any private data.
go to post Evgeny Shvarov · Dec 28, 2021 @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!
go to post Evgeny Shvarov · Dec 26, 2021 Hi Kevin! Could you please make the repo public? I see 404 for the URL:
go to post Evgeny Shvarov · Dec 26, 2021 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.
go to post Evgeny Shvarov · Dec 26, 2021 Thanks! Next request to publish it on Open Exchange too to let it be visible to all the InterSystems Developers Ecosystem) Here is how.
go to post Evgeny Shvarov · Dec 25, 2021 Great stuff, @Rizmaan Marikar! Do you want to share the code on GitHub and Open Exchange?
go to post Evgeny Shvarov · Dec 22, 2021 Thanks, Vitaliy! A new LOAD DATA command doesn't generate class, right?
go to post Evgeny Shvarov · Dec 22, 2021 Thanks, Salva! Also in this link, you can see the progress of ideas implementation: In 2022 we plan to introduce a standalone site where every developer, registered on DC will be able to add and vote for product enhancements, add-ons and innovative ideas!
go to post Evgeny Shvarov · Dec 21, 2021 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!
go to post Evgeny Shvarov · Dec 17, 2021 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.
go to post Evgeny Shvarov · Dec 16, 2021 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 }
go to post Evgeny Shvarov · Dec 16, 2021 With the csvgen 1.2.1 release added the Append support as @Yuri Marx requested.
go to post Evgeny Shvarov · Dec 16, 2021 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.
go to post Evgeny Shvarov · Dec 16, 2021 Fantastic, @Eduard Lebedyuk! Do you want to create a ZPM module from it?