Article John Murray · Mar 14, 2016 3m read

When you create an Ensemble production your namespace acquires a new class definition. For example here is what the class that defines the Demo.Loan.BankUSProduction production in the ENSDEMO namespace looks like when opened in Studio:

Class Demo.Loan.BankUSProduction Extends Ens.Production [ ClassType = "", ProcedureBlock ]
{

XData ProductionDefinition
{
<Production Name="Demo.Loan.BankUSProduction" TestingEnabled="true">
  <ActorPoolSize>2</ActorPoolSize>
  <Item Name="Demo.Loan.BankUSTerminalService" ClassName="Demo.Loan.
3
0 815
Question Nicki Vallentgoed · Mar 10, 2016

Some thins I have noticed, which I am not sure are bugs or features to come.

1.) Go to type declaration (F3 or ctrl+click on a class/variable/method)

It doesn not work on object variables and methods

Where it does work, it opens the related class but it is not editable.

 

2. )There is no code indentation correction/ctrl+L ?

Is this planned?

I would very much prefer to have formatting  even if it means loosing some COS "functionalty".

4
0 368
Article Lydia Huang · Mar 14, 2016 4m read

The DeepSee Shell Best Practices Series - Example of using the MDX subquery flag in the DeepSee Shell

We have different flags for DeepSee advisors to look into the execution details and the methods DeepSee is using to do calculations.

flag [flagname] [on|off] – Turn a diagnostic on or off.

flag cmbr on|off – Show current member processing.

flag compound on|off – Show rewrite of compound queries.

flag crossjoin on|off – Show crossjoin processing.

flag relations on|off – Show relationship processing.

flag rewrite on|off – Show rewrite of query.

flag subquery on|off – Show subquery processing.

0
0 547
Article Lydia Huang · Mar 14, 2016 6m read

The DeepSee Shell Best Practices Series - Get your MDX query plan, MDX Query Trace and more from the DeepSee Shell

To process a query, DeepSee performs the following steps:

1. Preparation, which occurs in process (that is, this step is not launched as a background process). In this phase:

  • DeepSee parses the query and converts it to an object representation, the parse tree. In the parse tree, each axis of the query is represented separately. One axis represents the overall filtering of the query.
  • DeepSee converts the parse tree to a normalized version of the query text.
0
0 929
Article Lydia Huang · Mar 14, 2016 3m read

The DeepSee Shell best Practices Series - Execute an MDX query in the DeepSee Shell with/without  results cache

This cache is different from cache reset. Cache reset clears everything in the namespace but “cache off” only clears the cache in ^DeepSee.Cache.Results and ^DeepSee.Cache.Axis global node for the corresponding cube. The difference is quite smaller in the case as below, but in some cases it can be a big difference.

^DeepSee.Cache.Results, which contains values for each query previously executed for a given cube.

0
0 513
Article Lydia Huang · Mar 14, 2016 3m read

The DeepSee Shell Best Practices Series - Reset your DeepSee cache in the DeepSee Shell

This method is provided as a convenience for developers for use on development or test systems. You should not use this method on production systems as it will have immediate effect on the performance of end user operations.

  • Stops all DeepSee background agents
  • Clears any pending tasks
  • Clears the result cache for the current namespace.
  • If you use “reset 1”, then the cell cache for the current namespace is also cleared.
0
0 495
Article Lydia Huang · Mar 14, 2016 4m read

The DeepSee Shell Best Practices Series - Get your MDX query performance stats from the DeepSee Shell 

DeepSee Shell can show MDX query stats and result set stats.

>>stats on

Stats are: on

>>SELECT {[Measures].[%COUNT],[Measures].[Allergy Count],[MEASURES].[MEDIAN TEST SCORE]} ON 0,NON EMPTY HEAD(NONEMPTYCROSSJOIN([AgeD].[H1].[Age Group].Members,[AgeD].[H1].[Age Bucket].Members),2000) ON 1 FROM [PATIENTS] %FILTER [GenD].[H1].[Gender].&[Female]

Patient Count Allergy Count Median Test Scor

1 0 to 29->0 to 9 69 45 73.50

2 0 to 29->10 to 19 74 47 75.50

3 0 to 29->20 to 29 80 56 68.
0
0 614
Article John Murray · Mar 11, 2016 1m read

If I have defined a class query in one of my classes and I want to use that query from a method of another class, what are the pros and cons of using the %SQL.Statement interface versus the %Library.ResultSet interface?

I believe %SQL.Statement is the newer interface.

So if the old way is:

USER>s rs=##class(%Library.ResultSet).%New("%Library.File:FileSet")
 
USER>s sc=rs.Execute("c:\s\","*.txt")
 
USER>w sc
1
USER>while rs.%Next() {w !,rs.Data("Name")}

...

then the new way is:

USER>s oStmt=##class(%SQL.Statement).%New()
 
USER>s sc=oStmt.
12
0 1854
Question Benjamin Eriksson · Mar 7, 2016

Hello! 

I'm trying to run a simple SQL query in atelier but it complains about the manager.  I'm not sure if this is the best way to do it but here is what I got so far:

 



	ZNSPACE "User"
	
	SET domId = 1
	SET flister=##class(%iKnow.Source.SQL.Lister).%New(domId)
	SET myloader=##class(%iKnow.Source.Loader).%New(domId)
 
 
	SET myquery="select top(10) EntityValue, CorpusFrequencyAsRelation, CorpusSpreadAsRelation from %iKnow_Objects.
5
0 457
Question Jack Abdo · Mar 13, 2016

In the documenations at this location http://docs.intersystems.com/enscomm20152/csp/documatic/%25CSP.Documati…, the normalize method applies normalizaion for text using the defined manguage and dictionary.

I want to normalize my iFind queries. How can I use the normalize method ? any code sample ? 

I want also to delete properly the iFind index. Deleting all the rows in the table is sufficient ? 

When quering iFind is it possible to get also TFIDF scores ? any code sample for this ?

 

Thank you for the help.

1
0 436
Question Renee Cannon · Mar 14, 2016

I have a tablepane in my Zen page that is tied to a class query.  When the page first loads, the table is empty.  A button onclick event causes the tablepane query to execute and load query results into the table.  I want an onchange event from a datalistbox to clear the tablepane so that it looks empty as it was when the page first loaded.  I have had no luck fiddling with javascript in the datalistbox's onchange.

1
0 467
Article Benjamin De Boe · Nov 9, 2015 1m read

A simple and rather automated search portal leveraging iFind capabilities for rich text search in 2016.1. It has simple faceting, result ranking, highlighting of search results etc and just works off any table you point it to that has an iFind index by appending ?t=MyPackage.TableName to the URL.

See also https://github.com/bdeboe/isc-iknow-ifindportal for more details and the latest version.

3
0 573
Question Andrew Makinson · Mar 10, 2016

Has anybody managed to get Enterprise Monitor to work to monitor multiple namespaces on manay instances?

I am hitting an issue trying to get a local instance namespace working.

I have this error for my first local namespace sytem configured.

"Ensemble encountered an error while loading this page"

3
0 376
Announcement Evgeny Shvarov · Mar 10, 2016

Hi, Community!

The Second Global Summit Free Registration Contest is running and we have only one week to celebrate new winner!

Here is current leaderboard amongst non-InterSystems DC Members after a half of the race:

 

(If you want to see contribution from InterSystems employees just set the filter value in the Deepsee dashboard)

John Murray contributed more than others last week.  John is a leader, but he did the result only for one week! 

There is one week more and so everyone can be a winner!

0
0 205
Question Fabio Goncalves · Mar 7, 2016

I would like to know how to get the key value from a dropdownmenuitem placed on a navbar.

I have tried to get from onselect and onchange events of the template class, but it didn´t  work.

According to the snapshot attached I am trying to retrieve the values from 'action-1' and 'action-2'. 

I have attached a ZIP file with a snapshot which value I am trying to retrieve and example classes.

Thanks.

8
0 396
Question Steve Pisani · Mar 8, 2016

Hi,

Can a Cache Mirror be  used in the cloud ? (ie stand up a Primary and Backup member instances in a High Availability Cache Mirroring configuration) 

I'm investigating the validity of this configuration, because I was of the understanding that this may not possible due to these cloud servers not (typically) having fixed ip addresses, which interferes with the Virtual IP settings for the mirror set.

Is this correct, and if there are workarounds (like Load Balancing ?) can I have details on how this should be configured ?

8
0 1073
Article Patrick Newton · Mar 10, 2016 5m read

Atelier Synchronization Logic

Background

Documents may be edited on the client independently of a connection to a Caché server. However, when a connection is established with a server for the purposes of saving, compiling and debugging code, then the client and server should agree with respect to the version of documents that are being operated upon. When they achieve this agreement, we say that they are “in-sync” and that the synchronization process is completed.

3
0 742
Question Nicki Vallentgoed · Mar 9, 2016

I have 2 projects in atelier, A and B which map to namespace A and B on the same server.

Namespace B has some classes mapped from namespace A.

I then edit a mapped class in project A  and save it(I can see the changes in cache studio as well).

atelier A:

studio:

However in project B the class does not change, even if I click the "syncronize all files with associated namespace " button.

atelier B:

7
0 383
Article Steve Glassman · Mar 9, 2016 1m read

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

This is a relatively light update with only a few dozen changes from the previous field test, spread out across all areas of the product.  Also, in a break from the recent past, this update doesn’t contain any new fixes to problems found in the field.

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

4
0 338
Article Timothy Leavitt · Mar 9, 2016 3m read

There have been a few use cases recently within InterSystems where we've needed to connect to Caché-based web services from PHP. The first of these was actually the Developer Community itself, which uses web services as part of Single Sign-On with other InterSystems sites/applications. The following example demonstrates how to connect to a Caché-based web service (particularly, the web service in the SAMPLES namespace) from PHP, using password authentication.

0
0 2814
Article John Murray · Mar 7, 2016 1m read

When developing or maintaining Caché Objects applications, or even ones written in plain COS code, it's sometimes useful to investigate dependencies. Yuzinji is a tool that analyzes the Caché class dictionary plus the COS code within methods and routines, then feeds its results into Structure101g Studio.

By doing this it becomes easy to ask questions such as "Who uses this piece of code?", getting the information in a format that is easy to explore further. For example, I recently analyzed all the packages in the SAMPLES namespace of the 2016.

1
0 920
Question Jenny Clement · Mar 8, 2016

We are beginning a project to switch over to a differnt EMR for our inpatient system, and we are wondering if others out here have worked on a similar project and how did you handle your Ensemble environment?

Currently, we use one namespace for all of our HL7 interfaces. Has anyone used a separate namespace for a project to keep the build separate until go-live? What were the pros/cons for you using a different namespace? Or did you use one and what issues did you have because of it?

2
0 536
Article Paul Gomez · Feb 25, 2016 2m read

February 25, 2016 – Alert: Incorrect SQL Results InterSystems has corrected a defect that can cause incorrect results for certain SQL INSERT, UPDATE, and DELETE statements.

This defect is present only in Caché and Ensemble 2015.2 and HealthShare distributions based on them. The problem affects all platforms.

Incorrect results occur only when two or more of these statements are nested within each other.

The example below demonstrates one possible way for this problem to happen:

  1. The class has an UPDATE trigger that uses embedded SQL to modify a table.

5
0 746
Article John Murray · Mar 6, 2016 2m read

When my COS code is executing in a Caché process it might want to interact with the host operating system. For the purpose of this post I'm focusing on a Windows host, but much of it applies to other host OS platforms as well.

A common example of host OS interaction is when my process wants to read from or write to a file. What credentials will apply when Windows is checking whether or not to allow me access to the file?

To answer that we need to consider another question. How did our process start?

6
0 1143