go to post Dmitry Maslennikov · Aug 20, 2021 By Setting in Business Service which it will be tied to. But I think, it will be simple, like check that latest data where create date more than current plus n seconds
go to post Dmitry Maslennikov · Aug 20, 2021 Looks like, that you have some data generated, which you should care about, but with some delay. So, how about creating some custom adaptor, which would look at that data, check for conditions and do the task. So, just only need an index by creation time.
go to post Dmitry Maslennikov · Aug 19, 2021 Why not to place it to some GitHub repo or at least gist?
go to post Dmitry Maslennikov · Aug 17, 2021 github.dev, is just a simple VSCode but in the cloud. It may get a coloring if it would allow at least our main extensions for ObjectScript, which in fact provide a basic coloring. GitHub.com itself uses coloring from another source, which in fact almost the same as for VSCode. I'll look at github.com, and maybe I will find a solution, how to get coloring there somehow. And thinking about Codespaces feature as well.
go to post Dmitry Maslennikov · Aug 6, 2021 I think this may happen, due to some issues with availability of some internal services. In any way it’s now possible using VSCode for development with InterSystems versions 2016.2 and later. So, I would recommend using it instead. Documentation
go to post Dmitry Maslennikov · Jul 28, 2021 As I know, there is no way to have a schedule for the whole production. Just only services can have scheduled. With working hours 8:00-18:00, will be something like this. START:WEEK-*-01T08:00:00,STOP:WEEK-*-01T18:00:00,START:WEEK-*-02T08:00:00,STOP:WEEK-*-02T18:00:00,START:WEEK-*-03T08:00:00,STOP:WEEK-*-03T18:00:00,START:WEEK-*-04T08:00:00,STOP:WEEK-*-04T18:00:00,START:WEEK-*-05T08:00:00,STOP:WEEK-*-05T18:00:00
go to post Dmitry Maslennikov · Jul 28, 2021 You got the error <STORE>, which means that your process is reached its memory limit. You may try to increase that limit in SMP, to a value more than your file size two times. Or try to change it with $ZStorage just for the current process. For sure, if you have enough memory for it.
go to post Dmitry Maslennikov · Jul 28, 2021 JSON is binary in a low level, so, the same as for $listbuild, I think only one way to go, and it is from begin to end
go to post Dmitry Maslennikov · Jul 28, 2021 USER>set json = [0,1,2] USER>set json = [0,1,2], iter = json.%GetIterator() USER>while iter.%GetNext(.key, .val){ write !,"[",key,"]=",val do:key=0 json.%Remove(key) } [0]=0 [1]=2 USER>zw json json=[1,2] ; <DYNAMIC ARRAY> And even with %Remove will not reach subsequent items
go to post Dmitry Maslennikov · Jul 28, 2021 Be careful with multiple %Remove, it moves the index. So, the next %Remove in a row, will remove the wrong item.
go to post Dmitry Maslennikov · Jul 28, 2021 I think this may help ClassMethod CleanNull(json As %DynamicObject) As %DynamicObject { Set iter = json.%GetIterator() Set toRemove = "" While iter.%GetNext(.key, .value) { Set type = json.%GetTypeOf(key) If (type="null") { Set toRemove = toRemove _ $Listbuild(key) } ElseIf (type="object")||(type="array") { Set $Property(json, key) = ..CleanNull(value) } } Set ptr = 0, corr = 0 While $Listnext(toRemove, ptr, key) { Do json.%Remove(key - corr) set corr = corr + 1 } Return json } And Testing metho ClassMethod TestJSON() { set json = { "recipients": [ { "name":"Utsavi", "email":"utsavi@gmail.com"}, { "name":"Utsavi 1", "email":"utsavi1@gmail.com"}, null, null ], "content":[null, {"title":"Test.pdf", "data":"ygwehfbnwfbhew"} ] } Set result = ..CleanNull(json) Do result.%ToJSON() } Will return this {"recipients":[{"name":"Utsavi","email":"utsavi@gmail.com"},{"name":"Utsavi 1","email":"utsavi1@gmail.com"}],"content":[{"title":"Test.pdf","data":"ygwehfbnwfbhew"}]}
go to post Dmitry Maslennikov · Jul 27, 2021 I would not recommend using it this way, due to many limitations and issues in it. Just make it on your own.
go to post Dmitry Maslennikov · Jul 27, 2021 What the issue you faced? Class User.Rest Extends %CSP.REST { XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ] { <Routes> <Route Url="/:resource/(.*)" Method="GET" Call="GetResource" Cors="true"/> <Route Url="/ping" Method="GET" Call="Ping" Cors="true"/> </Routes> } ClassMethod Ping() As %String { Write {"pong": true}.%ToJSON() Return $$$OK } ClassMethod GetResource(pResource As %String, pId As %String) As %Status { Write {"resource": (pResource), "id": (pId)}.%ToJSON() Return $$$OK } } With this REST class, I can do queries like this http://localhost:52773/rest/patient/test/123/456, with no issues it returns {"resource":"patient","id":"test/123/456"}
go to post Dmitry Maslennikov · Jul 19, 2021 Nowadays I would look to Rust, which is good replacement for C, and should as fast as C.
go to post Dmitry Maslennikov · Jul 13, 2021 Community edition version is limited to 8 cores. Do, if you are able to limit it somehow, do it. I would recommend using Docker, and it gives an ability how to limit CPUs for a container.
go to post Dmitry Maslennikov · Jul 13, 2021 One more possibility is that the input Base64 stream has line breaks, which have to be omitted. And just read correct length would not be enough, it needs to remove all line breaks, truncate to the closest divisible by 4 length, and using the left tail with the next iteration. Periodically I see, that some systems may replace symbols such as "+" or "/" in Base64 with something like URL compatible.
go to post Dmitry Maslennikov · Jul 9, 2021 Updated Class CodeGolf.NatoTranslator { ClassMethod ToNato(i As %String) As %String { s l="lfa,ravo,harlie,elta,cho,oxtrot,olf,otel,ndia,uliett,ilo,ima,ike,ovember,scar,apa,uebec,omeo,ierra,ango,niform,ictor,hiskey,ray,ankee,ulu" f j=1:1:$l(i){s k=$e(i,j),o=$g(o)_" "_$s(",.!?"[k:k,1:$zcvt(k,"U")_$p(l,",",$a(k)#32))} q $zstrip(o,"<=W") } ClassMethod Test(val = "If, you can read?") As %Status { set res = ..ToNato(val) zw res #dim methodObj As %Dictionary.MethodDefinition set methodObj = ##class(%Dictionary.MethodDefinition).IDKEYOpen($ClassName(), "ToNato") Write !,"Size: ", methodObj.Implementation.Size } } Size: 255
go to post Dmitry Maslennikov · Jul 6, 2021 Hi Surya, Unfortunately, no one tool that can do vulnerability scanning, knows anything about ObjectScript. The only way to do it right now is to do it manually. If you really need it, I can do it for you, just let me know by email dmitry@caretdev.com
go to post Dmitry Maslennikov · Jul 6, 2021 You opened issue, in repository related to this Developer Community and issues just only related to this site. You would need to open the issue, in related to VSCode extension repository, here.