go to post Jani Hurskainen · Feb 25 Thanks for the background. The following is for the documentation team: From: https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI... Case-sensitive: variable names (other than the ObjectScript system variables) are case-sensitive. Names of packages, classes, and class members, names of routines and their entry points, names of include files and macros are also all case sensitive. This is plain wrong. The package and class names are case in-sensitive as you can read in this message thread and in the compilation example below: Compilation started on 02/25/2025 10:16:38 with qualifiers 'bckru' Compiling class Foo.Class1 Compilation finished successfully in 0.056s. ERROR #5093: Name conflict on class 'foo.Class2' because package 'Foo' has the same name but differs in case. ERROR #5092: Name conflict on class 'Foo.class1' because class 'Foo.Class1' has the same name but differs in case.
go to post Jani Hurskainen · Feb 25 VS Code (extension) checks that too: Compilation started on 02/25/2025 10:16:38 with qualifiers 'bckru' Compiling class Foo.Class1 Compilation finished successfully in 0.056s. ERROR #5093: Name conflict on class 'foo.Class2' because package 'Foo' has the same name but differs in case.
go to post Jani Hurskainen · Feb 24 I guess the 2025 answer is to look at Python solution(s) which are likely many. A quick internet search suggests e.g. https://pypi.org/project/jsondiff/ that seems to be a reasonable complete, recent and popular. Unfortunately I'm not yet arrived to IRIS Python-land, hence I had to come up yet another partial solution that fits to my current use case: https://github.com/janihur/objectscript-ex/blob/main/src/OSEX.Json.Compa...
go to post Jani Hurskainen · Feb 11 How to take control of your own code snippets: The "old school" way: keep a "tidy" public or private repository from where you can easily import the code into any namespace with $system.OBJ.ImportDir The "new school" way: organize the code into a public or private IPM module (or modules). In case of public code host the module(s) in https://openexchange.intersystems.com/?zpm=1 Remember to be explicit about the license! Select top level package name (try to follow the de-facto naming rules) and organize the code there as you see best (use sub packages and classes). I don't know about public collections of functions but browse and follow-up the https://openexchange.intersystems.com/
go to post Jani Hurskainen · Jan 17 In addition they have to by case-insensitive unique. IMO this is s strange way of saying the name is case insensitive. If foo, Foo and FOO are consider the same name then the name is case insensitive. If foo, Foo and FOO are consider different names then the name is case sensitive.
go to post Jani Hurskainen · Jan 17 Err ... class names are not case sensitive? ERROR #5092: Name conflict on class 'Package.subpackage.classname' because class 'Package.subpackage.ClassName' has the same name but differs in case. Is there a related configuration option(s)?
go to post Jani Hurskainen · Dec 31, 2024 I just added a column to show completion of parts in the exercises - no part 1 only part 1 (silver star) 2 only part 2 (another silver star) 3 1+2 both parts completed (gold star) The option 2 is redundant. Part 2 only unlocks when part 1 has been solved.
go to post Jani Hurskainen · Dec 31, 2024 Now available on your favorite internet community portal: My little Advent of Code 2024 journey!
go to post Jani Hurskainen · Dec 31, 2024 If you update from IPM 0.7.x to 0.9.0 [...] I have no idea how one could update IPM and I don't see updating mentioned anywhere in the documentation. I created https://github.com/intersystems/ipm/issues/673 with a bit more background. Let's continue discussion there.
go to post Jani Hurskainen · Dec 23, 2024 Did you noticed the top level schemas import even more schemas? E.g. VSDService.xsd imports ../ConnectorContext.xsd that imports ConnectorCommon.xsd and so on. I know nothing about IRIS WSDL support but I suspect you have to have all the types from bottom-up.
go to post Jani Hurskainen · Dec 20, 2024 v0.9.1 has been out for some time now! https://github.com/intersystems/ipm/releases/tag/v0.9.1
go to post Jani Hurskainen · Dec 12, 2024 I'm definitely and permanently fallen behind and used already most of my annual skill+time puzzle quota. So I'm not expecting to solve more than 7 or 8 first days. However you'll get a small story about my learnings here when I'm done ;)
go to post Jani Hurskainen · Dec 9, 2024 Great! After I have upgraded it too we can have a session about my IPM usage scenario if you're still interested. I guess the session could take place on early January.
go to post Jani Hurskainen · Nov 22, 2024 I feel your pain. It's very frustrating to work with systems like that 😟I'd recommend to put as much "pressure" as possible on the upstream system to fix their MSH18. Or course that might not be a realistic option in your case.
go to post Jani Hurskainen · Nov 20, 2024 Can't you check MSH.18 - Character Set? See e.g. https://hl7-definition.caristix.com/v2/HL7v2.5/Fields/MSH.18 Or are we talking about something else ?
go to post Jani Hurskainen · Nov 20, 2024 Yes, this seems to make sense. However one will miss all this if just reading: https://docs.intersystems.com/irisforhealth20221/csp/docbook/DocBook.UI.... https://docs.intersystems.com/irisforhealth20221/csp/documatic/%25CSP.Do... As I did. I'll file a documentation issue 😒
go to post Jani Hurskainen · Nov 18, 2024 Currently we have in-house ObjectScript code to convert a JSON configuration file into OAuth2.ServerDefinition, OAuth2.Client et al. objects.
go to post Jani Hurskainen · Nov 18, 2024 Related: how do I configure locale with CPF? I didn't find an option. Currently we are running: do ##class(Config.NLS.Locales).Install("finw") set ^SYS("NLS", "Config", "Collation")="Finnish3" with iris terminal.
go to post Jani Hurskainen · Nov 14, 2024 I'm not sure if there is other options too but how about to convert the dates into strings? In select use to_char() and in insert use to_date(): select -- date to string with to_char() to_char(current_date, 'YYYY-MM-DD') as date1, -- string to date with to_date to_date('2024-11-14','YYYY-MM-DD') as date2