#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Question Andreas Zuckerhut · Apr 13, 2016

Greetings.

I'm currently struggling with launching a routine from the command prompt using ccontrol.

Basically I have a routine with a parameter which works fine using the following:
ccontrol cterminal ^ANDYTST(\"c:\temp\\\") USER

This receives c:\temp\ then in the routine.
However, when there is a space inside the parameter it assumes that it receives a script.
I can still run it using ccontrol terminal, but that then tells me the argument is invalid.
Therefore, is there something like a placeholder for whitespaces?
And, is it possible to hand it the credentials?
Or is there a better way to launch a

3
0 1472
Question Nicki Vallentgoed · Apr 19, 2016

MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.

Any chance of adding support for MessagePack?

2
0 486
Question Francis Galiegue · Apr 18, 2016

Hello,

For CachéQuality I'd love to be able to create issues when the programmer uses classes which are deprecated for this or that version of Caché... But short of reading all the changelogs of all versions, I can't really tell when a command appeared (for instance RETURN; I know now that it appeared in 2014.x, but it took me some time to realize that), or when a (set of) class(es) became deprecated (for instance %GlobalCharacterStream to be replaced with %Stream.GlobalCharacter -- I don't even know since which version this is true :/).

Is there an existing source which I am missing?

2
0 448
Announcement Francis Galiegue · Apr 18, 2016

Hello,

I hereby announce the creation of an IRC channel dedicated to Caché development:

* network: FreeNode (connect to server: irc.freenode.net)

* channel: ##cos (yes, two hashes).

Topic is anything related to Caché development in spite of the name (and the fact that of Caché development I only really know about COS anyway), so sorry in advance for the restrictive channel name :)

Waiting for you here! (my nick is idletask on freenode)

Side note: that would be a good opportunity to launch a project of an IRC bot in COS...

0
0 379
Announcement Stefan Wittmann · Apr 15, 2016

I am happy to share the news that Zen Mojo 1.1.1 has been released. This release includes many improvements and bugfixes, the most important are:

  • Multiple improvements for the offline bundle generation, e.g. subfolders are correctly copied to the target folder
  • Optimizations for the dojo library, including a reduced load time by prepackaging required widgets into a single JS file
  • The utility functions $show and $hide are now supported by the dojo and chart.js plugin
  • Zen Mojo now stops event propagation by default.
0
0 418
Question James MacKeith · Apr 11, 2016

During a fine breakfast at Global Summit 2016 I was asked about the %DEFAULTDB database that now appears when creating the %ALL namespace. Until the documentation on "Mapping a Package Across Multiple Namespaces"  is updated to include the use of subscript level mapping for all namespaces here is a brief explanation for this change in 2016.1: When creating a global subscript level mapping in the %ALL namespace the database that was used for the non-subscripted global could not be set to be the default database for each namespace.

3
0 641
Question Francis Galiegue · Apr 13, 2016

Hello everyone,

I have discussed extensively with Andrew Cheshire, the author of the Atelier parser (which I'll be able to hack on and reuse for CachéQuality -- yay!), and while we were at it, we also discussed code coverage.

We ended up talking about the ZBREAK command and its /TRACE option.

It appears that combining this command and the unit test runner, we can indeed do code coverage (Andrew also told me about a way to map "back" routine lines to original lines in the source code).

So, according to the information above and this page, a sequence of possible command would be (provided we are

4
0 438
Question Stephen Canzano · Apr 13, 2016

I interested on how others feel on this subject.  In general terms when you have a class that extends from %XML.Adaptor and you call XMLExport no validation is automatically done as part of the XMLExport process.  As an example if you do the following

SAMPLES>S tPatient=##Class(Sample.Person).%New()
 
SAMPLES>Set tPatient.Name="asdfghjklqwrrrrokkfkljbvkfbjflkbjflkbjblkjblkjdblkjblkcn l nn klkjdfkbjdlkbjlkbj"
SAMPLES>w tPatient.XMLExport(,",indent")
<Person>
  <Name>asdfghjklqwrrrrokkfkljbvkfbjflkbjflkbjblkjblkjdblkjblkcn l nn klkjdfkbjdlkbjlkbj</Name>
</Person>

where tPatient.Name has a value which

3
0 833
Announcement Francis Galiegue · Apr 6, 2016

Hello community!

Two new rules have been implemented:

OS0061: unsafe namespace switch

This rule detects when the body of a method contains two or more of the following statements:

  • set $namespace = something, or
  • znspace something.

If this is the case, it then checks whether there is a new $namespace prior to those two declarations; if not, it raises a warning.

List of issues currently found here:

https://demo.cachequality.com/issues/search#severities=CRITICAL|rules=cachequality%3AOS0061|resolved=false

OS0062: confusing identifiers

This rule detects whether either of a method argument, or a local

8
0 579
Article Francis Galiegue · Apr 10, 2016 1m read

Hello!

Link: https://demo.cachequality.com

In this presentation, developer oriented, we will cover this tool, how it works, how you can use it/administer it, etc. Duration 30 minutes.

The topics will include:

  • a short presentation of Caché Quality and SonarQube (which this plugin uses),
  • a demonstration of the rules and how to tailor them to your need.

Questions will be more than welcome! Hope to see you there!

And a big thanks to Evgeny Shvarov who made this possible!

0
0 684
Question Eduard Lebedyuk · Apr 10, 2016

Here's my code (download):

Class Utils.Generators [ Abstract ]
{

ClassMethod B()
{
    s ^a = 1
}

ClassMethod A() [ CodeMode = objectgenerator, GenerateAfter = B, PlaceAfter = B ]
{
    k ^a
    do ..B()
}

Now, obviously for it to work I need method B compiled and ready to use before compiling method A().

I test it with the following code:

do $system.OBJ.UnCompile("Utils.Generator")
do $system.OBJ.Compile("Utils.Generator")

Yet, I receive the following compilation error:

Compilation started on 04/10/2016 18:39:04 with qualifiers ''
Compiling class Utils.Generator
ERROR #5002: Cache
2
0 1021
Article Steve Glassman · Apr 8, 2016 1m read

I am pleased to announce the next 2016.2 field test kit, 2016.2.0.632.0.

Since I haven’t sent an update to this thread in a while it should come as no surprise that there have been quite a few changes since I wrote about build 609.  In fact, there have been over 175 changes in 50 different areas, with the majority of changes in:

  • Atelier
  • DOCUMENT Data Model
  • SQL
  • DeepSee

The most changes since build 609 are in Atelier and the biggest Atelier change is that the Atelier client is no longer bundled with the field test kit.  The latest Atelier client is available HERE.

The accumulated list of fixes to

1
0 389
Article Saurav Gupta · Apr 8, 2016 1m read

Presenter: Saurav Gupta
Task: Provide customized authentication support for biometrics, smart cards, etc.
Approach: Provide code samples and concept examples to illustrate various custom authentication mechanisms
 

Description: In this session we will discuss customized way to solve various authentication mechanism and show case some sample code.

Problem: Using custom Authentication mechanism to support devices like biometrics, smart cards, or create an authentication front end for existing applications.

Solution: Code samples and concept examples.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 337
Article Anton Umnikov · Apr 7, 2016 1m read

Presenter: Anton Umnikov
Task: Run SQL queries quickly on huge amounts of data
Approach: Use a shared-nothing architecture to leverage a cluster of small, cost-effective servers
 

Explains how a shared nothing architecture allows you to leverage a cluster of small, costeffective servers to serve query results that would have taken much longer on a single, big and expensive box. This brings affordable horizontal scalability.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 387
Question Chip Gore · Apr 5, 2016

Hi -

I'm trying to create a method that will automatically create something I can save and use later, which will let me automate data migration from one version of a class to the next.

When I compile a normal persistent class, a "storage" gets created, and I would like to be able to archive some code that would let me recreate this "old storage" so I could access an "older version" from a global and map the values into the current mapping of the class.

2
0 872
Article Ray Fucillo · Apr 7, 2016 1m read

Presenter: Ray Fucillo
Task: Provide high availability (HA) and disaster recovery (DR) in diverse architectures that demand high performance, including replication over long distances
Approach: Give examples of mirror architectures in disparate environments, including geographically separated systems. Discuss performance considerations and advances in InterSystems’ mirroring technology
 

In this session you will learn about deploying Mirroring to provide HA and DR in diverse architectures that demand high performance and throughput. Challenges and solutions to achieving high throughput will be covered along with mirror architectures that involve long distances and disparate environments.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 330
Article Jeff Semmens · Apr 7, 2016 1m read

Presenter: Jeff Semmens
Task: Model and access data as objects in .NET without designing the database first
Approach: Use InterSystems Entity Framework
 

Description: Come and experience how you can design your database model in .NET and evolve it over time by leveraging the Entity Framework.

Problem: Current bindings require database-first design. I cannot design my model in .NET.

Solution: The Entity Framework is an object-relational mapping framework that allows data-oriented applications to model and access their data as objects in .NET. Database- first is still supported but will fade away in future releases.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 307
Article Paul Dayan · Apr 7, 2016 1m read

Presenter: Paul Dayan
Task: Upgrade with minimal downtime
Approach: Provide examples of planning minimal-downtime upgrades from a variety of starting scenarios

When upgrading Caché, Ensemble or your application on your business-critical system, you want zero or minimum downtime. This session explores the problems and options when upgrading, and how mirroring can reduce or eliminate business disruption, with practical steps and a demonstration.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 202
Article Murray Oldfield · Apr 7, 2016 1m read

Presenter: Murray Oldfield
Task: Avoid bottlenecks caused by scaling up, before they become a problem
Approach: Discuss what operating system and InterSystems metrics you should look at and how to interpret them
 

Systems behave differently when database activity scales up. In the worst case, bottlenecks appear and users are impacted. This session shows you which operating system and InterSystems metrics you should be looking at and how to interpret them so you can head off bottlenecks before they impact users. This sessions also shows strategies for planning infrastructure taking into consideration InterSystems' data platforms requirements.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 407
Article Murray Oldfield · Apr 7, 2016 1m read

Presenter: Murray Oldfield
Task: Deploy applications based on InterSystems’ technology using VMware.
Approach: Provide a checklist of factors to consider, particularly when deploying a production database application that requires high availability
 

Are you ready to deploy your applications on a virtualized architecture? This talk will highlight what you need to plan and do when deploying applications built on ISC data platforms using VMware. Special focus on what you need to know when planning for highly available (HA) production database applications.

Content related to this session, including slides, video and additional learning content can be found here.

0
0 403
Announcement Julie Lockner · Apr 5, 2016

Calling All Caché and Ensemble Customers!!

Would you be interested in sharing your experience working with InterSystems' products?  We want to hear your use cases and best Caché and/or Ensemble stories!   

Let us know by completing this survey from TechValidate  -->  Link

Check out the published stories so far -->Published Stories Link

We will post the results after Global Summit!

Julie

Julie Lockner

Global Data Platform and Partner Programs

Survey Link --> https://www.techvalidate.com/registration/4743ec5dd8

Published Research -->

0
0 343
Article Steve Brunner · Apr 4, 2016 1m read

I am pleased to announce that Caché and Ensemble 2015.2.3 are now available as maintenance releases.
For a complete list of the corrections in 2015.2.3, please review the release notes.

Caché and Ensemble 2015.2.3 are available now for the same platforms as 2015.2.2

The complete set of supported platforms, including specific point releases and/or patches, is detailed in the Supported Platforms document.

The build corresponding to this release is 2015.2.3.855.0

 
0
0 582
Question Jose Antonio Cañizares · Apr 1, 2016

Hi all,

I've been looking for a way to extract the sorting  from the ^CacheTemp.zenData global that contain the tablePane snapshot data in order to use it on a report following the current UI sorting criteria.

I could see that if the column is sorted by one column, new entries with this structure are created:

^CacheTemp.zenData(<sessionId>,<snapShotId>,<tablePaneId>,"index",<columnId>,<value>,<dataId>)=""

These are created the first time that the sort criteria is applied (asc) and has the same amount of entries as the data being displayed.

6
0 615
Question Chris Stewart · Mar 29, 2016

Hi

I have been experimenting with the creation of a set of REST services for an app.  The basic GET operation is set to create a %ZEN.proxyObject instance, and then set an instance of a Persistant class as a property, which gives me all of the values I want to return.  However, it also gives me some values that I don't want to return over REST (because they are both private, and large registered objects which will bog down performance)

How do I remove these values from the ZENproxyObject?  I can only see a full clear() in the documentation, but nothing which can remove individual elements

Thanks

3
0 574
Question Eduard Lebedyuk · Mar 28, 2016

Hello.

For debugging purposes I  sometimes need to display stack information to the current device or save it (to a global for example).

There is this snippet offered in documentation:

ClassMethod StackToDisplay()
{
    For loop = 0:1:$Stack(-1) {
        Write !, "Context level:", loop, ?25, "Context type: ", $Stack(loop)
        Write !, ?5, "Current place: ", $Stack(loop, "PLACE")
        Write !, ?5, "Current source: ", $Stack(loop, "MCODE")
        Write !
    }
}

And to save stack to a global there's always an exception method:

ClassMethod StackToGlobal()
{
    Set ex =
11
0 1781