I am looking for the syntax or the way to use a class created in the "BNA" Namespace (my application) from the %SYS Namespace.
Here is the context:
I have a "BNA" application contained in the "BNA" NS, this application provides a user creation functionality. This feature creates both the user in a table in the application and in the Iris system.
I just realized that for the latest version of IRIS for Health 2023.3 the method InstallFoundation from HS.HC.Util.Installer has just disappear. I checked the official documentation (here) but I can't find any reference to it like in previous versions (here).
We have a developed a new version of a production, all the code is new and has changed BP. This application load information for some brands and stored in database.
The customer wants to implement the changes only for some brands because he wants to check for small brands before to implement for all brands.
My proposal is create a new namespace, with the new code, and disabled all load of brands except the brand that he wants to check.
I'm wondering what is the best way to clone the namespace.
Our application needs to create system users from a request form.
To use Security classes, it is necessary to have rights to use the %SYS namespace, which is not the case for users who validate requests.
It is not desirable for these users to have this role permanently, so I proceeded as follows:
I created a facade class for the Security.Users, Security.Roles, Security.Resources classes which allows me to log in with an authorized user on the NS %SYS
Currently I have a program that is going to be used to compare global nodes between namespaces. Using nested FOR statements I am stepping through global nodes and comparing between the namespaces, if the global values are different I then parse the node comparing each delimited segment.
This is working.
I want to now be able to set what global I am in as a variable to expand on this concept.
I have created a global say ^myglobal and entered some data. I am storing the name of global in databases and fetching the name based on some criteria. I am getting "^myglobal" in return from databases but i am not able to fetch the data I stored in the global.
I tried set var = result.global which gives me "^myglobal" in var. Doing WRITE var will return "^myglobal" and not the data i stored in this global.
I want to fetch value from a global without being limited by the namespace. Is there any way of referencing the values from a global to a different namespace?
Had an empty Ensemble namespace (interoperability enabled) which the customer had requested renaming before beginning development, so was wondering about best practice to achieve this.
I'm trying to enable an existing namespace to be Ensemble enabled by doing the command do ##class(%EnsembleMgr).EnableNamespac($namespace,1), but I'm still getting the error message. Is there something that I'm missing?
I've attempted to reboot the server and even went incognito to see if it was a caching issue, but I'm still not able to create an Ensemble production in that namespace.
I have a Zen Page with tablepane which has a datasource in a different namespace to that of the Zen Page. When the page is run, no data is returned and the tablepane is not populate, even though the rerferenced table contains dat.
Can I please check if anyone know why the data base resource is created differently when creating a namespace after specifically selecting it to use the default resource %DB_%DEFAULT?
I created a namespace and when creating the DB I selected the option to use the default resource
When the namespace creation was complete , database is using a new resource instead of the default.
I have a CSP page that is supposed to show some user info (Full name and some other properties retrieved from AD)
I am unable to get them outside of %SYS namespace using Security.Users class. Is there another mechanism to do that, or I am using Security.Users class incorrectly?
Is there a way to run code on another machine? Of course, all authentication info is known. I know only about RemoteResultSet but that seems to be query specific.
I am attempting to set up a security role for our support team so they can have read access to the production and messages.
I have given the role RW rights on the resource associated with the database. However, when I log into Management Portal and select "Ensemble", the "Available Ensemble namespaces" list is empty.
What permissions do i need to set to be able to navigate to the production?
When I start a fresh installed IRIS or a Container I always find Interoperabiliy (aka. Ensemble) mapped to namespace USER.
Is there any utility to remove this mapping by a click ? unmapping it global by global, routine by routine, Package by Package is just a boring exercise.
To be clear: I look for a utility inside IRIS.
The external utility is obvious: Notepad (or any other text editor) - clean iris,cpf, - restart IRIS It's fast, it's efficient, but it's really hardcore.
We have a licensed version of Ensemble but for now, we use only the DB capabilities of Cache. As we create a custom Namespace, for e.g "Test", a new Ensemble Namespace is automically created by the system --"TestENS".
Is there any way where we can identify the system created ENS namespaces ?
In a fresh IRIS Community Edition container if we create a new Database and after we create a new Namespace enabling it for interoperability then we will see the message "ERROR #68: the mounted database count exceeds license limit"
When we go to specific name space to search messages in message viewer, at the moment we are adding the search criteria to add criterion type as SearchTable Field, and clicking the dropdown in Class field, there is an error says below in the image:
Could anyone please let me know what exactly the error is from? Thanks so much.
Have enabled LDAP for our numerous , Ensemble, IRIS and cache instances with many namespaces. All is working fine and the ldap logins work.
But have noticed that the first instance that the user logs into the namespace is assigned to that user, but when that user than logs into another instance the default namespace from the first login is still there and doesn't update to the new namespace.
So this doesn't effect the ldap login but is now effecting the terminal logins where the user is now getting access denied.
I have a need to dynamically create a web application definition in a namespace using ObjectScript. I am having trouble finding a cache class or routine that let's me do this.
Sometimes global mapping of the same globals can be defined in different ways. E.g., I need to define it for 3 globals ^qAuditC, ^qAuditLog, ^qAuditLogC from the same database named APP-NOJOURN. Which approach should be better from the performance point of view?
1) qAudit* => APP-NOJOURN (one record in global mapping table) or
2) qAuditC => APP-NOJOURN qAuditLog => APP-NOJOURN qAuditLogC => APP-NOJOURN (three records in global mapping table)