go to post Timo Lindenschmid · Feb 19 Looking at the documentation, i found this Cube dependencies buildingEssentially you need to define the dependencies of the cubes using the DependsOn (not the same as the Class keyword) keyword in Designer. And you need to define the build order by creating either a Utility class with a BuildMethod or by using CubeManager.
go to post Timo Lindenschmid · Jan 17 Package names belong to the class names, so this is covered by the class names are case sensitive. In addition they have to by case-insensitive unique. e.g.TestClass and TESTClass would be valid class names but they are not unique as ToUPPER both read TESTCLASS same is true for package names and routines.
go to post Timo Lindenschmid · Dec 10, 2024 Hi Dmitrii, The automated export of changed files can be handled by %Studio.SourceControl.File, this would export any changed file on save and import the latest from disk on checkout. To automate import on a target system you can create a scheduled task that executes $system.OBJ.LoadDir regularly, this also per default compiles on load.
go to post Timo Lindenschmid · Nov 17, 2024 Hi, 2 options:Is the locale set to DE in Iris, and have a look at this option: FastDistinct | Configuration Parameter File Reference | InterSystems IRIS Data Platform 2024.2But most probably its the FastDistinct default setting, you might want to disable that as per documentation.
go to post Timo Lindenschmid · Oct 23, 2024 Hi, without knowing a bit more about what you are trying to achieve its difficult to advise. To export and reinstate a data structure including content you would need to export the storage class definition. After that you then can export the Global data and index storage defined by the storage class.To export you can use $system.OBJ.Export from a terminal/iris session. Then reimport using $system.OBJ.Load
go to post Timo Lindenschmid · Oct 22, 2024 Have you tried deleting the task using d ^TASKMGR ? This routine is available in the %SYS namespace, and you should login to terminal/session with a user that has %All access rights.
go to post Timo Lindenschmid · Oct 16, 2024 Hi Marykutty, depending on your use case. Usually, I would suggest going with Primary and BACKUP mirror plus arbiter for the optimal HA resilience. A webgateway on a dedicated IIS can serve both your application and the SMP. I usually would though consider having 2 webservers running so your single webserver is not the single point of failure.Also just to be aware webgateway is mirror aware and does not need a VIP to automatic redirect connections to the correct mirror. (refer documentation on mirroring )
go to post Timo Lindenschmid · Sep 19, 2024 Completely silent install an application can only happen during IRIS upgrade/install or by being creative with scheduled tasks. First step would be to automate installation of you application using a %Installer script refer to Documentation Fully automating it could involve a scheduled task checking a folder on the filesystem for the installer manifest and importing it.
go to post Timo Lindenschmid · Jun 4, 2024 The better approach here, if you don't want to use SystemDefaults. Is to add a global mapping for your global config variable ^ehrIP to the %ALL namespace pointing it to a config database. This will point the ^ehrIP global in each namespace to the same storage location. Then you can access this global via ^ehrIP as usual. I would not use % globals as they are saved in the %SYS namespace and application code/data should not be living in the %SYS namespace.
go to post Timo Lindenschmid · May 9, 2024 Hi, if i remember correctly, there was a breaking change that requires the use of single quotes in SQL as a string delimiter. Double quotes are only allowed to be used for field/table names that use special chars etc.
go to post Timo Lindenschmid · Apr 24, 2024 not sure for the old version but if available zn "%SYS" w ##class(Backup.General).IsWDSuspended() That will return 1 if WD is suspended and 0 if WD is active and running.
go to post Timo Lindenschmid · Apr 18, 2024 couple of options: 1. $order the global checking the list content as others have already mentioned 2. if there is a SQLIndex defined for the field. You can check the index location directly via objectscript, this would save you ordering through possibly billions of lines of data3. define the SQL column to for Reference to use columnar storage, also single global retrieve to get a $list of rowids.
go to post Timo Lindenschmid · Apr 16, 2024 ahh now your question is getting a bit clearer. If you look for a better management for your API endpoints might be worth looking into ISC API manager: InterSystems API Manager | InterSystems Components and Tools Else you can use delegated auth to validate incoming IP addresses, also you can make use of Apache's virtual server config to server different content on different ports using Apache access controls for additional filtering and redirecting, which is essentially what you suggest here.
go to post Timo Lindenschmid · Mar 5, 2024 Hi Anna, this would iterate through a file line by line checking if the line contains a keyword and then outputting the line. also it will continue outputting until another condition resets the found variable to 0. Set stream=##class(%FileCharacterStream).%New() Set stream.Filename="c:\myfile.txt" set keyword="MyTestWord" set found=0 While 'stream.AtEnd { Set line=stream.ReadLine() if (line [ keyword) { // the line contains the keyword out put line w !,line set found=1 continue } if (found=1) { // keyword was previously found so continue outputting line w !,line } }
go to post Timo Lindenschmid · Feb 29, 2024 If you mean something like this? This is essentially only displaying a "good" functional spec definition plus /// supplied documentation.
go to post Timo Lindenschmid · Feb 5, 2024 Your approach is actually correct. Just in class Bna.Init.Main extend Bna.Utils.Sql. Then call the get method using set status=..SelectFirstColsInArray(query, .userIds) That should work.
go to post Timo Lindenschmid · Feb 1, 2024 Hi, This sounds like a misconfiguration on the webgateway. PWG get configured automatically by IRIS for all web applications. Not sure if this happens for the external webgateway. There also could be an issue with webgateway integration into external apache. Also worth to check audit database in IRIS. To see if any errors get logged. Hope this helps. Best Regards Timo
go to post Timo Lindenschmid · Oct 20, 2023 Hi Scott, IRIS requires at least one enabled user with the role %All (e.g. superuser) If you got one enabled there is no dependency on the installer user to be enabled. Actually, its good practise to disable that user. Best Regards Timo
go to post Timo Lindenschmid · Sep 8, 2023 Hi, using zf will always be difficult as IRIS is not running a root. You will need to configure the OS to allow privilege escalation for the irisusr, which open quite a big door. Or allow irisusr to start/stop httpd, which might be the safer way. The other options is, if this is only about the application via webgateway contacting the correct primary. 1. set web gateways to be mirror aware 2. configure a VIP address in the mirror and point the cspgateways to this ip address.
go to post Timo Lindenschmid · Apr 5, 2023 So just looking at your SQL,. You got 2 parameters in your where clause. Select ID, Name from MSDS_Common.ComponentSub Where (? is null or %UPPER(Component)[%UPPER(?)) and Active=1 If the first dropdown is null this will always be true if Active is 1 Try changing the where clause to Where (? is null AND ( %UPPER(Component)[%UPPER(?)) and Active=1 This will check if first parameter is empty and if subcomponent contains the second parameter and if its active.