John Murray · Mar 15, 2016 go to post

Thanks for the feedback Ben.

I'm familiar with System Defaults, and we actively try and promote their use when we talk to Ensemble users about this issue. However, the way that Portal defaults to filing configuration item settings into the class means that it's all too easy to do this by accident. In contrast, to add/edit a System Defaults type of setting requires significantly more effort within the UI. Surely a better job could be done here?

I expect Prodlog 94592 already has the name of George James Software all over it, as we've been lobbying on this issue since the very beginning. While we wait, we've devised some techniques that allow Deltanji to leverage the OnConfigChange classmethod that a 2012.1+ production class can be given. You can read about them here.

John

John Murray · Mar 14, 2016 go to post

If your READ from wrappercomp raises an error (e.g. end of file) you don't have anything in place to catch this error, CLOSE wrappercomp and USE olddev once more. I suggest you add some code (for example a TRY/CATCH block) to do this, and also to tell you what the error was. That information might help you find out why the wrappercomp pipe didn't work as you expected.

John Murray · Mar 14, 2016 go to post

I think a "GRANT EXECUTE ON SCHEMA xyz TO roleA, roleB" should be sufficient to give users with roleA or roleB the ability to run any stored procedure defined by any class in your xyz package, even classes / procedures that you haven't yet written.

John Murray · Mar 14, 2016 go to post

AFAIK only the owner of the class (set using the Owner keyword on the class, defaulting to _SYSTEM) has automatic rights to invoke all of the SQL stored procedures that the class implements (as classmethods with the SqlProc keyword). Anyone else who needs to be able to invoke them will need the right granting to them, either directly or via a role.

John Murray · Mar 11, 2016 go to post

That's interesting to know. It means that my experiment can become:

USER>s oResult=##class(%Library.File).FileSetFunc("c:\s\","*.txt")
 
USER>while oResult.%Next() {w !,oResult.%Get("Name")}

...

And now static code analysis that detects classmethod references can spot the use of the secret FileSetFunc method within the class that implements the query I'm using.

John Murray · Mar 11, 2016 go to post

What version of Ensemble / HealthShare is running its webserver at chft-eprtiedev.xthis.nhs.uk:57772 ?

John Murray · Mar 11, 2016 go to post

Thanks for putting so much time and effort into this Mike.

Would you be willing to offer the examples etc as PDF downloads as an alternative to .docx files?

Maybe also worth deleting the "Sample Page" item from your site.

John Murray · Mar 11, 2016 go to post

One caveat about transferring globals between namespaces / instances using XML format is that by default when you load the XML into the target namespace the global(s) in your XML file will be pre-killed. In other words, it's a "replace" operation rather than a "merge" one. This may be exactly what you want in many situations, but if you've been used to using other utilities to export and import globals then it's different.

To override this behaviour, add the "/mergeglobal=1" qualifier during your import, for example as the second argument (qspec) to $system.OBJ.Load(), which is of course the Load classmethod of %SYSTEM.OBJ.

See more qualifier documentation here.

John Murray · Mar 10, 2016 go to post

Hermain, I think yours predates the point where ISC implemented the ability to update Atelier from within Atelier. I suggest you download the latest kit and install that. Thereafter you ought to be able to update from within. But bear in mind I'm not an ISC person, so my advice might be incorrect.

John Murray · Mar 10, 2016 go to post

Thanks for sharing this detailed information Jamie. I noticed that the headers have links to a wiki on GitHub, but they're unreachable to me and presumably to other non-ISC folk.

John Murray · Mar 10, 2016 go to post

Was that repository URL pre-populated in your Atelier?

Maybe the response Dmitry gave to this post I created in the Atelier community will help you.

John Murray · Mar 9, 2016 go to post

Tiago,

Do you mean that when you are writing output from the server (e.g. from a source control class) you want to be able to control the colour of that text? I have never discovered a way of doing that, but let's see if anyone at ISC knows of an undocumented feature there.

John Murray · Mar 9, 2016 go to post

I can confirm that the 64bit Windows Ensemble download link is working for me.

John Murray · Mar 9, 2016 go to post

That worked. I guess the Developer Community application ought to do a better job with content expiration or something in order to make sure we see the correct images.

John Murray · Mar 9, 2016 go to post

Nicki, did you paste the wrong thing as your second image? Under the title "studio:" I'm seeing an Atelier "Create a New Project" dialog screenshot.

John Murray · Mar 9, 2016 go to post

Existing users of our Deltanji source code management tool, which runs natively inside Caché / Ensemble / HealthShare, may want to start using Atelier without having first to re-engineer their source control. I foresee a need for an Atelier user to be able to interact with a Deltanji dialog and then trigger a server-side action.

John Murray · Mar 8, 2016 go to post

Certainly looks strange that you can browse namespaces on the Server Explorer tab but the new project wizard says it can't find any. I don't see your symptoms on mine, but I'm connecting to a Windows instance of 2016.2. My Atelier "About" box shows version 1.0.107. Is yours that version too?

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?

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 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 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 6, 2016 go to post

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

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.