Article John Murray · Mar 15, 2016 1m read

Among the outputs of our Yuzinji tool are two code metrics that it can be interesting to track over time as a development project proceeds. These are Size and XS. The first is fairly straightforward. As you write more code the size of your codebase increases. The XS metric (pronounced "excess") aims to quantify excessive structural complexity. XS is explained in some detail in this 2006 whitepaper from Headway Software, whose Structure101 toolset Yuzinji leverages.

By analyzing a codebase using Yuzinji at key milestones we can investigate how these metrics change. Here's a screenshot from a p

3
0 439
Question Leon Duveen · Mar 14, 2016

We have to route messages in a Process Class by their source (using either the SourceConfigName from the Message Header or the Source in the Message Body.  

The inputs are standard HL7 messages from different Services but need to be routed on to different Processes depending on where they come from (not my design & I can't change it now) does any one have any suggestions how I could do this?

Thanks

4
0 838
Question Jochen Roese · Mar 14, 2016

[SOLVED]

added 

>/tmp/compilew.log &>/tmp/compilew.log ; tail /tmp/compilew.log

to redirect the output to the stdout. Somehow the javac has wierd behavior with the output on errors and verbose information.

Hi,

i want the JAVA-Projections and wrappers to compile after Caché created the files. The creation of the files works 100%.

My addition to createProjection in our Projectionclass is following:

if ($g(%jrodebug)=1) {
!,"...compile:"
!,"DEVICE : "_$g(%qdev)
!,"$IO : "_$IO
#dim cPathTranslated = $tr(classname,".","/")
#dim cClassnamePath = $p(cPathTranslated,"/",1,$l(cPathTranslated,"/")-1)_"/"
#di
2
0 434
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.BankUSTerminalService" PoolSize="0" Enabled="true" Foregrou
3
0 806
Announcement Paul Gomez · Mar 14, 2016

Here are a few other changes and updates coming in this release.

1. When making a new post, the Related Topics (tagging) is now required. We are doing this because we want to add more features to the site and need the content organized by tag for more granular navigation, cross-linking and page customization. We will create a posting in Developer Community Feedback so that tags can be discussed and we'd be happy to adjust what tags are available now. Free-form tagging and more advanced tagging techniques you may have seen on other sites is not yet implemented but we're looking into what options

0
0 234
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 proces

0
0 545
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. In this normalized ver
0
0 922
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. This global also contains meta-information about those queries that ca

0
0 506
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.  

>>reset 0

** Stops all DeepSee background agents, clears any pending tasks, and clears

0
0 491
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 

0
0 610
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.%PrepareClassQuery("%Library.File"
12
0 1843
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 435
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 465
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 568
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 373
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! 

Do posts, make comments, vote for your favorite writers and come to the InterSystems Glob

0
0 202
Question Eduard Lebedyuk · Feb 24, 2016

I need to perform additional checks before Cache user logins (let's say in a terminal for simplicity) and allow access only to those, who passed them. How do I do it?

After reading about delegated authentication in docs I created this ZAUTHENTICATE routine:

ZAUTHENTICATE(ServiceName,Namespace,Username,Password,Credentials,Properties) PUBLIC { #include %occErrors #include %occStatus quit $$$ERROR($$$GeneralError,"No access") }

and set Password and Delegated as Allowed Authentication Methods   in %Service_Console (it's a windows install)

Expected result: no one can login via the term

14
0 1428
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 390
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 ?

I'm assuming other options like traditional Windows Clustering, or a VMWare

8
0 1061
Question Mark Hanson · Mar 9, 2016

I noticed a lot of sites these days support use of Gravatar user profile pictures so your profile picture can follow you around from site to site, could we support this here?

 http://en.gravatar.com/

Also there appears to be some HTML bug in the user profile edit page, when I click on the 'edit' tab I see options to edit the profile for a fraction of a second before this closes and I am unable to edit anything.

5
0 345