On Friday 26 May 2006 18:17, Ichthyostega wrote:
> Hi all,
>
> just another question to the cinelerra source code gurus --
> what is the "standard procedure" if you want to extend some object with
> a new property? I can figure out how to save and re-read property values
> from the session XML. But what is your policy to handle old XML?
> Is there a version numbering of session file formats somewhere?
> Is there a "migration component" somehwere or is it the responsibility
> of every single component to handle missing values or migrate old values?

First of all, you should ensure that the extension is a proper superset of the 
old functionality, so that no functionality gets lost.

Then I'd only ensure forward compatibility and care about backward 
compatibility only if it is easy to achieve. (If someone disagrees, please 
speak up!)

Then when you read in an XML file, just make sure you check for old properties 
and values and translate them to the new settings. Each component is itself 
responsible to handle the migration; there is no general "migration 
component".

There is a version number somewhere, but at the moment I don't see much of a 
use for it. Currently it is identical to the program's version number, I 
think.

-- Hannes

_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to