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.


Reply via email to