go to post Dmitry Maslennikov · Sep 18, 2018 Caché cube icon available only for Windows. But there is an external project Cube, but it was not developed so long.
go to post Dmitry Maslennikov · Sep 7, 2018 I have configured automatic deployment of the application to Kubernetes with Helm from GitLab as a part of CI/CD process.I would not say that I had some specific issues, just well configured Kubernetes cluster with the right storage driver. Any InterSystems products supports devicemapper and aufs right now, yet. So, of course, better to have devicemapper available server, and use this possibility. AUFS already deprecated by Docker and will disappear in the next major release.
go to post Dmitry Maslennikov · Sep 6, 2018 Sorry, it was my mistake, just missed that I wanted to hide websocket by rest, and did it not in good way. Issue was in my CacheBlocksExplorer project. Fixed it with ServerSideRedirect. So, now I can use only one CSP Application in public for REST and WebSocket.
go to post Dmitry Maslennikov · Sep 6, 2018 I used Gitlab, to build and test application itself, build docker images and deploy it to kubernetes with helm. Used simple integration with Slack from gitlab, so, I have notifications about the status of any latest build.
go to post Dmitry Maslennikov · Aug 30, 2018 Interesting task, and actually it is possible to implement.
go to post Dmitry Maslennikov · Aug 30, 2018 I wanted to finish stable release, with support for new versions Caché and IRIS, and also release docker image to use it very easy. But unfortunately, I have not found time for it, yet.
go to post Dmitry Maslennikov · Aug 30, 2018 Large databases should not be a big issue. Should work, it will show data asynchronously, so, how depends how fast disc it should show data anyway. And it should work as fast as the Integrity, or so.
go to post Dmitry Maslennikov · Aug 29, 2018 Do not forget that $lb is just a list, concatenated list of single $lb, and $lb is a string in binary format.. So, just $replace, will work USER>set list = $lb("stri,ng", $c(0), 2) USER>set list = $replace(list, $lb($c(0)), $lb()) USER>zw list list=$lb("stri,ng",,2)
go to post Dmitry Maslennikov · Aug 23, 2018 I made such an example years ago, you can look at GitHub. This example maybe not so correct by this time, but can be useful. When you have to run only ECP clients, it becomes a bit easier. You should not care about volumes, in most cases, all the data stored in ECP-client is temporal. So, you mostly should care only about buffers. In my example, you can find how to configure instance during docker build to work as ECP-client.
go to post Dmitry Maslennikov · Aug 16, 2018 You can specify /nodelete qualifier when you run your tests. Do ##class(%UnitTest.Manager).RunTest("testspec","/nodelete") Look at the documentation for other options.
go to post Dmitry Maslennikov · Jul 26, 2018 Luca thanks for the response. Can you also say something about GKE, I did not find how to change storage driver, IRIS does not work there?
go to post Dmitry Maslennikov · Jul 11, 2018 Well, now a few questions.Does it mean that any new requested features will be declined to implement?Any possibility to implement new features by own?How about the future of Atelier API?If InterSystems not going to extend Atelier anymore, maybe it's time to open sources Atelier or at least Atelier API.Currently, it sounds like Atelier will get the same future as Studio, it means no future. Or am I wrong?
go to post Dmitry Maslennikov · Jun 27, 2018 In addition to other answers, if want to operate with bits, you can use functions:$zhex - converts integer to hex and vice versa, be careful with type of variables. If you pass string it will convert from hex to dec, if you will pass integer it will convert from dec to hex.$factor - converts integer to a $bit string$bit (with bunch of $bit* functions) - operates with bitstrings.You may possible need some encryption functions, you can findAnd possible zlib, $system.Util.Compress and $system.Util.Decompress from class %SYSTEM.Util If you are going to work with H.264, I would not recommend to try to implement it in COS, it will not be fast enough. I'm not very know with this technology but I'm sure I know, it is too complicated and encoding should work in GPU. But it is impossible with Caché. I don't know why exactly do you need it, but I would recommend you to look at external tool ffmpeg, which is very useful and leader on work with video. And I think you can connect ffmpeg.dll, to work from Caché with $zf functions.
go to post Dmitry Maslennikov · Jun 21, 2018 Well, there is mostly only one reason, why you can't mount your database and this issue mostly happens when anybody tries to migrate between different versions on different machines. And it is different localization settings. Like, your database uses some national global collation, and you try to copy it to the instance with different settings, where this collation does not supported. You should find mention about wrong collation in cconsole.log. So, then, you should set the same NLS, as in the first system and try to mount again.Another possible reason is different blocksize in the Database. By default Caché uses 8KB blocks, but it is possible to have different block size, and instance should be configured for this particular blocksize, as well. cconsole.log should also contain error in this case.Some other issues, which you can face, but they do not prevent database to be mounted.8-bit or Unicode, when you install Caché you still able to choose it, when Ensemble, HealthShare, and IRIS is Unicode only. In this case, if your data not in English, possible data should be converted from 8-bit codepage to Unicde.cache.lck file next to CACHE.DAT, it is a lock file, prevents to mount database with exclusive access. But Database in this case should be mounted in read-only mode.
go to post Dmitry Maslennikov · Jun 21, 2018 Function $zf(-1) just executes a command passed as the second argument, you passed only file name. it is not complete, you should add command del for Windows. set status = $zf(-1, "del c:\sys\text.txt") it should return 0 if the command was successful. If you want just delete a file, you can use %File class, useful for many different operations with files and folders. set result = ##class(%File).Delete("c:\sys\text.txt")
go to post Dmitry Maslennikov · Jun 21, 2018 This format does not contain information about timezone, so, you don't have any direct way how to convert it to the local time. You can use DATEADD function, to correct time, but you should use constant correction, or in another field. SELECT DATEADD(hh, 3, CreationTime) FROM Table Like, here I just add 3 hours.
go to post Dmitry Maslennikov · Jun 12, 2018 If you work on versions 2016.1 and later you can use native JSON.
go to post Dmitry Maslennikov · Jun 7, 2018 KILLdes only happens during transaction, so, it will be able to revert changes.And it happens when you kill some node with existing subnodes. So, it will kill each subnode separately with KILLdes