We love hearing from our users. Tell us what you want to see next and upvote ideas from the community. * Bugs and troubleshooting should as usual go through InterSystems support.
Sometimes we need to have a resource shared among several processes, e.g. some application counters, that we don't want to be looked up by users. Globals don't fit this need for evident reason. The idea is to provide an API which allow shared (while hidden) storage of app defined information.
ADMIN RESPONSE
May 9, 2025
Thank you for submitting an idea for the Ideas contest. The status changed to "Ideas Contest".
Please answer the experts' clarifying questions, if any, during the contest and voting period.
You may want to take a look at the Application Metadata Stack, which you can push metadata onto using %SYSTEM.Process:AppFrameInfo() and then pick back up using %SYSTEM.Process:GetAppFrameInfo() from a different process (e.g. as retrieved from looping over %SYS.ProcessQuery)
I'm aware of %SYSTEM.License, which partly covers this need, while it's usage is limited to very simple application licensing model. Why not allow organizing of the shared storage by APP's developers? Going this way, having a tree-like data structure (~ local array) shareable between processes seems to be more general and more useful solution.
You may want to take a look at the Application Metadata Stack, which you can push metadata onto using %SYSTEM.Process:AppFrameInfo() and then pick back up using %SYSTEM.Process:GetAppFrameInfo() from a different process (e.g. as retrieved from looping over %SYS.ProcessQuery)
I'm aware of %SYSTEM.License, which partly covers this need, while it's usage is limited to very simple application licensing model. Why not allow organizing of the shared storage by APP's developers? Going this way, having a tree-like data structure (~ local array) shareable between processes seems to be more general and more useful solution.