You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vcl.apache.org by Andy Kurth <an...@ncsu.edu> on 2009/05/27 18:36:05 UTC

Design of general configuration/variable table (VCL-140)

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:
http://cwiki.apache.org/confluence/display/VCL/Variable+Table

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.

Thanks,
Andy

Re: Design of general configuration/variable table (VCL-140)

Posted by Andy Kurth <an...@ncsu.edu>.
Thanks.  I'm going to commit the schema update and the subroutine additions to 
DataStructure.pm for get_variable() and set_variable() as described on the 
Confluence page.

I just created a new issue for the KMS configuration addition (VCL-142).  I will 
then begin to work on this issue using the variable table and will report any 
difficulties to this list.

Thanks,
Andy

Aaron Peeler wrote:
> good idea - it looks promising.
> 
> Aaron
> 
> --On May 27, 2009 12:36:05 PM -0400 Andy Kurth <an...@ncsu.edu> wrote:
> 
>> 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:
>> http://cwiki.apache.org/confluence/display/VCL/Variable+Table
>>
>> 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.
>>
>> Thanks,
>> Andy
> 
> 
> 

-- 
Andy Kurth
Virtual Computing Lab
Office of Information Technology
North Carolina State University
andy_kurth@ncsu.edu
919.513.4090

Re: Design of general configuration/variable table (VCL-140)

Posted by Aaron Peeler <aa...@ncsu.edu>.
good idea - it looks promising.

Aaron

--On May 27, 2009 12:36:05 PM -0400 Andy Kurth <an...@ncsu.edu> wrote:

> 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:
> http://cwiki.apache.org/confluence/display/VCL/Variable+Table
>
> 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.
>
> Thanks,
> Andy