Migration morph objects from 1.1 to 1.2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Migration morph objects from 1.1 to 1.2

Denis Kudriashov
Hello

I have many morphs saved in files by smartReferenceStream. I doing it in pharo1.1 image.
Now I want to load this objects to pharo1.2.
When I doing this I have exception about absent TextConstants stuff. My saved Morph containes textMorph.
I know pharo1.2 has textMorph refactored and TextConstants was removed.

How old object can be migrated to new stuff? Is some rules exists?
For example, when I import morph from file (created in pharo1.1) I see in debugger "TextConstants class at: index" where "index=#DefaultTabsArray"

Best regards,
Denis

Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Stéphane Ducasse

On Mar 29, 2011, at 9:57 PM, Denis Kudriashov wrote:

> Hello
>
> I have many morphs saved in files by smartReferenceStream. I doing it in pharo1.1 image.
> Now I want to load this objects to pharo1.2.
> When I doing this I have exception about absent TextConstants stuff. My saved Morph containes textMorph.
> I know pharo1.2 has textMorph refactored and TextConstants was removed.

What you could check is the fix in 1.3 so that TextConstants accept at:.

> How old object can be migrated to new stuff? Is some rules exists?
> For example, when I import morph from file (created in pharo1.1) I see in debugger "TextConstants class at: index" where "index=#DefaultTabsArray"

http://code.google.com/p/pharo/issues/detail?id=3820
Can you try and let us know?


I still do not get why the search in the bug entry is so bad for a company that is specialized in search engines :)


>
> Best regards,
> Denis
>


Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Marcus Denker-4
In reply to this post by Denis Kudriashov

On Mar 29, 2011, at 9:58 PM, Denis Kudriashov wrote:

Hello

I have many morphs saved in files by smartReferenceStream. I doing it in pharo1.1 image.
Now I want to load this objects to pharo1.2.
When I doing this I have exception about absent TextConstants stuff. My saved Morph containes textMorph.
I know pharo1.2 has textMorph refactored and TextConstants was removed.

How old object can be migrated to new stuff? Is some rules exists?

No, I don't think so... keeping the system compatibel at that level is *really* difficult... simple refactoring can be done
(e.g. etoys did that for years), but complex changes in the image will be nearly impossible if you require serializability compatibility
at that level. (especially when using image segment style low-level serialization).

Being compatible on that level was religion for Squeak (and it's even today). I personally don't think that what we have is
valuable enough to define compatibility on that level to be more impotant than being able to evolve the system.

The system as it is now is just not good enough to have any form of future with it, so trading "improve it" vs. "be backward compatible
on a binary level" is selection between having the past and having a future...

Marcus


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Denis Kudriashov
In reply to this post by Denis Kudriashov
Ok, I load my morph.

I just implement "TextConstants class>>at: aSymbol" with: "^classPool at: aSymbol".
Now all work good. But I want to now what really changed in TextConstants stuff?


2011/3/29 Denis Kudriashov <[hidden email]>
Hello

I have many morphs saved in files by smartReferenceStream. I doing it in pharo1.1 image.
Now I want to load this objects to pharo1.2.
When I doing this I have exception about absent TextConstants stuff. My saved Morph containes textMorph.
I know pharo1.2 has textMorph refactored and TextConstants was removed.

How old object can be migrated to new stuff? Is some rules exists?
For example, when I import morph from file (created in pharo1.1) I see in debugger "TextConstants class at: index" where "index=#DefaultTabsArray"

Best regards,
Denis


Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Stéphane Ducasse
Hi denis

Check the archive of the list since we already explained it at least two times :)
Let us know if you have questions after.
Basically turning the last dictionary into a SharedPool.
We should finish to clean the sharedPool now.


Stef

On Mar 29, 2011, at 10:12 PM, Denis Kudriashov wrote:

> Ok, I load my morph.
>
> I just implement "TextConstants class>>at: aSymbol" with: "^classPool at: aSymbol".
> Now all work good. But I want to now what really changed in TextConstants stuff?
>
>
> 2011/3/29 Denis Kudriashov <[hidden email]>
> Hello
>
> I have many morphs saved in files by smartReferenceStream. I doing it in pharo1.1 image.
> Now I want to load this objects to pharo1.2.
> When I doing this I have exception about absent TextConstants stuff. My saved Morph containes textMorph.
> I know pharo1.2 has textMorph refactored and TextConstants was removed.
>
> How old object can be migrated to new stuff? Is some rules exists?
> For example, when I import morph from file (created in pharo1.1) I see in debugger "TextConstants class at: index" where "index=#DefaultTabsArray"
>
> Best regards,
> Denis
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Denis Kudriashov
In reply to this post by Marcus Denker-4


2011/3/30 Marcus Denker <[hidden email]>

No, I don't think so... keeping the system compatibel at that level is *really* difficult... simple refactoring can be done
(e.g. etoys did that for years), but complex changes in the image will be nearly impossible if you require serializability compatibility
at that level. (especially when using image segment style low-level serialization).

Being compatible on that level was religion for Squeak (and it's even today). I personally don't think that what we have is
valuable enough to define compatibility on that level to be more impotant than being able to evolve the system.

The system as it is now is just not good enough to have any form of future with it, so trading "improve it" vs. "be backward compatible
on a binary level" is selection between having the past and having a future...


I agree with you absolutelly.  And I solve my problem :)
With smalltalk compatibility is not problem to my mind. Just open debugger and you can do everything :)

But I really want ask where I can read about morphic changes between 1.1 and 1.2 pharo.
With this my migration should be easy


Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Denis Kudriashov
In reply to this post by Stéphane Ducasse
Thanks for reply.

I should search mails first.

2011/3/30 Stéphane Ducasse <[hidden email]>
Hi denis

Check the archive of the list since we already explained it at least two times :)
Let us know if you have questions after.
Basically turning the last dictionary into a SharedPool.
We should finish to clean the sharedPool now.


Stef

On Mar 29, 2011, at 10:12 PM, Denis Kudriashov wrote:

> Ok, I load my morph.
>
> I just implement "TextConstants class>>at: aSymbol" with: "^classPool at: aSymbol".
> Now all work good. But I want to now what really changed in TextConstants stuff?
>
>
> 2011/3/29 Denis Kudriashov <[hidden email]>
> Hello
>
> I have many morphs saved in files by smartReferenceStream. I doing it in pharo1.1 image.
> Now I want to load this objects to pharo1.2.
> When I doing this I have exception about absent TextConstants stuff. My saved Morph containes textMorph.
> I know pharo1.2 has textMorph refactored and TextConstants was removed.
>
> How old object can be migrated to new stuff? Is some rules exists?
> For example, when I import morph from file (created in pharo1.1) I see in debugger "TextConstants class at: index" where "index=#DefaultTabsArray"
>
> Best regards,
> Denis
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Marcus Denker-4
In reply to this post by Stéphane Ducasse

On Mar 29, 2011, at 10:30 PM, Denis Kudriashov wrote:

Thanks for reply.

I should search mails first.

We should have added that fix to 1.2, not just 1.3....


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Marcus Denker-4
In reply to this post by Marcus Denker-4

On Mar 29, 2011, at 10:26 PM, Denis Kudriashov wrote:

But I really want ask where I can read about morphic changes between 1.1 and 1.2 pharo.


too much to be useful, I fear.

We need to

a) automatize releases so we can release more often
b) automaize change reporting of releases.


Marucs



--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

Reply | Threaded
Open this post in threaded view
|

Re: Migration morph objects from 1.1 to 1.2

Stéphane Ducasse
In reply to this post by Marcus Denker-4
May be.
Better is the enemy of good.
Let's continue.
If tomorrow we have two engineers in addition then somebody can do better.

I like to think in terms of ratio and not absolute number.

>> Thanks for reply.
>>
>> I should search mails first.
>>
> We should have added that fix to 1.2, not just 1.3....
>
>
> --
> Marcus Denker  -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>