go to post Dmitry Maslennikov · May 26, 2017 Sure, I forgot to fix to this first Dockerfile. This needed because Docker have some caching mechanism for layers. And when each command become as a different layer, in every next build, Docker tries to optimize this process, and skip all unchanged layers. So, 'ccontrol start' could be skipped and next commands fail after that.I fixed now in the article.
go to post Dmitry Maslennikov · May 25, 2017 Error with code 126 it is, usually dependencies error. Looks like you loose some of system libraries which used by zlib1.dll.I would suggest using Dependency Walker, to find what you need.
go to post Dmitry Maslennikov · May 22, 2017 When just seen this project I thought that it is based on faker.js project (demo). But, unfortunately, they made their own base. Faker.js, by the way, is a quite good project for populating data in javascript (frontend or backend, no matter), it supports many languages, even Russian and Czech, and lots of different formats of data.
go to post Dmitry Maslennikov · May 18, 2017 Looks like you've copied some example from the documentation. But removed some by your opinion not needed lines. Original code looked like: //create Ensemble request message with given ID set request=##class(ESOAP.CustomerRequest).%New() set request.CustomerID=ID //send Ensemble request message set sc= ..SendRequestSync("GetCustomerInfoBO",request,.response) if $$$ISERR(sc) do ..ReturnMethodStatusFault(sc) You left only the last line. Where checked result from the previous one, in variable sc, as this variable is not defined in your code you got this error in SOAP <UNDEFINED>zTestOperation+1^Test.WebService.1 *sc
go to post Dmitry Maslennikov · May 18, 2017 set global=$name(^A),count=0 set i="" for { set i=$o(@global@(i)) quit:i="" if $increment(count) } zw count
go to post Dmitry Maslennikov · May 16, 2017 I've relocated this two images from google drive storage to another one (to the same as for others pictures in this article), hope it helps.
go to post Dmitry Maslennikov · May 4, 2017 When you define UrlMap, you should remember, that Caché uses Regular expressions. So, you can just put (?i) before Url, to make regular expression case insensitive XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ] { <Routes> <Route Url="(?i)/user" Method="POST" Call="User"/> <Route Url="(?i)/emailactivation" Method="POST" Call="EmailActivation" /> <Route Url="(?i)/login" Method="POST" Call="Login"/> </Routes> }
go to post Dmitry Maslennikov · Apr 29, 2017 It is possible to get some errors depends on how long query in your URL. It is not a good idea to have such long values in a query. And such value should be escaped to be valid to place in URL. Instead much better to send data as a form in POST.
go to post Dmitry Maslennikov · Apr 26, 2017 Could you please edit your question and put correct source code.
go to post Dmitry Maslennikov · Apr 26, 2017 I would also recommend using ^GBLOCKCOPY tool, for interactive coping globals from one database to another.
go to post Dmitry Maslennikov · Apr 25, 2017 In my previous company, administrator used Veeam to backup Caché databases as well. And as I know it works well. It uses some scripts to call ExternalFreeze Caché before, and ExternalThaw after, just backup, without any checks. All Caché instances work on Windows.
go to post Dmitry Maslennikov · Apr 25, 2017 command WRITE, outputs $listbuild in binary format, if you would use ZWRITE, it would show you $lb I've just made variable from your output USER>zzdump val 0000: 02 01 04 01 61 61 04 01 4A 4A ....aa..JJ USER>zwrite val val=$lb("","aa","JJ") Just read the documentation and you will get everything needed to work with $listbuild
go to post Dmitry Maslennikov · Apr 24, 2017 Caché stores data from tables in globals in $listbuild format. So you can use $listget, to get value from the particluar column, but you should know number for your column.
go to post Dmitry Maslennikov · Apr 16, 2017 With Studio, you will have only one option, is to store sources from server's side. Any Studio plugin works in Caché, and this code could decide where to store code. But developers should also have access to the same folder. If you have authorization on your Caché server, it will be quite easy to split settings and storing sources on disk for every developer.But If you would choose Atelier, you should not care about it. Atelier all changes store on client's side. And no matter how many developers works on one server.