ScriptManager that works in Squeak4.4-12327

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

ScriptManager that works in Squeak4.4-12327

Ken G. Brown
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.

Thx,
Ken G. Brown

Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Frank Shearar-3
On 7 January 2013 02:44, Ken G. Brown <[hidden email]> 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
>

Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Ken G. Brown
Thx.
Is http://ss3.gemstone.com the best place to put the project right now?
   Ken G. Brown

On 2013-01-07, at 2:44 AM, Frank Shearar wrote:

> On 7 January 2013 02:44, Ken G. Brown <[hidden email]> 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
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Hannes Hirzel
I understand that ScriptManager is a small *.cs file. You might as
well directly add it to SqueakMap for download.

--Hannes

On 1/7/13, Ken G. Brown <[hidden email]> wrote:

> Thx.
> Is http://ss3.gemstone.com the best place to put the project right now?
>    Ken G. Brown
>
> On 2013-01-07, at 2:44 AM, Frank Shearar wrote:
>
>> On 7 January 2013 02:44, Ken G. Brown <[hidden email]> 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
>>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Ken G. Brown
It seems to me that SqueakMap might be better kept as a central catalog/database, allowing loading from wherever, and not an actual repository. I'm hoping that someone might contribute to ScriptManager for Squeak and update to match that being maintained for Pharo if it makes sense, so an actual repository would be good for that.
   Ken G. Brown


On 2013-01-07, at 11:49 AM, H. Hirzel wrote:

> I understand that ScriptManager is a small *.cs file. You might as
> well directly add it to SqueakMap for download.
>
> --Hannes
>
> On 1/7/13, Ken G. Brown <[hidden email]> wrote:
>> Thx.
>> Is http://ss3.gemstone.com the best place to put the project right now?
>>   Ken G. Brown
>>
>> On 2013-01-07, at 2:44 AM, Frank Shearar wrote:
>>
>>> On 7 January 2013 02:44, Ken G. Brown <[hidden email]> 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
>>>>
>>>
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Ken G. Brown
In reply to this post by Frank Shearar-3
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@16
        depth: 1
        fromArray: #(
                2r0
                2r11111111111111000000000...etc...
        Arguments and temporary variables:
                aBlock: [closure] in SMReleaseBrowser>>save
                oldcursor: ((CursorWithMask
        extent: 16@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@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@271 mouseUp 22595056]
        Receiver's instance variables:
                bounds: 566@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@271 mouseUp 22595056]
        Receiver's instance variables:
                bounds: 566@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@271 mouseUp 22595056]
        Receiver's instance variables:
                bounds: 566@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@271 mouseUp 22595056]
        Receiver's instance variables:
                bounds: 566@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@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@271
                handler: nil
                wasHandled: true
                whichButton: 4

PluggableButtonMorphPlus(Morph)>>handleEvent:
        Receiver: a PluggableButtonMorphPlus(543)
        Arguments and temporary variables:
                anEvent: [591@271 mouseUp 22595056]
        Receiver's instance variables:
                bounds: 566@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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@271 mouseUp 22595056]
        Receiver's instance variables:
                bounds: 566@264 corner: 629@279
                owner: a PluggablePanelMorph(2328)
                submorphs: {an AlignmentMorph(2777)}
                fullBounds: 566@264 corner: 629@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 <[hidden email]> 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
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Frank Shearar-3
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 <[hidden email]> 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@16
>         depth: 1
>         fromArray: #(
>                 2r0
>                 2r11111111111111000000000...etc...
>         Arguments and temporary variables:
>                 aBlock:         [closure] in SMReleaseBrowser>>save
>                 oldcursor:      ((CursorWithMask
>         extent: 16@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@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>         Receiver's instance variables:
>                 bounds:         566@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>         Receiver's instance variables:
>                 bounds:         566@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>         Receiver's instance variables:
>                 bounds:         566@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>         Receiver's instance variables:
>                 bounds:         566@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@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@271
>                 handler:        nil
>                 wasHandled:     true
>                 whichButton:    4
>
> PluggableButtonMorphPlus(Morph)>>handleEvent:
>         Receiver: a PluggableButtonMorphPlus(543)
>         Arguments and temporary variables:
>                 anEvent:        [591@271 mouseUp 22595056]
>         Receiver's instance variables:
>                 bounds:         566@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>         Receiver's instance variables:
>                 bounds:         566@264 corner: 629@279
>                 owner:  a PluggablePanelMorph(2328)
>                 submorphs:      {an AlignmentMorph(2777)}
>                 fullBounds:     566@264 corner: 629@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 <[hidden email]> 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
>>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Ken G. Brown
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 <[hidden email]> 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@16
>>        depth: 1
>>        fromArray: #(
>>                2r0
>>                2r11111111111111000000000...etc...
>>        Arguments and temporary variables:
>>                aBlock:         [closure] in SMReleaseBrowser>>save
>>                oldcursor:      ((CursorWithMask
>>        extent: 16@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@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@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@271
>>                handler:        nil
>>                wasHandled:     true
>>                whichButton:    4
>>
>> PluggableButtonMorphPlus(Morph)>>handleEvent:
>>        Receiver: a PluggableButtonMorphPlus(543)
>>        Arguments and temporary variables:
>>                anEvent:        [591@271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>        Receiver's instance variables:
>>                bounds:         566@264 corner: 629@279
>>                owner:  a PluggablePanelMorph(2328)
>>                submorphs:      {an AlignmentMorph(2777)}
>>                fullBounds:     566@264 corner: 629@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 <[hidden email]> 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
>>>>
>>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Chris Muller-3
Hi Ken, unfortunately some of the SqueakMap code on the server side in
particular is brittle.  We need to clean it up or rewrite it entirely.

Until then, simply following a strict procedure carefully does work.
In the Release Editor, if you just fill in ALL fields and "accept"
them (Command+s), including your SqueakMap id and password, then the
script in the script pane will be automatically uploaded to SM under
your account and run whenever someone installs that package.

It does create a temporary file in the current directory (the release
name, ".st") which is deleted upon successful upload.

On Tue, Jan 8, 2013 at 10:53 AM, Ken G. Brown <[hidden email]> wrote:

> 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 <[hidden email]> 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@16
>>>        depth: 1
>>>        fromArray: #(
>>>                2r0
>>>                2r11111111111111000000000...etc...
>>>        Arguments and temporary variables:
>>>                aBlock:         [closure] in SMReleaseBrowser>>save
>>>                oldcursor:      ((CursorWithMask
>>>        extent: 16@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@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>        Receiver's instance variables:
>>>                bounds:         566@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>        Receiver's instance variables:
>>>                bounds:         566@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>        Receiver's instance variables:
>>>                bounds:         566@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>        Receiver's instance variables:
>>>                bounds:         566@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@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@271
>>>                handler:        nil
>>>                wasHandled:     true
>>>                whichButton:    4
>>>
>>> PluggableButtonMorphPlus(Morph)>>handleEvent:
>>>        Receiver: a PluggableButtonMorphPlus(543)
>>>        Arguments and temporary variables:
>>>                anEvent:        [591@271 mouseUp 22595056]
>>>        Receiver's instance variables:
>>>                bounds:         566@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>        Receiver's instance variables:
>>>                bounds:         566@264 corner: 629@279
>>>                owner:  a PluggablePanelMorph(2328)
>>>                submorphs:      {an AlignmentMorph(2777)}
>>>                fullBounds:     566@264 corner: 629@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 <[hidden email]> 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
>>>>>
>>>>
>>>
>>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Ken G. Brown
Explicitly accepting the contents of each field in Release Editor before the save seemed to get farther but there was still an error in the end and for some reason there are now two releases called (head), each one showing Download: nil. When attempting to load either of the two (head) releases into a fresh image, it complains of no installer found for the package.

How do I delete those two (head) releases and start over?

Thx,
Ken
 
On 2013-01-09, at 10:17 AM, Chris Muller wrote:

> Hi Ken, unfortunately some of the SqueakMap code on the server side in
> particular is brittle.  We need to clean it up or rewrite it entirely.
>
> Until then, simply following a strict procedure carefully does work.
> In the Release Editor, if you just fill in ALL fields and "accept"
> them (Command+s), including your SqueakMap id and password, then the
> script in the script pane will be automatically uploaded to SM under
> your account and run whenever someone installs that package.
>
> It does create a temporary file in the current directory (the release
> name, ".st") which is deleted upon successful upload.
>
> On Tue, Jan 8, 2013 at 10:53 AM, Ken G. Brown <[hidden email]> wrote:
>> 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 <[hidden email]> 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@16
>>>>       depth: 1
>>>>       fromArray: #(
>>>>               2r0
>>>>               2r11111111111111000000000...etc...
>>>>       Arguments and temporary variables:
>>>>               aBlock:         [closure] in SMReleaseBrowser>>save
>>>>               oldcursor:      ((CursorWithMask
>>>>       extent: 16@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@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>>       Receiver's instance variables:
>>>>               bounds:         566@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>>       Receiver's instance variables:
>>>>               bounds:         566@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>>       Receiver's instance variables:
>>>>               bounds:         566@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>>       Receiver's instance variables:
>>>>               bounds:         566@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@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@271
>>>>               handler:        nil
>>>>               wasHandled:     true
>>>>               whichButton:    4
>>>>
>>>> PluggableButtonMorphPlus(Morph)>>handleEvent:
>>>>       Receiver: a PluggableButtonMorphPlus(543)
>>>>       Arguments and temporary variables:
>>>>               anEvent:        [591@271 mouseUp 22595056]
>>>>       Receiver's instance variables:
>>>>               bounds:         566@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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@271 mouseUp 22595056]
>>>>       Receiver's instance variables:
>>>>               bounds:         566@264 corner: 629@279
>>>>               owner:  a PluggablePanelMorph(2328)
>>>>               submorphs:      {an AlignmentMorph(2777)}
>>>>               fullBounds:     566@264 corner: 629@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 <[hidden email]> 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
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Chris Muller-3
> How do I delete those two (head) releases and start over?

map.squeak.org.

Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Ken G. Brown
Ah...
Was looking for the delete release function in the Release Editor.

I'm getting farther.
Apparently tho, the SqueakMap User id you enter in the Release Editor, 'must' be your initials and not your full email as works on the web interface to sign on.
And the download url needs to be entered on the web interface. I thought this would be populated by the installer file that is supposed to be created. Since the ScriptManager package has two mcz files, I just put the directory where they are located in that Download url field, and not the file name. Perhaps this is still a problem. What does this field need to be? How do you handle two file downloads?

But now after everything apparently posted correctly, when i test the loading in a fresh image, it complains that there is no installer file available for the (head) release. Where is the installer file supposed to be located? I thought SqueakMap would look after putting it somewhere proper.

Thx,
Ken

On 2013-01-09, at 12:43 PM, Chris Muller wrote:

>> How do I delete those two (head) releases and start over?
>
> map.squeak.org.
>


Reply | Threaded
Open this post in threaded view
|

Re: ScriptManager that works in Squeak4.4-12327

Chris Muller-4
> Apparently tho, the SqueakMap User id you enter in the Release Editor, 'must' be your initials and not your full email as works on the web interface to sign on.
> And the download url needs to be entered on the web interface. I thought this would be populated by the installer file that is supposed to be created. Since the ScriptManager package has two mcz files, I just put the directory where they are located in that Download url field, and not the file name. Perhaps this is still a problem. What does this field need to be? How do you handle two file downloads?

If you have just plain mcz's, they should be put on some SCM
repository somewhere -- SS, SS3, SmalltalkHub, Git, etc.  Then SM just
records the Installer script which knows where to go get them.

> But now after everything apparently posted correctly, when i test the loading in a fresh image, it complains that there is no installer file available for the (head) release. Where is the installer file supposed to be located? I thought SqueakMap would look after putting it somewhere proper.

When you save your Installer script in the Release Editor, it puts
that script as a .st file under your account in SqueakMap.

Try looking at one of my packages for an example -- MaBase, Maui, or
Magma.  MaBase has no dependencies, the other two do.