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 242
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 317
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 375
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 972
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 417
Article Robert Cemper · May 30, 2019 2m read BackgroundJobs over ECP Running a Background Job using the JOB command is a well-known feature.Using ECP to distribute databases to several servers is also well-known.But using the combination of both to run a process on a different serverseems to be a rare case. Sure there are enough other ways to start a remote job, but the specialcombination with ECP where the application server starts a process on adata server without additional networking is worth to be remembered. #ECP #Other 13 0 1 608
Article Robert Cemper · May 29, 2019 1m read Simple Remote Server Control This example is extracted from a long-running installation.The purpose is to have simple monitoring of several servers at a rather primitive level.Just slightly more intelligent than a raw PING. But still easy to integrate.It avoids the overkill of information you are often confronted with while you are justinterested in the number of active processes or similar basic figures.The example shows a basic skeleton that might be easily filled by your real needs. It consists of 3 sections: #Other 13 0 2 551
Article Robert Cemper · Mar 26, 2019 2m read Synchronize data with DSTIME Other Sync-Tools just work from Caché/IRIS to Caché/IRIS.Synchronizing your data to some external DB requires some other solution. The solution is available in Caché/IRIS since quite some time and works excellent.^OBJ.DSTIME does the magic.https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=D2IMP_ch_current#D2IMP_C23869 #InterSystems IRIS Open Exchange app 13 0 2 897
Article Robert Cemper · Feb 8, 2019 2m read Client Websockets based CSP The Caché / Ensemble standard distribution contains in namespace SAMPLESa nice example of a CSP page consuming WebService as a Client.I have modified it not only to display the replies but to feed them back into a Global.I used the classic Hyperevent to achieve this. The replies end up as a log in global^WSREPLY.When there is no input anymore the page closes and goes away. There are 2 versions with visible and hidden display during operation.dc.WSCSP.reverseVerbose.cls and dc.WSCSP.reverseHidden.cls #CSP #ObjectScript #Caché #InterSystems IRIS 11 0 0 492
Article Robert Cemper · Feb 8, 2019 2m read Client Websockets based on Node.js It will demonstrate the wide range that is openend by making useof the power embedded in Node.js and its adapter to Caché, Ensemble, Health,..*Node / JavaScript have wide reputation to work as a WebSocket client.By using the Caché adapter it becomes easy to control it and to consume the results as aClient for WebSocket Servers and to collect the replies in Caché, Ensemble, .. I used node-v6.16.0-x64.msi and cache610.node as cache.node You provide a Global for input: #Node.js #Caché 14 0 1 823
Question Robert Cemper · Dec 20, 2018 Issues on Mixed Mirrors of IRIS vs. Caché I'd like to make you aware of a trap I just fell into. #Compatibility #Mirroring #InterSystems IRIS 13 1 0 530
Article Robert Cemper · Oct 9, 2018 3m read Execute Server Commands from Caché / Ensemble / IRIS *** archived *** The question has come up several times and I saw mixed answers and no quick example My personal preference is using CPIPE device as you get back exactly the output you will get at the command line interface of your OS .The tricky thing is to stop reading in time.The example just displays what you normally see in your console.it becomes useful if you look for things that you can't get from any $system.whatever() #DevOps #ObjectScript #Tips & Tricks #Tools #Tutorial #Caché #InterSystems IRIS 15 5 4 2.2K
Question Robert Cemper · Aug 5, 2018 How to run Backup with Sharding In a single server environment, it is rather easy to create a transaction consistent backup. Simplified:You find (or force a specific point in time with no open transactions.Freeze your server, take a snapshot and you are done. #Artificial Intelligence (AI) #Sharding #InterSystems IRIS 12 3 1 449
Question Robert Cemper · Jun 10, 2018 Multi Language Sort I'm facing a specific sort problem.There are several thousands of articles sold all over. Users expect to get a description in local language sorted by their specific collation. #Indexing #SQL #Caché #InterSystems IRIS 11 6 0 615
Article Robert Cemper · Feb 27, 2018 2m read Dataset Lightweight M:N This data set demonstrates a basic M:N relationship between 2 tablesThe dataset is targeted to show a slim implementation of M:NIt's no question that other implementations exist. But at significantly more storage consumption. #Other 6 0 0 287
Article Robert Cemper · Feb 26, 2018 2m read M:N Relationship If you have worked with Caché Objects,You know already all about Relationships (one:many , parent:child) ...But you will not find a word on many:many relationships in the docs. But I met the question quite often from new adopters of Caché objects:"Is it possible to implement many:many relationships ?" YES - of course ! #Other 12 7 0 1.1K
Article Robert Cemper · Feb 16, 2018 2m read Adopted Bitmap The base class Bmap.Person defines persons within an organization distributedby various countries. All records are indexed by (Country, PersonalId).this structure doesn't allow use of bitmaps. So a wrapper class Bmap.PersonQ around the data eliminates the top level ofthe index (Country) and isolates the PersonalId (%Integer, MINVAL=1).We are ready to use a Bitmap index. A few performance figures on 300010 generated records.You see that Relative Cost are sometimes quite misleading. base #ObjectScript #InterSystems IRIS 14 0 1 854
Question Robert Cemper · Feb 1, 2018 Beautifying for Object Script ? This a spin of from For and If with one line: to brace or not to braceHas anyone seen or heard of a Beautifier for Object Script? There is a bunch of them out for XML, HTML, JavaScript, CSS, PHP, .... https://codebeautify.org/ #Coding Guidelines #Caché #InterSystems IRIS 5 8 0 1.3K
Question Robert Cemper · Nov 23, 2017 Where is the equivalent of INSPECTOR in Atelier ? See ! You probably have a similar experience.The more I use Atelier the more I miss INSPECTOR that I had in Studio! First for PROPERTIES that can inherit a variable number of Parameters beyond imagination.take %XML.Adapter as the most obvious.next:Where to find all inherited methods that I eventually want to overload? Take %Persistent as example. Or where or how can %OnBeforeAddToSaveSet() (the correct camel case) be overloaded ? #Beginner #Object Data Model #InterSystems IRIS 15 5 0 624
Article Robert Cemper · Nov 11, 2017 3m read Summary on Local Variable Scoping This should be an overview over a subject that pops up over several places in online documentation mostly as remarks and never as dedicated chapter. Once upon a time ... No it's not a fairy tale.In the beginning of Caché (and before) you had your partition to run your code. Part of that partition was a space with all your local variables nicely sorted by %,A,..Z,a,...z #Beginner #Caché #InterSystems IRIS 14 3 1 992