go to post Dmitry Maslennikov · Oct 21, 2021 At the moment we have only TextMate-based grammar in public, which is used in VSCode and on GitHub. I see no way of conversions from TextMate to Rouge. So, the only way would be to implement it from scratch. Not so easy, but still possible. I can do it, I have some experience in such tasks, but don't have so much spare time at the moment. Would be interested in investing in the project?
go to post Dmitry Maslennikov · Oct 16, 2021 You already extend %XML.Adaptor, and it means that you can call XML Export directly. Set status = objectTest.XMLExportToString(.xml) Write xml will produce <Test><Person><name>John</name><age>22</age></Person><Address><location>New York NY 10036</location></Address></Test>
go to post Dmitry Maslennikov · Oct 5, 2021 AWS offers EC2, and it will be just virtual machines. And it will be possible to migrate any of your instances quite easy, if you would choose the same environment. If you have windows on your server, you can have Windows there as well. It's the easiest way. You would need to install the same version of the InterSystems platform you use, and repeat the configuration, copy necessary information and that's it. But for sure, could be some other options. But AWS also suppose support for containers, this could be more difficult. And the best would be if you would use IRIS. I can help with this migration if you wish.
go to post Dmitry Maslennikov · Sep 5, 2021 Documentation do ##class(Some.ClassName).%BuildIndices($lb("indexName1", "indexName2"))
go to post Dmitry Maslennikov · Sep 4, 2021 Yes, when you created a new class, it is just a file on your local disk. When you saved it, VSCode caught this action, and sent it to the server, and compiled it. But deleting this file, not a reason to do the same on the server. You can delete class with Explorer view, there you may find any classes, that are stored on the server. By context menu you can Delete the item on the server, or Export it to get the local version. Icons close to class names, the same as in File Explorer view, may indicate the connection to your local file.
go to post Dmitry Maslennikov · Aug 21, 2021 It’s a class not routine, and you call to method not label, so instead of double dollar, you have to use double dots ..occupiedseatsAdj
go to post Dmitry Maslennikov · Aug 20, 2021 Well, ok, for Authentication azure provides OAuth2 and SAML, both possible to integrate to IRIS User synchronization may work in two ways, every time when user is authorized, so get synced only users has authorized at least once. Or periodically, get a complete synchronization, this could be possible only with saml.
go to post Dmitry Maslennikov · Jul 28, 2021 You got the error <STORE>, which means that your process is reached its memory limit. You may try to increase that limit in SMP, to a value more than your file size two times. Or try to change it with $ZStorage just for the current process. For sure, if you have enough memory for it.
go to post Dmitry Maslennikov · Jul 28, 2021 I think this may help ClassMethod CleanNull(json As %DynamicObject) As %DynamicObject { Set iter = json.%GetIterator() Set toRemove = "" While iter.%GetNext(.key, .value) { Set type = json.%GetTypeOf(key) If (type="null") { Set toRemove = toRemove _ $Listbuild(key) } ElseIf (type="object")||(type="array") { Set $Property(json, key) = ..CleanNull(value) } } Set ptr = 0, corr = 0 While $Listnext(toRemove, ptr, key) { Do json.%Remove(key - corr) set corr = corr + 1 } Return json } And Testing metho ClassMethod TestJSON() { set json = { "recipients": [ { "name":"Utsavi", "email":"utsavi@gmail.com"}, { "name":"Utsavi 1", "email":"utsavi1@gmail.com"}, null, null ], "content":[null, {"title":"Test.pdf", "data":"ygwehfbnwfbhew"} ] } Set result = ..CleanNull(json) Do result.%ToJSON() } Will return this {"recipients":[{"name":"Utsavi","email":"utsavi@gmail.com"},{"name":"Utsavi 1","email":"utsavi1@gmail.com"}],"content":[{"title":"Test.pdf","data":"ygwehfbnwfbhew"}]}
go to post Dmitry Maslennikov · Jul 13, 2021 Community edition version is limited to 8 cores. Do, if you are able to limit it somehow, do it. I would recommend using Docker, and it gives an ability how to limit CPUs for a container.
go to post Dmitry Maslennikov · Jun 29, 2021 If you working with local files, and doesn’t work with ISFS, it should not be any problem, at least from InterSystems point. did you export files from the server?
go to post Dmitry Maslennikov · Jun 14, 2021 Do you need some tutorial, how to do it by yourself? Or just to do it for you?You may contact me via email, I can do it for you.
go to post Dmitry Maslennikov · Jun 9, 2021 I would recommend seeing what's stored in the database, for this, you can use %GSIZE and count all the globals,and you may find which global(s) so big. And you can stop the server, delete CACHE.DAT, and start it again, and in this case, it should be recreated anyway
go to post Dmitry Maslennikov · Jun 8, 2021 Try these two variants write $extract($random(10000) _ "0000", 1, 4) write $random(10)_$random(10)_$random(10)_$random(10)
go to post Dmitry Maslennikov · May 31, 2021 Could you share your connection settings? It should use super port 1972
go to post Dmitry Maslennikov · May 28, 2021 What the component did you use for connection? There are a few technologies that was deprecated with IRIS, or under an additional license option.
go to post Dmitry Maslennikov · May 27, 2021 Did you see these examples? I'm not an expert in .Net, but as I understood the documentation correctly, you must pass stream as is to .Net method with byte[] as is, and the Gateway should map it, for you.
go to post Dmitry Maslennikov · May 27, 2021 For performance reasons, it's possible to define an Index in a way, that some of the columns will be as part of the index itself, just for search, and some data could be in the data part of that index, which will be used to display in the result if requested. So, if your index is somehow corrupted, the SQL engine will expect the values there, and will look for it, so, it will not go to the place where the data originally seat. And as a result, you may not see some of the data in the output rows.
go to post Dmitry Maslennikov · May 27, 2021 Sure, it’s possible to do so. React application is just a frontend side, and IRIS itself can be as a backend server. Or you can write backend server on some other language, e.g. NodeJS, Python, Java or .Net. Which will connect to IRIS as a database. you can look at my Realworld project, in particular realization of backend server. The project itself offers, the wide variety of frontends and backends on different languages, and with using different databases. So, you find React frontend which will work with backend on IRIS. and look at my article about this project