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

Frank Shearar frank.shearar at gmail.com
Tue Jan 8 08:34:20 UTC 2013


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