I propose adding an additional schema entry to the affiliation table:
id: 0
name: "Global"

The "0" index in the affiliation table would remain fixed to represent global or system-wide.

This will be particularly useful as more and more configuration parameters are stored in the database. The need to distinguish parameters for a specific affiliation versus system-wide parameters has grown as VCL implementations expand to support several institutions. Configuration tables would reference the affiliation table, allowing system-wide and affiliation-specific settings to be treated identically from a programming standpoint.

Queries could be written to attempt to retrieve a configuration value for a particular non-zero affiliation ID and default to the global value if it's not set for the affiliation.

One thing to be careful of if implemented... any code using/checking the affiliation ID value must not use a true/false evaluation to determine if it's valid because 0 will be a valid index but evaluate as false.

Thoughts?

Thanks,
Andy

Reply via email to