#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Article Danny Wijnschenk · Nov 13, 2017 5m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

Today, you have to find a path through a maze. To know if a coordinate is a wall or an open space, you will have to do a calculation like this :

x*x + 3*x + 2*x*y + y + y*y
Add the office designer's favorite number (your puzzle input).
Find the binary representation of that sum; count the number of bits that are 1.
  - If the number of bits that are 1 is even, it's an open space.
0
0 381
Article Daniel Kutac · Nov 10, 2017 1m read

As many of you, our partners, are more widely using modern UI frameworks to create client front-end, you may have encountered a question, "So how do I secure my data when I just finished developing all new fancy browser based client experience?"

The answer is easy. Use a standard, proven OAuth2 and OpenID!

"OK, but how can I do it? I have never done it before."

No problem, just have a look here, if your client is Angular (not AngularJS) based, there is a demo project available for you to review and get inspired!

1
0 1308
Question Soufiane Amroun · Nov 10, 2017

Hi community

i'm working on the validation user method , i found this following  code in the  \HSIE\%SYS\Classes\%OAuth2\Server\Validate.cls  

ClassMethod ValidateUser(username As %String, password As %String, scope As %ArrayOfDataTypes, properties As %OAuth2.Server.Properties, Output sc As %Status) As %Boolean
{
    // Check if user is defined.
    // We use local Cache user list as the shipped default.
    If '##class(Security.Users).Exists(username,.user,.
2
0 716
InterSystems Official Steve Brunner · Nov 13, 2017

InterSystems is pleased to announce the availability of the following maintenance releases:

  • Caché and Ensemble 2016.2.3
  • HealthShare Health Connect v15.021 on core technology 2016.2.3

Caché and Ensemble 2016.2.3 are available on the same platforms as 2016.2.2

The full list of corrections can be found in the release notes.

HealthShare Health Connect v15.021 for core technology 2016.2.3.903.0 contains the following HealthShare module:

  • Core: 15.021.
0
0 391
Article Robert Cemper · Nov 11, 2017 3m read

This should be an overview over a subject that pops up over several places in online documentation mostly as remarks and never as dedicated chapter.

Once upon a time ...  No it's not a fairy tale.
In the beginning of Caché (and before) you had your partition to run your code. Part of that partition was a space with all your local variables nicely sorted by %,A,..Z,a,...z

3
1 1211
Question Nikita Savchenko · Nov 12, 2017

I am trying to make Caché perform certain actions depending on whether a particular property of the object was changed using triggers.

For example, say I have this class:

Class Dummy.Class Extends %Persistent {

Property Name As %String;
Property Visible As %Boolean;

Trigger OnUpdate [ Event = UPDATE/DELETE, Time = BEFORE ] {
    if ({Published*O} = 0) && ({Published*N} = 1) {
        do .CertainAction({ID})
    }
}

ClassMethod %OnBeforeSave(insert As %Boolean) As %Status [ Private, ServerOnly = 1 ] {
    // .
6
0 825
Article Danny Wijnschenk · Nov 12, 2017 3m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

Today, you need to make a compiler for the language assembunny.
Luckily, this language has only 4 instructions :

cpy x y copies x (either an integer or the value of a register) into register y.
inc x increases the value of register x by one.
dec x decreases the value of register x by one.
1
0 493
Question Malcolm Needham · Nov 8, 2017

Does anyone know where to find a cache.node that works with Cache version 2016.1.1.108.0? I am currently getting  this:

Error: Unable to load shared library C:\InterSystems\TryCache\bin\cache.node''

I am using Windows 7 Pro + SP1.

Thanks!

8
0 691
Article Danny Wijnschenk · Nov 11, 2017 9m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

The challenge today is about microchips and generators. A microchip belongs to one particular generator, and the two can be on the same floor, or in the same elevator. But if a microchip is with another generator on the same floor or elevator, it will get toasted, except if his own generator is also on the same floor/elevator.

0
0 741
Article David Loveluck · Nov 8, 2017 5m read

Using the CSP Page Statistics

Application Performance Management

Introduction

A key part of Application Performance Management (APM) is recording the activity and performance of user activity. For many web applications the closest you can get to this is to record the CSP pages or CSP based services being dispatched.

If the pages or service names are meaningful and they indicate the business activity being performed the CSP page statistics can be very useful in building up a historical record of activity, performance and resource usage.

1
1 772
Article Danny Wijnschenk · Nov 9, 2017 4m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

Today's challenge is about decompressing input that is compressed in an experimental format.
In the format, markers indicate how much time a number of characters need to be repeated.

For example :

A(1x5)BC repeats only the B a total of 5 times, becoming ABBBBBC for a decompressed length of 7.
(3x3)XYZ becomes XYZXYZXYZ for a decompressed length of 9
3
0 662
Question Romero Terrones Esteve · Nov 10, 2017

Hello All,

what is the best method for search a portion of text in a non-indexed global?

I need to implement an autocomplete kind of search, in a global of >1M registers (text type, not $lb)

Maybe the best way would be use a SQL mapped class, with 'Bitmap' indexes?

Thanks in advance!

4
0 563
Question Sébastien Demoustiez · Nov 10, 2017

Hello,

Sorry for my epic english :(

I have a strange issue.

I have generated an encryption key with the tool (UI.Portal.EncryptionCreate.zen).

Then  I activate my key for data encryption (UI.Portal.EncryptionManaged) and encryption work fine.

But when I reboot my server the key is removed from the data encryption key list (UI.Portal.EncryptionManaged) and I have to re-activate the key.

Perhaps somebody have an idee ?

Cache version : Cache for Windows (x86-64) 2016.2.2 (Build 853U)

Windows: Windows Server 2012 R2 Standard

Thanks

Sébastien

2
0 445
Question Laura Cavanaugh · Feb 8, 2017

Hi all, This is a bit embarrassing, and not that critical.  I have a local instance of Caché 2016 on my computer, for playing around with.  I was attempting to set up two-factor authentication on this instance, and I thought I simply disabled all users except for my own user and enabled two-factor for this user.  The next time I tried to login to the Management portal, I received a Server Availability Error:

http://localhost:57772/csp/sys/UtilHome.csp

Caché Server Pages Version 2016.1.1.107.

9
0 2756
Question Thembelani Mlalazi · Nov 9, 2017

I am using a %GlobalStream to create as % stream.Object and writing that to a file but for some reason when I run that on the terminal I get <PARAMETER>zWrite^%Library.GlobalCharacterStream.1 and no file is created

I have tried the following here is my code and still get the same result  any help  appreciated

ClassMethod WriteNodes(myfile As %String)
{
  set status=##class(%XML.TextReader).ParseFile(myfile,.textreader)

  set ptemp=##class(%GlobalCharacterStream).%New()
  //check status
  if $$$ISERR(status) {do $System.Status.
5
0 3194
Article Danny Wijnschenk · Nov 4, 2017 6m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

The input in today's challenge consists of an encrypted name, a dash, a sectorID, a dash and a checksum between brackets.
A name is real if the checksum is equal to the five most common letters in the encypted name.

1
0 576
Article Danny Wijnschenk · Nov 5, 2017 4m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

The challenge of day 5 is to calculate a password of 8 characters by finding the MD5 hash of the input and an increasing integer index.
The password is constructed by taking the 6th character of the first 8 hashes that start with 5 zeroes (in hex representation).

1
0 532
Article Danny Wijnschenk · Nov 6, 2017 3m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

In today's challenge, you have to repair the communication with Santa : messages are coming in, but jammed.
By using repetition code (see also https://en.wikipedia.org/wiki/Repetition_code), you can find out what's in the message : by sending the same message a number of times, you can calculate which characters are most frequent on each position and find the most likely message.

1
0 479
Question Soufiane Amroun · Nov 3, 2017

Hi, team

i configure my authorization server and client and i want define access rights  for different users , how can i do it?

knowing that  we have our own database with different users ID and access privilege ?

is there any one who can help us? thank's

1
0 335
Article Danny Wijnschenk · Nov 8, 2017 3m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

The challenge of today has nothing to do with real two-factor authentication ! (sorry if you came to this article by searching the real thing)

For the complete explanation of the challenge, go to http://adventofcode.com/2016/day/8.

Your input (http://adventofcode.com/2016/day/8/input) consists of a series of three basic instructions to control the display of a screen.

1
0 338
Article Danny Wijnschenk · Nov 7, 2017 5m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

Today's challenge on http://adventofcode.com/2016/day/7 is about checking for valid IPv7 addresses with TLS support. (No, it has nothing to do with real ip addresses which are at most ipV6 or real TLS, but just a way to keep you busy coding & hacking!)

The imaginary ipV7 addresses support TLS if they contain an ABBA sequence outside square brackets and no ABBA sequence inside brackets.

2
0 524
Question Teresa Toler · Nov 7, 2017

I am a newbie to Cache and we are using dBeaver product to query against Cache tables. I have the following query which does a GROUP BY to aggregate the columns:

SELECT PtNumber,cpt4_OVR,CollDateODBC, COUNT(*)
FROM site.MGBILL_View 
  WHERE cpt4_OVR IN ('36415', '36416')
     --AND ChargeFlags = '0'
       AND CollDateODBC > DATEADD(DAY,-45,CURRENT_DATE)
  GROUP BY PtNumber,cpt4_OVR, CollDateODBC
  HAVING count(*) > 2

-This returns a count of 3 for each patient (aggregated)

But I need to display the actual 6 rows.

2
0 1193
Question Richard Housham · Apr 24, 2017

Hi I've created a word macro in order to convert doc to txt via the command line, this works fine via the command line by myself or another user but when I try as an the intersystems user which runs under  LocalSystem it doesn't work. 

So can I change the user, or set the $ZF to run as a different user?

Or do I have to try another way to convert doc to txt - it's looking like libreOffice?

I just wanted to stick with word because I could be guaranteed on the result being accurate.

Thanks

Regards

Richard

11
0 1462