Question David Underhill · Aug 23, 2022 Interoperability Production Credentials Password storage Credentials for a Productions are stored as plain text in ^Ens.SecondaryData.Password and exposed as plain text via SQL table Ens_Config.Credentials which is not ideal as only admins should know the credentials. I can create my own adapter etc... to store and use encrypted passwords but does anyone know if there is a standard way to do this in a Production? Alternatively, am I missing how to secure this so the production can run and someone can monitor and operate a production without access to the SQL table or global? #Authentication #Encryption #Interoperability #Security #Caché #Ensemble #InterSystems IRIS 1 2 2 546
Announcement David Underhill · Jun 27, 2022 UK & Ireland Summit 2022 Couldn't see this on the community, not sure why... UK & Ireland Summit 2022Leading Through Innovation 18-19 October 2022 – The VOX, NEC, Birmingham Join us for a true community event, once again bringing together InterSystems customers and partners – to learn, inspire, and share innovation challenges with each other. To register, please complete the form below. #Events #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 206
Discussion David Underhill · May 5, 2022 Should the "Resource" for a local Database be stored centrally or with the DAT file? I am sure I came across this in the past with Cache and just saw this again in IRIS. When rebuilding or swapping a DAT file for a database it retains the Resource of the DAT file, not the Resource of the Database it is being used for. For instance, if I have a local Database called APP with a resource %DB_APP and I want to refresh the data from another Database called TEST that has a Resource %DB_TEST I can just copy the DAT file from the TEST folder to the APP folder. #Databases #Security #Caché #InterSystems IRIS 0 5 0 212
Question David Underhill · Jul 28, 2020 Explicit FTPS in Cache We use the %Net.FtpSession class to perform FTPS file transfers. This has worked fine with Implcit FTPS servers but crashes when trying to connect to an Explicit FTPS server. Explicit FTPS has a slightly diffferent negotiation in the intitial connection and different ports. Has anyone gotten Explicit FTPS working with the Cache classes? #Data Import and Export #FTP #Caché 0 2 0 532
Question David Underhill · May 12, 2020 How does Enslib.FTP use %Net.FtpSession for file listing? I have been using %Net.FtpSession and while it works, its handling of file/directory listings from an FTP server is less than ideal and, while this is due to the FTP protocol itself, the class could be written to handle this as would an FTP client such as FileZilla and command line/class FTP handlers for other languages. I was wondering if anyone knows how the Ensemble adaptor works with this in case it provides code that would help, though the source does not seem to be available. Below are the issues I see in FTP, some are based on past experience writing our own FTP handler in the past #FTP #Ensemble 1 2 0 473
Question David Underhill · Jan 14, 2020 %CSP.Rest custom headers I would like a REST client to be able to send a custom header with the http request, for example "APPLICATION-ID". This can be seen in the CSP gateway trace but I have tried using %request.GetCgiEnv("HTTP_APPLICATION-ID") in various formats and parts of the classes but cannot work out where I can get this. Documentation says this should work but is for normal CSP pages. Any ideas? #Caché 0 6 0 380
Question David Underhill · Oct 18, 2019 Deploying code to production site I was hoping for some input on the best way to deploy code to site with the following criteria: - No source code, only compiled code to be deployed. - Classes and Routines are part of the application. - Data and code reside in the same database. - Deployments might be partial updates (i.e. cannot just send a complete CACHE.DAT). At present the idea is just to export the .obj, any suggestions? #Caché #InterSystems IRIS 0 2 0 439
Article David Underhill · Jul 12, 2019 2m read Basic Database Metrics example This is a self contained class that can be run from the Intersystems Task Scheduler which records peak usage details for databases and licenses built up throughout the day and retaining 30 days history. To schedule the task to run every hour: d ##class(Metrics.Task).Schedule() You can also specify your own start time, stop time, and run interval: d ##class(Metrics.Task).Schedule(startTime, stopTime, intervalMins) Metrics are stored in ^Metrics in the namespace that the class resides in/is run from. #Databases #Monitoring #System Administration #InterSystems IRIS #Open Exchange Open Exchange app 6 3 3 564