go to post John Murray · Apr 20, 2018 To answer your request for info about the registry entries, here's what one of mine looks like:
go to post John Murray · Apr 20, 2018 If you're not already committed() to using Git, you might consider the Deltanji source code management tool from my employer, George James Software. One of its features is the ability to manage deletion of code components (e.g. classes, routines, files, lookup tables, HL7 schemas etc) and propagate those deletion downstream in whatever workflow you have configured (e.g. DEV, QA, STAGING, LIVE).
go to post John Murray · Apr 12, 2018 The documentation is misleading about this. It says:When you upgrade Caché to a new version, existing Query Plans are automatically frozen.And later:The earliest upgrade that performs this operation is an upgrade to 2017.1.0.What it needs to say is:The earliest upgrade that performs this operation is an upgrade from 2016.2.0.The docs do use 2016.2 as the "from" version in their example, but not in a way that communicates how this nice feature won't help with upgrades from pre-2016.2 versions.@Brendan Bannon - please draw this to the attention the InterSystems documentation team.Above I've deliberately linked explicitly to the 2017.2 doc rather than to "latest" because I hope that in due course the latter will get corrected.
go to post John Murray · Apr 10, 2018 A bit more info on the answer from @Jeffrey DrummHere's how the relevant part of the 'Environment, Documentation and Proxy' section of Studio's Tools\Options dialog starts out:In this state I can use the standard 'SOAP Wizard' add-in but it is served by the private web server of my Cache server installation. I'm testing from the Windows desktop this runs on.I also have an instance of IIS on that Windows host, and the IIS is correctly configured to serve Portal and documentation pages from both http://localhost/ and https://localhost, plus from http://localhost/cache111 and https://localhost/cache111Back in the Studio Options dialog I set the checkbox and start trying some value-pairs in the now-active Address and Port fields. Here are my results:AddressPortResult of launching add-inlocalhost80Successlocalhost443White page, presumably because HTTP is requested from 443localhost/cache11180CSP Error page, which reveals that the CGI variable CACHE_URL has the malformed value http://localhost:80/cache111:80/isc/studio/templates/SOAPClientWizard.csphttps://localhost443Works from Studio 2017.2.1 but fails from Studio 2014.1.1 and displays a page headed "Navigation to the webpage was canceled".https://localhost/cache111443Fails from Studio 2014.1.1 as above. Gives CSP Error page from Studio 2017.2.1, which reveals that the CGI variable CACHE_URL has the malformed value http://localhost:443/cache111:443/isc/studio/templates/SOAPClientWizard.cspNote too that if we enter a value for Address but leave Port blank the dialog files a value of 80 in the Port field. This can be seen when the dialog is reopened.Conclusions from above:Templates and add-ins can be served from a server other than the Private Web Server as long as they are served from the root.Studio 2017.2.1 can fetch templates and add-ins using HTTPS when correctly configured. This is not true of some earlier versions of Studio.
go to post John Murray · Apr 9, 2018 No, a variable name cannot contain the underscore character, because that character is the concatenation operator. If it was allowed in a variable name, how would we interpret this, for example?WRITE TICK_TOCKIs it concatenating variables TICK and TOCK, then writing out the result? Or writing the value of a single variable named TICK_TOCK.If the utility you refer to is expecting you to supply data values in variables whose names match the SQL column names, then the developer of the utility hasn't accounted for the fact that SQL column names can contain underscores but Caché variables can't. So the utility needs fixing.
go to post John Murray · Mar 29, 2018 In case this behaviour is version-specific, please tell us your $ZVERSION string.
go to post John Murray · Mar 26, 2018 I'm seeing extra whitespace characters at unexpected places in the code fragments you posted. For example between $ and fromJSON(data)What is your $ZVERSION value? The $-style methods got introduced at one point, then removed in a later version.
go to post John Murray · Mar 26, 2018 I assume you are using Caché on Windows, and you are launching Terminal from the Cube on the local desktop of the PC where Caché is running.In this case the security settings of the %Service_Console service (System > Security Management > Services) are what you need to adjust.Enabling only "Unauthenticated" will mean that you don't get prompted for username/password, and your Terminal session will report $username="UnknownUser". But the security settings for UnknownUser will also have to allow that account to get to the programmer prompt. If they don't, your Terminal session won't start.Enabling only "Operating System" will mean that provided a Caché user account exists that matches the Windows account you are logged into the desktop as, your Terminal session will report that username as its $username. Again, the Caché account will need sufficient permissions to get to the programmer prompt.
go to post John Murray · Mar 16, 2018 Here's a place to start reading the public online doc:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCI_upgradeSoftware kits can be downloaded from InterSystems WRC (Worldwide Response Center) at https://wrc.intersystems.com/ but you will need a WRC account to log in with.
go to post John Murray · Mar 12, 2018 For my Studio, to toggle the menubar it seems to be View->Toolbars, and then choose Customize...There, go to the Toolbars tab:
go to post John Murray · Mar 8, 2018 Any useful clues in cconsole.log file?What does 'ccontrol stop INSTANCE001' report?You might need to force the instance down, but perhaps best to consult WRC first.
go to post John Murray · Mar 8, 2018 If your Cache service on Windows is running under the LocalSystem account (the default for some types of Cache install), then processes launched by Cache (including for interactive users connecting using the telnet service) won't be able to access UNC fileshares.See https://community.intersystems.com/post/who-does-windows-think-i-am for more info.
go to post John Murray · Feb 26, 2018 This seems to be a simplified version of your earlier post. (Hint: you can edit a post at any time).Per my suggestion on that post, have you looked at the cconsole.log files at both ends of the network connection?Also, you tagged this post as "Compiler", but it's not clear how it relates to that.
go to post John Murray · Feb 26, 2018 First, using my moderator superpowers I have moved this out of the Developer Community Feedback group (intended only for feedback about the DC platform) and into the Cache group.The <NETWORK> error code hints that your Cache instance is involved in some ECP networking. Maybe that is having a problem. Check cconsole.log at both ends of the connection(s) for clues.In general though, I suspect your issue is too site-specific for DC members to be of much help. I recommend you open a support ticket with InterSystems WRC.
go to post John Murray · Feb 23, 2018 I think your user Laura_Test_DEV needs to be granted a SQL permission to perform an EXECUTE on the relevant SQL procedure in whatever namespace you need:
go to post John Murray · Feb 23, 2018 Based on your previous post I'm betting that your site has an INC file with content something like this:#define Fza $zaMaybe the INC file also uses #if conditions to substitute different text when it's being used to build routines targeting different implementations of the M language.
go to post John Murray · Feb 20, 2018 Many terminals, including the one with Cache, will respond to specific escape-sequences to hide and show the cursor. For example:w ! w $c(27),"[?25l" w "Cursor hidden" h 5 w ! w $c(27),"[?25h" w "Cursor shown" h 5 w !
go to post John Murray · Feb 20, 2018 I'm not aware of a way to do this directly. But in the case of routines (and classes) shown in Atelier Explorer (AE) these are files on your local filesystem. When I switch to the Project Explorer (PE) view, a right-click on a project gives me an option to "Show in Local Terminal", with a sub-option "Terminal". Choosing this gives me a new Terminal tab in another Eclipse pane. I'm working on Windows, and this Terminal gives me a Windows command shell in the root local directory of my project. There I can issue a suitable DIR command, e.g.dir /s /o-dFor an equivalent on the server I suggest using Management Portal, which can be quickly launched from the context menu of a connection in the Server Explorer (SE) view. Once in Portal you can use System Explorer\Routines, and click on the Date header to sort the list by last modification date/time.
go to post John Murray · Feb 19, 2018 I assume you're using 1.1.391 (the latest public release), and that the " - MGH" indicates you have defined an Eclipse working set with that name and selected it (e.g. in the dropdown menu from the down-arrow on that dialog).For the benefit of others who may not have found this dialog yet, it's on the standard "Navigate" menu and also the standard toolbar (white "C" in blue circle).It apparently searches the filenames within your projects (optionally limiting this to projects in your current working set), but I haven't yet found a way to make it take the package into account in its lookup, nor to display it.I am interested to know more about the "Workspace matches" part of your screenshot. So far I haven't managed to get this on mine.And can someone explain the rather cryptic "TZ = TimeZone" part of the dialog text?
go to post John Murray · Feb 6, 2018 See Robert's answers. The %File.Writeable(...) method's underlying implementation ($zutil(140,12,filename,2)=0) is apparently not able to determine whether or not a directory is writeable, despite the method doc stating "Return true if the file/directory is writable and false if it is not"See this older doc for $zutil(140) information.You could try raising the issue with InterSystems WRC, but my guess is they'll say it's a bug in the comment on the method.