Article Alexey Maslov · Nov 17, 2016 11m read

The technology of load balancing between several servers with relatively low capacity has been a standard feature of Caché for quite a while. It is based on the distributed cache technology called ECP (Enterprise Cache Protocol). ECP provides a host of possibilities for horizontal scaling of an application, and yet keeping the project budget fairly low. Another apparent advantage of ECP network is the possibility to conceal its architecture in the depths of Caché configuration so that applications developed for the traditional (vertical) architecture can be fairly easily migrated to a horizontal ECP environment. The ease of this process is so mesmerizing, that you start wishing it was always this way. For instance, everybody is used to having a possibility to control Caché processes: the $Job system variable and associated classes/functions work magic in skilful hands. Stop, but now processes can end up being on different Caché servers…

This article is about how to gain as much transparency in controlling processes in ECP environment as in traditional (non ECP) one.

6
0 2092
Question Sebastian Thiele · Nov 11, 2016

Hi,

I try to programmatically create a parameter for a dataCombo ZEN Component (which is in turn created on the server side at runtime).

Set tParm = ##class(%ZEN.Auxiliary.parameter).%New()
Set tParm.id = "pRegion#"_pExamContainerCount, tParm.name = "pRegion#"_pExamContainerCount

Set tExam = ##class(%ZEN.Component.dataCombo).%New()
Set tExam.id = "Exam#"_pExamContainerCount, tExam.label = "Untersuchung", tExam.queryClass = "Inventory.ServiceCatalog", tExam.queryName = "QGetExaminations", tExam.showEmpty = "false", tExam.size = "52", tExam.onchange = "zenPage.updateExamDescription(zenThis.getValue()

2
0 477
Question Wendy Griffiths · Nov 17, 2016

Hi

I'm trying to use the ##class(%File).RemoveDirectory utility to delete a windows folder. The folder has nothing in it, but it is not getting deleted.

I've tried doing Set sc=##class(%File).RemoveDirectory(file,.return) and return is returning a -2.  I've also tried changing it to .Delete in case that worked, but I got the same. 

I've tried it on my local instance and on a customer site on an older version of Cache that doesn't have the return parameter, but it also fails to delete the folder on there too.

file is the full filename and path and the .Delete works fine when used on files.

Any ideas

3
0 1416
Question Albert Forcadell · Nov 16, 2016

Since now i have been working from external connection but i want to work with the SQL utility of Management Portal

i dont know how to do with several instructions like in other editors like this example

update Prod.Articulos set Alto = 1646, Ancho = 16, Fondo =  80 where CodigoNum = '100' and Empresa = 'CO'
update Prod.Articulos set Alto = 1646, Ancho = 16, Fondo =  400 where CodigoNum = '101' and Empresa = 'CO'
update Prod.Articulos set Alto = 1646, Ancho = 16, Fondo =  400 where CodigoNum = '102' and Empresa = 'CO'

it returns

ERROR #5001: 25: SQL ERROR #25: Input (UPDATE) enco
11
0 828
Question Anzelem Sanyatwe · Nov 14, 2016

Can Cache Monitor (^MONMGR) and System Monitor be configured to also send 'OK' messages? With the first bad email, you still wonder if things are still broken, when in-fact normalcy has been restored, some even within some seconds.

typical examples : -

------ - - - -- - - - -- - -- --- - -- -- -- - - - -- -- -- - --- - - - -- - - -- - - -- --- - - -- -- -- - - --- - - - - --- -- --- - - -- -- --- - - --- - --- -- - - -- -

Sent: Monday, 14 November 2016 11:51 AM

To: Email

Subject: [CACHE SEVERE ERROR :ENSEMBLE] CP: Pausing users because Journal Daemon has not shown

11/14/16-11:50:43:430 (3455) 2 CP:

1
1 1809
Question Steve Riddle · Nov 9, 2016

Hi,

I have a process that is importing lots of data from an external file, but every now and then I come across a STORE error.

I know that the STORE error is occurring in the %Save method of the class but I know very little else and I think its something to do with a lage amounts of Related Objects.

Is there a method of finding out more information regarding this error i.e. which actual object was being saved etc etc.

Thanks

Jim

9
0 3016
Question Mikko Laitamäki · Nov 15, 2016

Hi All,

I have SourceControl utility class as in sys namespace

Class %MW.Web Extends %CSP.Page {... }

Previously with Cache 2010.1 and below  there was no problem accessing it through

localhost:57772:/csp/myns/%MW.Web.cls

But now with newer version at least with  2016.2  I' ll get Forbidden message from it.

With Web Gateway HTTP Trace Facility 

GET /csp/ipanax2/%MW.Web.cls HTTP/1.1  

​-->  HTTP/1.1 403 Forbidden  

How can we make it accessible again? 
 

 Mikko

2
0 476
Article Can (Jon) Gencler · Nov 8, 2016 5m read
Importance and Collection of Exact Version Information ($zv / $zversion)
 
The explanation of:
- why collecting $zv is important (The WHY),
- what the components of $zv mean (The WHAT),
- and how to collect $zv (The HOW). 
(The Ultimate $zv Guide to the ISC Galaxy in large, friendly letters)
4
1 1714
Question Mikhail Khomenko · Nov 10, 2016

Running TuneTable accounts among other the parameter named Block Count. In documentation, we see that this is an approximate numbers of 2K-blocks in which SQL-maps are stored. Databases in recent Cache doesn't support 2K-physical blocks so SQL-blocks are not physical blocks as it seems. So two questions:

- what are these blocks?

- how knowledge about count of blocks can help in SQL optimization?

Thanks for intelligent answer to stupid questions!

4
0 612
Article Alessandro Marin · Nov 14, 2016 5m read

The DeepSee TroubleShooting Guide helps you track down and fix problems occurring in your DeepSee project. A common problem is finding less records than expected in a DeepSee Cube or a related Subject Area. The DeepSee TroubleShooting Guide suggests starting your investigation by checking the following:

Check cube for build restrictions

Check if maxFacts is used

Check if Build Errors are occurring

0
0 489
Question Marc Mundt · Aug 9, 2016

A new Health Connect customer has a few experienced Java folks on their interface team. As they get more into Health Connect and learn Caché ObjectScript they thought it would be useful to have a list of common Java statements with an equivalent statement in ObjectScript. They mentioned string manipulation as an example, but would be interested in other areas as well.
 
This seems like something that is probably already floating around somewhere. Does anyone have something like this or other "COS jumpstart for Java devs" materials?
Thanks,
Marc

1
0 481
Article Andrew Harris · Nov 14, 2016 1m read

Question:

Where can I find the openssl command line tool for Windows?

Answer:

The openssl command line utility comes with Unix, but not with Windows. It is used for working with security certificates.

The main site is

https://www.openssl.org/

There are no binaries on this site but in the Community section there is a link for binaries which leads to:

https://www.openssl.org/community/binaries.html

This contains a link to "An informal list of third party engines":

https://wiki.openssl.org/index.php/Binaries

At the time of writing this had two entries for OpenSSL for Windows. I chose th

0
0 1105
Question Chris Stewart · Nov 7, 2016

I'm working on a REST service which will include a binary stream as a request property. I'm currently encoding the stream as BASE64 and passing it as a string value, but I was wondering if there is anything in the Caché JSON support that may be a better fit for encoding this data? Thanks Chris

3
0 999
Article Wojciech Czyz · Nov 14, 2016 2m read

Microsoft Office has components for using in third party applications: COM Objects for C++ and Interop Assemblies for .Net programming.

Many Cache projects used to include calls to those libraries. However, recently this solution started being problematic.

There are two main reasons - legal and technical. Let’s check the details.

Microsoft technology support

Microsoft is supporting Office Automation only for desktop computing. 

It shall not be used for server computing, as they offer Sharepoint for this scenario. Have a look here:


"Microsoft does not currently recommend, and does not support, Autom

0
0 586
Question Uri Shmueli · Nov 10, 2016

Hi all,

We've found that in most cases when we open a new CSP session the CGI varaiable %CGIEVAR("HTTP_COOKIE") contains the client name.

It looks like that : "state=SYSADM%3A0; Username=Urish; CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11..."
In some other cases this CGI only contains  $zv - like "CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11 2013 23:20:33 EDT"

We are searching for a way to get the username (we need to stop using activex controls, like WScript.Network-->dNET.UserName), and this might be a good solution, if we c

2
0 487
Article Murray Oldfield · Nov 12, 2016 6m read

Index

This is a list of all the posts in the Data Platforms’ capacity planning and performance series in order. Also a general list of my other posts. I will update as new posts in the series are added.


You will notice that I wrote some posts before IRIS was released and refer to Caché. I will revisit the posts over time, but in the meantime, Generally, the advice for configuration is the same for Caché and IRIS. Some command names may have changed; the most obvious example is that anywhere you see the ^pButtons command, you can replace it with ^SystemPerformance.


While some posts are updated to preserve links, others will be marked as strikethrough to indicate that the post is legacy. Generally, I will say, "See: some other post" if it is appropriate.


Capacity Planning and Performance Series

Generally, posts build on previous ones, but you can also just dive into subjects that look interesting.


0
7 6596
Question Michael Loutraris · Nov 10, 2016

We are trying to understand how websocket connections from a javascript client may timeout in cache. Does anyone know if and of the session timeout or any other timeouts apply to any synchronous websocket connections? I have not been able to prove that they do timeout at all.

5
0 718
Question Ryan Miller · Nov 7, 2016

I tried using the DeepSee Troubleshooting guide but the suggestions weren't working.  Let's say that the source data we are using to build the cube on has a value out of range. This would cause the cube build/update to fail. How do I see the error log that explains which field has the value out of range? Please be detailed on exactly what command I should enter and where I should enter it in.

I assume that I go into a terminal session and to the correct namespace that we are building/updating the cube on, but the DeepSee Troubleshooting guide doesn't give that detail. I also tried the commands

5
0 785
Article Stuart Salzer · Nov 10, 2016 17m read

This article explains the basics of OpenVMS file structures, from a Caché prospective, and what you need to know to read and write any OpenVMS file with Caché, even the files with difficult file structures.

On UNIX and Windows all files are just a stream of octets (eight-bit bytes). Assigning meaning to those octets is done entirely by convention. Those conventions are rather simple, even if slightly different on UNIX and Windows. Meanwhile, the authors of OpenVMS thought that file structure was so important, they built it into the Operating System in the form of the Record Management Services





























0
0 1982
Question sansa stark · Nov 10, 2016

Hi All,

We are accessing the InterSystems`s cache database via UNIX ODBC and displaying the data in PHP website . Recently we have upgraded the PHP version to 5.6.  We are getting the nondisplayable characters (�) for only strings. But the numbers and date fields are displaying correctly. 

While querying the database via ISQL everything working fine (No Special characters).

I have looked around the internet and found the PHP 5.6 changed the default character to UTF-8.

For this issue anything, we can do from cache side.

cache version :

Cache for Windows (x86-32) 2016.1 (Build 656) Fri Mar 11 2016 17:

3
0 1520