Thinking about this a little more, I believe we could accomplish the same thing with a much less disruptive approach.
1. Create config.workstation_setting_type
2. Create actor.workstation_setting.
3. We decree that any setting whose name matches across multiple setting types (org/user/workstation) is a cascading setting.
For example, if we have both an org setting and a user setting named "eg.circ.checkin.no_precat_alert", we attempt to find a user setting value first, then an org setting value.
4. We create a new stored proc that implements #3 (mostly done w/ my PoC branch above).
This way org and user settings can continue to function as-is and new code that wants to use cascading values will use the new cascade function. Existing code could be retrofitted to use the new function too if/when desired.
Thinking about this a little more, I believe we could accomplish the same thing with a much less disruptive approach.
1. Create config. workstation_ setting_ type
2. Create actor.workstati on_setting.
3. We decree that any setting whose name matches across multiple setting types (org/user/ workstation) is a cascading setting.
For example, if we have both an org setting and a user setting named "eg.circ. checkin. no_precat_ alert", we attempt to find a user setting value first, then an org setting value.
4. We create a new stored proc that implements #3 (mostly done w/ my PoC branch above).
This way org and user settings can continue to function as-is and new code that wants to use cascading values will use the new cascade function. Existing code could be retrofitted to use the new function too if/when desired.