[Bug][2.8] WAUserConfiguration-#initialize migration problems

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

[Bug][2.8] WAUserConfiguration-#initialize migration problems

keith1y
In loading Seaside 2.8 into an image which has 2.7 in it, the
WAUserConfiguration-#initialize method is copying over values for its
ancestors which are references to ObsoleteClasses.

It appears that performing an initialize or a WADispatcher resetAll,
essential fails to reset the configuration ancestors, it just propagates
any previous errors that might be present in the configuration ancestry.

regards

Keith


_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

Lukas Renggli
> In loading Seaside 2.8 into an image which has 2.7 in it, the
> WAUserConfiguration-#initialize method is copying over values for its
> ancestors which are references to ObsoleteClasses.

This looks scary, this initializer must be quite old.

> It appears that performing an initialize or a WADispatcher resetAll,
> essential fails to reset the configuration ancestors, it just propagates
> any previous errors that might be present in the configuration ancestry.

Maybe you need to recompile the code. There shouldn't be obsolete
references in the Seaside code, we regularly run SLint.

Btw, one of the goals of 2.8 is to improve the configuration
framework. Over the time this has become a real mess of properties
that were added to the wrong class, ect. Also it has shown to be a
bottleneck, because the lookup of values can be really slow. If
anybody has ideas (or is willing to contribute code) please go ahead.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

keith1y
Hi Lukas,

thanks once again for your timely input,

>> In loading Seaside 2.8 into an image which has 2.7 in it, the
>> WAUserConfiguration-#initialize method is copying over values for its
>> ancestors which are references to ObsoleteClasses.
>
> This looks scary, this initializer must be quite old.
>
I am not sure what you mean, this is the code in 2.8 latest.

initialize
    self allInstances do: [:ea | ea instVarNamed: 'ancestors' put: (ea
ancestors collect: [:c  | [c instVarNamed: 'parent'] ifError: [c]])]

>> It appears that performing an initialize or a WADispatcher resetAll,
>> essential fails to reset the configuration ancestors, it just propagates
>> any previous errors that might be present in the configuration ancestry.
>
> Maybe you need to recompile the code. There shouldn't be obsolete
> references in the Seaside code, we regularly run SLint.
>
I dont see how recompiling the code will help since I have instances of
subclasses of WAConfiguration from when this was a Seaside2.7
installation. I load 2.8 in and it has obsoleted some of these
instances, however the WAUserConfiguration-initialize and resetAll
simply dont initialize, they copy the old.

Now having attempted to clear these out manually I am left with nothing
that works at all. Everything returns nil for sessionClass.

...

Keith


 
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

Philippe Marschall
In reply to this post by keith1y
2007/7/4, Keith Hodges <[hidden email]>:
> In loading Seaside 2.8 into an image which has 2.7 in it, the
> WAUserConfiguration-#initialize method is copying over values for its
> ancestors which are references to ObsoleteClasses.

Loading Seaside 2.8 into an image which has 2.7 in it is likely to
cause problems beause we dropped a lot of overrides. In the worst case
you break your image unrecoverably.

Cheers
Philippe

> It appears that performing an initialize or a WADispatcher resetAll,
> essential fails to reset the configuration ancestors, it just propagates
> any previous errors that might be present in the configuration ancestry.
>
> regards
>
> Keith
>
>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

keith1y
Philippe Marschall wrote:

> 2007/7/4, Keith Hodges <[hidden email]>:
>> In loading Seaside 2.8 into an image which has 2.7 in it, the
>> WAUserConfiguration-#initialize method is copying over values for its
>> ancestors which are references to ObsoleteClasses.
>
> Loading Seaside 2.8 into an image which has 2.7 in it is likely to
> cause problems beause we dropped a lot of overrides. In the worst case
> you break your image unrecoverably.
>
> Cheers
> Philippe
This should only be a problem if a method extension that overrides a
native implementation is not correctly categorized as an -override in
the old package being updated, in this case I was upgrading from 2.7 and
I had already fixed this to be the case 2.7 (220/224 ish)

The "hopefully" improved monticello that I am using does restore the
original methods that have been overridden. Everything worked earlier,  
I had the config app up and running, until I started trying to
reinitialize these configurations.

Keith
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

keith1y
I needed to restart WAKom following a WADispatcher resetAll, that was my
main problem!

Using Safari, I find the scriptaculous slider to be broken, and in the
drag and drop examples the model fails to update.
They work fine in firefox.

Keith
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

Lukas Renggli
> Using Safari, I find the scriptaculous slider to be broken, and in the
> drag and drop examples the model fails to update.
> They work fine in firefox.

As far as I remember the Slider never worked in Safari. The drag and
drop examples do work fine over here. Is Safari reporting any bugs on
the Javascript console?

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [Bug][2.8] WAUserConfiguration-#initialize migration problems

Philippe Marschall
In reply to this post by keith1y
2007/7/4, Keith Hodges <[hidden email]>:

> Philippe Marschall wrote:
> > 2007/7/4, Keith Hodges <[hidden email]>:
> >> In loading Seaside 2.8 into an image which has 2.7 in it, the
> >> WAUserConfiguration-#initialize method is copying over values for its
> >> ancestors which are references to ObsoleteClasses.
> >
> > Loading Seaside 2.8 into an image which has 2.7 in it is likely to
> > cause problems beause we dropped a lot of overrides. In the worst case
> > you break your image unrecoverably.
> >
> > Cheers
> > Philippe
> This should only be a problem if a method extension that overrides a
> native implementation is not correctly categorized as an -override in
> the old package being updated, in this case I was upgrading from 2.7 and
> I had already fixed this to be the case 2.7 (220/224 ish)

This can happen with a non-native override in Parser (yes, sad but
true). No official Monticello version so far did handle overrides
which is probably one of the reasons why many are not correctly
categorized as -override. An other might be that at the time they have
been done, they were not overrides (Squeak 3.7). We had also to remove
overrides for kernel image support.

Cheers
Philippe

> The "hopefully" improved monticello that I am using does restore the
> original methods that have been overridden. Everything worked earlier,
> I had the config app up and running, until I started trying to
> reinitialize these configurations.
>
> Keith
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside