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...
Several years ago everyone got mad about BigData – nobody knew when smallish data will become BIGDATA, but all knows that it’s trendy and the way to go.
In the prior part of this series we have provided introduction to Google MapReduce approach, but still not covered their possible ObjectScript implementation. Which we will start to explain today.
In part I of this series we have introduced MapReduce as a generic concept, and in part II we started to approach Caché ObjectScript implementation via introducing abstract interfaces. Now we will try to provide more concrete examples of applications using MapReduce.
After a five-part series on sample iKnow applications (parts 1, 2, 3, 4, 5), let's turn to a new feature coming up in 2017.1: the iKnow REST APIs, allowing you to develop rich web and mobile applications. Where iKnow's core COS APIs already had 1:1 projections in SQL and SOAP, we're now making them available through a RESTful service as well, in which we're trying to offer more functionality and richer results with fewer buttons and less method calls. This article will take you through the API in detail, explaining the basic principles we used when defining them and exploring the most important ones to get started.
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?
Here are some news on Developer Community enhancements.
In March we fixed a lot of bugs and rearranged the notification system, so I hope you'll be happy with it now.
Enhanced content of the notification
With this new release in every email notification you'll see the reason, why did you get this particular notification and the option to unsubscribe of this types of notifications.
I'm pretty new to Ensemble and Cache, and I ran into an error today that I haven't seen before: "ErrNoResponseClass: No Response Classname is assigned for Request class <<someNumber>>". I haven't found much documentation about this beyond the Ensemble Error Codes document, which is essentially just a duplicate of the information I can see in the error message when this problem occurs. Is there any further information about this error and the conditions that cause it? Or perhaps what the <<someNumber>> value represents?
This article assumes that you are familiar with Zabbix and SNMP monitoring, if not, there are some very interesting posts on the Community, especially this one (https://community.intersystems.com/post/creating-custom-snmp-oids) which contains a lot of information on how to configure and request an SNMP Cache server.
I have a 100% ZEN application combined with 100% ZENReports and am also using IFind which is part of the solution.
Our application is a cloud hosted solution where we lease a server which does not have a website, only Cache configured under IIS. Connectivity to our site is premised on a URL string such as u12345.usa-server.com/csp/namespace/Cache.cls
Given location in INT code, as Cache usually reports on error (zWriteReport+25^SomeFile.1), is there any programmatic way to determine corresponding place in original source code?
Call a web service to get an authorization key, comes back as a simple string
Create a request object with data from the HL7 message and send it to the Web Service
The main web method call requires that key I received as a Soap Header element. All I can pass to the SOAP Operation business class is the request object with the data I plucked from the HL7 payload. Nothing in that particular request message has anything in it that tells anything to send the header, too.
I have a number of Business Process and due to the complexity these were created as "custom code" instead of BPL.
These processes currently invoke other components using SendRequestSync. For a couple of reasons I would like to be able to change these to use SendRequestAsync:
English word ="Other anemias" It is converted to french as printing "Autres anemies".But correct word is " Autres anémies".I wrote a program in the cache. But did not get the correct output.So How to solve this issue
Let's say I have two classes: A and B. They share no common parent except %SystemBase. But these classes have some properties with the same name (type may be the same or not):
Class A {
Property data As C;
Property data2;
}
Class B {
Property data As D;
Property data3;
}
I need to automatically convert object of class A into object of class B. I'm planing to write a class generator that generates a separate class that converts A to B. It would work like this:
Currently, we have an application running in one namespace ("Database B") that has globals and routines mapped to another database ("Database A"). After enforcing clean up on Database A, we found that 90% of the disk is free. We would like to compact Database A and release the unused space. However, we are running OpenVMS, which seems to be the issue.
For databases consisting of only globals, we are able to use ^GBLOCKCOPY; however, we need to ensure that the routines and mappings are also copied.
Is there some setting I'm missing with Atelier when it comes to auto indentation or something not supported yet? I noticed that it won't set the correct indentation when it comes to closing curly braces, as well as no auto indentation when I go to the next line after a beginning curly brace. If it's not something currently supported, is there any ETA on this?