Caché

Syndicate content 118 

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. This behavior prevents using %ALL namespace to help manage subscript level mappings that are configured on all namespaces.

Last answer 12 April 2016 Last comment 15 April 2016
+ 1   0 2
275

views

+ 1

rating

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 in the correct namespace)

Last answer 14 April 2016 Last comment 14 April 2016
+ 2   0 2
240

views

+ 2

rating

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>

Last answer 14 April 2016 Last comment 14 April 2016
+ 1   0 1
376

views

+ 1

rating

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

Last comment 11 April 2016
+ 2   0 4
341

views

+ 2

rating

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!

+ 2   0 1
0

comments

352

views

+ 2

rating

Does anyone know any sites who configure an async reporting member to connect to two different failover mirroring sets ?

I know this is supported, but I would like to know how it is working in real world systems.

Any information would be appreciated.
 

Last comment 10 April 2016
0   0 3
0

answers

140

views

0

rating

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

Last answer 10 April 2016 Last comment 10 April 2016
0   0 1
437

views

0

rating

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 problems found in the field since build 609 includes the following changes

Last comment 8 April 2016
+ 1   0 4
219

views

+ 1

rating

Presenter: Harry Tong
Task: Load terabytes of data into a distributed environment
Approach: Leverage parallelism and open-source tools
 

In this session, we’ll discuss how to load TBs of data into a distributed environment, leveraging parallelism and open source to reach exceptional load rates.

 

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

0   0 2
0

comments

138

views

0

rating

Hello all,

I know it is perhaps too vague question, but anyway:

Do you have experience from running a thick (preferably .NET) application in any of these modes - client installed locally, Terminal Server, Citrix ? Say, there are around 300-400 concurrent users using application.

Can you share your observations / opinions?

 

Thank you!
 

Dan Kutac 

Last answer 6 April 2016
+ 1   0 1
0

comments

220

views

+ 1

rating

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

+ 1   0 1
0

comments

160

views

+ 1

rating

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

 
+ 2   0 1
0

comments

362

views

+ 2

rating

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. But then if I change the criteria to descentant this data dont change and then I cannot differ whether the sorting order.

 

Is there a way to get the data of the ^CacheTemp.zenData in the same sorting displayed on the page?

 

Best regars

Last answer 1 April 2016 Last comment 1 April 2016
0   0 3
298

views

0

rating

This will be a stretch to be useful, but it was sorta fun.  If you just so happen to have a use case to make your HealthShare productions talk to a Slack channel, this is the Business Operation for you.

In Slack, it is a dead simple process to enable an incoming web hook:

  • Name It
  • Give it an Icon or Emoji
  • Declare a Channel to Interact With

One you supplies those, it spits out a URL that you can go to town posting to your channel using that endpoint

Last comment 1 April 2016
+ 8   0 6
390

views

+ 8

rating

Previously I showed you how to run pButtons to start collecting performance metrics that we are looking at in this series of posts.

pButtons is compatible with Caché version 5 and later and is included with recent distributions of InterSystems data platforms (HealthShare, Ensemble and Caché). This post is a reminder that you should download and install the latest version of pButttons.

The latest version is always available for download via ftp.

ftp.intersystems.com/pub/performance

You need to download the file

+ 2   0 1
0

comments

653

views

+ 2

rating

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

Chris

Last answer 30 March 2016 Last comment 30 March 2016
+ 2   0 2
227

views

+ 2

rating

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 = ##class(%Exception.SystemException).%New()
    Do ex.StackAsArray(.arr)
    Set time = $ZDT($H)
    Merge ^StackInfo(time) = arr
}

But I'm interested if someone has a better code (more info) for this purpose? What's your approach to saving stack information?

Last answer 30 March 2016 Last comment 30 March 2016
0   0 2
482

views

0

rating

The attached file contains two $system.Event examples that processes work asynchronously using persistent queues:

Events_Simple

This is a very basic example that creates some worker processes and then enqueue messages to them using $system.Event

Last comment 30 March 2016
+ 2   0 4
634

views

+ 2

rating

I am pleased to announce the field test of Caché and Ensemble 2016.2 -  an exciting new release with improvements on many different fronts.

The entire product team at InterSystems looks forward to your participation in the field test and feedback over the coming months.

Some of the more profound changes in 2016.2 include:

  • Atelier - the new multi-platform IDE for Caché, Ensemble and HealthShare.
  • Introduction of a DOCUMENT data model (extending the reach of our multi-model capabilities)
  • Concurrent management and configuration of many servers

As always, there are a host of scalability and performance improvements, including improvements to the core database, ECP and SQL.  And hundreds of smaller improvements and corrections.

Summary details of these changes can be found HERE

Last comment 29 March 2016
+ 6   0 8
829

views

+ 6

rating

Hello! 

We use iKnow's GetSimilar for decision making. Right now we have a domain with both good and bad documents and using GetSimilar we want to see if a document is more similar to the good ones or the bad ones. To do this we simply compare the weighted average of the score from the good ones and the bad ones that GetSimilar returns.  

The problem is that GetSimilar doesn't always return the score to all other documents. Assuming we have 50 documents I would expect the following result:


DO ##class(%iKnow.Queries.SourceAPI).GetSimilar(.sim,domId,id,1,200,"",$$$SIMSRCSIMPLE, $LB("ent"))


:FILE:c:\file1.txt
sim(1)=$lb(1,":FILE:c:\file2.txt", 0.4239, 0.8615, 184, 78, 563, 0.4239)
sim(2)=$lb(2,":FILE:c:\file3.txt", 0.3967, 0.7704, 184, 73, 318, 0.3967)
...
sim(49)=$lb(49,":FILE:c:\file49.txt", 0.3967, 0.7704, 184, 73, 318, 0.3967)

Last answer 29 March 2016
0   0 1
0

comments

151

views

0

rating

If you are waiting for the Kindle Edition of Caché and MUMPS – Part II, I must apologize. I believed what others told me that once I have a book manuscript, the Kindle manuscript will be easy. Being a programmer I should have remembered: "never assume anything." The conversion to Kindle is proving a much bigger task than I thought. But don't lose heart, I am working full time on it. I have as my goal before May 1st. But, then again, you know what they say about goals. ;) - - Paul Mike Kadow

+ 1   0 1
0

comments

203

views

+ 1

rating

Hi Community: I have a legacy Caché based app that has Zlogin or %Zlogin routine. I understand that such routine will be invoked as soon as the user logs in. Can someone tell me where to find such routine? The namespace where the user connects to? Or in CACHESYS? Thanks, HT

Last answer 26 March 2016
0   0 1
0

comments

178

views

0

rating

I believe the I have followed the instructions to attach a document to the body of a post request but nothing is being sent out in the files{} port of the request.  I can either get the stream in "data", not visible at all, or visible but no form data. Any help would be appreciated, below is what I have

Last answer 24 March 2016 Last comment 24 March 2016
+ 1   0 4
1295

views

+ 1

rating

Please consider these two concepts:

Concept 1 - Web Service or Web Application or Server Side

Concept 2 - Client Service or Client Application or Client Side

Maybe I am just a Web/Zen newbie, if I am and you all understand this, I apologize. (no nasty remarks please)

The questions are numbered, if you wish to respond to an individual question please precede it by the question number.

  1. Is there consistency in naming these concepts?

 

  1. Are CSP, Caché Server Pages used for the Web Server Side only? Or both sides?

 

  1. The InterSystems documentation, Securing Caché Web Services, used for the Web Server side only?

I thought I understood Web Server Side and Client Server Side until I started looking into them, both in InterSystems documentation and outside documents

Last answer 22 March 2016
0   0 1
0

comments

251

views

0

rating