This subject has been brought up before and it
touched upon in the docmentation:
libs/serialization/doc/todo.html#backversioning
You might want to undertake this
project.
Robert Ramey
Hello,
I
work on an industrial application which uses XML Boost Serialization as a way
to store and retrieve production scheduling solutions from XML files. I've
been using Serialization for years and I really enjoy the ease of use and the
flexibility it provides.
Recently, I released a new version (say V2) of
that application, in which some C++ classes have additional attributes of new
classes with respect to the previous version (V1). The new software (V2) can
still read files serialized by the earlier version V1 (ascending
compatibility), but XML files serialized by V2 cannot be read by V1.
I
guess Boost Serialization wasn't designed for such "descending compatibility",
nevertheless, during industrial production some unexpected bug on V2 might
require to use V1 again (as it is stable), without loosing the scheduling
solutions generated by V2.
From an XML file generated by V2, I somehow
managed to remove the parts XML associated to the new attributes (the
additional information can be skipped), and re-number some class_id to make
the file readable by V1, but this is quite time-consuming, and I can't
automate this process since the numbering of class_id depends on the solution
serialized.
Any idea to make V2 serialized files readable by V1, either
by modifying V2 or by an automated process to edit the files (I can't bring
any modification to the source code of V1) would be really
appreciated.
Thanks for reading till here and, hopefully, for your
help,
François
_______________________________________________
Boost-users mailing
list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users