During startup a Caché/Ensemble/HealthShare instance must consult a parameter file to get some information it needs at the early stages of startup. By default it uses the file called cache.cpf, but by adding an extra argument to the ccontrol start command you can make it use an alternative file.
We are planning to use Caché users on a SOAP web-service, so the WS-security tokens will be used. It will be username and password only for now. The passwords should expire on a regular basis and this will be configured in the system-wide security settings. The consumer of the web-service should be able to change their password on-demand or when it has expired, via a web-service call.
For the on-demand change, I can create a service method which can be called by the consumer to change the password.
Does calling the BIND method of %SYS.LDAP, with the username, domain and password of the user that needs to be authenticated- the right way to authenticate him/her ?
Also - am I correct in assuming that something like this is independant to (and I don't need to specify setting for), System Security -> LDAP Options
Hello, we have a few hundreds of triggers to port from Oracle to Cachè for a migration project, and many of them have to change (for example, normalize a value, null it, etc) the value which is being inserted.
The documentation says "You cannot set {fieldname*N} in trigger code." , so we're unlucky.
Is there a good workaround for this ?
SqlComputeOnChange doesn't seem the best way, but I'm not totally sure: for example normalization and validation could have a better place somewhere else than a trigger.
What are the differences between a process private global and a percent variable? Basically I have some code running in an Ensemble operation that processes requests, and it needs access to pieces of data that are scattered throughout XData blocks in various classes. Rather than opening the XData object and deserializing the XML on each request, I opted to cache this data in a percent variable, something like:
would like to know how to execute deployments through cache terminal..Are are there any function or scripts available for deploying ? Is there any direct cache command similar to GUI-deploy that will deploy ?
I have multiple namespaces in a Cache environment say NS1 & NS2. I want to add some restriction so that a routine running in the NS1 should not access any resource(global/routine) belongs to namespace NS2.
The above restriction need for few of the clients only, so we do not want to write any custom logic in code.
We are looking for some solution provided by Cache where we can restrict the namespace access.
and I see in the console log a message similar to follows:
"Journaling switched to: /cache/mgr/journal/20170330.002"
Now, is there a way to programmatically find out this journal file name? In fact, I am interested to find out the journal file that is switched. For example, in the above case, that would be "20170330.001".
Hello, Thanks in advance for all replies. I have been practicing setting up mirroring between two development servers in preparation for mirroring our production server in a few weeks. I started by setting the servers up with minimum security which worked easily, then I set it up in lock down mode again without any issues. Now I am setting it up in lockdown mode with encryption and this one is testing me. I have everything setup but my async dr member cannot connect to the primary.
We are working on creating a metadata file to accompany PDF documents produced by one of our third party systems for ingestion into our DMS. One of the pieces of data that the metadata file must contain is the number of pages of the PDF document.
In Cache ObjectScript does anybody know if there is currently a way of counting the number of pages within a file (specifically a PDF) without invoking a non-Caché ObjectScript program/function from within Caché ObjectScript?
NB. Please be advised that PKI is not intended to produce certificates for secure production systems. You should make alternate arrangements to create certificates for your productions. NB. PKI is deprecated as of IRIS 2024.1: documentation and announcement.
I am exploring a simple restore procedure for a Cache instance and would really appreciate any help.
Basically, I have a CentOS machine with a Cache instance and let us say I backed up all the mount points where Cache data is located (install dir, DAT files, journals, WIJ etc). On another identical machine (without Cache installed), I mounted all these file systems exactly using the same mount points so all the data is back with the same paths.
This sample can be used to create Identicons for users of app for example, it can be useful to use in Zen Mojo applications, generating an identifier image based on name of the user by example, but it can be used in others kind of applications too(Zen, CSP etc)
Inspired by the article "Declarative development in Caché" that's still trending on the dev com. The OP explored a functional style of iterating over a collection. A comment today suggested "Caché would need syntax support for anonymous functions".
With Macros you can kind of get anonymous like syntax using dot notation.
This is not production code, but it does work. First the macros...
This earlier article already announced the new iKnow REST APIs that are included in the 2017.1 release, but since then we've added extensive documentation for those APIs through the OpenAPI Specification (aka Swagger), which you'll find in the current 2017.1 release candidate. Without wanting to repeat much detail on how the APIs are organised, this article will show you how you can consult that elaborate documentation easily with Swagger-UI, an open source utility that reads OpenAPI specs and uses it to generate a very helpful GUI on top of your API.
Due to a new project I'm getting involved inside %Installer stuff deeper than ever I'd be happy to. Most of it was pretty easy to get, thanks to documentation, articles and SAMPLES example, while I can't dig good solution for one problem.
Can you create ad-hoc Caché relationship objects that are not part of the original Caché class definition? One of the drawbacks with relationships is that that the more relationships you have defined, the more difficult it can be manage. I was wondering rather than having all your relationships defined in the Caché class, could you programmatically create relationships between classes as and when they are required?