On 11.10.2011 21:51, Mariano Martinez Peck wrote:
On Tue, Oct 11, 2011 at 8:55 AM, Philippe Marschall <philippe.marschall@netcetera.ch <mailto:philippe.marschall@netcetera.ch>> wrote:
On 10/08/2011 10:42 PM, Mariano Martinez Peck wrote: > s > >>> >>> This is IMHO more than necessary for Fuel to become a production ready >>> serializer and I'd say Fuel is now "old enough" to become such :) >> >> Yes. >> Now what I would love is that even if fuel changes that the evolution of >> information >> is taken into account because like that it will be exercised for real. >> >> > No, that's impossible, and if posible, it is not worth it. Migrating from an > old format to a new one is extremelly complicated and innecessary. The > easiest way to solve this is to take the correct version of Fuel, > materialize the graph from the stream, load new version of Fuel, and > seriaize it again. That the easiest, more secure, and more practical > approach I can see.
That is horribly naïve an excludes fuel from a lot of use cases. You can't use fuel for "archiving" objects outside of the image because you will never know whether you will be able to read them in again because the format changes. You will always need to have "live" ones in the image.
No. That's incorrect. You won't be able to do that ONLY if you update Fuel to a new image that breaks format. You can still continue to use the same version and you will never have that problem. So, again, why you need to update Fuel?
Because it's old software. Bugs may not get fixed. It may not work in newer Pharo versions. I may have dependencies on other libraries that may require a new version of Fuel. You name it.
Why SmartRefStream does not have this problem? because it hasn't changed in the last 10 years. So..do the same, take an specific Fuel version and keep it for 10 years. Just update it to make it work in Pharo without changing the format and you are done.
That means you can't use fuel for anything Monticello related because you may never be able to load those versions in again because the file format has changed in the mean time.
I guess that in the end, if someone can really do something for Monticello on top of Fuel it will be like 2 years from now, and at some point Fuel format will be stable. And as Stef says...you always have the code there in case of problems.
Monticello is just an example for a case where I want to store objects outside of the image. Cheers Philippe