#Caché

1 Follower · 4.5K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Article John Murray · Mar 11, 2016 1m read

In this posting I want to raise the profile of a feature that arrived in 2009.1 but is perhaps not very well known.

It is sometimes useful to make certain packages, globals or routines available to all of your namespaces. Of course you can add the necessary mappings whenever you create a new namespace, but here's a simpler way.

6
0 1587
Article Michael Braam · Feb 20, 2017 14m read

Overview

Encryption of sensitive data becomes more and more important for applications. For example patient names, SSN, address-data or credit card-numbers etc..

Cache supports different flavors of encryption. Block-level database encryption and data-element encryption. The block-level database encryption protects an entire database.  The decryption/encryption is done when a block is written/read to or from the database and has very little impact on the performance.

9
2 1834
Article Orion Correa · Mar 14, 2017 2m read

A feature I recently used in working on ISC internal applications is the ability to send emails on behalf of someone. This is useful when generating system notifications from an application when you want some of them to show up as being from a specific person, perhaps posting comments on a work ticket.

In my case I was updating our facilities work order system for tracking requests. Normally all notification emails are sent from the same noreply email address. I wanted to change that so comments added from the original requester would show up as being from them and stand out. 

2
0 1074
Question Stephen Wilson · Oct 18, 2016

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).

The idea here is that you can see what contacts have phone numbers without having to click on the "view phones" link. All I have done here is add a blank additional column to the %ZEN.Component.tablePane object

4
0 576
Question Stephen Wilson · Mar 14, 2017

I have a tablePane ZEN Component and I am trying to get a filter running on the Specimen Id / Lab Number. The SQL is fairly complex with 3 UNION ALL statements joining 4 tables and a couple of lookup tables.

How would I get the filter on SpecId to work for my tablePane? It's not automatically applying the filter for me so I think I need code something.

1
0 478
Question Andrew Makinson · Jan 25, 2017

Using a <FORM>

The OnLoadForm attribute calls a method but doesnt allow definition...

It seems to send pKey and accepts back pValues

Method LoadForm(pKey As %String,
                ByRef pValues As %String) As %Status

 

Is there any way to send more than just pKey as I need multiple values when loading the form.

1
0 364
Article John Murray · Mar 4, 2016 1m read

There's plenty of goodness in the %-packages InterSystems supplies, and it seems that every new version of Caché brings something new. The browser-based class documentation (a.k.a. Documatic) generally provides a good level of information, but on the basis that "a picture is worth a thousand words" I sometimes want a diagram.

For example, when trying to navigate the %Dictionary package for a project that needed to find out about class definitions, here's one of the UML class diagrams I created.

7
0 1689
Question Stella Ticker · Mar 13, 2017

A method to convert certain non-readable ASCII characters in a %Stream.FileCharacter object first copies it into a %Stream.FileBinary object and then loops through each character one at a time to find and convert these offensive characters to our interpretation of their readable ASCII equivalents  . The loop is sequential (while 'bStream.AtEnd) and is taking too long for large files. Any suggestions for an existing Cache method to do this or is there another way, besides a sequential loop, to examine every character of  a binary Stream?

2
0 939
Question Scott Beeson · Feb 5, 2016
selecttype ; select gateway or ihe
     read "Deployment Type? (G)ateway or (I)HE: ", dtype
dataentry ; first data entry routine
     if (dtype="G") {
          set dtypeFull = "Gateway"
     elseif (dtype="I") {
          set dtypeFull = "IHE"
     else {
          write !,"Invalid Choice",!
          goto selecttype
     }
     Write !, "Starting ", dtypeFull," deployment..."

This was what I first wrote.  Here is the test, first putting in an invalid value:

Deployment Type? (G)ateway or (I)HE: F
Invalid Choice
Deployment Type? (G)ateway or (I)HE: G
Starting Gateway deployment...

 

19
0 754
Question Sameera B K · Mar 10, 2017

Hello,

I am trying to integrate the Git with Studio. I have followed the below process to achiche Git tab in my Studio for Namespace

https://github.com/intersystems-ib/cache-git-studio

But I am getting the below error when I trying to Add the file. GitCodecache is my git repository.

fatal: c:/GitCodecache/cls/User/Testing.xml: 'c:/GitCodecache/cls/User/Testing.xml' is outside repository

class '%Studio.SourceControl.Interface', method 'GetStatus': <ILLEGAL VALUE> 78 zStatus+8^Studio.SourceControl.Command.GITClient.1

3
0 1639
InterSystems Official Andreas Dieckow · Dec 7, 2016
Post has been edited for clarification: Both HP Open VMS versions (for Itanium and for Alpha)  are discontinued for future InterSystems releases.
 
Future product releases, beginning with the next major release after 2017.1, will no longer be offered for the following platforms:
 
HP OpenVMS  for Itanium
HP OpenVMS  for Alpha
 
Products: Caché, Ensemble
 
Expected Availability: next major release after 2017.1
1
0 1195
Question CM Wang · Mar 10, 2017

Hi,

I have a stored procedure which would generate a standard Cache String and it would be called through JDBC and I would

dump the result in java console/standard output.

What kind of characters should I use in COS so when output get send back to Java side, it knows it contains new line character ?

Thank for your help.

2
0 614
Question Thomas Chericka · Dec 15, 2016

Hi, I've organized my repository using TortoiseSVN. I was careful to use only svn commands while creating my file structure. Now all Subversion commands are working at the command line but not from within my IDE (Cache Studio). Basically I'm trying to write a plug-in for my IDE to use Subversion from within the Studio. Trying to integrate Subversion into my IDE, something like Subclipse, but for Cache Studio.  The error occurred after reorganizing my code into directories. For example at the command-line, svn info and svn status and all other commands work perfectly.  All Subversion commands

8
0 1548
Question Norm Dressler · Jan 10, 2017

Hi Group, I've followed the instructions from the documentation to configure LDAP and Ensemble to authenticate, however, I'm unable to authenticate using an account in the LDAP.  The user is able to authenticate in a Linux shell.  I have added the ObjectClass of IntersystemsAccount and the 3 group definitions to the schema.  Other than adding the user to this group, do I have to change the user's objectClass at all?  

This is not on active directory - it is a Linux based LDAP solution (slapd).

3
0 859
Question Susobhan Pandit · Jan 15, 2017

Hi,

I am saving 2000 objects of a class in a loop.

In one environment it is taking a total of 86 seconds and in another environment it is taking 0.55 seconds.

The code (the class and the code for save) is same for both the environment. I have Ensemble 2012.1.5.956 

Can somebody help me to identify the cause of the discrepancy. Is there any memory or any other setup which may cause the problem.

Thank you in davance,

Susobhan

2
0 259
Question Alexander Grishkan · Mar 8, 2017

I am sending an HTTP request to cache class:

s rObj=##class(%Net.HttpRequest).%New()s rObj.Server="www.xyz.com"s rObj.Https=1s rObj.SSLConfiguration="xyz"s rObj.ContentType="application/json"d rObj.EntityBody.Write("payload in json format")s sc=rObj.Post("/csp/ns/xyz.cls")

The request gets to the OnPreHTTP class method 

Class xyz Extends %CSP.Page [ ProcedureBlock ]
{

ClassMethod OnPreHTTP() As %Boolean
{
    q 1

}

}

The question is how to retrieve the request payload in the OnPreHTTP method.

4
0 1242
Question Ben Spead · Mar 7, 2017

I am trying to write some code that takes in a string and does a serverside transformation of it to find embedded URLs and replace it with clickable links.   I found the following regex for Javascript which is rated highly on StackOverflow;

    replacePattern1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
    replacedText = inputText.replace(replacePattern1, '<a href="$1" target="_blank">$1</a>');

And I tried to do the following in Caché ObjectScript but it's not working:

3
0 640