Article Robert Cemper · Jun 29, 2020 3m read Terminal Multi-Line Option The Command extension enables the execution of Multi-Line Commands from Terminal prompt. Installation & Execution Import %ZML.xml to Namespace %SYS Optionally you may add this line to your %ZLANGC00.mac for a simplified use: ZML do ^%zml quit ; add multi line command in terminal and USER>zml otherwise, just call it from the terminal command prompt #Other Open Exchange app 10 0 1 687
Article Robert Cemper · Jun 25, 2020 12m read Backport %JSON.* to Caché Attention: This is a coding example working on Caché 2018.1.3 It will not be kept in sync with new versions It is also NOT serviced by InterSystems Support ! Full backport from IRIS for Windows (x86-64) 2020.1 (Build 215U) Mon Mar 30 2020 20:14:33 EDT IRIS brought us an excellent %JSON.PackageIt is an essential component of the Project Manager (ZPM)This backport makes it available also in Caché and builds a base to eventually backport also ZPM. #JSON #Caché 15 5 0 562
Question Robert Cemper · Jun 6, 2020 Fast disable Interoperabiliy ? When I start a fresh installed IRIS or a Container I always find Interoperabiliy (aka. Ensemble) mapped to namespace USER. Is there any utility to remove this mapping by a click ?unmapping it global by global, routine by routine, Package by Package is just a boring exercise. To be clear: I look for a utility inside IRIS. The external utility is obvious: Notepad (or any other text editor) - clean iris,cpf,- restart IRISIt's fast, it's efficient, but it's really hardcore. #Management Portal #Mapping #Namespace #InterSystems IRIS 7 4 0 315
Question Robert Cemper · Jun 3, 2020 Moving Code from IRIS to Caché I'm sure it was mentioned in some thread. I just can't find it anymore.There is some setting that allows exporting .mac,.int,.cls from IRIS in a waythat it can be imported by Caché without fiddling in the generated XML files #Tips & Tricks #Tools #Caché #InterSystems IRIS 7 6 1 619
Question Robert Cemper · Jun 2, 2020 Local editing in WebTeminal ? In the default IRISterminal or using PuTTY I have a set of "Routine Commands" available #Development Environment #ObjectScript #Terminal #Testing #Caché #InterSystems IRIS 6 9 0 342
Question Robert Cemper · Jun 2, 2020 Help on WebTerminal performance Running WebTerminal from OpenExchange over HTTPS could be a very secure access method for remote developers.So I was asked to compare it to other access tools. #Terminal #Caché #InterSystems IRIS 7 4 0 308
Question Robert Cemper · May 24, 2020 Merging Docker Images I found the need to merge 2 Docker images(e.g. intersystems/iris-community:2020.2.0.199.0 + my home grown NodeJS Image).I found some advice on the Web but no real convincing solution. #Containerization #Docker #Testing #Tools #InterSystems IRIS 7 7 0 3.7K
Question Robert Cemper · May 20, 2020 Wanted : IRISsession for Windows In Cache for Windows (x86-64) 2018.1.3 (Build 414U) I found something very useful %installdir%\bin\Csession.exe #Microsoft Windows #Microsoft Windows Server #System Administration #Terminal #Tools #InterSystems IRIS 9 4 1 897
Article Robert Cemper · May 14, 2020 1m read IRS Docker micro Durability Allow limited durability for demo and development IRIS-Docker-micro-Durability During development of a container based demo I found the need to access a fresh dockeran instance of IRIS image (e.g intersystems/iris-community:2020.2.0.199.0) over and over.To bypass loading my code repeatedly I developed this workaround. It is a reduced variant of Docker - light weight durability #Containerization #Development Environment #Docker #System Administration #Testing #Tips & Tricks #Tools #Ubuntu #InterSystems IRIS Open Exchange app 10 0 1 306
Article Robert Cemper · May 14, 2020 3m read websocket-client-js * iris-native-api * docker-micro-server Using the IRIS native API for Node.JS was the opportunity to presenta MicroService operating in a Docker container.A demo video is now also available to watch the demo in operation. #API #Node.js #ObjectScript #Video #InterSystems IRIS Open Exchange app 12 0 1 1.2K
Question Robert Cemper · May 7, 2020 Docker vs. Durability Working from home during these Corona-days I'm short on resources.- no Linux machine available- limited disk spaceSo I decided to give Docker in Windows 10 (named Docker Desktop) a try. #Containerization #Docker #Field Tests #Microsoft Windows Server #Tips & Tricks #Tools #InterSystems IRIS 9 10 1 776
Article Robert Cemper · Apr 27, 2020 2m read Multidimensional Property Persistence - Part 2 (New Age) While the classic solution followed rather close the concepts and design of the ancestorsCaché / IRIS allows a more modern approach to flexible/multidimensional properties #Other 13 1 0 544
Article Robert Cemper · Apr 27, 2020 4m read Multidimensional Property Persistence - Part 1 (Classic) As you know in Caché / IRIS you have the possibility to define a property as Multidimensional as documented here: https://docs.intersystems.com/iris20201/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_proplit#GOBJ_proplit_multidimand the explanation of how to use ithttps://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=GOBJ_proplit#GOBJ_proplit_multidim_valuesThough the access is quite comfortable (in traditional COS sense) there are 2 main restrictions that hurt:#1) It is not saved to disk unless your application includes code to save it specifically.#2) It cannot be stored in or exposed through SQL tables there are some moreI'll show how to overcome these limits #Other 15 1 3 677
Article Robert Cemper · Apr 26, 2020 5m read Materialized Views A VIEW in SQL is basically a prepared SQL statement.It has to be executed and assembled like any other SQL query.MATERIALIZED VIEW means that the content is collected before hands and can be retrieved rather fast.I saw the concept first with my favorite competitor named O* and they made a lot of noise about it. { favorite: because I could win every benchmark against them } #Other 12 3 1 924
Article Robert Cemper · Apr 25, 2020 2m read Semi-Persistent Classes and Tables If you define a Persistent Class / Table the class compiler generates for you an appropriate Storage definition.A different option is to define a SQL mapping for an already existing Global storage. This has been excellentlyexplained already in a different series of articles. The Art of Mapping Globals to Classes 1 of 3 #ObjectScript #Other 10 7 1 620
Article Robert Cemper · Apr 25, 2020 2m read Static WHERE Conditions The typical WHERE condition in SQL relates mostly to some content of the rows you work on.So it needs to be calculated and checked for each row you access.Differently (and that's why I named it STATIC) is a WHERE condition that is independent of the rows you access. #Other 14 2 1 558
Article Robert Cemper · Apr 4, 2020 3m read Websocket Client IRIS internal IRIS 2010.1 brought us a new feature: %Net.WebSocket.Client As a continuation of my series of WS Clients I just couldn't resist to try it.Well, this is the result and it was rather simple in the end. After I succeeded in my personal fight against Windows Firewall ;-) You basically need to prepare 3 classes: #ObjectScript #InterSystems IRIS Open Exchange app 12 0 0 745
Article Robert Cemper · Apr 4, 2020 1m read Websocket Echo server IRIS In Caché you had an example of a WebSocket Server in namespace SAMPLESWith IRIS the samples are gone and require additional installation effort. So I refurbished the code with some useful additions: independent of namespace timeout control from client readable communication log This contains 2 classes: #Interoperability #Testing #InterSystems IRIS Open Exchange app 12 0 0 687
Article Robert Cemper · Apr 3, 2020 1m read ...ToLogical / LogicalTo... Visualization A recent discussion made me aware that the documentation on DataType classes is excellent.http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...I just miss the visualization of the methods for Data Format Conversions. #Other 14 0 0 659
Article Robert Cemper · Dec 9, 2019 1m read SUDOKU demo A demo in traditional style COS This was written based on a previous trial in .XLSIt is far from being perfect. Rather a challenge forimprovement in all directions (code, interface, ...)So anyone feel invited to make it better. #Other Open Exchange app 13 0 0 614