Now Lukas,
please bear with me.
I have fetched the 1.1 image that is running my blog to my local
machine for inspection, and as you have suggested the origin of
problems is that the layout of instance variables has changed from 1.1
to 1.2 and deserialization stuffs data into wrong slots, for instance
old PRLink had instance variables:
'reference' 'embedded' 'parameters'
While the new one has:
'reference' 'owner' 'embedded' 'parameters'
which results in parameters getting stuffed into embedded inst var, so
embedded after import suddenly has all those arrays in them instead of
nice booleans the code expects.
Now I have run a snippet of code to list all subclasses of PRObject in
old and new image along with inst vars they have, and the diffed that.
Result is 9 classes that have changed layout. I suspect some of them
can not appear in serialized data, but I guess you will know better.
Anyway for those 9 classes I would kindly ask you to give me a hint
how to correctly migrate them, i.e. what to stuff into empty slots. So
here goes the list (class, then old layout then new):
----------
PRAddCommand
#('name' 'type' 'link')
#('name' 'type' 'link' 'title')
----------
PRCommand
#('timestamp' 'context' 'answer' 'checked')
#('timestamp' 'context' 'checked' 'successAnswer'
'cancelAnswer' 'answer')
----------
PRComponent
#('componentClass' 'settings')
#('componentClass' 'settings' 'link')
----------
PRGoogleGadget
#('url' 'xml' 'settings' 'description')
#('url' 'xml' 'translations' 'settings'
'description')
----------
PRInternalLink
#('owner' 'target' 'anchor')
#('target' 'anchor')
----------
PRLink
#('reference' 'embedded' 'parameters')
#('reference' 'owner' 'embedded' 'parameters')
----------
PULogin
#('ancestor' 'username' 'password' 'user')
#('username' 'password' 'user')
----------
PUMember
#('name')
#('name' 'comment')
----------
PUUser
#('password' 'groups' 'superuser')
#('password' 'token' 'groups' 'superuser'
'firstName' 'lastName' 'email')
Thanks!
Davorin Rusevljan
http://www.cloud208.com/