Right it will be better
- Log in to post comments
Right it will be better
You can check how many license units available with this method $SYSTEM.License.LUAvailable()
And next depends on the kind of application, you develop. If it's some web application, and you have to achieve it for web session, I would try using %CSP.SessionEvents with OnLogin event, check how many license units are available and who is logging in, and decide to decline the login.
If you need it for some else ways of connections, I think the best place would be ZAUTHENTICATE.
CSP files are real files on disk and case sensitivity is depends on operating system. So, I suppose you using some Linux.
Since 2016.2 there are no reasons to keep storing source code in XML. Even in transition process, I would recommend to store codebase based on the lowest supported version of platform.
Cache and IRIS able to export and import source code in UDL format, as seen in VSCode.
If you would stay with XML format just because you’d like to keep history consistent, it can be solved by converting entire history in the like it was always in UDL.
Btw, I can add such support to any language, and what the language would you prefer next?
No, classes still need definition
It does not support. Could you explain the reasons to have this ability?
ahh, you have a just a wrong JSON, I would recommend to find a way how to fix it from the side where it comes from.
Key names in the JSON also have to be wrapped by quotes
You can pass a stream to JSON parser. So, this code should work
SET obj = {}.%FromJSON(%httprequest.HttpResponse.Data)Deployed classes still have to be delivered but without code, for sure, with just compiled OBJ code.
Right, I did not said that it’s open, and available at the moment, I think how to make it the best way.
Look at this file, the part of Language Server which communicate with IRIS
https://github.com/daimor/vscode-intersystems-iris/blob/main/server/src…
Why you are using JDBC from Python, if there is pyodbc?
Are you doing it in the docker container, and is it separate to IRIS container?
Could you share all the components you use?
The issue could be in libraries, are you working on macOS?
Should not be any problem if you use the same user both in Studio and VSCode. PROTECT error means you have security issue and your user not granted for write permission, or that database is just in read only mode
Look at this page, it may help you in understanding how to configure it.
If you need to store classes and mac routines separately, you can use
{
"objectscript.export": {
"addCategory": true
}
}In the case of different behavior for different types, and place only mac routines to the specific folder, use this.
{
"obejctscript.export": {
"addCategory": false,
"folder": {
"mac": "mac"
}
}
}it was renamed to Web Gateway
Check the security settings, which you can find in notes in the extension description.
Yeah, It's a bit tricky. All the code in Caché really stored directly in the database. But with VSCode, code can be stored locally as files, for easy access and the ability to use source control such as git. After any save of the file related to Caché, e.g. Classes or routines, it will be sent to the server and compiled there.
Having a separate development server, and a production server are for sure is best practice, for sure. With no permission to edit code directly on production. And with having DevOps, will be possible to build a production version and easily deploy it, by some actions or events.
I'm just guessing, I'm not a Windows user for many years. And did not install IRIS there at all. I use only Docker for now.
While you are a front-end developer, you may be familiar with VSCode. And I would like to recommend you to use it for Cache as well. The minimal supported version is 2016.2, so with 2017.1 you should be able to use it.
Are you sure, that you have enough space on the disc?
Google says that error 112 on windows happens due to the inability to decompress the installer and copy files to the destination.
The community edition version is limited to 5 license units. So, when you connected from DBeaver, and a few terminals, may use all the licenses available.
Hi Marcel, yes, something was implemented, which may help you with it. There is a new item map in objectscript.export. For instance this
"objectscript.export": {
"folder": "",
"addCategory": false,
"map": {
"%(.*)\\.([^.]*)": "src/$2/_$1.$2",
"(Test\\.PM\\.Integration\\..*)": "tests/integration_tests/$1",
"(Test\\.PM\\.Unit\\..*)": "tests/unit_tests/$1",
},
}I have on the same level src and tests folders, so, I set folder to an empty string, to operate on a root level. My Unit Test classes, just placed in the desired folder without adding the folder by type (e.g. cls, inc). But, any other sources have to be stored by type in a separate folder, and my classes are a percent classes, and I have to replace % to _.
On the left side, I have the regular expression to match any main classes %(.*)\\.([^.]*) it should match the filename completely, and on the right side replacement. Same you can see for two different types of UnitTests.
As I know there is no jar with the latest Hibernate dialect for IRIS, yet. I think we can prepare it and publish it the same way.
Very interesting question, could you please raise the issue in GitHub repository for the project.
We would need a bit more details about it, what you have in your SourceControl Class, and what do you expect.
But, be aware, that this feature was not completely implemented at the moment. It may not implement all the features available in Studio, due to some differences in architecture.