go to post Dmitry Maslennikov · Sep 1, 2019 This feature was invented for IRIS. And not sure if Caché/Ensemble will get it. It would be better to move to IRIS, if you already thinking about containers.
go to post Dmitry Maslennikov · Aug 29, 2019 Interesting, why you duplicated lower and uppercase, and not sure if it's good to uppercase all letters in transliterated variant, even when only this letter was in uppercase. I mean like, Юла -> YUla, looks weird. I think it should check the case of the original word, if it completely uppercase, it should uppercase resulting word, but if only first letter in upper, so, resulting string should use $zconvert(word, "W")
go to post Dmitry Maslennikov · Aug 29, 2019 In our case, it should actually fail the installation, as we don't have any way to install two versions at the same time.But, not sure, if we already have such check.
go to post Dmitry Maslennikov · Aug 29, 2019 NPM does have the command npm init which asks you the basic information about your package and generates a package.json.Yes, kind of init command sounds useful. You know, we anyway have many differences with npm, for instance. Like, zpm works inside the database with nothing on disk, while npm in OS close to source files, but I think we can find the way how to achieve the best way.It is already there, should work the same as semver in npmNice! Does it follow the same format as the one from NPM?Yes, the same way
go to post Dmitry Maslennikov · Aug 29, 2019 1 - Is there any plans to automatize the module.xml generation by using something like a Wizard?Any reasons for it? Are you so lazy, that you can't write this simple XML by hand? Just kidding, not yet, I think best and fastest what I can do it, add Intellisense in vscode for such files, so you can help to do it easier. Any UI, at the moment, is just a waste of time, it is not so important. And anyway, is there any wizard from NPM?2 - Is there any plans to support non-specific dependency versions like NPM does?It is already there, should work the same as semver in npm3 - Is it possible to run pre/post-install scripts as well? Kind of what installer classes do.There is already something like this, but I would like to change this way.4 - Is also possible to use the module.xmlto provide a contextual root? Not sure about contextual root. But if saying about UnitTests, yes actually there are many things which should be changed in the original %UnitTests engine. But in this case, it has some way to run tests without care about UnitTestRoot global. ZPM itself has own module.xml, and look there. You will find lines about UnitTests. with this definition, you run these commands, and it will run tests in different phases zpm: USER>packagename test zpm: USER>packagename verify
go to post Dmitry Maslennikov · Aug 28, 2019 Yes, debugging finally here. Extended release notes with details how use all new features will be published here this week. Stay tuned.
go to post Dmitry Maslennikov · Aug 27, 2019 There is one more option, is the root of sources, so, the final settings are "objectscript.export.folder": "src", "objectscript.export.addCategory": true But it will be /src/CLS, not /src/cls, yet, until the next version.
go to post Dmitry Maslennikov · Aug 27, 2019 There is an option in the settings: "objectscript.export.addCategory", when it's set to true, it will add categories for different file types.In uppercase CLS for files "cls", and RTN for "int", "mac", "inc".The next coming version will support the way to have more control over it, where the left side for extension of a file, and the right part for a category name "objectscript.export.addCategory": { "cls": "_cls", "mac": "_mac", "int": "_int", "inc": "_inc" }
go to post Dmitry Maslennikov · Aug 12, 2019 look at this exercise, it may help you to get how to achieve it Set id = 1 Set streamGN = $Name(^IRIS.TempStream) Kill @streamGN Set @streamGN@(id, 1) = "some binary data chunk 1" Set @streamGN@(id, 2) = "some binary data chunk 1" Set lastChunk = $Order(@streamGN@(id, ""), -1) Set @streamGN@(id) = lastChunk Set size = 0 For chunk=1:1:lastChunk { Set size = size + $Length(@streamGN@(id, chunk)) } Set @streamGN@(id, 0) = size Set stream = ##class(%Stream.GlobalBinary).%Open($Listbuild(id, , streamGN)) While 'stream.AtEnd { Write !,stream.Read() } Quit
go to post Dmitry Maslennikov · Aug 8, 2019 You already using concatenation, it, means, that you lost leading zero, somewhere before. You may have some arithmetic operations with your parameters, which will case to lose those zeros.
go to post Dmitry Maslennikov · Aug 8, 2019 Remember about the second parameter in methods like Get and Post, which named test, which you can use for debugging purposes. If test is 1 then instead of connecting to a remote machine it will just output what it would have send to the web server to the current device, if test is 2 then it will output the response to the current device after the Get. This can be used to check that it will send what you are expecting.
go to post Dmitry Maslennikov · Aug 3, 2019 Just install this extension for Docker, and you will be able to up, and down compose configuration, from the context menu on file, or from the command palette. And of course, after that, you will be able to set any shortcut for those commandsAnother solution would be to use tasks in VSCode. So, you can add new or edit file .vscode/tasks.json, with content like this. { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "Compose Build", "type": "shell", "command": "docker-compose build", }, { "label": "Compose Up", "type": "shell", "command": "docker-compose up", } ] } And by command Run task from the command palette, it will offer to select which task to run.
go to post Dmitry Maslennikov · Aug 2, 2019 How about community edition in docker hub, when to expect it there?
go to post Dmitry Maslennikov · Aug 1, 2019 $SYSTEM.Util.Decompress() and $SYSTEM.Util.Compress() can help you to decompress and compress any data from/to gzip just from string
go to post Dmitry Maslennikov · Aug 1, 2019 That's strange, then. Maybe, somebody from InterSystems, can say, what's wrong.
go to post Dmitry Maslennikov · Aug 1, 2019 How many files did you try to sync?Could you try to sync less files?
go to post Dmitry Maslennikov · Aug 1, 2019 As you getting <STORE> error, it is related to the process's memory. So, I think you can solve it easily by increasing the value of maximum memory per process.It should be by default 256Mb, but, maybe you have too much CSP files. Just temporarily increase maximum memory per process may solve the issue.
go to post Dmitry Maslennikov · Jul 26, 2019 You can use any newest version of Studio with older versions of Caché. Or you can even use Studio for IRIS, which now you can download and install separately.The other way I would recommend is to migrate to VSCode ObjectScript. You can contact me directly so, I can help you with this process.
go to post Dmitry Maslennikov · Jul 23, 2019 You just have to enable Ensemble in the installer <Namespace Name="${NAMESPACE}" Code="${DBNAME}-CODE" Data="${DBNAME}-DATA" Create="yes" Ensemble="1">