We at George James Software recently released a new version of Deltanji, the native source code management tool for Caché, Ensemble and HealthShare.
Version 6.1 includes several enhancements, including easy creation of labels. Bulk transfer of large codesets is also now available from the browser UI.
A perpetually free "install and go" Solo Edition of Deltanji is available. Licenses can be purchased for other editions that provide more advanced code management and deployment features.
Deltanji is compatible with Atelier. It can also manage external files.
ISCAgent is automatically installed with Cache, runs as a service and can be configured to start with the system. This is fine – but the complication comes when this is on VCS clusters with Mirroring on. When installing a Single Instance of Cache in a Cluster, point number 2. Says “Create a link from /usr/local/etc/cachesys to the shared disk. This forces the Caché registry and all supporting files to be stored on the shared disk resource you have configured as part of the service group.”
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
Parameters
In Sessions’ 20 and 21 on Parameters we saw how to call one routine from another with parameters as well as calling one Label from another with parameters. In these examples, the data was passed through the parameters from the calling routine or label to the called routine or label.
Now suppose you wanted the called routine or label to pass data back?
I am happy to share the news that Zen Mojo 1.1.2 has been released. This release includes a critical fix for Firefox that we had to get out as fast as possible. No other changes are included to allow easy upgrades. We recommend upgrading to this release if you are running on Zen Mojo 1.1.1.
All upcoming Caché and Ensemble releases will ship with Zen Mojo 1.1.2.
does anybody know how to differentiate ZSOAP failures when using %SOAP.WebClient? I would need to know what error condition occurred, e.g. authorization failed, endpoint timeout etc.
All I get on failure is an ZSOAP exception which does not seem to explain anything specific.
When we write unit test cases for cache object script code using %UnitTest.TestCase, what is the best way to write code to identify code coverage?
So, let say my unit test case hit all 10 lines of code of a method for a given class. So, unit test coverage should be 100% for that. But, using line-by-line coverage [(%Monitor.System.LineByLine] getting wrong percentage, because it also includes code comment/documentation as part of code. So, practically we can not ever achieve 100% of code coverage by using this API.
I have been following the online Zen Quickstart Tutorial using the lastest release documentation. In addition to playing around with the styling and making a few minor functionality tweaks, I wanted to add an additional column that shows a count of the number of phone numbers for that Contact (as shown in the image below).
In this article I would like to tell you about macros in InterSystems Caché. A macro is a symbolic name that is replaced with a set of instructions during compilation. A macro can “unfold” in various instruction sets each time it is called, depending on the parameters passed to it and activated scenarios. This can be both static code and the result of ObjectScript execution. Let's take a look at how you can use them in your application.
I have a persistent class where I am logging each CCDA I receive. I want to store all of the providers associated to that CCDA (many to one). In a relational database, I would have a child table with a foreign key to the primary table. I'm guessing the equivalent to Cache would be
1. Create a custom class (ProviderList) with the properties I want to store.
2. Add the class as a property of my CCDA persistent class.
Property Providers as Array of ProviderList (SQLProjection = "table/column";
Hello community; this may seem odd, but I need to know if there's any way we could be using callin functions from a C application without knowing? e.g. if other developers created some C programs that call in to Caché that we don't realize are running. Is that possible? If so, where would I look to see these programs? Perhaps the server's task manager?
This is the third article (see Part 1 and Part 2) where I continue to introduce you to the internal structure of Caché databases. This time, I will tell you a few interesting things and explain how my Caché Blocks Explorer project can help make your work more productive.
Here you have an easy way to write and execute COS code from your unix scripts. This way one does not need to write routines or even open Studio or Atelier. It can be an option for simple and small actions for instance things like installation tasks or compiling.
See sample bash script (compile.sh) to compile classes:
With a routine like this one, you can quickly calculate how many lines of code you are working with. And it is not only for routines, it works for classes because remember that classes generate routines !
The goal of this writing was to illustrate how to restore backup before the patch would be applied. The alert notes that:
The risk can be avoided by applying journals from the beginning of the journal file that was switched to at the start of the backup, rather than accepting the default of starting from the journal marker position.
Having non-patched Caché 2015.1.4, I ran sample database backup and restore just to get where I should answer "No". Collecting journal info from the backup log:
Now, let’s say you can’t access the terminal or simply you just rather execute it from a web interface. In this article, I will show you how to execute terminal commands from a simple web page.
For example, in the image below you see how we execute $zv on a webpage: