go to post Brett Saviano · May 5 @Juan Mota Sanchez Is your instance set up for minimal security? If so, you need to change the /api/interop-editors web application to allow Password authentication. It's a known issue that the new Interoperability UIs don't support unauthenticated access. This will be fixed in a future version of IRIS.
go to post Brett Saviano · May 1 The next versions of the three extensions (vscode-objectscript, Server Manager and Language Server) will attempt to close their web sessions when VS Code shuts down. This should help avoid sessions stacking up if you restart VS Code often.
go to post Brett Saviano · May 1 Your #1 is incorrect. // and /**/ comments are allowed in the class body outside of member implementations. They won't be associated with a class member as a description. They are saved in the system global as part of the class though. They're technically their own class member type called UDLText, which you can see in the XML snippet in the original post.
go to post Brett Saviano · May 1 Hi @Colin Brough, I'm happy to expand on my previous comments. Yes, this is correct. Exporting a class retrieves whatever is in the system global for that class and builds the text file from it. The serialization happens when the class is imported. That space must be added when the text of the class is converted to the global structure. Therefore, if you manually changed the system global to remove the space it would not show up in the export. NOTE: Please don't actually do that! Yes, this is correct. Any server functions that export code that export code in a specific format (UDL for VS Code and $SYSTEM.OBJ.ExportUDL() for example) use the same code for performing the export. The serialization I mentioned in #1 and on GitHub only happens when importing a class in UDL format (the format used for editing in Studio and VS Code), NOT XML. The space must have been removed when someone modified an XML export file directly and then re-imported it. This won't work for the reason I mentioned in #3. You could use VS Code to do this. Assuming you have a local folder containing your code open in VS Code, you can right-click on the folder and select the Import and Compile option. This will load all the files in the folder onto the server, compile them, and then refresh the local copies.
go to post Brett Saviano · Apr 16 This is deliberate. Mixing client-side editing and server-side editing can lead to lost or overwritten work, so we made it a little harder to do so. You can still add an editable folder by editing the .code-workspace file directly if you are OK with the risks.
go to post Brett Saviano · Apr 7 These "Go To" options are built-in to VS Code core. While the action is the same, the concepts are different. VS Code describes a few of them here.
go to post Brett Saviano · Apr 1 @Kurro Lopez The GET /api/atelier/ REST endpoint contains a lot of useful information about the server and it's been available since 2016.2. It does require %Development to call though.
go to post Brett Saviano · Mar 31 Hi @Dmitrii Baranov, you can use VS Code's multi-root workspace feature to add multiple local folders to a single workspace. There are some great client-side editing enhancements among the features that should be released later this week.
go to post Brett Saviano · Mar 28 You can use the $STACK system function: Write $STACK($STACK(-1),"PLACE") Note that this will only work if $ECODE is clear (the empty string).
go to post Brett Saviano · Mar 27 They're not in the preview builds. 2025.1 is now GA, so use the released build. Tags 2025.1 or latest-em should pull the released build (number 223).
go to post Brett Saviano · Mar 27 Thanks for this feedback Enrico. We will consider this for a future version.
go to post Brett Saviano · Mar 27 These new UIs are available in all IRIS-based products, including containers and the Community edition.
go to post Brett Saviano · Mar 27 The regex Route is the correct way to do this: Class User.REST Extends %CSP.REST { XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ] { <Routes> <Route Url="/(.*)" Method="GET" Call="test" /> </Routes> } ClassMethod test(path As %String) As %Status { Set %response.ContentType = ..#CONTENTTYPETEXT Write path Return $$$OK } }
go to post Brett Saviano · Mar 27 The two new apps (Production Configuration and DTL Editor) are opt-in at this time. You must open a Production or DTL in the old app, and then click the "Try the new UI" button to launch the new one. There is currently no way to set the new ones as a default like the Rule Editor since these are still in the early stages, but you can always bookmark them through your browser.
go to post Brett Saviano · Mar 21 VS Code supports editing a class that extends Ens.DataTransformDTL the same as any other. That error message is reporting that the contents of the DTL XData block are invalid. Did you make your edit the right place?
go to post Brett Saviano · Mar 18 The /api/monitor/alerts endpoint was created to allow for text-based alerts to be consumed by the now-discontinued System Alerting & Monitoring tool. It does not map to any concept related to Prometheus. For more information, see this documentation page.
go to post Brett Saviano · Mar 18 Thanks for the detailed explanation Mat. It makes sense that you would want to turn off VS Code's syncing since you've already implemented it via git hooks. I will think about the best way to implement these settings and will let you know when I have a proposal.
go to post Brett Saviano · Mar 18 Hi Michael, can you pleas explain what your git hooks are doing in more detail? If you don't want to share that publicly, feel free to send me a direct message.
go to post Brett Saviano · Mar 18 Hi Michael, I am convinced that a change should be made here. I'm going to always enable the code that fills in the ROUTINE and Class headers when a new file is created, because that scaffolding is valuable even if the user has to edit the generated name. However, I will leave the code that modifies existing files when they are moved guarded by the objectscript.autoAdjustName setting, which will remain false by default.
go to post Brett Saviano · Mar 12 Hi Michael, thanks for the feedback! The intention of that change was to not update the name of the document when you move it to another file location. However, it may be desirable for the extension to fill in the ROUTINE and Class headers, even if the generated name needs to be updated by the user.