When a class containing a method generator is compiled, the code that implements the method at runtime is written according to the instructions in the method definition.
When implementing our Deltanji source control product on Ensemble or HealthShare sites I sometimes encounter places that implement multiple production classes, e.g. one for their DEV environment and another for their LIVE one.
On the Links area:
"Youtube" should read "YouTube".
I just noticed that when I view this post of mine from a browser where I'm not logged in, none of the three embedded screenshot images appear:
https://community.intersystems.com/post/why-atelier-11s-compare-servers…
Is this intentional? Or a bug?
When server-side source control such as Deltanji is being used with Atelier we sometimes want to re-sync the local Atelier copy of a class or routine by pulling the copy from the server.
Here's one way to determine if a class is mapped (i.e. it is in a package whose definitions come from a database other than the default code database for the current namespace):
SAMPLES>w ##class(%Library.RoutineMgr).IsMapped("Cinema.Film.cls")
0
SAMPLES>w ##class(%Library.RoutineMgr).IsMapped("%iKnow.Objects.Source.cls")
1
SAMPLES>If you pass a by-ref second argument to IsMapped you can also discover what database the class definition is stored in:
DC readers running Caché etc on Windows, configuring the Telnet service to use SSL/TLS, and using the Caché Telnet client (CTerm.exe) to make the Telnet connections may like to know that there's a fault in 2017.1 and 2017.1.1 which prevents CTerm.exe from establishing the secure connection.
Workaround is to use a pre-2017.1 kit to install on your client machines (e.g. 2016.2.2), or to fetch the bin\cconnect.dll from an earlier version (I used 2016.2.2) and use it as a replacement for the 2017.1 / 2017.1.1 copy.
I'm pretty sure that we used to be able to click on the logo at the top of the homepage in order to reload it:
But this no longer has a hyperlink, so I have to use my browser's reload facilities.
Was this change deliberate?
When posts are displayed on the DC homepage they only show the first part of each post. This part is known as the teaser, or the trimmed version. The DC software does its best, but without being given any hint by you it can sometimes produce teasers that are of limited value, e.g. "Hi!"
When composing your post, the Preview button lets you see what the teaser will look like. For example, here's the preview of an initial version of this post:
And if you want to take control, put the cursor at the point you want the teaser to end, then click this button on the editor toolbar:
When working at the Caché command prompt I sometimes want to run an operating system command on the server host. By prefixing my command line with ! or $ I can do this with ease. The following examples are from 2017.1 on Windows, but the feature is available on all versions and platforms:
When working at a terminal prompt the %SS routine lets me see what's running on the instance:
USER>d ^%SS
But sometimes I'm only interested in knowing what's running in my namespace. In which case, here's what I use:
USER>d THIS^%SS
Recently I was conducting a remote support session with a site. The desktop they were sharing with me was on a PC configured with German as the native language. Since my German is rather rusty, and virtually non-existent when it comes to computing terms, I was glad to be able to switch the Portal session into English.
This is done from the page that appears when you use the About link:
All I needed to remember was that the About link is the second one, and the language selection dropdown is at the foot of that page.
This article appeared in the feed, but the "last answer" and "last comment" links point to https://community.intersystems.com/post/can-you-crack-black-box#node-43… and https://community.intersystems.com/post/can-you-crack-black-box#comment… which belong to a different post.
I recently helped a site investigate a problem that appeared after they upgraded their Windows instance of Caché from 2015.1 to 2017.1. A terminal session launched from the server's desktop cube was unable to run OS-level commands using the $ZF(-1) function. For instance, using the no-op command "REM" as follows:
write $zf(-1,"rem")
was returning -1, indicating that the Windows command could not be issued.
FYI, on the Field Test page, the links highlighted below are currently broken:
UPDATE: this is now working again.
During a Caché system management training course today we discussed structural database integrity (a.k.a. physical integrity) and the tools InterSystems provides for checking integrity and fixing problems.
Today I helped someone solve a mystery. He had been trying to use the -U namespace argument of a csession command to specify the namespace in which to run a particular routine, and was puzzled when the routine could not be found.
The colour scheme seems to have changed from green to blue, perhaps to be more in line with ISC corporate image.
Anything else new?
UPDATE: information has since been posted here.
It's good to see growing participation in DC. However, sometimes I think that responses posted as Answers to Questions would be better classified as Comments. For example, the respondent could be seeking clarification about the original question (e.g. "What Caché version are you using?"), or perhaps following up someone else's answer or comment.
A few years ago InterSystems announced a tool to help Caché system managers on sites with a large number of Caché instances. It was called Enterprise Manager.
When I recently searched for information about it I didn't have much success.
Using Chrome on my Android mobile I can't seem to get to a specific submenu option. For example in the screenshot below I use the menu button to bring up the first-level menu. Then I tap on "COMMUNITY". The second-level menu appears briefly, but doesn't give me time to tap the entry I want ("FEEDBACK") before it decides to take me to the page headed "Connect with Members".
Am I missing a trick, or is this a bug?
I still find it odd having to go to the DC homepage to get the "Create a New Post" button:
because it's not there when I'm reading a specific group, e.g. at the URL https://community.intersystems.com/group/atelier
Prompted by this post about accessing a global at its original location after you have changed a mapping, here's a tip about one specific dropdown in Portal that's sometimes useful.
If your application is raising <PROTECT> errors and you're finding it hard to work out why, here's a way to get additional information.
First, if auditing is not already enabled, turn it on:
Then use "Configure System Events" (highlighted above) and locate the event named %System/%Security/Protect. In the screenshot below I used the Filter field to do this (type "protect" - highlighted below - and press TAB):
How about displaying a different icon alongside a question for which there is an accepted answer? Perhaps add a green checkmark adornment to the existing icon?
In this recent post I highlighted the importance of a CSP session's Key property in enforcing the level of security your web application may be relying on, and in particular the need to keep the property value secret.
I only recently noticed the presence of a local database named CACHE alongside the more familiar CACHESYS, CACHELIB, CACHETEMP and CACHEAUDIT.
A bit of digging through the documentation archive led me to conclude that the CACHE database arrived in 2010.2, where the release notes say:
Note the lack of an accent on the words I have highlighted.
Prior to 2017.1, whenever I created a new namespace using Portal on Ensemble or HealthShare it was automatically configured to host productions. This used to irritate me, because sometimes I'm setting up a namespace (for example, to host our Deltanji tool) that doesn't need the extra Ensemble baggage.
Sometimes I observe people scrolling manually down to the bottom of the Console Log document when they want to see the most recent messages. So I want to draw attention to the handy link that does the job for you in a single click:
When I use the Analytics option from the Community menu I'm now being prompted for credentials:
This didn't happen before. Has something changed?