go to post Robert Cemper · Mar 3, 2023 If you are not afraid of using basic COS functionality:your reload method raises a LOCK ^myRELOAD and drops it with completion LOCK -^myRELOAD Your check utility does the same but with a timeout LOCK ^myRELOAD:0if it fails - signaled by $TEST=0 you loop and hang around and retryfor success $TEST=1 you go on but release your successful LOCK immediatelynot to block anyone else.
go to post Robert Cemper · Mar 1, 2023 According to your JSON model, I would assume this to start:(sory had no chance to test myself) Class Test.GEOMETRIEPOINT Extends (%SerialObject, %JSON.Adaptor, %XML.Adaptor) { Property "GEO_TAB_COORDONNES" As list Of %Float; } Class Test.GEOMETRIELINE Extends (%SerialObject, %JSON.Adaptor, %XML.Adaptor) { Property "GEOMETRIE_LINE" As list Of GEOMETRIEPOINT; } Class Test.POLYGON Extends (%Persistent,%JSON.Adaptor, %XML.Adaptor) { Property "GEOMETRIE_POLYGON" As list Of GEOMETRIELINE; {
go to post Robert Cemper · Feb 24, 2023 You have to blame the designers of the language back in the 60ties of last century.it was even an ANSI Standart then.And it is backward compatible and the code of the 60ties still can run unchanged!
go to post Robert Cemper · Feb 21, 2023 it's an interesting line: patient0 = Patient.parse_obj(patients_resources.search(family='familyname',given='givenname1').first().serialize()) I miss some checks if the search was successful.Because NONE indicates a missing content.If search(family='familyname',given='givenname1')fails you receive NONE and this can't be serialized. COS would just return NullString """
go to post Robert Cemper · Feb 21, 2023 Hi Harry, a year ago I created this example globaltojson-embeddedpython-pure For early ePY (no $D() yet) Wrapping it in JSON is just an extra
go to post Robert Cemper · Feb 20, 2023 if you have access to the CSP or ZEN page you may just check the user name in method OnPreHTTP or similar, and redirect him to the moon. if can't touch the page then rename it and create a filter page that does a server-side redirect for everyone except the banned user. .
go to post Robert Cemper · Feb 20, 2023 Fully agree:Package was used for the chapter of OEX from day zero!.Instead of semantic discussions, it would be much more important to take care of quality and completeness and easy-to-evaluate examples for the community.Every member of the community is a customer. To my understanding this is majorpoint of being different do other code exchange and discussion platforms.I have checked almost all packages (except the commercials) and most contributors seem to share this understanding. Though I have to admit that there are also lessservice-minded contributors that just don care about issues and PRs.A community of white sheep only is an illusion.I've seen too much to have such dreams
go to post Robert Cemper · Feb 20, 2023 You are correct module.xml indicates IPM/ZPM usage and that's OK.But "Packages" is much wider since it also includes those parts that do not contain installable code or data to load but (if well prepared) a bunch of additional information like (hopefully) user guides, installation guides, description of the purpose of the packages, as well as screenshots, examples, ..... All this is not part of the IPM module. for good reasons.I would feel "module" as a downgrade of the excellent work the contributors provided to the community.
go to post Robert Cemper · Feb 19, 2023 in iris.script for NSP %SYS add set par("AutheEnabled")=64 set tSC=##class(Security.Applications).Modify("/csp/sys",.par) the disadvantage:You are UnknowUser and might need to add the required Roles as well. set role="%All" set tSC=##class(Security.Users).AddRoles("UnknownUser",.role,1) ----------------------my personal approach is to have a fixed port for SMPand save my _SYSTEM / SYS in browser with autofill.
go to post Robert Cemper · Feb 19, 2023 this shows how $QS could be used for a partial global listingit only checks the second subscript and writes the value for a match SAMPLES>k ^rcc SAMPLES>f i=12:1:19 s ^rcc($j,i)="SUB1=J,"_i SAMPLES>f i=12:1:15 f j=14,17 s ^rcc($j,j,i)="SUB1="_j_",SUB2="_i SAMPLES>zw ^rcc ^rcc(9372,12)="SUB1=J,12" ^rcc(9372,13)="SUB1=J,13" ^rcc(9372,14)="SUB1=J,14" ^rcc(9372,14,12)="SUB1=14,SUB2=12" ^rcc(9372,14,13)="SUB1=14,SUB2=13" ^rcc(9372,14,14)="SUB1=14,SUB2=14" ^rcc(9372,14,15)="SUB1=14,SUB2=15" ^rcc(9372,15)="SUB1=J,15" ^rcc(9372,16)="SUB1=J,16" ^rcc(9372,17)="SUB1=J,17" ^rcc(9372,17,12)="SUB1=17,SUB2=12" ^rcc(9372,17,13)="SUB1=17,SUB2=13" ^rcc(9372,17,14)="SUB1=17,SUB2=14" ^rcc(9372,17,15)="SUB1=17,SUB2=15" ^rcc(9372,18)="SUB1=J,18" ^rcc(9372,19)="SUB1=J,19" set glob="^rcc",last=14,start=13 SAMPLES>print a for { set glob=$q(@glob,1,val) quit:glob="" set sub=$qs(glob,3) if sub=start write glob," >> ",val,! else if sub]start,sub']last write glob," >> ",val,! else write glob,! } SAMPLES>d a ^rcc(9372,12) ^rcc(9372,13) ^rcc(9372,14) ^rcc(9372,14,12) ^rcc(9372,14,13) >> SUB1=14,SUB2=13 ^rcc(9372,14,14) >> SUB1=14,SUB2=14 ^rcc(9372,14,15) ^rcc(9372,15) ^rcc(9372,16) ^rcc(9372,17) ^rcc(9372,17,12) ^rcc(9372,17,13) >> SUB1=17,SUB2=13 ^rcc(9372,17,14) >> SUB1=17,SUB2=14 ^rcc(9372,17,15) ^rcc(9372,18) ^rcc(9372,19)
go to post Robert Cemper · Feb 17, 2023 In the first case, the quotes around you value are ignored and is treated as numeric>> typical check IF val=+val >>> numeric -----for the range end you can use $QSUBSCRIPT in combination with the follows Operator ] or sort after ]]
go to post Robert Cemper · Feb 10, 2023 Hi @Julius Kavay Sorry to see you leaving. Though I understand your concerns.I will miss your high-quality contributions that are based on a long and successful experience!Let's stay in contact
go to post Robert Cemper · Feb 10, 2023 Hi @Stefan Cronje !I share many of the concerns you raised: aged and outdated and dead packages extra points are given for PR and Merges, but most PS are ignored besides my own 402 reviews only 80 others no options for a release-related review enough dead links missing an ISC-controlled repo
go to post Robert Cemper · Feb 9, 2023 I claim 2nd article for both GlobalStreams-to-SQLhttps://community.intersystems.com/post/global-streams-sql-2 and JSONfile-to-Globalhttps://community.intersystems.com/post/jsonfile-global-2THX
go to post Robert Cemper · Feb 6, 2023 my helper was eliminated today by censorshelper-for-objectscript-language-extensionsTag version: 0.0.3 Released: 2023-01-26 22:33:33
go to post Robert Cemper · Feb 6, 2023 quite interesting.OEX was unreachable just now for some timeand now my previous voting is gone.no problem, I still remember.It's a warning to other early voters.
go to post Robert Cemper · Feb 6, 2023 I would have been surprised if you knew ZZQIt's my personal customized COS command for DO $SYSTEM.SQL.Shell()But I'm also aware you are selling and pushing PY. OKAnd I use happily COS and its predecessor for 45 years which made ISC bigAnd I dislike black painting its values.
go to post Robert Cemper · Feb 6, 2023 @Guillaume Rongier your terminal example is just poor , (sorry!) pauvreI do it his way, easy to read and easy to follow, (your notation) SAMPLES>zzq SQL Command Line Shell ---------------------------------------------------- The command prefix is currently set to: <<nothing>>. Enter q to quit, ? for help. SAMPLES>> << entering multiline statement mode >> 1>>CREATE TABLE test.formation ( 2>> name varchar(50) NULL, 3>> room varchar(50) NULL 4>>) 5>>go 1. CREATE TABLE test.formation ( name varchar(50) NULL, room varchar(50) NULL ) 0 Rows Affected statement prepare time(s)/globals/lines/disk: 0.0122s/1724/14836/0ms execute time(s)/globals/lines/disk: 0.4004s/68198/594881/177ms cached query class: %sqlcq.SAMPLES.cls47 --------------------------------------------------------------------------- SAMPLES>> << entering multiline statement mode >> 1>>INSERT INTO test.formation 2>>(name, room) 3>>VALUES('formation1', 'salle1') 4>>go 1. INSERT INTO test.formation (name, room) VALUES('formation1', 'salle1') 1 Row Affected statement prepare time(s)/globals/lines/disk: 0.0113s/2622/28346/0ms execute time(s)/globals/lines/disk: 0.0009s/13/143/0ms cached query class: %sqlcq.SAMPLES.cls48 --------------------------------------------------------------------------- SAMPLES>>q SAMPLES>