Don't make me cache system-settings...
From the v7.1.8 documentation for Data-Admin-System-Settings...
"If your application includes dynamic system settings that are frequently accessed, you can override the default load activity LoadDataSystemSettings for this Data Page rule [Declare_CachedDataSystemSettings] to include them on the data page rule."
Hold on right there, this is wrong. LoadDataSystemSettings is final. It calls LoadApplicationDataSystemSettings, which can be overridden.
But why should I have to do this in the first place? I was tripped up today for a half-hour trying to summon the right system settings to the "cache."
This is another place where Pega is undermining modularity. There should not be a function getCachedDataSystemSetting(). A caller wants the system setting, and it should be up to the system to check if it's in the cache (and, if not, check the database! The Pega function returns the empty string if not in the cache)
Furthermore I shouldn't have to override LoadApplicationDataSystemSettings in one of my rulesets (which has to be accessible to the accessgroup of the aforementioned Data Page, which could get complicated if more than override is needed). The best design would have a boolean value on the setting rule itself (Cached), which could then direct the engine to handle the caching.
Additionally, for fetching a System-Setting, there should be a Method & a Rule-Alias-Function, so that we could reference the settings directly.