[Seaside] About loading Seaside into Squeak6.0a-17082 ....

Dale Henrichs dale.henrichs at gemtalksystems.com
Wed Apr 26 21:38:38 UTC 2017



On 04/26/2017 02:26 PM, Tobias Pape wrote:
> Hi
>> On 26.04.2017, at 22:31, Dale Henrichs <dale.henrichs at gemtalksystems.com> 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 <emaringolo at gmail.com> 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 <hannes.hirzel at gmail.com>:
>>>>> The issue is that
>>>>>
>>>>>      GRPlatform current
>>>>>
>>>>>
>>>>> returns nil.
>>>>>
>>>>> On 4/26/17, H. Hirzel <hannes.hirzel at gmail.com> 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 <hannes.hirzel at gmail.com> 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
>>>>> seaside at lists.squeakfoundation.org
>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>> _______________________________________________
>>>> seaside mailing list
>>>> seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



More information about the seaside mailing list