go to post Nikita Savchenko · May 9, 2016 Thank you, Mike!In fact, this is my translation of the original article posted on habrahabr's InterSystems blog (in Russian) one and a half months ago.Also special thanks to Evgeny, who helped me a lot with this.
go to post Nikita Savchenko · May 9, 2016 After some additional editing the article is finally published. Moving to developer community feedback page to leave an issue about wrong publishing date (the date of draft creation is displayed instead of the date of actual article publishing), which causes wrong sorting order on site pages.
go to post Nikita Savchenko · May 9, 2016 Oops! Thanks for catching this up. Somehow I missed to copy the correct version of the code.UPD fixed.Thank you!
go to post Nikita Savchenko · Apr 18, 2016 write a.$toJSON() is always vulnerable for <MAXSTRING> error, which was unacceptable for my case. For some cases while cycle can solve this problem, but even with this known bug an empty write command followed by do statement looks shorter and more reliable I think.
go to post Nikita Savchenko · Apr 17, 2016 Thanks for the great article! It made a good introduction to the new JSON capabilities in Caché for me.But it seems like there is one super strange issue with $toJSON method.Check this simple REST application: Class JSON.Mystery Extends %CSP.REST{XData UrlMap{<Routes> <Route Url="/test" Method="GET" Call="Test"/></Routes>} ClassMethod Test() As %Status{set a = { "test": 1 }do a.$toJSON()quit $$$OK}}Guess what you get by querying "http://hostname/webAppName/test"? You get nothing. And now, by adding a pointless change to the Test method: ClassMethod Test() As %Status{set a = { "test":1 }write "" // Right. This one.do a.$toJSON()quit $$$OK}Everything works as expected, string '{"test":1}' is outputted. Tested on Caché 2016.2.0.590.0.Any ideas on why this happens? Doesn't $toJSON function initialize the output as write does?
go to post Nikita Savchenko · Apr 11, 2016 Thank you Wolf for the good suggestions! Especially about UML associations.As Timur mentioned, you can fill the issue or feature request on GitHub's Class Explorer issue tracker, but don't expect it to be implemented fast if only it is not critical for you. Just left the suggestions there to keep things organized, if you have some time.Thanks for your interest on the project!
go to post Nikita Savchenko · Apr 7, 2016 Thanks!The labels in italics are hoverable. It means that user can hover over a label and get any additional information specified for the element like comment, keywords, etc. If there is nothing specified (all the keywords are default ones), then no italic font will appear.
go to post Nikita Savchenko · Dec 18, 2015 Alex, the current WebTerminal version (3.1.4) supports only VT100/Caché TERM applications. The VT440 support was not in the close future todo list, but may become true anytime. We had tried to run some "dinosaurs" in WebTerminal and some of them worked really well, but moslty it was all about the issue with the Caché command "USE": it breaks WebSocket connection and should be used properly considering that WebTerminal is an "over-TCP device". I believe one day we will find a way to make no difference between the common Terminal and WebTerminal behavior at this point, but today these application maybe should include a little fix to any usage of "USE" commands inside terminal applications.