Article
· Mar 18, 2016 1m read
Too easy to lose a post I wrote

Here's the scenario. I write a post, click the Publish button to post it, but overlook the fact that because I didn't add a tag I'm still on the same page. The pink area highlighting what I forgot to fill in is out of sight at the bottom of the page. I carelessly navigate away (e.g. back button, or DC app tabs). There's no warning, and I've lost what I wrote.

1 2
0 149

After the March 15th DC update I posted one Question (as opposed to Article). I've been used to getting notified by email no more than an hour after someone responds to a post of mine. In the case of my question, I think I only got that email when someone posted a Comment on the question. When I went to read that comment I saw that there were several Answers that had been posted many hours earlier.

0 2
0 245

Prompted by the words Rick didn't actually say to his pianist in Casablanca, I want to draw attention to the the "Resend" button at the top of the Ensemble Message Viewer.

It's pretty easy to use. Find the message or messages you want to resend, set the associated selection checkbox(es), then click the button.

3 3
0 927
Article
· Mar 15, 2016 1m read
Code metrics over time

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.

1 3
0 381

One aspect of source code management is how to deal with the almost inevitable need to upgrade your Caché or Ensemble platform to a newer InterSystems release.

It's long been my experience that InterSystems does a very good job of maintaining backward compatibility. Code that works correctly on, say, 2012.1 is very likely to work correctly on, say, 2015.2 without any modification.

0 10
0 571

In response to a comment on his posting about source control hooks and Atelier Bill McCormick used the example of Studio's SOAP Wizard and talked about providing more information about how Atelier will support this kind of extension.

My Atelier (1.0.116) has a Tools menu with an Add-Ins option and a "Soap Wizard" (sic) submenu.

Is there any information available to us yet about how we can add our own add-ins of this kind?

2 7
0 477
Article
· Mar 14, 2016 3m read
Source control and the production class

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:

2 3
0 719

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:

3 12
0 1.7K

In this posting I want to raise the profile of a feature that arrived in 2009.1 but is perhaps not very well known.

It is sometimes useful to make certain packages, globals or routines available to all of your namespaces. Of course you can add the necessary mappings whenever you create a new namespace, but here's a simpler way.

6 6
0 1.5K