John Murray · Jan 15, 2016 go to post

What's the right support channel to use for the cloud-based Atelier FT server? I log in at https://wrc.intersystems.com/wrc/BetaPortalCloud.csp and click the "Launch Server" button. The button disappears immediately and is replaced by text saying "Your Atelier Server has been launched,
it will run for the next (expired)." and when I click on the xxx-.isc.appsembler.com/csp/sys/UtilHome.csp URL I am offered I get a page reading "

No Application Configured

This domain is not associated with an application.

"

John Murray · Feb 8, 2016 go to post

Has any information about system methods reached the documentation yet? On my 2016.2 FT (build 585) Documatic shows the methods of %Library.Object in a new section headed "SystemMethods" and summarized in a table titled "System Methods". The methods start with keywords systemmethod and systemclassmethod but a DocBook search on either of those terms doesn't get me any extra information.

Also, in Stefan's article the section about system methods says that the "live in a separate namespace" (my emphasis). I don't think he means namespace in the sense of %SYS, SAMPLES, USER etc, but rather that your own method called "new" can coexist with the systemmethod called "new".

John Murray · Mar 3, 2016 go to post

If you're planning to develop on a later version than you deploy onto, beware the occasional gotcha. For example http://docs.intersystems.com/ens20151/csp/docbook/DocBook.UI.Page.cls?KEY=EGRN_compatibility#EGRN_compatibility_hl7schemas identifies an issue with trying to import a 2014.1+ schema into a pre-2014.1 environment. I have seen at least one Ensemble site mangle their production by exporting a schema from 2014.1 or later and then importing it into an earlier version.

John Murray · Mar 3, 2016 go to post

A few more caveats:

  • It's not that you can't use the READ command, but that the command completes immediately with emptystring, i.e. "". So beware of running certain command-line utilities. For example, if you connect Studio to %SYS and D ^LOCKTAB in the Output pane you're trapped in an endless loop and have to terminate your Studio.
  • If anything you run releases all locks with an argumentless LOCK command, any Studio locks will also be gone. I've sometimes wished COS allowed us to protect the locks of our process in the same way as we can NEW our local variables.
  • Issuing the H or HALT command is a surefire way of ending your Studion session.
John Murray · Mar 3, 2016 go to post

We at George James Software are paying close attention to this whole area. For a long time our source code management product Deltanji (formerly called VC/m) has integrated closely with Studio by using templates and add-ins as well as the source control class interface.

Atelier shifts the paradigm for source code management. We live in interesting times.

John Murray · Mar 3, 2016 go to post

I empathize with the ISC developers who are dealing with this aspect of Atelier. I know from personal experience maintaining our tools that COS parsing can be a challenge. And just when you think you've got it cracked, something new gets added to the language, e.g. system class methods, JSON notation.

John Murray · Mar 3, 2016 go to post

Re your Atelier issue, does the "Configure server" link lead you to somewhere you can test the connection? Make sure that your Atelier connection is pointing to the port that your Cache Portal also goes to, and not to the port that your Cache Studio uses. That was an early gotcha for me in Atelier.

The Cache username that you connect with might not have enough privileges. One way to determine if this is you problem is to grant the user the %All role temporarily.

John Murray · Mar 3, 2016 go to post

Indeed. Presumably the "load and delete" defaults were a design decision based on the model of running unit tests elsewhere. That seems relevant for a build server, but not so friendly for the developer who you're trying to persuade to code the tests in the first place. Yes, Studio the source control hook facility can be your friend here provided you're prepared to spend enough time getting intimate with it.

John Murray · Mar 3, 2016 go to post

Interesting. Are you able to tell us more about what you're doing with SonarQube?

John Murray · Mar 3, 2016 go to post

The difference Tim gave in his first bullet is presumably down to the way that the projection methods get called after the class being projected has been compiled, whereas if you're using generator methods they're executing in the midst of the compilation.

John Murray · Mar 3, 2016 go to post

This blog doesn't seem to be up yet. Maybe I just need to be more patient...

John Murray · Mar 4, 2016 go to post

Stefan,

I had a PM from Bill after I posted yesterday, saying there was a problem with the blog site and that it was being attended to. Looks like they fixed it.

John

John Murray · Mar 4, 2016 go to post

I recall from the private beta period that they were talking about offering this as an option. Haven't found it in the field test build I'm currently using (1.0.0.201602110048)

John Murray · Mar 4, 2016 go to post

Dmitry's answer should be what you need. I'd add that the paradigm shift between Studio and Atelier can take a little getting used to. With Studio we're accustomed to thinking of the code in a namespace as the "source of truth". We pull the code from there, change it, and push it back in order to store our changes (and to run the amended code). With Atelier we're more likely to be pulling code into our local filesystem using a source control provider, then editing it, saving it to our local filesystem, and eventually pushing it from there back to the source control repository. Using this mode of working, we only push it into a Caché namespace in order to run/debug it.

John Murray · Mar 4, 2016 go to post

No, I don't think you have to switch over to the new paradigm until you're completely ready to (e.g. no-one using Studio anymore). Instead, follow Dmitry's steps, creating an Atelier project containing any of the classes that you want to edit. Don't hook the Atelier project up to an Eclipse source control provider; your namespace and the existing server-side source control class should continue to function the way it always has done.

This is how we anticipate existing users of our Deltanji (formerly VC/m) source control product will deal with the introduction of Atelier.  And perhaps not just existing users, seeing as Deltanji is available as a free Solo edition.

John Murray · Mar 4, 2016 go to post

Thanks for fixing the image size so it doesn't bleed across other areas of the forum UI.

If anyone would like to have a full-size image, or the EA model file, or even the XMI that Umlanji emits, reply to this comment and I'll find a way to make them available.

John Murray · Mar 5, 2016 go to post

This is a good question. One of the potential benefits of moving to Eclipse is the increased potential for an ecosystem compared to the Studio days. I think that even if Atelier source isn't opened up to us we will still be able to add stuff around it. But it would certainly be cool if InterSystems released it as open source.

John Murray · Mar 6, 2016 go to post

Certainly Scott. You can now get the full-size PNG file by clicking on the image.

John Murray · Mar 7, 2016 go to post

Interesting question. I expect you're already aware of how we can get the value of an environmental variable thanks to the GetEnviron method of %SYSTEM.Util

USER>w $system.Util.GetEnviron("TEMP")
C:\WINDOWS\TEMP
USER>

Maybe someone else knows how you can amend one. But if it's not possible, can you improve readability in your code by concatenating the components of your $ZF argument in several stages into a local variable, then passing that variable as the argument to $ZF ?

John Murray · Mar 7, 2016 go to post

Thanks for spending the time to take us on such an informative backstage tour Ben. A lot of this aligns with what I've seen on the many sites where I've implemented our source code management product for customers.

John Murray · Mar 8, 2016 go to post

What is the $ZV of the server?

USER>w $zv

What security roles does the user nicki hold? Either check these using Portal, or connect to a terminal session as nicki and write $roles

USER>w $username
nicki
USER>w $roles
...

If you connect to this server using Studio and authenticate as nicki, what namespaces does Studio offer you?

John Murray · Mar 8, 2016 go to post

In your version of Studio, if you open the File\Open dialog and right-click on a package name in the dialog's list, is the a "Delete" option?