Re: About loading Seaside into Squeak6.0a-17082 ....

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

Re: About loading Seaside into Squeak6.0a-17082 ....

Hannes Hirzel
After replacing

      #greaseInteger

with

     #asInteger

I get an error in


WAKeyGenerator>>initialize

initialize
        super initialize.
        self generator: GRPlatform current newRandom.
        self space: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'



So there are issues with the Grease compatibility layer.

Maybe the configuration map loads the wrong version?


Suggestions?


On 4/26/17, H. Hirzel <[hidden email]> wrote:

> Hello
>
> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>
> Character(Object)>>doesNotUnderstand: #greaseInteger
>
> Details [1]
>
> Is there a particular Squeak6.0a version where Seaside loads fine?
> http://files.squeak.org/6.0alpha/
>
> Any suggestions how a fix to Grease should look like?
>
> Regards
> --Hannes
>
> ---------------------------------------------------------------------------------------------
> Character(Object)>>doesNotUnderstand: #greaseInteger
>         Receiver: Character null
>         Arguments and temporary variables:
>                 aMessage:       greaseInteger
>                 exception:      MessageNotUnderstood:
> Character>>greaseInteger
>                 resumeValue:    nil
>         Receiver's instance variables:
> Character null
>
> WAUrlEncoder class>>encode:on:
>         Receiver: WAUrlEncoder
>         Arguments and temporary variables:
>                 aCharacter:     Character null
>                 aStream:        a WriteStream
>                 printer:        a GRNumberPrinter
>         Receiver's instance variables:
>                 superclass:     WATableBasedEncoder
>                 methodDict:     a MethodDictionary()
>                 format:         65538
>                 instanceVariables:      nil
>                 organization:   ('as yet unclassified')
>
>                 subclasses:     nil
>                 name:   #WAUrlEncoder
>                 classPool:      nil
>                 sharedPools:    nil
>                 environment:    Smalltalk
>                 category:       #'Seaside-Core-Document'
>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
> nil nil nil
> nil nil nil ni...etc...
>
> WAUrlEncoder class>>initializeTable
>         Receiver: WAUrlEncoder
>         Arguments and temporary variables:
>                 stream:         a WriteStream
>                 characterLimit:         255
>                 index:  0
>                 character:      Character null
>                 value:  nil
>         Receiver's instance variables:
>                 superclass:     WATableBasedEncoder
>                 methodDict:     a MethodDictionary()
>                 format:         65538
>                 instanceVariables:      nil
>                 organization:   ('as yet unclassified')
>
>                 subclasses:     nil
>                 name:   #WAUrlEncoder
>                 classPool:      nil
>                 sharedPools:    nil
>                 environment:    Smalltalk
>                 category:       #'Seaside-Core-Document'
>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
> nil nil nil
> nil nil nil ni...etc...
>
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: About loading Seaside into Squeak6.0a-17082 ....

Esteban A. Maringolo
You should have a GRSqueakPlatform as subclass, and then evaluate
"GRSqueakPlatform select", this will create and assign the new
instance as GRPlatform singleton.

Regards.
Esteban A. Maringolo


2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:

> The issue is that
>
>      GRPlatform current
>
>
> returns nil.
>
> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>> After replacing
>>
>>       #greaseInteger
>>
>> with
>>
>>      #asInteger
>>
>> I get an error in
>>
>>
>> WAKeyGenerator>>initialize
>>
>> initialize
>>       super initialize.
>>       self generator: GRPlatform current newRandom.
>>       self space:
>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>
>>
>>
>> So there are issues with the Grease compatibility layer.
>>
>> Maybe the configuration map loads the wrong version?
>>
>>
>> Suggestions?
>>
>>
>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>> Hello
>>>
>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>
>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>
>>> Details [1]
>>>
>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>> http://files.squeak.org/6.0alpha/
>>>
>>> Any suggestions how a fix to Grease should look like?
>>>
>>> Regards
>>> --Hannes
>>>
>>> ---------------------------------------------------------------------------------------------
>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>         Receiver: Character null
>>>         Arguments and temporary variables:
>>>                 aMessage:       greaseInteger
>>>                 exception:      MessageNotUnderstood:
>>> Character>>greaseInteger
>>>                 resumeValue:    nil
>>>         Receiver's instance variables:
>>> Character null
>>>
>>> WAUrlEncoder class>>encode:on:
>>>         Receiver: WAUrlEncoder
>>>         Arguments and temporary variables:
>>>                 aCharacter:     Character null
>>>                 aStream:        a WriteStream
>>>                 printer:        a GRNumberPrinter
>>>         Receiver's instance variables:
>>>                 superclass:     WATableBasedEncoder
>>>                 methodDict:     a MethodDictionary()
>>>                 format:         65538
>>>                 instanceVariables:      nil
>>>                 organization:   ('as yet unclassified')
>>>
>>>                 subclasses:     nil
>>>                 name:   #WAUrlEncoder
>>>                 classPool:      nil
>>>                 sharedPools:    nil
>>>                 environment:    Smalltalk
>>>                 category:       #'Seaside-Core-Document'
>>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>> nil nil nil
>>> nil nil nil ni...etc...
>>>
>>> WAUrlEncoder class>>initializeTable
>>>         Receiver: WAUrlEncoder
>>>         Arguments and temporary variables:
>>>                 stream:         a WriteStream
>>>                 characterLimit:         255
>>>                 index:  0
>>>                 character:      Character null
>>>                 value:  nil
>>>         Receiver's instance variables:
>>>                 superclass:     WATableBasedEncoder
>>>                 methodDict:     a MethodDictionary()
>>>                 format:         65538
>>>                 instanceVariables:      nil
>>>                 organization:   ('as yet unclassified')
>>>
>>>                 subclasses:     nil
>>>                 name:   #WAUrlEncoder
>>>                 classPool:      nil
>>>                 sharedPools:    nil
>>>                 environment:    Smalltalk
>>>                 category:       #'Seaside-Core-Document'
>>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>> nil nil nil
>>> nil nil nil ni...etc...
>>>
>>
> _______________________________________________
> 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: About loading Seaside into Squeak6.0a-17082 ....

Tobias Pape
Hi,
(cc squeak-dev)

> On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:
>
> You should have a GRSqueakPlatform as subclass, and then evaluate
> "GRSqueakPlatform select", this will create and assign the new
> instance as GRPlatform singleton.
>

Sadly, in his image won't be a GRSqueakPlatform.
Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.

I've no good idea how to fix that yet.

Any takers?

best regards
        -Tobias


> Regards.
> Esteban A. Maringolo
>
>
> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
>> The issue is that
>>
>>     GRPlatform current
>>
>>
>> returns nil.
>>
>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>> After replacing
>>>
>>>      #greaseInteger
>>>
>>> with
>>>
>>>     #asInteger
>>>
>>> I get an error in
>>>
>>>
>>> WAKeyGenerator>>initialize
>>>
>>> initialize
>>>      super initialize.
>>>      self generator: GRPlatform current newRandom.
>>>      self space:
>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>
>>>
>>>
>>> So there are issues with the Grease compatibility layer.
>>>
>>> Maybe the configuration map loads the wrong version?
>>>
>>>
>>> Suggestions?
>>>
>>>
>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>> Hello
>>>>
>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>
>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>
>>>> Details [1]
>>>>
>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>> http://files.squeak.org/6.0alpha/
>>>>
>>>> Any suggestions how a fix to Grease should look like?
>>>>
>>>> Regards
>>>> --Hannes
>>>>
>>>> ---------------------------------------------------------------------------------------------
>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>        Receiver: Character null
>>>>        Arguments and temporary variables:
>>>>                aMessage:       greaseInteger
>>>>                exception:      MessageNotUnderstood:
>>>> Character>>greaseInteger
>>>>                resumeValue:    nil
>>>>        Receiver's instance variables:
>>>> Character null
>>>>
>>>> WAUrlEncoder class>>encode:on:
>>>>        Receiver: WAUrlEncoder
>>>>        Arguments and temporary variables:
>>>>                aCharacter:     Character null
>>>>                aStream:        a WriteStream
>>>>                printer:        a GRNumberPrinter
>>>>        Receiver's instance variables:
>>>>                superclass:     WATableBasedEncoder
>>>>                methodDict:     a MethodDictionary()
>>>>                format:         65538
>>>>                instanceVariables:      nil
>>>>                organization:   ('as yet unclassified')
>>>>
>>>>                subclasses:     nil
>>>>                name:   #WAUrlEncoder
>>>>                classPool:      nil
>>>>                sharedPools:    nil
>>>>                environment:    Smalltalk
>>>>                category:       #'Seaside-Core-Document'
>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>> nil nil nil
>>>> nil nil nil ni...etc...
>>>>
>>>> WAUrlEncoder class>>initializeTable
>>>>        Receiver: WAUrlEncoder
>>>>        Arguments and temporary variables:
>>>>                stream:         a WriteStream
>>>>                characterLimit:         255
>>>>                index:  0
>>>>                character:      Character null
>>>>                value:  nil
>>>>        Receiver's instance variables:
>>>>                superclass:     WATableBasedEncoder
>>>>                methodDict:     a MethodDictionary()
>>>>                format:         65538
>>>>                instanceVariables:      nil
>>>>                organization:   ('as yet unclassified')
>>>>
>>>>                subclasses:     nil
>>>>                name:   #WAUrlEncoder
>>>>                classPool:      nil
>>>>                sharedPools:    nil
>>>>                environment:    Smalltalk
>>>>                category:       #'Seaside-Core-Document'
>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>> nil nil nil
>>>> nil nil nil ni...etc...
>>>>
>>>
>> _______________________________________________
>> 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

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

Re: About loading Seaside into Squeak6.0a-17082 ....

Dale Henrichs-3

On 04/26/2017 11:08 AM, Tobias Pape wrote:

> Hi,
> (cc squeak-dev)
>
>> On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:
>>
>> You should have a GRSqueakPlatform as subclass, and then evaluate
>> "GRSqueakPlatform select", this will create and assign the new
>> instance as GRPlatform singleton.
>>
> Sadly, in his image won't be a GRSqueakPlatform.
> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>
> I've no good idea how to fix that yet.
submit a pull request for the Metacello project on github[1] and update
the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with
your new Squeak versions added to the list ...

If you want to avoid having to update Metacello for each new Squeak
release, add something along the lines of what pharo has been doing for
a few years[3] ... then you only need to remember to update that method
... but at least it will be part of the base image ...

For GemStone I've included code to generate the default attributes for
GemStone based on the GemStone version number ...

Dale

[1] https://github.com/dalehenrich/metacello-work
[2]
https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
[3]
https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
[4]
https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st

>
> Any takers?
>
> best regards
> -Tobias
>
>
>> Regards.
>> Esteban A. Maringolo
>>
>>
>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
>>> The issue is that
>>>
>>>      GRPlatform current
>>>
>>>
>>> returns nil.
>>>
>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>> After replacing
>>>>
>>>>       #greaseInteger
>>>>
>>>> with
>>>>
>>>>      #asInteger
>>>>
>>>> I get an error in
>>>>
>>>>
>>>> WAKeyGenerator>>initialize
>>>>
>>>> initialize
>>>>       super initialize.
>>>>       self generator: GRPlatform current newRandom.
>>>>       self space:
>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>
>>>>
>>>>
>>>> So there are issues with the Grease compatibility layer.
>>>>
>>>> Maybe the configuration map loads the wrong version?
>>>>
>>>>
>>>> Suggestions?
>>>>
>>>>
>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>> Hello
>>>>>
>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>
>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>
>>>>> Details [1]
>>>>>
>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>> http://files.squeak.org/6.0alpha/
>>>>>
>>>>> Any suggestions how a fix to Grease should look like?
>>>>>
>>>>> Regards
>>>>> --Hannes
>>>>>
>>>>> ---------------------------------------------------------------------------------------------
>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>         Receiver: Character null
>>>>>         Arguments and temporary variables:
>>>>>                 aMessage:       greaseInteger
>>>>>                 exception:      MessageNotUnderstood:
>>>>> Character>>greaseInteger
>>>>>                 resumeValue:    nil
>>>>>         Receiver's instance variables:
>>>>> Character null
>>>>>
>>>>> WAUrlEncoder class>>encode:on:
>>>>>         Receiver: WAUrlEncoder
>>>>>         Arguments and temporary variables:
>>>>>                 aCharacter:     Character null
>>>>>                 aStream:        a WriteStream
>>>>>                 printer:        a GRNumberPrinter
>>>>>         Receiver's instance variables:
>>>>>                 superclass:     WATableBasedEncoder
>>>>>                 methodDict:     a MethodDictionary()
>>>>>                 format:         65538
>>>>>                 instanceVariables:      nil
>>>>>                 organization:   ('as yet unclassified')
>>>>>
>>>>>                 subclasses:     nil
>>>>>                 name:   #WAUrlEncoder
>>>>>                 classPool:      nil
>>>>>                 sharedPools:    nil
>>>>>                 environment:    Smalltalk
>>>>>                 category:       #'Seaside-Core-Document'
>>>>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>> nil nil nil
>>>>> nil nil nil ni...etc...
>>>>>
>>>>> WAUrlEncoder class>>initializeTable
>>>>>         Receiver: WAUrlEncoder
>>>>>         Arguments and temporary variables:
>>>>>                 stream:         a WriteStream
>>>>>                 characterLimit:         255
>>>>>                 index:  0
>>>>>                 character:      Character null
>>>>>                 value:  nil
>>>>>         Receiver's instance variables:
>>>>>                 superclass:     WATableBasedEncoder
>>>>>                 methodDict:     a MethodDictionary()
>>>>>                 format:         65538
>>>>>                 instanceVariables:      nil
>>>>>                 organization:   ('as yet unclassified')
>>>>>
>>>>>                 subclasses:     nil
>>>>>                 name:   #WAUrlEncoder
>>>>>                 classPool:      nil
>>>>>                 sharedPools:    nil
>>>>>                 environment:    Smalltalk
>>>>>                 category:       #'Seaside-Core-Document'
>>>>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>> nil nil nil
>>>>> nil nil nil ni...etc...
>>>>>
>>> _______________________________________________
>>> 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
> _______________________________________________
> 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: About loading Seaside into Squeak6.0a-17082 ....

Tobias Pape
Hi

> On 26.04.2017, at 22:31, Dale Henrichs <[hidden email]> wrote:
>
>
> On 04/26/2017 11:08 AM, Tobias Pape wrote:
>> Hi,
>> (cc squeak-dev)
>>
>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:
>>>
>>> You should have a GRSqueakPlatform as subclass, and then evaluate
>>> "GRSqueakPlatform select", this will create and assign the new
>>> instance as GRPlatform singleton.
>>>
>> Sadly, in his image won't be a GRSqueakPlatform.
>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>>
>> I've no good idea how to fix that yet.
> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...
>
> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...
>
> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...
>

Hey Dale, those are good ideas and I've thought about that, too.
However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.

So, this could work:
1. have an extraction like gemstone below, but
2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
  a. either #( 'squeak5.x' 'squeak6.x')
  b. or #( 'squeak5.x' 'squeakTrunk')
  c. or have #'squeak6.x' separate.

@squeak-dev: hoping you are ok with (1), are you ok with (2)?
@seaside-dev: would you rather like (3a), (3b), or (3c)?

Best regards
        -Tobias
 


> Dale
>
> [1] https://github.com/dalehenrich/metacello-work
> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st
>>
>> Any takers?
>>
>> best regards
>> -Tobias
>>
>>
>>> Regards.
>>> Esteban A. Maringolo
>>>
>>>
>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
>>>> The issue is that
>>>>
>>>>     GRPlatform current
>>>>
>>>>
>>>> returns nil.
>>>>
>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>> After replacing
>>>>>
>>>>>      #greaseInteger
>>>>>
>>>>> with
>>>>>
>>>>>     #asInteger
>>>>>
>>>>> I get an error in
>>>>>
>>>>>
>>>>> WAKeyGenerator>>initialize
>>>>>
>>>>> initialize
>>>>>      super initialize.
>>>>>      self generator: GRPlatform current newRandom.
>>>>>      self space:
>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>>
>>>>>
>>>>>
>>>>> So there are issues with the Grease compatibility layer.
>>>>>
>>>>> Maybe the configuration map loads the wrong version?
>>>>>
>>>>>
>>>>> Suggestions?
>>>>>
>>>>>
>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>> Hello
>>>>>>
>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>>
>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>
>>>>>> Details [1]
>>>>>>
>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>>> http://files.squeak.org/6.0alpha/
>>>>>>
>>>>>> Any suggestions how a fix to Grease should look like?
>>>>>>
>>>>>> Regards
>>>>>> --Hannes
>>>>>>
>>>>>> ---------------------------------------------------------------------------------------------
>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>        Receiver: Character null
>>>>>>        Arguments and temporary variables:
>>>>>>                aMessage:       greaseInteger
>>>>>>                exception:      MessageNotUnderstood:
>>>>>> Character>>greaseInteger
>>>>>>                resumeValue:    nil
>>>>>>        Receiver's instance variables:
>>>>>> Character null
>>>>>>
>>>>>> WAUrlEncoder class>>encode:on:
>>>>>>        Receiver: WAUrlEncoder
>>>>>>        Arguments and temporary variables:
>>>>>>                aCharacter:     Character null
>>>>>>                aStream:        a WriteStream
>>>>>>                printer:        a GRNumberPrinter
>>>>>>        Receiver's instance variables:
>>>>>>                superclass:     WATableBasedEncoder
>>>>>>                methodDict:     a MethodDictionary()
>>>>>>                format:         65538
>>>>>>                instanceVariables:      nil
>>>>>>                organization:   ('as yet unclassified')
>>>>>>
>>>>>>                subclasses:     nil
>>>>>>                name:   #WAUrlEncoder
>>>>>>                classPool:      nil
>>>>>>                sharedPools:    nil
>>>>>>                environment:    Smalltalk
>>>>>>                category:       #'Seaside-Core-Document'
>>>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>> nil nil nil
>>>>>> nil nil nil ni...etc...
>>>>>>
>>>>>> WAUrlEncoder class>>initializeTable
>>>>>>        Receiver: WAUrlEncoder
>>>>>>        Arguments and temporary variables:
>>>>>>                stream:         a WriteStream
>>>>>>                characterLimit:         255
>>>>>>                index:  0
>>>>>>                character:      Character null
>>>>>>                value:  nil
>>>>>>        Receiver's instance variables:
>>>>>>                superclass:     WATableBasedEncoder
>>>>>>                methodDict:     a MethodDictionary()
>>>>>>                format:         65538
>>>>>>                instanceVariables:      nil
>>>>>>                organization:   ('as yet unclassified')
>>>>>>
>>>>>>                subclasses:     nil
>>>>>>                name:   #WAUrlEncoder
>>>>>>                classPool:      nil
>>>>>>                sharedPools:    nil
>>>>>>                environment:    Smalltalk
>>>>>>                category:       #'Seaside-Core-Document'
>>>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>> nil nil nil
>>>>>> nil nil nil ni...etc...
>>>>>>
>>>> _______________________________________________
>>>> 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
>> _______________________________________________
>> 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

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

Re: About loading Seaside into Squeak6.0a-17082 ....

Dale Henrichs-3


On 04/26/2017 02:26 PM, Tobias Pape wrote:

> Hi
>> On 26.04.2017, at 22:31, Dale Henrichs <[hidden email]> wrote:
>>
>>
>> On 04/26/2017 11:08 AM, Tobias Pape wrote:
>>> Hi,
>>> (cc squeak-dev)
>>>
>>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:
>>>>
>>>> You should have a GRSqueakPlatform as subclass, and then evaluate
>>>> "GRSqueakPlatform select", this will create and assign the new
>>>> instance as GRPlatform singleton.
>>>>
>>> Sadly, in his image won't be a GRSqueakPlatform.
>>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
>>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
>>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>>>
>>> I've no good idea how to fix that yet.
>> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...
>>
>> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...
>>
>> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...
>>
> Hey Dale, those are good ideas and I've thought about that, too.
> However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.
Hey Tobias, when a new version of Squeak is nearing release, you
presumably need to validate that Seaside and all of it's dependent
projects load/run in the new version, at which time you'd update the
configuration/baseline as part of the validation ... and also run tests,
etc.  Both Grease[1] and Seaside[2] are up on github and use smalltalkCI
and travis-ci to run tests, so for that, you could fork Grease and
Seaside, edit the .travis.yml file to include the new squeak version;
edit the baseline to include the new Squeak version (all of which could
be done from your web browser) and when you commit, travis builds are
kicked off automatically -- if the tests pass on travis-ci, you issue a
pull request for Grease and Seaside and Bob's you uncle ...

[1] https://github.com/SeasideSt/Grease/
[2] https://github.com/SeasideSt/Seaside

>
> So, this could work:
> 1. have an extraction like gemstone below, but
> 2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
> 3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
>    a. either #( 'squeak5.x' 'squeak6.x')
>    b. or #( 'squeak5.x' 'squeakTrunk')
>    c. or have #'squeak6.x' separate.
>
> @squeak-dev: hoping you are ok with (1), are you ok with (2)?
> @seaside-dev: would you rather like (3a), (3b), or (3c)?
>
> Best regards
> -Tobias
>    
>
>
>> Dale
>>
>> [1] https://github.com/dalehenrich/metacello-work
>> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
>> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
>> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st
>>> Any takers?
>>>
>>> best regards
>>> -Tobias
>>>
>>>
>>>> Regards.
>>>> Esteban A. Maringolo
>>>>
>>>>
>>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
>>>>> The issue is that
>>>>>
>>>>>      GRPlatform current
>>>>>
>>>>>
>>>>> returns nil.
>>>>>
>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>> After replacing
>>>>>>
>>>>>>       #greaseInteger
>>>>>>
>>>>>> with
>>>>>>
>>>>>>      #asInteger
>>>>>>
>>>>>> I get an error in
>>>>>>
>>>>>>
>>>>>> WAKeyGenerator>>initialize
>>>>>>
>>>>>> initialize
>>>>>>       super initialize.
>>>>>>       self generator: GRPlatform current newRandom.
>>>>>>       self space:
>>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>>>
>>>>>>
>>>>>>
>>>>>> So there are issues with the Grease compatibility layer.
>>>>>>
>>>>>> Maybe the configuration map loads the wrong version?
>>>>>>
>>>>>>
>>>>>> Suggestions?
>>>>>>
>>>>>>
>>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>>> Hello
>>>>>>>
>>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>>>
>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>
>>>>>>> Details [1]
>>>>>>>
>>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>>>> http://files.squeak.org/6.0alpha/
>>>>>>>
>>>>>>> Any suggestions how a fix to Grease should look like?
>>>>>>>
>>>>>>> Regards
>>>>>>> --Hannes
>>>>>>>
>>>>>>> ---------------------------------------------------------------------------------------------
>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>         Receiver: Character null
>>>>>>>         Arguments and temporary variables:
>>>>>>>                 aMessage:       greaseInteger
>>>>>>>                 exception:      MessageNotUnderstood:
>>>>>>> Character>>greaseInteger
>>>>>>>                 resumeValue:    nil
>>>>>>>         Receiver's instance variables:
>>>>>>> Character null
>>>>>>>
>>>>>>> WAUrlEncoder class>>encode:on:
>>>>>>>         Receiver: WAUrlEncoder
>>>>>>>         Arguments and temporary variables:
>>>>>>>                 aCharacter:     Character null
>>>>>>>                 aStream:        a WriteStream
>>>>>>>                 printer:        a GRNumberPrinter
>>>>>>>         Receiver's instance variables:
>>>>>>>                 superclass:     WATableBasedEncoder
>>>>>>>                 methodDict:     a MethodDictionary()
>>>>>>>                 format:         65538
>>>>>>>                 instanceVariables:      nil
>>>>>>>                 organization:   ('as yet unclassified')
>>>>>>>
>>>>>>>                 subclasses:     nil
>>>>>>>                 name:   #WAUrlEncoder
>>>>>>>                 classPool:      nil
>>>>>>>                 sharedPools:    nil
>>>>>>>                 environment:    Smalltalk
>>>>>>>                 category:       #'Seaside-Core-Document'
>>>>>>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>> nil nil nil
>>>>>>> nil nil nil ni...etc...
>>>>>>>
>>>>>>> WAUrlEncoder class>>initializeTable
>>>>>>>         Receiver: WAUrlEncoder
>>>>>>>         Arguments and temporary variables:
>>>>>>>                 stream:         a WriteStream
>>>>>>>                 characterLimit:         255
>>>>>>>                 index:  0
>>>>>>>                 character:      Character null
>>>>>>>                 value:  nil
>>>>>>>         Receiver's instance variables:
>>>>>>>                 superclass:     WATableBasedEncoder
>>>>>>>                 methodDict:     a MethodDictionary()
>>>>>>>                 format:         65538
>>>>>>>                 instanceVariables:      nil
>>>>>>>                 organization:   ('as yet unclassified')
>>>>>>>
>>>>>>>                 subclasses:     nil
>>>>>>>                 name:   #WAUrlEncoder
>>>>>>>                 classPool:      nil
>>>>>>>                 sharedPools:    nil
>>>>>>>                 environment:    Smalltalk
>>>>>>>                 category:       #'Seaside-Core-Document'
>>>>>>>                 table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>> nil nil nil
>>>>>>> nil nil nil ni...etc...
>>>>>>>
>>>>> _______________________________________________
>>>>> 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
>>> _______________________________________________
>>> 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
> _______________________________________________
> 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: About loading Seaside into Squeak6.0a-17082 ....

Tobias Pape
Hi

> On 26.04.2017, at 23:38, Dale Henrichs <[hidden email]> wrote:
>
>
>
> On 04/26/2017 02:26 PM, Tobias Pape wrote:
>> Hi
>>> On 26.04.2017, at 22:31, Dale Henrichs <[hidden email]> wrote:
>>>
>>>
>>> On 04/26/2017 11:08 AM, Tobias Pape wrote:
>>>> Hi,
>>>> (cc squeak-dev)
>>>>
>>>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <[hidden email]> wrote:
>>>>>
>>>>> You should have a GRSqueakPlatform as subclass, and then evaluate
>>>>> "GRSqueakPlatform select", this will create and assign the new
>>>>> instance as GRPlatform singleton.
>>>>>
>>>> Sadly, in his image won't be a GRSqueakPlatform.
>>>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
>>>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
>>>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>>>>
>>>> I've no good idea how to fix that yet.
>>> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...
>>>
>>> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...
>>>
>>> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...
>>>
>> Hey Dale, those are good ideas and I've thought about that, too.
>> However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.
> Hey Tobias, when a new version of Squeak is nearing release, you presumably need to validate that Seaside and all of it's dependent projects load/run in the new version, at which time you'd update the configuration/baseline as part of the validation ... and also run tests, etc.

True. The case here is that someone took a Trunk mid-cycle.
But yes, generally we should do that.

>  Both Grease[1] and Seaside[2] are up on github and use smalltalkCI and travis-ci to run tests, so for that, you could fork Grease and Seaside, edit the .travis.yml file to include the new squeak version; edit the baseline to include the new Squeak version (all of which could be done from your web browser) and when you commit, travis builds are kicked off automatically -- if the tests pass on travis-ci, you issue a pull request for Grease and Seaside and Bob's you uncle ...

1. ask
2. dale answers
3. ???
4. profit!

\o/
no seriously, that process is fine.
I was bikeshedding implementation details...

long story short: there's no seaside@squeaktrunk at the moment without at least a tiny bit of hand-tuing.

Hannes, since I have not much time atm for Seaside, can you try out a bit yourself?
You should get things loaded at least if you make `MetacelloSqueakPlatform>>defaultPlatformAttributes` return #'squeak5.0'

best regards
        -Tobias

>
> [1] https://github.com/SeasideSt/Grease/
> [2] https://github.com/SeasideSt/Seaside
>>
>> So, this could work:
>> 1. have an extraction like gemstone below, but
>> 2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
>> 3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
>>   a. either #( 'squeak5.x' 'squeak6.x')
>>   b. or #( 'squeak5.x' 'squeakTrunk')
>>   c. or have #'squeak6.x' separate.
>>
>> @squeak-dev: hoping you are ok with (1), are you ok with (2)?
>> @seaside-dev: would you rather like (3a), (3b), or (3c)?
>>
>> Best regards
>> -Tobias
>>  
>>
>>> Dale
>>>
>>> [1] https://github.com/dalehenrich/metacello-work
>>> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
>>> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
>>> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st
>>>> Any takers?
>>>>
>>>> best regards
>>>> -Tobias
>>>>
>>>>
>>>>> Regards.
>>>>> Esteban A. Maringolo
>>>>>
>>>>>
>>>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <[hidden email]>:
>>>>>> The issue is that
>>>>>>
>>>>>>     GRPlatform current
>>>>>>
>>>>>>
>>>>>> returns nil.
>>>>>>
>>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>>> After replacing
>>>>>>>
>>>>>>>      #greaseInteger
>>>>>>>
>>>>>>> with
>>>>>>>
>>>>>>>     #asInteger
>>>>>>>
>>>>>>> I get an error in
>>>>>>>
>>>>>>>
>>>>>>> WAKeyGenerator>>initialize
>>>>>>>
>>>>>>> initialize
>>>>>>>      super initialize.
>>>>>>>      self generator: GRPlatform current newRandom.
>>>>>>>      self space:
>>>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> So there are issues with the Grease compatibility layer.
>>>>>>>
>>>>>>> Maybe the configuration map loads the wrong version?
>>>>>>>
>>>>>>>
>>>>>>> Suggestions?
>>>>>>>
>>>>>>>
>>>>>>> On 4/26/17, H. Hirzel <[hidden email]> wrote:
>>>>>>>> Hello
>>>>>>>>
>>>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>>>>
>>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>>
>>>>>>>> Details [1]
>>>>>>>>
>>>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>>>>> http://files.squeak.org/6.0alpha/
>>>>>>>>
>>>>>>>> Any suggestions how a fix to Grease should look like?
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> --Hannes
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------------------------------
>>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>>        Receiver: Character null
>>>>>>>>        Arguments and temporary variables:
>>>>>>>>                aMessage:       greaseInteger
>>>>>>>>                exception:      MessageNotUnderstood:
>>>>>>>> Character>>greaseInteger
>>>>>>>>                resumeValue:    nil
>>>>>>>>        Receiver's instance variables:
>>>>>>>> Character null
>>>>>>>>
>>>>>>>> WAUrlEncoder class>>encode:on:
>>>>>>>>        Receiver: WAUrlEncoder
>>>>>>>>        Arguments and temporary variables:
>>>>>>>>                aCharacter:     Character null
>>>>>>>>                aStream:        a WriteStream
>>>>>>>>                printer:        a GRNumberPrinter
>>>>>>>>        Receiver's instance variables:
>>>>>>>>                superclass:     WATableBasedEncoder
>>>>>>>>                methodDict:     a MethodDictionary()
>>>>>>>>                format:         65538
>>>>>>>>                instanceVariables:      nil
>>>>>>>>                organization:   ('as yet unclassified')
>>>>>>>>
>>>>>>>>                subclasses:     nil
>>>>>>>>                name:   #WAUrlEncoder
>>>>>>>>                classPool:      nil
>>>>>>>>                sharedPools:    nil
>>>>>>>>                environment:    Smalltalk
>>>>>>>>                category:       #'Seaside-Core-Document'
>>>>>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>>> nil nil nil
>>>>>>>> nil nil nil ni...etc...
>>>>>>>>
>>>>>>>> WAUrlEncoder class>>initializeTable
>>>>>>>>        Receiver: WAUrlEncoder
>>>>>>>>        Arguments and temporary variables:
>>>>>>>>                stream:         a WriteStream
>>>>>>>>                characterLimit:         255
>>>>>>>>                index:  0
>>>>>>>>                character:      Character null
>>>>>>>>                value:  nil
>>>>>>>>        Receiver's instance variables:
>>>>>>>>                superclass:     WATableBasedEncoder
>>>>>>>>                methodDict:     a MethodDictionary()
>>>>>>>>                format:         65538
>>>>>>>>                instanceVariables:      nil
>>>>>>>>                organization:   ('as yet unclassified')
>>>>>>>>
>>>>>>>>                subclasses:     nil
>>>>>>>>                name:   #WAUrlEncoder
>>>>>>>>                classPool:      nil
>>>>>>>>                sharedPools:    nil
>>>>>>>>                environment:    Smalltalk
>>>>>>>>                category:       #'Seaside-Core-Document'
>>>>>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>>> nil nil nil
>>>>>>>> nil nil nil ni...etc...
>>>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>> _______________________________________________
>>>> 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
>> _______________________________________________
>> 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

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside