go to post Norman W. Freeman · Feb 8, 2023 Thanks. I will take a look at it. I have some issues on a server where too many "delocks" are created because a lot of persistent objects are created in a long term transaction. I would like to avoid refactoring all the code to bypass persistent objects and use globals directly (which will require a lot of work).
go to post Norman W. Freeman · Jan 19, 2023 Both are set to "deu8". I checked properties : The only difference is in collation tables. Both are set to "German2", but "Additional" column is not the same : CACHE : Cache standard, German1, German3IRIS : German1, German3, German5, IRIS standardI guess that's the reason. Not sure how it can be fixed (so CACHE behave like IRIS). All "edit" buttons are grayed.
go to post Norman W. Freeman · Jan 19, 2023 Both servers have region set as "German (Switzerland)". I checked the rest (eg: "Time, Date, Advanced settings", ...) and everything seems 1:1. Is there a specific setting I should check ?
go to post Norman W. Freeman · Jul 1, 2022 I forgot to mention I am on Windows. "iris terminal" works somehow. There is several issues with this approach : - it does not redirect input/output (eg: echo 50 | iris terminal IRIS). One workaround is to put commands into a routine and call it explicitly : iris terminal IRIS MYROUTINE %SYS - it does not block/wait until completion (which is an issue since I use that command from a deployment tool that need to know once it's done) - there is no way to provide custom credentials (eg: execute commands with a specific user)
go to post Norman W. Freeman · Jul 1, 2022 Thanks. This is the same trick as what I found in "InterSystems IRIS Adoption Guide". If I wrote this in command line (eg: iris session IRIS), it outputs the command line documentation (which indicate something went wrong). "iris console IRIS" works by the way. Do I need to enable something before I can use session parameter ? EDIT : it seems that irissession.exe is the equivalent on Windows.
go to post Norman W. Freeman · Jun 28, 2022 Thanks. Out of curiosity, can you show the extended syntax to call a method from another namespace ? Also : when you say Config.MapGlobals use globals in %SYS, what are they used for ? AFAIK mappings are stored in IRIS.cpf file, not in globals (or maybe you are referring something else).
go to post Norman W. Freeman · Jan 18, 2022 If you want, i can post a skeleton class where you can start with. That would be really great.
go to post Norman W. Freeman · Jan 18, 2022 Did you added menu item by writing code (eg: to extend %Studio.Extension.Base) or is there another way ?
go to post Norman W. Freeman · Oct 29, 2021 Thank you. I missed the fact that what is below /mgr/ is indeed system manager DBs (seems obvious). Customer DB and code is actually somewhere else, in different namespaces and drive. I tried to rename CACHE.DAT to IRIS.DAT and it works (after proper backup). The only thing I need is to run some upgrade command on them.
go to post Norman W. Freeman · Oct 8, 2021 Thanks for the info. While there is probably something wrong with the OS (Windows in this case), is there a lighter way in Caché to execute a routine in a separate task ? I am thinking something like starting a new thread or using a thread pool. Does such thing exists ?
go to post Norman W. Freeman · Aug 27, 2021 Thanks for clarification about the name. I found it was called like that before I saw your post and edited OP.
go to post Norman W. Freeman · Aug 19, 2021 You are right. There is actually two ways the program send requests : either by submitting form (which result in fields being added to the body of the request as expected). And another way for server side validation, using a XMLHttpRequest. It append everything to the URI. I might fix that part.
go to post Norman W. Freeman · Aug 19, 2021 Here is some code example <form name="WWW" id="WWW" action="/csp/foo.cls" method="POST"> <textarea id="PARAM1" name="PARAM1"></textarea> </form> document.WWW.submit(); Which will result in the following request : POST https://something/csp/foo.cls?PARAM1=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1 Accept: */* Content-Type: text/html;charset=UTF-8 Referer: https://something/ Content-Length: 0 Connection: Keep-Alive Cache-Control: no-cache As you can see, input value is added to the url, just like a GET.
go to post Norman W. Freeman · May 26, 2021 Thanks, it works. I already tried something similar but put the the "}" and the "catch {" on separate lines. The trick is to put them on the same line.
go to post Norman W. Freeman · Sep 25, 2020 I agree udl is much better for versioning than xml. I didn't know it was possible, seems the way to go. For globals, is there something better than xml ?
go to post Norman W. Freeman · Sep 23, 2020 I found the following XSD file which seems to be what I want : C:\InterSystems\Cache\bin\cacheexport.xsd It's much more complex than what I thought. Maybe exporting all cache files as UDL (as Dmitriy suggested) is a better approach. I don't know if SyncTool is able to export cache entities in that format directly. If not, I will need a second pass (that convert xml to udl).