On Wed, Nov 16, 2011 at 6:16 PM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:
mariano

I know you are on holidays,

but this one is a quite connected holidays :)
but what is finally the solution to support migration of fuel serialized objects to new format (the discussion with philippe).


Martin has sent an email to such thread explaining the most basic solution we could come with. He explicitly asked in such mail for feedback or answers. Noone answered.
I copy paste here his answer:


"
Hi

I followed with interest the discussion but without many interventions. I want to explain an idea I have for supporting backward-compatibility without neither stabilizing the format nor getting the current code dirty. Maybe it's a bit crazy but I think it can be a practical solution. I would like to know your opinions.�

We can offer:

- Maintain a *compatibility package* for each released version, that can co-exist in the same image. For example Fuel1_5, Fuel1_6, etc. Obviously, the current version always has the nice clean name (Fuel).
- Provide a�facade�that works like "Fuel load: aFile asOfVersion: '1.4'" who interacts with the compatibility packages.


To generate each *compatibility package*, we rename several elements of the original Fuel released package, this way:
� * Extension methods: Append at beggining of each extension method selector a prefix. For example: #fuelAccept: --> #fuel1_6_fuelAccept:
� * Classes: Append to each one some version identifier. For example: FLSerializer --> FLSerializer_1_6
� * Methods: Fix each reference to a class or extension method selector THAT BELONGS to the package.�For example: "FLSerializer new" --> "FLSerializer_1_6 new".


I think it could be not that hard to make such renames automatically with a small tool.�
Then, we can�simultaneously�maintain each *compatibility package* (Fuel1_5, Fuel1_6, etc.) when Pharo evolves:

Our Jenkins will run tests for all the compatibility Fuel packages. For example... Does�Fuel1_7 stop working in Pharo1.5? then (if it's possible) we fix it, save the monticello version and mark it�in our ConfigurationOfFuel�as "this is the stable monticello version of fuel 1.7 in pharo 1.5".


Now that I see how many lines I took to explain it, I think it's a bit�insane. I hope to read some opinions!
"



Stef


On Nov 15, 2011, at 9:56 PM, Mariano Martinez Peck wrote:

>
>
> On Tue, Nov 15, 2011 at 4:18 PM, Nicolas Petton <petton.nicolas@gmail.com> wrote:
> Hi guys,
>
> I'm glad to tell you that the demo of SmalltalkHub is online.
> http://www.smalltalkhub.com
>
> Note that this is a demo only (all projects will be deleted at some
> point).
>
> You can follow the SmalltalkHub project here:
> http://smalltalkhub.com/user/NicolasPetton/SmalltalkHub
>
> You can report bugs you encounter on the issue tracker there.
>
> This demo is running on Pharo (the next one will be on GemStone).
>
> The changelog is quite big, but here's some important changes:
>
> - The clone feature has been removed in favor of an inbox per project.
> (later the inbox repository url will be visible in the project overview)
> - RSS feeds for project timelines and user activity
> - Persistency is now pluggable (the current demo uses Fuel to serialize
> the repository)
>
> Nice to hear that. Let us know if we can improve something.
>
> BTW.... one thing I would love but I think you already answered to me that yes, is the ability to have a ConfigurationOfSmalltalkHub which let me take a standard Pharo image and execute: �ConfigurationOfSmalltalkHab loadWithFuelPresistency.
> and I can have my own/company/whatever repo running :)
>
>
> - New help system
> - New chronological view of packages
> - More useful commit view
> - The issue tracker has received some love some bugs has been fixed
> - new statistics view
> - Email notifications
> - And of course, many bug and UX fixes
>
> Some features that will appear soon (in random order):
> - Scripting engine to perform actions on projects
> - A diff browser
> - the ability to accept/decline packages committed to the inbox, and
> move/delete packages/versions.
>
> Cheers,
> Nicolas
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>





--
Mariano
http://marianopeck.wordpress.com