No - CCR is not a 'released product'.  But there are implementation sites partnering with InterSystems that use it.  

Andreas - should this be cross-posted on the InterSystems Compatibility blog?

My guess is that there may be some people who follow that who might miss this significant announcement on the Developer Community.  I know I missed this when it was originally posted.

You should never do that.  That is a stripped down version of apache which should only be used for the Management Portal.  You need to install your own full web server

Thanks Tim!!  Very helpful.

One question /comment - your approach doesn't allow for case insensitivity of the http(s)/ftp prefix.  I would prefer to set the case insensitivity flag for the whole pattern.

According to the ICU documentation (  


(?ismwx-ismwx)Flag settings. Change the flag settings. Changes apply to the portion of the pattern following the setting. For example, (?i) changes to a case insensitive match.


So I was able to make it work as follows:

set matcher=##class(%Regex.Matcher).%New("(?i)(\b(https?|ftp)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])",string)
set string = matcher.ReplaceAll("<a href='$1' target='_blank'>$1</a>")

Thanks for the tips and pointing me in the right direction!

Sergey - I also appreciate the point about the "component" approach (as we're using 1.x + Angular Material).  If you have any good references or tutorials on that approach (and/or contrasting with the 'typical' approach to do Angular 1.x), please post them :)


You need leading whitespace on any line of a routine which is not a line tag.  Try putting a space or Tab on your 2nd and 3rd lines.

Also, "Hello there!" isn't a valid COS command.  Try using:

   Write "Hello There!"

If we change the unanswered query to only include questions with 'true' answers selected, do we expect everyone to be good enough citizens to go back and select true answers once they are provided?  Would admins be able to mark true answers if the author abandons the thread?

Removed as requested (although I personally think that the screenshot makes people more likely to take a look at your code rather than less likely).