go to post Dmitry Maslennikov · Apr 13, 2017 I would suggest also to use such a great tool as source code analyzer for COS, and it is the first ever for COS. You can look at the demo. This project is still in a progress, but anyway, can already help to prevent some bugs. And remember, that you can suggest adding some new rules, which you sure will be useful.
go to post Dmitry Maslennikov · Apr 11, 2017 Some of such configuration classes contains methods Modify and Get, it may help to easy modify configuration, in a few lines set props("DeepSeeEnabled")=1 set sc=##class(Security.Applications).Modify("/csp/myapp", .props)
go to post Dmitry Maslennikov · Apr 7, 2017 Look at the documentation Menu, Edit-> Find or Find in files
go to post Dmitry Maslennikov · Apr 3, 2017 Would be much better, if InterSystems will add OpenSearch to their documentation. And I think it will be enough only for the public version. And in this case, it will be supported in all modern browsers, without installation anything external. Something like this. <?xml version="1.0"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> <ShortName>InterSystems docs latest</ShortName> <Description>InterSystems Ensemble Documentation latest Version</Description> <Url type="text/html" method="get" template="https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.SearchPageZen.cls?KEY=&KeyWord={searchTerms}"/> </OpenSearchDescription>
go to post Dmitry Maslennikov · Mar 30, 2017 Try this do ##class(%SYS.Journal.File).GetPrev("c:/cache/mgr/journal/20170330.002", prevFile) write prevFile
go to post Dmitry Maslennikov · Mar 30, 2017 Do you wait for any more variants? Do not forget to mark the answer as accepted.
go to post Dmitry Maslennikov · Mar 27, 2017 I think maybe something like this /deploy <cache-instance> webterminal
go to post Dmitry Maslennikov · Mar 27, 2017 Nowadays when somebody says "chatbot", it means, that such a chatbot will work on one of the popular chats. Like, Slack, Telegram, or maybe Skype. So, where your chat bot will work?About functionality. Some time in the organization could be useful, such commands as create the new instance, or maybe clone some old one. And anyway you missed at least one command, it is a list of available instances.But for such bot, I think should be much more than just to start or to stop instances. It is also should support, something like deploying some services there.
go to post Dmitry Maslennikov · Mar 26, 2017 you should look at XSLT, it can help transform xml as you need ClassMethod SplitXML() { for item="market","product" { set params("path")="/doc/"_item Set tSource=##class(%Dictionary.CompiledXData).%OpenId(..%ClassName(1)_"||XML").Data Set tXSL=##class(%Dictionary.CompiledXData).%OpenId(..%ClassName(1)_"||XSL").Data // Transform the source according to the XSL Set tSC=##class(%XML.XSLT.Transformer).TransformStream(tSource,tXSL,.tOutput,,.params) If $$$ISERR(tSC) Quit write !! // Output the result to the screen Set tSC=tOutput.OutputToDevice() } } XData XML { <?xml version="1.0"?> <doc> <header></header> <product><test>1</test></product> <market><test2>2</test2></market> </doc> } XData XSL { <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:param name="path"></xsl:param> <xsl:output method="xml" indent="no"/> <xsl:template match="/"> <xsl:copy-of select="$path"/> </xsl:template> </xsl:stylesheet> } will output like below USER>d ##class(Test).SplitXML() <?xml version="1.0" encoding="UTF-8"?><market><test2>2</test2></market> <?xml version="1.0" encoding="UTF-8"?><product><test>1</test></product>
go to post Dmitry Maslennikov · Mar 26, 2017 you can do it with ccontrol tool Syntax: ccontrol create <instance name> <parameters> Description: Create an instance's entry in the Cache registry. Parameters: directory=<installation directory name> versionid=<version identifier> Example: ccontrol create mystuff directory=/usr/cachesys versionid=2008.2.0.357.0
go to post Dmitry Maslennikov · Mar 24, 2017 What are you going to deploy?To deploy some application you can use Installer Manifest. Look at this article.
go to post Dmitry Maslennikov · Mar 23, 2017 It is not so simple as would appear in the first time. Because you can have some mentions to old package in a source. In studio only possible to rename some class with refactoring feature. Unfortunately, this feature is not documented, or I have not found.
go to post Dmitry Maslennikov · Mar 23, 2017 Stay tuned, I'm going to show how to do it the next part.
go to post Dmitry Maslennikov · Mar 23, 2017 Hi, I would not recommend thinking seriously about Caché in windows server core container, I think it is too early, yet.
go to post Dmitry Maslennikov · Mar 15, 2017 Alexey, yes, it is very easy to build a little application just in one container. I don't see any problem, to use any supported technologies as well. Even also possible some load balancing from docker, which also good for microservices. I'm going to show some example with application in the next article soon.
go to post Dmitry Maslennikov · Mar 15, 2017 I think in this case better to use property ReplyTo, which will be used in mail clients as an address for response.
go to post Dmitry Maslennikov · Mar 14, 2017 $zf(-1) can only return status code from called process To get some output result, you should redirect this output to some file, and read result from this file after executing. set status=$zf(-1, "find /tmp -name *.tmp > /tmp/result.log") set fs=##class(%Stream.FileCharacter).%New() set fs.Filename="/tmp/result.log" set result=fs.Read()
go to post Dmitry Maslennikov · Mar 14, 2017 Stay tuned, I'm going to write next about it. In this article, we did a basic image. Wich will be as a source FROM for next images with some our application.