go to post Dmitry Maslennikov · Jun 20, 2020 That’s very good to hear. As for the latest question, work in progress, and update should be available soon
go to post Dmitry Maslennikov · Jun 18, 2020 Look at the project mentioned earlier. This part { "folders": [ { "name": "main", "path": "." }, { "name": "part1", "path": "part1" },{ "name": "part2", "path": "part2" } ] } Mentions three folders, where part1 and part2 supposed to be used to connect to two different servers. And each folder, have own .vscode/settings.json, which contains own settings to the server.
go to post Dmitry Maslennikov · Jun 18, 2020 You can reach me directly if you would need some help with VSCode, I can help with the migration process for sure, as well. It will be more productive than looking at the Atelier way.
go to post Dmitry Maslennikov · Jun 17, 2020 Is there any reasons to install Atelier which will not be updated anymore? Why do not use VSCode with extension VSCode-ObjectScript. At the moment, this is only modern and in active development editor for InterSystems products. You can download the latest file (*.vsix) with this extension here, and install in VSCode by command Install from vsix
go to post Dmitry Maslennikov · Jun 16, 2020 VSCode-ObjectScript extension which I suppose you already use, support the way, to work at the same time with multiple connections. And Mathew, gives you an example how to configure it. Look at the project. Important file there is multi.code-workspace, it's a kind of project file for VSCode, where is defined two folders, and each of those folders has its own separate settings for InterSystems. So, it means each folder will have its own connection to its own server. And you can configure as many connections as you would like. With the next release, I think it will be available one more way how to achieve the same.
go to post Dmitry Maslennikov · Jun 12, 2020 <Invoke Class="Security.Users" Method="AddRoles" CheckStatus="1" > <Arg Value="UnknownUser"/> <Arg Value="Services_Role"/> </Invoke>
go to post Dmitry Maslennikov · Jun 8, 2020 That's good, I should definitely test it. But 2020.2 means that it will arrive only in 2021.1 MR?
go to post Dmitry Maslennikov · Jun 8, 2020 First of all, I have to investigate it by myself, so, I would have something specific to ask through WRC. At the moment, the issue I see now only on cached quires. We build our application, as separate database files with only deployed code, which we deliver to customers. And we run our tests, in the way as it works on the customer's side. The same deployed code, and for sure without cached queries.
go to post Dmitry Maslennikov · Jun 8, 2020 I've already found this qualifier, and it actually does not make any difference for us. Cached query-classes, go to %sqlcq package, where it's mapped, definitely not with our code, and it also contains namespace, which will be different on the customer's side. Another solution would be to just rebuild all cached query, in the application. How it would be possible to do? As I said earlier, we test our queries for performance regressions, and not only queries, everything, and as we don't have any cache at all when we start our tests, our tests now became useless. How we can trust test's results, while the part of performance regression is just a compilation for SQL queries? So, we have to somehow warm our application.
go to post Dmitry Maslennikov · Jun 8, 2020 Writing own class queries just restore changes things, which was ok on the previous versions not an option at all even we would have much less such queries. As We don’t going to use sharping we would better to deliver our application as we did it for Caché. We need one place where we could change the way. We also use UnitTests, and as part of our tests we test for performance regression, and now we get some tests failed due to significant performance regression. So now we have to spend time on investigation why it’s happening. I should expect better performance when I migrate between versions, but our automatic tests doesn’t show it.
go to post Dmitry Maslennikov · Jun 4, 2020 Do you mean ObjectScript code analyzer? There is a project ObjectScript Quality formerly known as CacheQuality
go to post Dmitry Maslennikov · Jun 4, 2020 InterSystems itself does not have to support access via ssh, it's just a task for OS. Could you have a look at Theia-IDE? This is a web-based alternative for VSCode, and there you already should be able to install extension VSCode-ObjectScript. This can be installed on the server, and you will have access through the web as you trying to do with WebTerminal. Would it work for you, your customers? It may not work so well as it works in VSCode, but, I think we are going to dive into it. VSCode itself developed by Microsoft, and they already offer it online as well, but on their Azure platform. With VSCode right now you can access your servers remotely via the web, where you can use SSL. If your server 2016.2+
go to post Dmitry Maslennikov · Jun 2, 2020 I suppose this happens just because it uses http. ping the author of webterminal @Nikita Savchenko
go to post Dmitry Maslennikov · Jun 1, 2020 First of all, you should not think, that using docker is the same as you would install it natively. You have to build your own per-project environment with docker. Where to find information Here in Community, you can find many articles related to using Docker with InterSystems products, you can find them by tag Docker. You can look at my articles, Containerization Caché, part2 Learning InterSystems has a course about using Docker, worth to look Many videos on InterSystems Developers Community youtube channel, from global summits, webinars In addition, you would need a code editor, and you can use cross-platform VSCode with extension VSCode-ObjectScript. Brief info about how to install and configure it on Learning.
go to post Dmitry Maslennikov · Jun 1, 2020 I've been using macOS Catalina, and while I'm also using docker for any project I work with, I even did not notice that it's now not supported. So, use docker, it's very easy.
go to post Dmitry Maslennikov · May 24, 2020 In the context of complex docker images, one more feature worth to be mentioned. It is multi-stage builds. It makes sense when you have to do some build something in your project, but you don't need any immediate files, for instance, source code, or any temporary files. Or some part of your app written in the compilable language, like go, and you can't compile it let's say it on IRIS image. You can first run go image, build it, and then build your final image base on IRIS where you just copy the result from the first stage. In case of IRIS, you can build this way, deployable code. Just build your application from source code, deploy, and copy the result to the fresh image, and it will keep you from the error of letting your source code go with the final image.
go to post Dmitry Maslennikov · May 24, 2020 There is no such way as merging two images. If you need only one image, the only way is to make a new one, which would combine the main from both images. So, you should choose which one is going to be as a base image, I would suggest it supposed to be IRIS. Then you can create install inside nodejs, and your node application. The issue is here you may face is that you will have only one init process after that. While I suppose you have to have started IRIS and NodeJS application at the moment. You can add a script which will run in a background nodejs application, and pass it to iris-main through CMD directive in conjunction with '-a', '-b', '-c' or '-t' parameterSo, it can be something like this FROM intersystestems/iris:2020.2.0.204.0 USER root # script which will run nodejs application in background COPY app-entrypoint.sh / # copy your nodejs application COPY ./nodeapp /opt/nodeapp # install nodejs v10, and node_modules RUN apt-get -y update && \ DEBIAN_FRONTEND=noninteractive apt-get -y install curl --no-install-recommends && \ curl -sL https://deb.nodesource.com/setup_10.x | bash - && \ DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs --no-install-recommends && \ rm -rf /var/lib/apt/lists/* && \ chmod +x /app-entrypoint && \ cd /opt/nodeapp && \ npm install USER ${ISC_PACKAGE_MGRUSER} # say to start your nodejs application after IRIS start CMD ["-a", "/node-entrypoint.sh"]