Apparently if I pose a question (like this one) and subsequently discover an answer, I can't add that as an answer. I'd have to resort to a comment on the original posting, or editing the original posting.
I just tried doing this with my Mars.1 instance of Eclipse, using https://atelier.artifactoryonline.com/atelier/atelier-beta-1.0/ as the repository to search. It offered me Atelier, but then here's what happened:
Did I do something wrong, or isn't this yet ready?
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.
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.
Look at this screenshot from the homepage. The "post" timestamp is the same as the "last comment" one.
Drilling into the item shows the correct amount of time since I created it.
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.
Look at this. I see the same whether using Firefox or Chrome.
Are titles such as "answer406171" expected?
Since the March 15 update, Related Topic is now a mandatory field. My first post since the update was to this Developer Community Feedback group, and I found it hard to choose an appropriate Related Topic. I ended up picking "Online Learning" for that post, and will use the same for this one too.
Here's what I now get (screenshot from Chrome at 75% zoom, yellow markers added to the posts with the wrong font)
:
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.
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?
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:
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:
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.
In a comment on this post in the Field Test - 2016.2 community Bill McCormick suggested using Atelier's "Check for Updates" option from the Help menu. Here's what I get:
Clicking "Yes" gets me here:
Looks like I need to use the "Add..." button:
What URL should I enter here?
I just saw this new posting by Mike Kadow on the "Caché, Ensemble, DeepSee" Google Group announcing the availability of his new book, "Caché and MUMPS - Part II"
There's also more information about it at his site http://www.cosmumps.org/
When I go to the 2016.2 FT download page I'm also offered a link to the Atelier Beta:
That link takes me to a page showing a date from the end of last year:
Is this one slipping behind the full 2016.2 FT program, or is the page showing outdated information?
If your Ensemble environment is actually a HealthShare one, here's a snippet of information that I wasn't able to find in the documentation.
When a namespace is HealthShare-enabled it gets some mappings added to it in order to fetch stuff from the HSLIB database. The most obvious mapping is a package mapping that gives your namespace all the HS.* classes.
Suppose I want to create an Eclipse plugin designed to be added to Atelier, and my plugin needs to perform some processing on the server that the current Atelier project is configured to connect to.
Is there a way I can use the connection credentials that have already been entered by the user? I don't really want to make them enter these again into my own plugin.
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.
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?
If you've got more than one developer on a project, do you each work in your own namespace? Or do you all use a common namespace?
Through my work at George James Software I have encountered many different Caché and Ensemble development setups. At risk of over-generalizing, the older and more established users of InterSystems technologies seem more likely to have all their developers working in a common namespace, whereas the newer 'converts' tend to favour giving each developer their own namespace.
There's plenty of goodness in the %-packages InterSystems supplies, and it seems that every new version of Caché brings something new. The browser-based class documentation (a.k.a. Documatic) generally provides a good level of information, but on the basis that "a picture is worth a thousand words" I sometimes want a diagram.
For example, when trying to navigate the %Dictionary package for a project that needed to find out about class definitions, here's one of the UML class diagrams I created.
The purpose of this post is to raise the profile of a powerful mechanism that has long been available to us, and to open a discussion about ways in which it can be used or abused.
You can read more detail about the mechanism here. To summarize, your class definition can use the Projection keyword to reference one or more projection classes. A projection class can implement methods that get invoked at key points in the lifecycle of your class.
A projection class must extend %Projection.AbstractProjection and will typically implement at least one or the following methods:
Is anyone in the fine community of developers who work with ISC technologies looking at Microsoft's Visual Studio Code offering?
One of Bill McCormick's recent posts about Atelier referred to Visual Studio being considered the best IDE. Granted, Code is far less of a tool than VS, and probably always will be. But it claims to be open source and cross-platform, i.e. Linux and OS X as well as Windows.
I'm not 100% sure my post belongs in the Atelier group, but didn't see any other group that would be a better home. Might we benefit from a "Tools" group?
Announcing Deltanji 6.0, the latest version of the well-respected George James Software source control product formerly known as VC/m.
Deltanji comes in four editions, including Solo which is quick to install on Caché or Ensemble (2009.1 or later), easy to get started with, and perpetually free.
Deltanji runs within the environment whose code it is managing, integrating closely with Studio and Portal, and storing code versions in a CACHE.DAT database.
Please visit http://georgejames.com/deltanji to learn more and download the software.