Yes, the best solution is that you check out all the source code on your local box. Then go into the device template, adding whatever extra data parameters you want. Then in your /usr/pluto/src/bin directory, run the program DCEGen. You want to run it from that directory, not from /usr/pluto/bin, because it outputs the merged device to the ../[device name] directory. Run DCEGen with -d and the device template
You should see a message prompting 'leave', 'replace', 'merge' because it detects the project already exists. Hit 'm', and it will merge the code in.
You can look at the .h file for the device. You should see DATA_[your new data parms]_get() functions added to it.
When your system does it's regular update to our released version, sqlCVS will see that you have made local modifications to the records in the database, and will merge in our changes. Once your changes are ready, then we do a simultaneous svn ci for the code, and sqlCVS ci for the database.
One other tip... Pluto is heavily dependent on teh database. Even all our #define constants are being pulled from the database. You'll see in the directory /usr/pluto/src/pluto_main, a whole bunch of Define_[table name].h files. These are generated by sql2cpp--a completely separate utility having nothing to do with sqlCVS.
sql2cpp creates a Database_pluto_main class which represents the database, and classes for the tables and rows. You'll see we use it everywhere. Whenever it sees a table with columns for Define and Description, then it puts in the Define_Tablename.h file an entry #define TABLENAME_Define_CONST VALUE
where Define is the value of the Define field, or the Description field if it's NULL, and VALUE is the primary key.
So, let's say you create a new data parameter -- USB version. That adds an entry in the database DeviceData, with the primary key of, let's say 299, and a description of "USB Version". Now in your code somewhere you need that value (299) for some reason. You can just use DEVICEDATA_USB_Version_CONST instead of hardcoding it. However, if you added the device data recently, but the file with the define's (Define_DeviceData.h) hasn't been updated, then switch to /usr/pluto/src/bin and run sql2cpp -D pluto_main -h localhost. That will regenerate all the files, and put them in ../pluto_main.