[squeak-dev] ScriptManager that works in Squeak4.4-12327

Ken G. Brown kbrown at mac.com
Tue Jan 8 16:53:53 UTC 2013


Is that download file supposed to be the Install.st file created from the Release Editor or is it something else? 
Do I need to upload it somehow or does the Release Editor do it? If the Release Editor is supposed to do it, I never could get the Release Editor save to work because of the error.
    Ken

 2013-01-08, at 1:34 AM, Frank Shearar wrote:

> It's because of the "Download: nil" you can see here:
> http://map.squeak.org/package/3cd57503-15f5-4b95-9fa9-266ef80cab6b/autoversion/1
> 
> I think the solution is to edit the release in the Release Editor and
> redo the install script.
> 
> (Re Hannes' point about ScriptManager being a single .cs - maybe, but
> if it's in ss3 it's under version control.)
> 
> frank
> 
> On 7 January 2013 22:30, Ken G. Brown <kbrown at mac.com> wrote:
>> I did as you suggested and have successfully created the new ScriptManager package on SqueakMap.
>> However, I'm wondering if I am missing something, or if this is related to not being able to Edit Releases from the web browser access to SqueakMap. Tips appreciated.
>> When I attempt to save the contents of the SMReleaseBrowser, I get the following:
>> 
>> UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
>> 
>> 7 January 2013 3:22:04.457 pm
>> 
>> VM: Mac OS - Smalltalk
>> Image: Squeak4.4 [latest update: #12327]
>> 
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir /myStuff/mySmalltalkStuff/Sqkb/<Sqkb4.x/Sqkb4.4/Squeak4.4-12327 Release
>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
>> Untrusted Dir /Users/kbrownht/Library/Preferences/Croquet/Internet/Untrusted
>> 
>> UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
>>        Receiver: nil
>>        Arguments and temporary variables:
>>                aMessage:       isEmpty
>>                exception:      MessageNotUnderstood: UndefinedObject>>isEmpty
>>                resumeValue:    nil
>>        Receiver's instance variables:
>> nil
>> 
>> SMPackageRelease>>downloadFileName
>>        Receiver: SMPackageRelease[ScriptManager 1-(head)]
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                id:     an UUID('28a27de1-fe3e-4f49-9ef8-f3ac14fd2914')
>>                map:    a SMSqueakMap
>>                created:        3535024662
>>                updated:        3535024662
>>                name:   ''
>>                summary:        ''
>>                url:    ''
>>                categories:     an OrderedCollection(SMCategory: Community Supported SMCategory: MI...etc...
>>                resources:      nil
>>                publisher:      nil
>>                automaticVersion:       '1' asVersion
>>                version:        '(head)'
>>                note:   a Text for 'A version of ScriptManager that runs in Squeak, forked about ...etc...
>>                downloadUrl:    nil
>>                package:        SMPackage[ScriptManager]
>>                repository:     nil
>>                sha1sum:        nil
>> 
>> SMReleaseBrowser>>loadScript
>>        Receiver: a SMReleaseBrowser
>>        Arguments and temporary variables:
>>                scriptName:     nil
>>        Receiver's instance variables:
>>                dependents:     a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
>>                contents:       ''
>>                currentCompiledMethod:  nil
>>                contentsSymbol:         #source
>>                multiWindowState:       nil
>>                release:        SMPackageRelease[ScriptManager 1-(head)]
>>                loadScript:     nil
>>                smClient:       a SMClient
>> 
>> [] in [] in SMReleaseBrowser>>save
>>        Receiver: a SMReleaseBrowser
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                dependents:     a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
>>                contents:       ''
>>                currentCompiledMethod:  nil
>>                contentsSymbol:         #source
>>                multiWindowState:       nil
>>                release:        SMPackageRelease[ScriptManager 1-(head)]
>>                loadScript:     nil
>>                smClient:       a SMClient
>> 
>> BlockClosure>>ensure:
>>        Receiver: [closure] in [] in SMReleaseBrowser>>save
>>        Arguments and temporary variables:
>>                aBlock:         [closure] in [] in SMReleaseBrowser>>save
>>                complete:       nil
>>                returnValue:    nil
>>        Receiver's instance variables:
>>                outerContext:   [] in SMReleaseBrowser>>save
>>                startpc:        145
>>                numArgs:        0
>> 
>> [] in SMReleaseBrowser>>save
>>        Receiver: a SMReleaseBrowser
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                dependents:     a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
>>                contents:       ''
>>                currentCompiledMethod:  nil
>>                contentsSymbol:         #source
>>                multiWindowState:       nil
>>                release:        SMPackageRelease[ScriptManager 1-(head)]
>>                loadScript:     nil
>>                smClient:       a SMClient
>> 
>> BlockClosure>>ensure:
>>        Receiver: [closure] in SMReleaseBrowser>>save
>>        Arguments and temporary variables:
>>                aBlock:         [closure] in CursorWithMask(Cursor)>>showWhile:
>>                complete:       nil
>>                returnValue:    nil
>>        Receiver's instance variables:
>>                outerContext:   SMReleaseBrowser>>save
>>                startpc:        107
>>                numArgs:        0
>> 
>> CursorWithMask(Cursor)>>showWhile:
>>        Receiver: ((CursorWithMask
>>        extent: 16 at 16
>>        depth: 1
>>        fromArray: #(
>>                2r0
>>                2r11111111111111000000000...etc...
>>        Arguments and temporary variables:
>>                aBlock:         [closure] in SMReleaseBrowser>>save
>>                oldcursor:      ((CursorWithMask
>>        extent: 16 at 16
>>        depth: 1
>>        fromArray: #(
>>                2r0
>>                2r1...etc...
>>        Receiver's instance variables:
>>                bits:   a Bitmap of length 16
>>                width:  16
>>                height:         16
>>                depth:  1
>>                offset:         -1@ -1
>>                maskForm:       Form(16x16x1)
>> 
>> SMReleaseBrowser>>save
>>        Receiver: a SMReleaseBrowser
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                dependents:     a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
>>                contents:       ''
>>                currentCompiledMethod:  nil
>>                contentsSymbol:         #source
>>                multiWindowState:       nil
>>                release:        SMPackageRelease[ScriptManager 1-(head)]
>>                loadScript:     nil
>>                smClient:       a SMClient
>> 
>> PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> PluggableButtonMorphPlus>>performAction
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>> 
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> [] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                evt:    a PluggableButtonMorphPlus(543)
>>                m:      [591 at 271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> Array(SequenceableCollection)>>do:
>>        Receiver: {a PluggableButtonMorphPlus(543)}
>>        Arguments and temporary variables:
>>                aBlock:         [closure] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>>                index:  1
>>                indexLimiT:     1
>>        Receiver's instance variables:
>> {a PluggableButtonMorphPlus(543)}
>> 
>> PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                evt:    [591 at 271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> PluggableButtonMorphPlus>>mouseUp:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                evt:    [591 at 271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> PluggableButtonMorphPlus(Morph)>>handleMouseUp:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                anEvent:        [591 at 271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> MouseButtonEvent>>sentTo:
>>        Receiver: [591 at 271 mouseUp 22595056]
>>        Arguments and temporary variables:
>>                anObject:       a PluggableButtonMorphPlus(543)
>>        Receiver's instance variables:
>>                timeStamp:      22595056
>>                source:         a HandMorph(3216)
>>                type:   #mouseUp
>>                buttons:        0
>>                position:       591 at 271
>>                handler:        nil
>>                wasHandled:     true
>>                whichButton:    4
>> 
>> PluggableButtonMorphPlus(Morph)>>handleEvent:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                anEvent:        [591 at 271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> PluggableButtonMorphPlus(Morph)>>handleFocusEvent:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                anEvent:        [591 at 271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566 at 264 corner: 629 at 279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566 at 264 corner: 629 at 279
>>                color:  Color white
>>                extension:      a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
>>                borderWidth:    1
>>                borderColor:    Color gray
>>                model:  a SMReleaseBrowser
>>                label:  'Save'
>>                getStateSelector:       nil
>>                actionSelector:         #save
>>                getLabelSelector:       nil
>>                getMenuSelector:        nil
>>                shortcutCharacter:      nil
>>                askBeforeChanging:      false
>>                triggerOnMouseDown:     false
>>                offColor:       Color white
>>                onColor:        Color veryLightGray
>>                feedbackColor:  Color red
>>                showSelectionFeedback:  false
>>                allButtons:     {a PluggableButtonMorphPlus(543)}
>>                arguments:      nil
>>                argumentsProvider:      nil
>>                argumentsSelector:      nil
>>                style:  nil
>>                enabled:        true
>>                action:         nil
>>                getColorSelector:       nil
>>                getEnabledSelector:     nil
>>                updateMap:      nil
>> 
>> 
>> --- The full stack ---
>> UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
>> SMPackageRelease>>downloadFileName
>> SMReleaseBrowser>>loadScript
>> [] in [] in SMReleaseBrowser>>save
>> BlockClosure>>ensure:
>> [] in SMReleaseBrowser>>save
>> BlockClosure>>ensure:
>> CursorWithMask(Cursor)>>showWhile:
>> SMReleaseBrowser>>save
>> PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
>> PluggableButtonMorphPlus>>performAction
>> [] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>> Array(SequenceableCollection)>>do:
>> PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
>> PluggableButtonMorphPlus>>mouseUp:
>> PluggableButtonMorphPlus(Morph)>>handleMouseUp:
>> MouseButtonEvent>>sentTo:
>> PluggableButtonMorphPlus(Morph)>>handleEvent:
>> PluggableButtonMorphPlus(Morph)>>handleFocusEvent:
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> [] in HandMorph>>sendFocusEvent:to:clear:
>> BlockClosure>>on:do:
>> PasteUpMorph>>becomeActiveDuring:
>> HandMorph>>sendFocusEvent:to:clear:
>> HandMorph>>sendEvent:focus:clear:
>> HandMorph>>sendMouseEvent:
>> HandMorph>>handleEvent:
>> HandMorph>>processEvents
>> [] in WorldState>>doOneCycleNowFor:
>> Array(SequenceableCollection)>>do:
>> WorldState>>handsDo:
>> WorldState>>doOneCycleNowFor:
>> WorldState>>doOneCycleFor:
>> PasteUpMorph>>doOneCycle
>> [] in Project class>>spawnNewProcess
>> [] in BlockClosure>>newProcess
>> 
>> 
>> Ken G. Brown
>> 
>> 
>> On 2013-01-07, at 2:44 AM, Frank Shearar wrote:
>> 
>>> On 7 January 2013 02:44, Ken G. Brown <kbrown at mac.com> wrote:
>>>> I've uploaded a version of ScriptManager that works in Squeak4.4-12327, to ss3 at <http://ss3.gemstone.com/ss/ScriptManager.html>.
>>>> It was forked from the one at <http://www.squeaksource.com/ScriptManager.html>around version 13 just before they switched to using Fuel for serialization. I added syntax highlighting for the workspaces.
>>>> 
>>>> Installer ss3
>>>>    project: 'ScriptManager';
>>>>    install: 'ScriptManager-Core-kgb.14';
>>>>    install: 'ScriptManager-Help-kgb.2'.
>>>> 
>>>> ScriptManager open.
>>>> 
>>>> I would like to add this to SqueakMap if someone could quickstep me through the process.
>>> 
>>> * Get a SqueakMap account if you don't already have one:
>>> http://map.squeak.org/newaccount
>>> * Once logged in, add the package: http://map.squeak.org/account/newpackage
>>> * Fill in the metadata.
>>> * In your image, open the SqueakMap Catalog
>>> * Update the SM list
>>> * "Right-click" in the package list
>>> * Uncheck the "New safely-available packages" checkbox
>>> * You should now be able to search for your package.
>>> * Select the package, "right-click", "Create new Release". That gives
>>> you an SMReleaseBrowser.
>>> * The lower code pane will take the Installer script you give above.
>>> I'd leave out the "ScriptManager open" though, but mention it in the
>>> release notes or the package's description.
>>> * Each of the release browser's fields have hot-tip speech bubbles
>>> explaining the different fields. They're all required, as far as I
>>> know.
>>> 
>>> And that should be it!
>>> 
>>> frank
>>> 
>>>> Thx,
>>>> Ken G. Brown
>>>> 
>>> 
>> 
>> 
> 



More information about the Squeak-dev mailing list