It will be beneficial to have a flexible way to store relatively small pieces of
data without having to modify the database schema.
An example that has recently come up is the need to store the Windows KMS
activation server addresses for different affiliations so that the correct
server is contacted when a Vista image is loaded. The only ways I can think of
to currently accomplish this would be to add a new table or column to the
database specifically designed to store the data or to have the Windows module
maintain a separate settings file. Neither of these options are very appealing.
I have playing around with this idea and have written up an initial design
document for a new variable table here:
In general, the new table will provide a way to store and retrieve just about
any data structure. The data is serialized using YAML so that it can be
accessed and manipulated from many different languages.
The design was inspired by the way Drupal handles the same problem. The key
differences are the additional tables in the VCL design to add debugging
information and Drupal uses PHP's serialization format instead of YAML.
Please take a look and discuss on the list. I would like to get this
implemented pretty soon because I think there are a bunch of cool things we can
do once it's in place.