go to post Robert Cemper · Dec 4 Late suggestion:if you interpret your <entry> as a piece separator in your XML string, you may apply this trick ;; asssuming your input is in xmltext ;; get the 4th entry set entry4=$piece($piece(xmltest,"<entry>",4+1),"</entry>") ;;-------^---------------------------------^
go to post Robert Cemper · Dec 4 A guess from the hip: import of *.CSP is followed by compiling it to *.CLS, which is compiled to *.INT import of *.CLS doesn't necessarily trigger a compile
go to post Robert Cemper · Dec 2 * It's just great to see this excellent example* still in maintenance and updated* It's my personal favourite * working, refreshed and kept in shape over the years. I wish I could see more of those packages in OEX Muchas Gracias Salva ! 🤝
go to post Robert Cemper · Nov 26 This reminds me of the ages-old service rule The customer is always right If it is not right, then #1. applies automatically 😁
go to post Robert Cemper · Nov 26 I composed a small example as DV.MAC with 36 conditions. and -as expected- hit no limit. DV ; for i=1:1:50 { set x=$r(40) set col=$SELECT( x=1:"col_1", x=2:"col_2", x=3:"col_3", x=4:"col_4", x=5:"col_5", x=6:"col_6", x=7:"col_7", x=8:"col_8", x=9:"col_9", x=10:"col_10", x=11:"col_11", x=12:"col_12", x=13:"col_13", x=14:"col_14", x=15:"col_15", x=16:"col_16", x=17:"col_17", x=18:"col_18", x=19:"col_19", x=20:"col_20", x=21:"col_21", x=22:"col_22", x=23:"col_23", x=24:"col_24", x=25:"col_25", x=26:"col_26", x=27:"col_27", x=28:"col_28", x=29:"col_29", x=30:"col_30", x=31:"col_31", x=32:"col_32", x=33:"col_33", x=34:"col_34", x=35:"col_35", 1:"more") write i,?4,x,?10,col,! } result: . . . . 23 32 col_32 24 39 more 25 39 more 26 31 col_31 27 10 col_10 28 36 more 29 24 col_24 30 21 col_21 31 2 col_2 . . . .
go to post Robert Cemper · Nov 24 I met a similar issue.A new IDEA might be to fix the interface for IDEAS 😉
go to post Robert Cemper · Nov 14 While you are in terminal $IO="|TRM|:|10468" or similar from Studio it is "|TCP|1972|11096" with 1972 as Superserver portIt's one of the differences
go to post Robert Cemper · Nov 14 I fully support your proposal.I published >700 reviews for the actual 1156 visible packages.And there are several challenges to be addressed with any new structure. The reviews with stars focus on an actual individual snapshot. Similar to the code or example, they age and may become invalid. Ongoing maintenance by creators can't be expected So a clear separation between actual and maintained packages and those just kept for historical reference could be useful. The decision for maintenance must be left to the creator Example: If some essential function in IRIS is dropped without replacement with no acceptable workaround, I'd move it to the archive I just had to unpublish some packages for this reason Another category could be packages where ISC takes responsibility. This isn't a solution, but a step in between to improve the actual situationI wonder how many of the 1156 packages might move to the archive without maintenance There is no voting on the numbers added
go to post Robert Cemper · Nov 13 Chrome could be a beast on cachingFor other cases, I had to clear its cache from settings several timesThe latest AI stuff even modified my text during typing.I had to fight to lock it in chains
go to post Robert Cemper · Nov 9 Hi @Evgeny Shvarov You inspired me to extend the standard Dockerfile sequence by this line RUN --mount=type=bind,src=.,dst=. \ iris start IRIS && \ iris session IRIS < zpm.script && \ iris session IRIS < iris.script && \ iris stop IRIS quietly and zpm.script is basically the version-independent one-liner sliced to readable pieces zn "%SYS" ;; from onezpm hang 3 write !,"from onezpm",! set r=##class(%Net.HttpRequest).%New() set r.Server="pm.community.intersystems.com" set r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" do r.Get("/packages/zpm/latest/installer") do $system.OBJ.LoadStream(r.HttpResponse.Data,"c") ZPM "repo -r -n registry -url https://pm.community.intersystems.com/ -user """" -pass """"" zpm "enable -community" hang 2 Write !,"ZPM ready",! halt This makes me independent from the limits of intersystemsdc/.....and I can use images from containers.intersystems.com/intersystems/****-communitywith a minimal invasive approach without touching any other part of the repo
go to post Robert Cemper · Nov 9 In most cases, I've seen working beforethe real message was "community license expired."You see it only in the builder log. ORusing docker compose --progress plain build from command line.workaround:use instead. intersystemsds/iris-community or intersystemsdc/irishealth-community :latest is always the default
go to post Robert Cemper · Nov 9 Yeah!If there is a reference of how to add -ml- functionality to available intersystemsds/iris-community and intersystemsdc/irishealth-community The other possibility could be to change to NON-intersystemsdc versionsand add the single-line installation for ZPM. Not my favorite.
go to post Robert Cemper · Nov 9 That means that the -ml- versions are requested in Dockerfile or docker-compose.yml.It is not immediately visible that ML is required and used.For a few packages, it was pretty obvious thatit came in by cut&paste from previous packages..
go to post Robert Cemper · Nov 5 technically correct but not really a practical solutionfor 50+ affected packages in OEX
go to post Robert Cemper · Nov 4 Thank you @Dmitry Maslennikov !You confirmed my initial suspicion.And the missing intersystemsdc version (including preinstalled ZPM) affects a rather broad range of packages in OEX.
go to post Robert Cemper · Oct 29 1) you miss a final condition in $SELECT(). It's the 1:$SELECT(^GlFSL("Debug")>0:Entry^HS.Local.VA.Util.Log(%arr,,"D"),1:QUIT)2) QUIT doesn't return a value but <UNDEFINED> error if you don't have a SET QUIT="" somwhere before or use $GET()this may fit$SELECT(^GlFSL("Debug")>0:Entry^HS.Local.VA.Util.Log(%arr,,"D"),1:$GET(QUIT)) Command QUIT is just appropriate with $CASE(...)https://docs.intersystems.com/iris20252/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fselect#RCOS_fselect_select_and_case
go to post Robert Cemper · Oct 29 TestFor.inc #define MyLoop(%count) set x="" for i=1:1:%count set x=$order(^%SYS("JOURNAL",x),-1) write x,! in Test class: ClassMethod Mike() { $$$MyLoop(7) Write ?5,$get(@$ZR," *** "),! } Resulting in PURGED *** PREFIX MAXSIZE 1073741824 LIFESPAN *** LAST 1^C:\InterSystems\IRIS242\mgr\journal\20251029.003 EXPSIZE 0 CURRENT 1^C:\InterSystems\IRIS242\mgr\journal\20251029.003
go to post Robert Cemper · Oct 29 Thanks for the correction.I had something similar in mind, but didn't find the related doc!
go to post Robert Cemper · Oct 28 So this means that the IF is not applicable in your context.What commands are before the $$$TestIf(3) and after ? I think of some WRITE $$$TestIf(3) ..... Or you may try to explicitly write the macro-generated code to see any hidden issueI'm running a bit out of fantas,y what may go on
go to post Robert Cemper · Oct 28 Strange. It should generate IF (3>0) {QUIT 5} and accept it.Could you pls simplify the case for testing to #define TestIf(%arr) if %arr>0 QUIT 5 Not yet Halloween, but this looks spooky:For me, all variants work: My versions:InterSystems Studio Client 2024.1.0 Build 262Server IRIS for Windows (x86-64) 2024.3 (Build 217U)