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.
Several approaches, I'm familiar with:
InterSystems Caché is a multi-model DBMS and application server. See more details here.
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.
Several approaches, I'm familiar with:
Looking at a property defined as follows:
Property SystemTime As %Library.TimeStamp [ SqlComputeCode = {Set {*}=$ZDATETIME($NOW(),3,1,0)}, SqlComputed ];
The documentation talks about using SqlComputed and SqlComputeCode with SqlComputeOnChange (specifying which events will trigger computation), and about using them with the Calculated keyword (so it's always computed). I don't see any specific explanation of the case above, though, when neither SqlComputeOnChange nor Calculated is specified.
From a bit of testing, it seems that the behavior is:
Given the following code:
I get <UNDEFINED>start+4^DeploymentTool *tstVar
I also tried setting the variable outside the start method but that doesn't work either. I realize I could pass tstVar to the TestIt() routine but I'm trying to create a couple variables that will be reused repeatedly so that doesn't really work.
Hello,
I am trying to log the output of csession in Linux. I try this command:
csession cache | tee myoutput.log
Although it works each new lines at screen output doesn't appear at row 1...
Any tip?
I am pleased to announce the third 2016.2 field test kit, 2016.2.0.590.0.
In the week since the last field test posting Development has made over a hundred fixes and improvements in Atelier, Enterprise Manager, Ensemble and Caché. Unlike the previous field test kit, though, in which the changes were distributed evenly over multiple areas and products, in this kit over half of the changes are associated just with Atelier.
Please download the kit and give it a try; the latest field test of 2016.2 is available HERE. And, as always, we welcome your feedback.
Steve Glassman, Director of QD
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.
So how do I do this in ObjectScript?
For instance, if (ucase(dtype)="G") { }
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?
Hi!
Are there any plans to support Kerberos authentication in Atelier to Caché connection?
Thank you.
Do to unforseen circumstances the Atelier build that was distributed with the Cache 2016.2 field test had certain incompatibilites which prevented it's effective use with the server that it was bundled with.
We are working on remediating this regretable situation and will provide a compatible Atelier in the 2016.2 field test refresh which is scheduled for today Monday, 1st of Februrary.
We sincerely apologize for any inconvenience so caused.
Hi,
Do you know how to export SQL errors to a text file from a terminal session in Caché?
Thanks
I am pleased to announce the next in the series of 2016.2 field test kits, 2016.2.0.585.0.
In the two weeks since the last field test posting Development has made over a hundred fixes and improvements in Atelier, Enterprise Manager, Ensemble and Caché.
In Atelier alone there were over a dozen changes including a fix for the incompatibility issue that Jamie Newton described in his posting of February 1.
In Caché major areas of focus include:
What do you do if you want to have the ID field have a meaningful name for your application?
Sometimes it comes to pass that when you're making a new table that you want to have the unique row identifier (a.k.a. IDKEY) to be a field that has a name that is meaningful for your data. Moreover, sometimes you want to set this value directly. Caché fully supports this functionality and it works Suppose you have a class Test.Kyle. The data will be stored like so:
^Test.Kyle(IDKEY)=$LB("",Field1,Field2,...,Fieldn)
Some third party backup products may by default restore CACHE.DAT files as UNIX sparse files when there are trailing zeroes in the backup file.
The support for sparse files vary from UNIX distribution and file system types. Sparse files attempt to use file system space more efficiently when blocks allocated to the file are mostly empty similar to thin-provisioned storage. The file system transparently converts metadata representing empty blocks into "real" blocks filled with zero bytes at runtime. The application is suppose to be unaware of this conversion.
The Problem
Hi,
I created with Studio a persistent class with the following field and index:
Property DescriptionDemande As %String(MAXLEN = "");
Index IDXBASDescriptionDemande On (DescriptionDemande) As %iFind.Index.Basic(INDEXOPTION = 1, LANGUAGE = "fr", LOWER = 1);
INDEXOPTION is set to 1 for activating stemming. I'm indexing french documents. I have set lower to 1 because I want to do non case sensitive search.
I inserted a single french word "élément" in the field DescriptionDemande for testing purposes using this query: insert into my_table(DescriptionDemande) values(' élément')
As of this morning, 38 companies had already grabbed a copy of Ensemble or Caché (Caché is more popular by about 3:1 ratio) to explore the new features of 2016.2.
Thanks - we look forward to hearing your feedback.
Attached to this post is a PDF document outlining some of the key enhancements included with 2016.2. I will be giving a WebEx session that is open to all tomorrow at 11 AM EST. Once the WebEx is over I will be adding a link to the recording for those who cannot attend.
2016.2 Field Test Launch
Tuesday, February 2, 2016
11:00 am | Eastern Standard Time (New York, GMT-05:00) | 30 mins
Meeting number: 747 673 229
Join by phone
Call-in toll-free number: 1-866-8576852 (US)
Call-in number: 1-636-6925389 (US)
The object and relational data models of the Caché database support three types of indexes, which are standard, bitmap, and bitslice. In addition to these three native types, developers can declare their own custom types of indexes and use them in any classes since version 2013.1. For example, iFind text indexes use that mechanism.
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.
Oracle plans to deprecate the much-maligned Java browser plugin in JDK 9. For years, the bundled plugin put users at risk with its numerous security flaws. The web is clearly moving to a plugin-free state, which is a good direction.
If you are relying on the Java browser plugin, you should take a look at Java Web Start.
Here is the official blog post by Oracle:
https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free
Stefan
InterSystems will support this Operating System version with Caché and Ensemble 2016.1.
Announcing Deltanji 6.0, the latest version of the well-respected George James Software source control product formerly known as VC/m.
Deltanji comes in four editions, including Solo which is quick to install on Caché or Ensemble (2009.1 or later), easy to get started with, and perpetually free.
Deltanji runs within the environment whose code it is managing, integrating closely with Studio and Portal, and storing code versions in a CACHE.DAT database.
Please visit http://georgejames.com/deltanji to learn more and download the software.
Hi,
I'm trying to create a Zen Report that, when rendered to PDF has a header on every page that includes some items from the group that I'm iterating over in the <body>. I can't use <header> as that only displays once for each iteration, even if that spans more than one page, but <pageheader> seems to be independent of <body> so again doesn't work.
Cheers,
Steve.
Hi
I'm starting to play around with dynamically creating tabs and panes from query data, and was trying to do the following, with nested tabs.
Tab Group
High level tabs
Sub Tab Group
Sub tabs from the High level tabs.
I'd like to have an array as a parameter for a SQL 'WHERE... IN' statement. The array would be modified in javascript on the browser. Here's a simplified example:
<tablePane width="25%" id="testTable" sql="SELECT Id from Tracking_Data.Person WHERE Id IN (?)" showQuery="true">
<parameter/>
</tablePane>
<button caption="Test" onclick="zenThis.composite.testTestTable();"/>
ClientMethod testTestTable() [ Language = javascript ]
{
var table = zenThis.composite.getChildById("testTable");
table.setProperty('parameters', 1, [1,2]);
}
A quick announcement about the upcoming Global Summit 2016 - April 10-13, 2016.
InterSystems Global Summit 2016 is an unparalleled opportunity to meet with your peers and with InterSystems’ executives and experts, discussing the technologies, strategies, and methodologies that lead to success.
All InterSystems Global Summit 2016 sessions will be held at the Arizona Biltmore in Phoenix, Arizona on April 10-13, 2016
Learn more about Global Summit 2016 and register today!
(Early bird discounts end soon!)
Is it possible to override JQuery Mobile elements´styles (buttons, lists, font size, color, etc) or an existing theme with a separate custom css file?
I am really interested in an official or elegant way to do it.
Thanks.
New to CSP and Zen. I've been going through tutorials and have made some progress. Using the "Contacts" tutorial as an example, I'm trying to create a "ViewContact" page. I want this to be linkable so I'm using URI Parameters, which I understand. However, what I'm not sure about is how to retrieve a specific record. Should I use a SQL statement? If so, how?
Let's say I just wanted to display the property "Name" for the contact with ID 12. What would be the best way to do so?
I created a Zen page with a header. All is good. I then created a new Zen page and during the wizard specified that it was a "subclass of a template page". So now I have Class Custom.App.HomePage Extends Custom.App.TemplateMaster. If I visit HomePage.cls I see the header from the template. However, the HomePage class has no XData Contents section so I have no idea how to actually add content. I tried adding the section but once I do then I don't see the template content anymore.
So, how do I put content in a page that extends another page as a template?