go to post John Murray · Feb 22, 2019 It's normal that you don't have INT code for library classes such as %Stream.FileBinary. When InterSystems builds the CACHELIB database that contains these classes they don't set the "k" compile-flag.
go to post John Murray · Feb 21, 2019 Take a look at methods in the %SYSTEM.Encryption class.Like many of the classes in the %SYSTEM package, you can easily access its methods via $SYSTEM, e.g. USER>d $system.Encryption.Help() 'Do $system.Encryption.Help(method)' will display a full description of an individual method. Methods of the class: %SYSTEM.Encryption AESCBCDecrypt(ciphertext,key,IV) This method performs AES decryption in Cipher Block Chained (CBC) mode. ...
go to post John Murray · Feb 12, 2019 Right. And this is the reason why the tool with XYZ.Classes should be installed in XYZ namespace - in this way even if I map XYZ to %All all the data persistent data for XYZ.Classes will be stored in XYZ namespace, even if I use it from USER namespace, right?This is only true if you explicitly add a global mapping of ^XYZ.* to the XYZ database (NB, mappings point to databases, not to namespaces). If you only mapped the XYZ package to XYZ, when an instance of persistent class of that package is saved from within the USER namespaces its data will get stored in the USER database.
go to post John Murray · Feb 12, 2019 Why do you think we need a prefix for globals? The matter to have a dedicated namespace/database for the tool frees us from this requirement, right?If tool XYZ is installed in namespace+database XYZ and consists of classes in the XYZ package that's %ALL-mapped from XYZ, default storage for persistent classes in that package will use globals ^XYZ.* which will get stored in the default data database of whichever namespace the tool is used in (e.g. USER). These globals mustn't clash with globals created in the same place by a tool from a different supplier, or by the end-user's own apps.If tool XYZ opts to consolidate user's data into the XYZ database, the natural way of doing this is with package mapping, in which case it's still necessary to avoid name collisions. There are ways the XYZ tool could use extended global references to route data into its private database, but this adds complexity.
go to post John Murray · Feb 12, 2019 Some initial thoughts:- There should be a central name registry, to avoid clashing on namespace/database names, package names etc between different package providers.- Consider assigning a top-level reserved package name (also prefix for globals and routines), and a namespace/database prefix, to avoid clashes with names that end-users of the tools might pick.- What's the upper limit on namespaces? Databases? Any relevant constraints for Community Edition of IRIS?- Adding a namespace for each tool package will lengthen namespace lists in Studio, Portal etc. Maybe tools don't always need a namespace in front of their database. Ones that present a web app / REST interface probably do (at the moment) because of how the app config has to point to a namespace.- Tools should be able to register stuff that needs to be run during environment startup and shutdown. The current need to create/edit %ZSTART / %ZSTOP routines is clunky.
go to post John Murray · Feb 12, 2019 What platform are you running Cache on? And what Cache version? Can't you access the Windows fileshares directly from ObjectScript without needing to call out through the Java gateway?
go to post John Murray · Jan 31, 2019 Perhaps there's a faulty cached query.The 2012.1 docs here describe how to use Portal to see what's in the cache, and how to purge items from it.
go to post John Murray · Jan 25, 2019 The IRIS-based products don't ship a SAMPLES database. Instead there's a documented procedure for setting up your own, then fetching the samples you want.
go to post John Murray · Jan 23, 2019 In that case I'd like to lobby for devchange JGM785 to get into Ensemble 2018.1.2. This devchange addresses a longstanding weakness in Portal, namely that its schema editor didn't respect server-side source control.
go to post John Murray · Jan 23, 2019 Is there an ETA for 2019.1 preview versions of Caché and Ensemble, for those who haven't yet migrated to InterSystems IRIS?
go to post John Murray · Jan 17, 2019 I shall be there from the Tuesday lunchtime until Wednesday night and will be happy to demonstrate it wherever people want to gather round my laptop. There isn't a Partner Pavilion at the event.
go to post John Murray · Jan 17, 2019 I shall also be there with the VSCode extension from George James Software.
go to post John Murray · Jan 17, 2019 It's now confirmed that I shall be attending the InterSystems Benelux Symposium.
go to post John Murray · Jan 16, 2019 Sorry about that David. I've edited the post to include my email address.
go to post John Murray · Jan 16, 2019 Yes Herman, we hope to be there. But if you'd like to get your hands on it before then please contact me as indicated above.
go to post John Murray · Jan 15, 2019 My guess is you're not testing the SQLCODE variable's result before you try and access the KeyID host variable.Docs here.
go to post John Murray · Jan 14, 2019 To use our extension you have to install some code on the target server. This code works on the latest platforms (e.g. the IRIS 2018.2 Field Test container) and on versions back to well before InterSystems' Minimum Supported Version. Indeed, one of my targets is still on 2008.1.So a single VSCode instance can connect to many different server versions.Does that answer your question Robert?