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 292
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 879
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 10 0 1 296
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 12 0 1 1.1K
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 756
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 538
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 14 1 2 654
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 895
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 605
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 546
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 721
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 12 0 0 678
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 651
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 13 0 0 603
Question Robert Cemper · Oct 31, 2019 Unknown Licensing Message ? I find in my message.log an entry I've never seen before: 10/31/19-16:00:22:562 (9056) 0 InterSystems IRIS license file (iris.key) must be validated with License Server. What does it try to tell me?Is there any action expected? #InterSystems IRIS 7 5 0 293
Question Robert Cemper · Sep 12, 2019 Features of *ENSTEMP ENSTEMP was addressed already some time ago; Article: Preventing Globals From Getting Journaled (Continued from How do I Minimize My Journals) and is also in public documentationWhere InterSystems IRIS Stores Temporary Production Data Though I'd like to understand if this is just naming a non-journaled DBor are there also typical features of CACHETEMP / IRISTEMP related to it: automatic clean-up at system startup keeping Global Buffers in memory as long as possible late writing to the storage file In other words is it a 2nd, 3rd, .. fully feature blown IRISTEMP ? #Other 7 1 0 372
Question Robert Cemper · Sep 1, 2019 Durable %SYS Directory for Caché/Ensemble ? IRIS offers Durable %SYS Directory as a highly useful feature for working with containers.Before inventing the wheel once more I'd like to know if a similar feature also exists for Caché / Ensemble.Official documentation is quite silent about.Though I have some names in mind that might know more about ( @Luca Ravazzolo ? @Dmitry Maslennikov ? @Eduard Lebedyuk ? ) #Containerization #Docker #Caché #Ensemble 8 7 0 449
Article Robert Cemper · Jun 10, 2019 1m read more usefull Object Dump During testing your code you are often confronted with the need to examinethe actual content of an object. Either using ZWRITE or $system.OBJ.Dump()you get a picture of simple properties as "--- attribute values ---"while "--- swizzled references ---" are more confusing than informativeand with "--- calculated references ---" you are just left in the lurch. This small helper class allows you to dump an object to terminal ore.g in background to some stream for later review.By default, you see just properties with content, #ObjectScript #Tools #InterSystems IRIS 16 0 1 1.1K
Article Robert Cemper · Jun 5, 2019 1m read Using Interjob Communication (IJC) Earlier I've written about command pipes.This is the internal variant of a PIPE. To make this more tangible and visible for you I prepared a small example The scenario is to run a monitoring process that receivesinput from an unknown number of sensors. (Could be Lab equipment or similar.) #Other 12 0 0 449