Let's say the user need to execute some heavy code (build a report, or extensive calculations etc.). So, of course it needs to be asynchronous, and we possibly need to store some data about execution status. How?
This morning on the old Caché Google Group, someone posed the following question, which I've decided to answer here, because it's interesting!
Is there a way to iterate ClassMethod's params, and get param's names and values?
The first answer I can come up with is: it's not easy! In any method, you could try to write code like this (where methodName is the name of your method):
In preparation for a presentation I need a real-world LDAP schema that has been customized a bit beyond the basics. Perferably this would be based on an OpenLDAP system which would make it easier to merge into this presentation.
If you have such a schema you would be willing to share please respond or contact my directly at Rich.Taylor@InterSystems.com
SELECT EventType, InitiatedAt, COUNT(*) as cnt
FROM HS_IHE_ATNA_Repository.Aggregation
WHERE EventType = 'LOGIN'
AND LocalDateTime > '2016-02-16 11:00:00'
GROUP BY EventType, InitiatedAt
We do have a production including a SOAP.OutboundAdapter that make a request to a .NET WCF Service. The response from that service vary in size. When it come to large one, we talk about maybe 8000 records (with 6-8 attributes per record) in xml, the adapter always give a timout. Even if we put a high number of seconds or set -1. After 1 1/2h still nothing get back. It's just standing there and waiting for ever.
Our .NET developer have look at it (on the WCF-service) and from ther point of view they say that it seems like Ensemle can't handle such big responses.
I'm interested in different approaches on how to store user data in Caché. I'm assuming that application uses Caché security/Caché users and not a self-made authentication system.
I'm revisiting some older projects that can benefit from the new JSON support and dynamic object capabilities in 2016.1 FT / 2016.2 FT. (Particularly, some of the really new features in the latest 2016.2 FT.)
For the particular thing I'm working on, it would be very handy to be able to merge objects, similarly to https://api.jquery.com/jquery.extend/. The closest thing I've found so far (in 2016.2 only) is:
Set o1 = {"a":1,"c":2}, o2 = {"b":1,"c":1}
Write "o1: ",o1.$toJSON(),!
I'm writing some custom functions for use in a routing rule. I have a few that are working, but right now I'm trying to use one that has no parameters. Typically this would be a sub instead of a function, but I'm not familiar enough with Cache to know what I need to do here.
I've searched the ObjectScript reference for any instances of Upper, Lower or Case and the only thing is a case/switch statement. In all the documentation I can only find SQL and Cache Basic references for things like UCASE.
Has anyone come up with a way to create a separate thread of processing that can achieve shared access to a set of objects created from the initials process? The situation is this. There is a large complex set of objects representing a business process. Some of these objects are in-memory only. The desire is to spin off a separate thread that could do some ancillary processing on this data set without slowing down the main process. Any thoughts?
Most of projects on Caché, obviously, written not only in Cache ObjectScript, and should contain sources in other languages. Such as js or css for web-projects or any others. And it would be pretty good, if I could see all of files in one project, and possible to edit all of them. How to be in this case ?
And I think it is not a good idea, to place all project's sources in one root folder. Our project contains over 3 thousands classes and routines, and it is too difficult to find anything in such folder. Is not a good for it to use Java-way, and place every package in subfolder ?
The minimum interval between invocations of the adapter by the Ensemble framework. For adapters that poll for external events, this is the polling interval. However, most polling adapters will process all inputs immediately if several are detected at one time.
I'm designing a workflow for PHR via FTP. What I've done is create a single FTP adapter to pick up files from multiple customers. A router then accesses a lookup table and determines if a particular customer is allowed to send a particular message type to the state. If not, the message doesn't go out. It seems like everyone is against this approach (other than my CEO, thankfully), including Intersystems:
Is there a recommended way to deal with the unattended reboot that happens when Windows Updates are applied? These reboots cause issues with running Ensemble produtions.
I created an iKnow domain, where I supplied dictionaries, blacklist, metadata and stemming. The datasource is a table.
I would like to use iFind semantic search feature. It is said in the documentation that iFind use iKnow semantic analysis. But I want iFind to use the iKnow domain configuration I created earlier earlier. How can I do that ?
Is there any simple way to query data about processed messages in all Ensemble productions?
What I ultimately would like to do is to periodically export that data to another system and run statistics on it.
I've been digging around in the SQL tables view and Ens.MessageHeader seems to contain most of what I'm after.
Using ODBC I could access that table view and query data, but only for one namespace per DSN it seems.
Is there a possibility to map a CSP page residing in namespace ABC to a namespace XYZ so you could access it as if executing from XYZ: http://localhost:57772/csp/xyz/MyPage.csp ? Some odd cocktail of web application and package mappings that could make this happen?
The idea is to keep the CSP page in sort of a read-only namespace that only contains code, with the data residing in another namespace. This works for zen pages, but not for CSP.
Has anyone implemented the 'DeepSee Visual Reporting' tool in realtion to TrakCare? If so, has anyone used it to customise Zen reports for TrakCare questionnaire preview/printing?