Question Michael Gosselin · Jul 29, 2016

Hello,

I've been doing this for years.  Well, decades.  And, I pride myself in being able to break other people's code.

However, sometimes I don't apply the same dedication to breaking my code.  That needs to change. wink

So, I'd like to ask people, what are some of the things you like to test for when trying to stress-test your code?  I'll start with what I like to try testing to see what crashes, what works unexpectedly, and what I've handled.

I always test the following: 0; 1; -1; some 20-digit number; some 50-character string; 1/0; 2E12; " ", and an undefined variable.

6
0 644
Question Jean Millette · Jul 25, 2016

We are creating a package (written in Caché Object Script) that will provide access to an external DB (MySQL). Because applications that use our package will be run from machines with various, potentially unexpected, operating systems, we’d like to establish a connection to the external DB without using DSNs (we’ve heard that setting up DSNs on certain non-Windows machines can be cumbersome and problematic).

Does anyone know of  way to create a connection to an external DB without using a DSN?

4
0 1296
Question Ryan Hulslander · Jun 3, 2016

Problem:

A file-based business service uses a local path on a Linux machine that is actually a mounted CIFS share. The mount is "soft" and is designed to not cache data, etc. There are times however when the remote system offering up the share (it's a Windows machine I believe) gets bounced or otherwise hung up the business service in the Ensemble production just hangs.

Un-mounting the network share doesn't affect it, no process kill command affects it, and even going so far as to "kill -9" the process outside of Cache does nothing, either.

4
0 1753
Question Scott Beeson · Jul 29, 2016

I'm doing some Schema changes.  I used our existing standard schema as a base, which was already based on 2.3.  So let's call our existing one Custom.MHC.Schema (based on 2.3).  I created Custom.MHC.Schema.Advanced (based on Custom.MHC.Schema) and copied down one of the code tables then made a change to it.

When I ran a message through, the code table change didn't show up.  I noticed in the message viewer that the DocType is still Custom.MHC.Schema:ADT_A01 but the DocType Category is Custom.MHC.Schema.Advanced.

1
0 501
Question Laura Cavanaugh · Jul 29, 2016

I'm getting the above error.  My zen page calls other javascript methods  and other server methods just fine.  But when I call my  method, I get the error.  Yes, I've tried making it look exactly like the methods that work.  But for some reason, it doesn't seem to know that DoLogout is a zen method. 

 

Anyone ever get this error?

THanks

L

 

 

 

for example

ClientMethod logout() [ Language = javascript ]  {   zenPage.DoLogout();  }

Method DoLogout() [ZenMethod]   {   //blah blah  }

3
0 1073
Article Evgeny Shvarov · Jul 27, 2016 1m read

Hi, Community!

You know, that when we build hierarchies in DeepSee dimension all the members of lower level should be the part of one member of the higher level.

If not you'll get some empty results in MDX queries with this hierarchy.

With Time dimensions the obvious valid hierarchy is Year->Month->Day, cause every Month consists of one Year and every day consists of one month. 

But be aware of using Year->Month->Week->Day hierarchy. In this case, there are some weeks in the year (most of them), which consist of two months.

3
0 472
Question John Murray · Jul 28, 2016

Studio's "Package Information" dialog, accessed from the context menu of a package on the Namespace tab of the Workspace pane, includes a field titled "Routine Prefix"

Help says this is a "String that is used as a prefix for the routines generated from classes in this package".

But if it set a string here, then recompile a class in the package, it doesn't affect the name of the generated routine(s). Nor does it influence the routine names generated when I create new classes in the package and compile them. I have tested on 2016.1.

2
0 450
Question Wendy Griffiths · Jul 22, 2016

I want to override the Get and Set methods of a class property.  The class maps to a pre-existing global. The property is defined like so:

Property Invalid As %Library.Boolean;

with the property mapping to a node like ^GLOBAL(Code,"INVALID")=1
Code is a property in the same class.

The value can be 0 or 1 or the node might not exist. When it doesn't exist I want the value of the SQL field to come out as 0 (false).

12
0 1905
Question Kevin Furze · Jul 26, 2016

Cache 2015.2

I need to get a sort order stored in my database with mutiple decimal places, but I want the string stored and retrieved EXACTLY as I enter it. so if someone enters 700.3000 I don't want cache to treat it as a decimal and strip the trailing zeros storing it as 700.3

once it comes back, I want the sorting to sort AS STRINGS, again, none of that stripping training/leading zeros.

this ay, I can create local arrays in exactly the order they think? they created them

I realise I can add another decimal point at the end eg 700.3000.

3
0 557
Question Laura Cavanaugh · Jul 26, 2016

i'm looking for a way to display a list of tables in an application.  I need a Table or Schema API, and I can't find one.  I found this:

 

http://docs.intersystems.com/latest/csp/docbook/%25CSP.Documatic.cls?PA…

 

with a google search, but I'm not sure if I can even use this (it says that SQL name is "TABLES"), or how to use it.

 

Is there a way to get at the table names available in a namespace?

 

Thanks,

Laura

10
0 1397
Article Mark Bolinsky · Nov 19, 2015 1m read

There are many storage technologies available today from various vendors.  The storage technology and configuration best for your application depends on the application access patterns and workloads.  

The attached document discusses the various design considerations and recommendations for various technologies.  This guide is to help you during discussions with your storage vendor to determine the appropriate storage technologies and products that will work best to meet the performance goals for your applications.

3
0 632
Question Angelo Bruno Braga · Jul 22, 2016

Hi all,

 I already enabled the IIS configuration for using HTTPS to all requests (using * wildcard) and all my CLS, CSP and ZEN pages are working nice through HTTPS.

 My REST Business Service parameters and Method definition:

Class ocx.bs.rest.Service Extends EnsLib.REST.Service
{
Parameter ADAPTER = "EnsLib.HTTP.InboundAdapter";
Parameter EnsServicePrefix = "/CUSTOMERS";

Method OnProcessInput(pInput As %Stream.Object, Output pOutput As %Stream.Object) As %Status

Thanks a lot,

 Angelo Braga

2
0 1106
Question Rustam Ibragimov · Jul 26, 2016

Hello, guys.

I have a set of file names (e.g. file.cls, file2.mac and so on) and I need to check whether these files are mapped in %ALL or current namespace.

I found that if I open Globals in the current namespace I can see mapped packages. And If I open this global I see all files that are  to this namespace and %SYS. The problem is these files are enumerated in a json object(apparently)

ex. "{""class"":{""%Activate.Enum"":{},""%Activate.GenericObject"":{""CreateObject"":0,""GetObject"":0},""%Activate.HandleEvents"")

But, is there a way to determine whether this file is mapped using some method?

1
0 420
Article Daniel Kutac · Jul 18, 2016 3m read

 

Cache tricks

Several years ago, long before Developer Community Portal was launched, I published a series of Caché tricks at one of Czech web sites. In this article, I’m posting translated version of one of them.

Capturing output of someone else’s methods or routines

Suppose you, or someone else created a useful method or routine, that was producing some computation that you’d like to benefit from, but the routine was writing output to process principal device.

You would like to use the data, but you need it not written to a device, but assigned to a variable. And, for any reason, you can’t modify the code. What can you do?

4
0 2930
Question Pavel Pogorelov · Jul 25, 2016

Hi,

I want to create a table with a dynamic display of data using the DataGrid.

On the page there  dataCombo and the table.

According to the plan, when the user selects an item in dataCombo the table is filled with data. If select another item - data is updated.

But in fact, the data in the table are loaded once when the page is loaded, and when I select value in DataCombo, I receive an error:

I would be happy if you tell me how to fix it.

Thank you.

XData Contents [ XMLNamespace = "http://www.intersystems.com/zen]
{
<page xmlns="http://www.intersystems.

1
0 487
Question Adrian Kerr · Jul 25, 2016

Let's say that we wish to store the documents sent to us via all of our Customers, and that the documents could be in PDF, spreadsheet, RTF, plain text, Comma-Separated-Values and XML.

It would be hoped that %Stream.Object would be a good choice of property to hold these documents, especially as you would expect %Stream.Object to morph between BINARY (for PDF, spreadsheet, RTF) or CHARACTER (for plain text, CSV, XML) depending on which type of stream was being persisted.

One might expect that .

3
0 500
Question Thomas Nitzsche · Jul 19, 2016

Hello Community,

on the intersystems-data-platform-blog group as well as the developer-community-feedback group are more articles referenced than shown on the first page. But it is not possible to see further articles when going to the next page. After the click the page shows 'no content found' and the back button does not work anymore.
This behaviour can be tricked adding '?page=1' after the url. On the main page community.intersystems.com the next page buttons work.


Thanks,
Thomas

3
0 367
Question Greg Billington · Jul 18, 2016

If I am in a community on this website looking at articles would expect a search box at top so I can search within this community.

 

1) The search top right is too general (I don't want to have to sub search, refine or just ignore irrelevant results)

2) Most forums have the ability to easily search within them on other sites, which is what as a user I would expect

6
0 290
Article Rob Tweed · Jul 25, 2016 2m read

Today I'm releasing a new EWD 3 module - ewd-feder8.

ewd-feder8 is a federation or integration platform, built as an extension of the EWD 3 ewd-xpress module.  So what does it do and what's it for? 

It's all about federating and integrating multiple web or REST service end-points.

At its simplest you can use it as a proxy server in front of a remote web service or REST end-point.

More usefully, you can send an HTTP or REST request to ewd-feder8, which can then forward it to every member of a group of web service or REST end-point servers.

0
0 499
Question Renee Cannon · Jul 20, 2016

I am building a SOAP service using Caché 2016.1.  

If I set %session.Preserve=1 in OnPreWebMethod and I set a variable in my service method, why don't I see the variable in the CSP session processes' variables after I call the method?  

The documentation says "The original motivation for the provision of a state-aware mode of operation was to make it relatively easy to migrate legacy application code from a fixed client-server environment (e.g. terminal applications) to the web. Support for transactions that spanned several HTTP requests was also a consideration in its introduction.

1
0 467
Article Timur Safin · Jul 18, 2016 15m read

This article created as side effect of preparations to the longer set of articles about simple, but still handy MapReduce implementation in Caché. I was looking for relatively easy way to pass arguments to (potentially) multiple targets via remote calling facilities. And after several attempts I have realized that we do have very powerful mechanism in the Caché ObjectScript which might be of particular help here – dynamic dispatch for methods and properties.

Since Caché 5.

7
0 1339
Question Juliana Schallert · Jul 20, 2016

Hi,

I am new to Cache and I am trying to convert a JSON string (msgdata) that contains a JSON payload to an object to be saved into a Driver. Entity table.  I am running into 2 issues and would appreciate any help:

1) It seems that when the 1st element of a list within the payload (Choices) is an empty string, after I call %ConvertJSONToObject, the obj.%data("payload").Choices contains just 1 empty element, removing the next 3 valid values (10,20,30). The same does not happen if I change the input to [10,20,"",30], in this case it works correctly.

3
0 1143