go to post Ben Spead · Nov 20, 2024 There is no rollback mechanism built into the installer (unless there is an issue in the middle of the installation in which case it will back out the installation). If you are using a VM the best practice is to snapshot your VM prior to upgrade and roll back to the snapshot if something goes wrong. This should be done with care because any data changed post upgrade will be lost when you restore the snapshot.
go to post Ben Spead · Oct 30, 2024 that is correct ... Artifactory will be supported with this release.
go to post Ben Spead · Oct 28, 2024 @Scott Roth - are you sure that you re-exported the source after /exportversion was set in the system exporting the code that would be imported into 2022.1? If you are certain of this, then please reach out to Support because I am not sure why that would not work
go to post Ben Spead · Oct 28, 2024 @Scott Roth - best practice in cases like this is to set the /exportversion qualifier in the DEV environment (or whatever is exporting the source) until all of your pipeline is on the newer version. E.g. w $system.OBJ.SetQualifiers("/exportversion=iris2022.1") This should prevent any newer attributes from being included in the exported XML which would prevent import on an earlier version. ref: https://docs.intersystems.com/iris20242/csp/docbook/Doc.View.cls?KEY=RCOS_vsystem_flags_qualifiers
go to post Ben Spead · Oct 2, 2024 Thank you to everyone who provided feedback directly through the app. We have addressed the few concerns that there were, and @Matthew Giesmann will be disabling the old UI in the near future.
go to post Ben Spead · Sep 27, 2024 @Colin Brough - values for Cache Server manager are stored in the registry. If these servers are using CCR, you can actually download registry keys directly from you CCR System page (above Environments select Export > Studio) and load it onto a developers desktop in order to have the Environments automatically show up in the Caché Server Manager. If these are not CCR-controlled, then you can create a .reg file similar to the following in order to pull them in (this was generated by CCR for an internal System and I have modified a few fields; the last two entries change Studio to have a red background on LIVE to make it easier to see where you are located): Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\InterSystems\Cache\Servers\ISCU-Demo-BASE] "Address"="base.demo.iscdemo.com" "AuthenticationMethod"="0" "Comment"="This has been created by the CCR system export." "ConnectionSecurityLevel"="" "LastNamespace"="" "Port"="51773" "ServerType"="" "ServerPrincipalName"="" "Telnet"="22" "WebServerAddress"="" "WebServerInstanceName"="" "WebServerPort"="443" "HTTPS"="1" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\InterSystems\Cache\Servers\ISCU-Demo-BASE] "Address"="base.demo.iscdemo.com" "AuthenticationMethod"="0" "Comment"="This has been created by the CCR system export." "ConnectionSecurityLevel"="" "LastNamespace"="" "Port"="51773" "ServerType"="" "ServerPrincipalName"="" "Telnet"="22" "WebServerAddress"="" "WebServerInstanceName"="" "WebServerPort"="443" "HTTPS"="1" [HKEY_LOCAL_MACHINE\SOFTWARE\InterSystems\Cache\Servers\LIVE-ISCU-Demo] "Address"="monitor.iscdemo.com" "AuthenticationMethod"="0" "Comment"="This has been created by the CCR system export." "ConnectionSecurityLevel"="" "LastNamespace"="" "Port"="51773" "ServerType"="" "ServerPrincipalName"="" "Telnet"="22" "WebServerAddress"="" "WebServerInstanceName"="" "WebServerPort"="443" "HTTPS"="1" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\InterSystems\Cache\Servers\LIVE-ISCU-Demo] "Address"="monitor.iscdemo.com" "AuthenticationMethod"="0" "Comment"="This has been created by the CCR system export." "ConnectionSecurityLevel"="" "LastNamespace"="" "Port"="51773" "ServerType"="" "ServerPrincipalName"="" "Telnet"="22" "WebServerAddress"="" "WebServerInstanceName"="" "WebServerPort"="443" "HTTPS"="1" [HKEY_CURRENT_USER\Software\InterSystems\Cache Studio\Editor\Server Background Color] "LIVE-ISCU-Demo"=dword:00a0a0ff [HKEY_CURRENT_USER\Software\InterSystems\Cache Studio\Editor\Status Bar Color] "LIVE-ISCU-Demo"=dword:005757ff Hope this helps! Ben
go to post Ben Spead · Aug 2, 2024 Another option (my preferred one) - ensure that source control is used for all namespaces in your instance and simply do the search in your source repository. Then you not only find the strings you are looking for but also you can easily find the history related to each of those parts of code.
go to post Ben Spead · Jul 15, 2024 I second this - using Do LOG^%ETN is very useful for grabbing the full stack and in memory values for later debugging ... this is where I usually start
go to post Ben Spead · Jun 19, 2024 We use nightly IRIS backups which are moved to a network share, so Test can restore the backups to an alternate application data DB via a script. We always have 2 application DBs defined, so we can script a restore on a weekly basis so the data is readily available if a developer needs it - they simply swap from the active data DB to the alternate (the alternate is always the target of the automated restore so as not to interrupt any data depending testing which may be actively going on at the time of restore). We have found this to be very effective for our needs for multiple internal applications.
go to post Ben Spead · Jun 13, 2024 if you are wanting to completely render the page within the context of another page, then using <iframe src="package.page.csp" </iframe> is going to be your best bet. Remember that a csp page isn't just a static HTML snippet - it is an entire renderable page, along with pre-page headers, etc. That is why OnPreHttp(), OnBody() and OnPostHttp() are all included in the page framework for a .csp. If you simply want to show what is 'rendered' when you call the page directly, you can play with calling OnPage() (which contains the compiled version of the entire body of your .csp file), but that may not operate correctly when called in isolation - it is intended to be called as part of a full pageload process, which the iframe approach above would provide.
go to post Ben Spead · Jun 13, 2024 It's been a while since I had to look these up. You probably have to select the option for 'show generated code' order to find it. Unless you overwrote the default package, they should show up as csp.****.cls classes (in the "csp" package)
go to post Ben Spead · Jun 13, 2024 the .csp file compiles into a subclass of type %CSP.Page. When it is called, on the back end the various methods of the subclass of %CSP.Page are involved in order to stream the content of the .csp page. Please see the documentation link above for more details.
go to post Ben Spead · Apr 3, 2024 These classes are still in your 2018.1 instance (if they were not you would not be able to log into the System Management Portal), however, the Security.* package only exists in the %SYS Namespace (as it is not a % package it isn't projected to other namespaces). See: https://docs.intersystems.com/ens201817/csp/documatic/%25CSP.Documatic.c... It may have been that you used package mappings to make the Security.* classes available in your application namespace, or that they were mapped by the product (I don't remember - 2014 is 10 years old at this point ;) ). However, best practice today is to change to temporarily change to the %SYS Namespace in your code if you ever need to call the Security.* package. There are privileged calls in there which you typically don't want directly accessible within your application namespace.
go to post Ben Spead · Mar 1, 2024 @Paul DeSantis - By default, all InterSystems Login users can only see the last released version of a product as well as any available preview releases. Users that are Supported Customers (meaning they have been given access to our Support system as part of a Supported Organization) can access older builds, either through Evaluation or directly through the WRC Direct application. Do you have a 2nd account which is tied to a Supported Org? Or do you have a colleague who does?
go to post Ben Spead · Jan 11, 2024 @Sreevani Goli - if you know it is comma delimited and you want to strip off the last comma, you could use $piece() as follows: USER>s Str="Addr1,Addr2," USER>write $piece(Str,",",1,*-1) Addr1,Addr2 This will basically grab the entire string except for the last comma (and anything that comes after it).
go to post Ben Spead · Jan 10, 2024 @Alan Watts - there is no client-side Git plugin for Studio. Studio works exclusively with server-side source-control hooks. This is what the git-source-control package on OEX is ... it is server-side source control hooks to allow multiple developers to properly interact with a git repo from a single Namespace within InterSystems IRIS. So once this is properly installed and configured for a given Namespace, once you connect via Studio you should see new top level Menu items in Studio and all changes will be governed by the source control hooks. Nothing else is needed to be installed on the developers' Studio instances in terms of plug-ins, etc.
go to post Ben Spead · Nov 30, 2023 I have just learned that there are issues with "eu-central-1" and they are looking to remove it. Could you please try another deployment using "us-east-1" and see if that fixes it?
go to post Ben Spead · Nov 13, 2023 @Colin Brough - this was recently discussed on a thread internal to InterSystems, and I credit @Eduard Lebedyuk for the following options, which were suggested within the context of Enabled/Disabled Business Hosts on different environments using the same Production (some don't apply to your question about logging and testing, but I include them all for completeness): 1. Track a separate production class for each environment.2. Use SDS to effectively disable Business Hosts (for example, by setting the Port property to an empty string).3. Create a custom adapter/business host that has SDS configurable setting "RealEnable", which would be checked in OnInit or OnProcess input.4. Use Interoperability Schedules, with Business Host always off/on. I think (1) and (3) would be most likely to work for you here. Also, it's not going to help you in the immediate term, but be aware that TestingEnabled (along with some other fields) is supported for SDS starting in InterSystems IRIS 2023.3 (I am very excited about that!!)
go to post Ben Spead · Nov 2, 2023 Sounds like you are using client-side source control in a shared development environment ... this is just a formula for frustration. Either use private dev instances with client-side source control, or use server-side source control with a shared dev instance. This was the theme of a presentation we did at G.S. a couple of times. See https://community.intersystems.com/post/new-video-shared-development-21s...NOTE - This was given a 2nd time where we used VSCode and not Atelier but I can't find that posting for some reason. However the principles are identical whether you're using Atelier or VSCode ... they use the same APIs to manage source with the server.
go to post Ben Spead · Sep 12, 2023 In that case, install Python on your machine with the library you want to use, and call $zf(-100) to execute your python script. Later when you upgrade your environment you can move to using embedded Python directly.