The Inbox: SMLoader-fbs.78.mcz

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

The Inbox: SMLoader-fbs.78.mcz

commits-2
Frank Shearar uploaded a new version of SMLoader to project The Inbox:
http://source.squeak.org/inbox/SMLoader-fbs.78.mcz

==================== Summary ====================

Name: SMLoader-fbs.78
Author: fbs
Time: 9 January 2013, 12:55:26.488 pm
UUID: affd02cf-4ff4-4bd1-a33f-89ce0d974bf5
Ancestors: SMLoader-cmm.77

The UI part of supporting multiple Squeak versions in an SM release.

Todo: POSTing the multiple versions.

=============== Diff against SMLoader-cmm.77 ===============

Item was changed:
  SystemOrganization addCategory: #SMLoader!
- SystemOrganization addCategory: #'SMLoader-Models'!

Item was changed:
  ----- Method: SMPackageRelease>>squeakVersion (in category '*smloader') -----
  squeakVersion
+ ^ self squeakVersions last.!
- ^ self categories
- detect:
- [ : each | each parent = self map squeakVersions ]
- ifNone: [  ]!

Item was changed:
  ----- Method: SMPackageRelease>>squeakVersion: (in category '*smloader') -----
  squeakVersion: aSMCategory
+ self squeakVersions: {aSMCategory}.!
- | vers |
- aSMCategory parent = self map squeakVersions ifFalse: [ self error: 'Not a squeakVersion category.' ].
- "Remove all squeakVersion-categories."
- [ vers := self squeakVersion.
- vers notNil ] whileTrue: [ self removeCategory: vers ].
- self addCategory: aSMCategory!

Item was added:
+ ----- Method: SMPackageRelease>>squeakVersions (in category '*smloader') -----
+ squeakVersions
+ ^ self categories
+ select:
+ [ : each | each parent = self map squeakVersions ].!

Item was added:
+ ----- Method: SMPackageRelease>>squeakVersions: (in category '*smloader') -----
+ squeakVersions: someSMCategories
+ someSMCategories do: [:aSMCategory |
+ aSMCategory parent = self map squeakVersions ifFalse: [ self error: 'Not a squeakVersion category.' ]].
+
+ "Remove all squeakVersion-categories."
+ self squeakVersions do: [:ver | self removeCategory: ver ].
+
+ someSMCategories do: [:aSMCategory |
+ self addCategory: aSMCategory].!

Item was added:
+ ----- Method: SMReleaseBrowser>>allSqueakVersions (in category 'private') -----
+ allSqueakVersions
+ "Answer the squeak-versions subcategories."
+ ^ SMSqueakMap default squeakVersions subCategories!

Item was changed:
  ----- Method: SMReleaseBrowser>>newSqueakVersionSpec: (in category 'toolbuilder') -----
  newSqueakVersionSpec: aToolBuilder
+ ^ aToolBuilder pluggableMultiSelectionListSpec new
- ^ aToolBuilder pluggableListSpec new
  model: self ;
  name: #licenses ;
  help: 'Select the image version for this release.' ;
  autoDeselect: false ;
+ getSelectionList: #squeakVersionAt: ;
+ setSelectionList: #squeakVersionAt:put: ;
+ list: #squeakVersionList ;
- list: #squeakVersions ;
- getSelected: #squeakVersion ;
- setSelected: #squeakVersion: ;
  yourself!

Item was changed:
  ----- Method: SMReleaseBrowser>>squeakVersion: (in category 'model access') -----
  squeakVersion: aSMCategory
  release squeakVersion: aSMCategory.
+ self changed: #squeakVersionList!
- self changed: #squeakVersion!

Item was added:
+ ----- Method: SMReleaseBrowser>>squeakVersionAt: (in category 'private') -----
+ squeakVersionAt: aNumber
+ | version |
+ version := self squeakVersionList at: aNumber.
+ ^ self squeakVersions contains: [:cat | cat name = version].!

Item was added:
+ ----- Method: SMReleaseBrowser>>squeakVersionAt:put: (in category 'private') -----
+ squeakVersionAt: aNumber put: aBoolean
+ | version |
+ version := self allSqueakVersions at: aNumber.
+ aBoolean
+ ifTrue: [self squeakVersions: (self squeakVersions add: version; yourself)]
+ ifFalse: [self squeakVersions: (self squeakVersions remove: version; yourself)].
+ self changed: #squeakVersionList!

Item was added:
+ ----- Method: SMReleaseBrowser>>squeakVersionList (in category 'private') -----
+ squeakVersionList
+ ^ self allSqueakVersions collect: [:category | category name].!

Item was changed:
  ----- Method: SMReleaseBrowser>>squeakVersions (in category 'model access') -----
  squeakVersions
+ ^ release squeakVersions.!
- "Answer the squeak-versions subcategories."
- ^ SMSqueakMap default squeakVersions subCategories!

Item was added:
+ ----- Method: SMReleaseBrowser>>squeakVersions: (in category 'model access') -----
+ squeakVersions: someSMCategories
+ release squeakVersions: someSMCategories.
+ self changed: #squeakVersionList!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: SMLoader-fbs.78.mcz

Frank Shearar-3
On 9 January 2013 12:55,  <[hidden email]> wrote:

> Frank Shearar uploaded a new version of SMLoader to project The Inbox:
> http://source.squeak.org/inbox/SMLoader-fbs.78.mcz
>
> ==================== Summary ====================
>
> Name: SMLoader-fbs.78
> Author: fbs
> Time: 9 January 2013, 12:55:26.488 pm
> UUID: affd02cf-4ff4-4bd1-a33f-89ce0d974bf5
> Ancestors: SMLoader-cmm.77
>
> The UI part of supporting multiple Squeak versions in an SM release.
>
> Todo: POSTing the multiple versions.
>
> =============== Diff against SMLoader-cmm.77 ===============

I would love to know what I need to do to implement POSTing a release
with multiple Squeak versions. SqueakMap gurus?

frank

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: SMLoader-fbs.78.mcz

Chris Muller-3
The best way is to test it is on your own machine.  Do you have access
to the server?

In /home/squeakmap is the server image -- Squeak3.8-6665-sm.image.
Grab it and the changes as well as  "start.st" boots the server in the
same directory (note a classic VM is required).  Running it on your
localhost so can actually step through debugger in the server to make
sure the change works.

This is how I did the 2011 enhancements for the Release Editor and CSP
improvements.

Doing this will also bring to light how badly we really need to
improve or replace SqueakMap's implementation, particularly on the
server side.  :(   The domain model itself is actually pretty nice,
but the machinery needs improvement.



On Wed, Jan 9, 2013 at 6:56 AM, Frank Shearar <[hidden email]> wrote:

> On 9 January 2013 12:55,  <[hidden email]> wrote:
>> Frank Shearar uploaded a new version of SMLoader to project The Inbox:
>> http://source.squeak.org/inbox/SMLoader-fbs.78.mcz
>>
>> ==================== Summary ====================
>>
>> Name: SMLoader-fbs.78
>> Author: fbs
>> Time: 9 January 2013, 12:55:26.488 pm
>> UUID: affd02cf-4ff4-4bd1-a33f-89ce0d974bf5
>> Ancestors: SMLoader-cmm.77
>>
>> The UI part of supporting multiple Squeak versions in an SM release.
>>
>> Todo: POSTing the multiple versions.
>>
>> =============== Diff against SMLoader-cmm.77 ===============
>
> I would love to know what I need to do to implement POSTing a release
> with multiple Squeak versions. SqueakMap gurus?
>
> frank
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: SMLoader-fbs.78.mcz

Frank Shearar-3
On 9 January 2013 20:54, Chris Muller <[hidden email]> wrote:

> The best way is to test it is on your own machine.  Do you have access
> to the server?
>
> In /home/squeakmap is the server image -- Squeak3.8-6665-sm.image.
> Grab it and the changes as well as  "start.st" boots the server in the
> same directory (note a classic VM is required).  Running it on your
> localhost so can actually step through debugger in the server to make
> sure the change works.
>
> This is how I did the 2011 enhancements for the Release Editor and CSP
> improvements.
>
> Doing this will also bring to light how badly we really need to
> improve or replace SqueakMap's implementation, particularly on the
> server side.  :(   The domain model itself is actually pretty nice,
> but the machinery needs improvement.

I don't have access to the box, but setting up a test server sounds
like an excellent idea.

Otherwise, I could always practice on one of my packages. Hm, maybe
not: fooling around might crash stuff.

frank

> On Wed, Jan 9, 2013 at 6:56 AM, Frank Shearar <[hidden email]> wrote:
>> On 9 January 2013 12:55,  <[hidden email]> wrote:
>>> Frank Shearar uploaded a new version of SMLoader to project The Inbox:
>>> http://source.squeak.org/inbox/SMLoader-fbs.78.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: SMLoader-fbs.78
>>> Author: fbs
>>> Time: 9 January 2013, 12:55:26.488 pm
>>> UUID: affd02cf-4ff4-4bd1-a33f-89ce0d974bf5
>>> Ancestors: SMLoader-cmm.77
>>>
>>> The UI part of supporting multiple Squeak versions in an SM release.
>>>
>>> Todo: POSTing the multiple versions.
>>>
>>> =============== Diff against SMLoader-cmm.77 ===============
>>
>> I would love to know what I need to do to implement POSTing a release
>> with multiple Squeak versions. SqueakMap gurus?
>>
>> frank
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: SMLoader-fbs.78.mcz

Frank Shearar-3
In reply to this post by Chris Muller-3
On 9 January 2013 20:54, Chris Muller <[hidden email]> wrote:

> The best way is to test it is on your own machine.  Do you have access
> to the server?
>
> In /home/squeakmap is the server image -- Squeak3.8-6665-sm.image.
> Grab it and the changes as well as  "start.st" boots the server in the
> same directory (note a classic VM is required).  Running it on your
> localhost so can actually step through debugger in the server to make
> sure the change works.
>
> This is how I did the 2011 enhancements for the Release Editor and CSP
> improvements.
>
> Doing this will also bring to light how badly we really need to
> improve or replace SqueakMap's implementation, particularly on the
> server side.  :(   The domain model itself is actually pretty nice,
> but the machinery needs improvement.

I poked around a fair bit and can't figure out how anything actually
gets done. What would be really great is something somewhere saying
"these are the routes we accept, that define the API as HTTP sees it"
and that delegates implementation thereof to other objects. Kind've
what one would see in a Sinatra app, I guess:
https://github.com/lshift/rabbitmq-service-sinatra-sample/blob/master/rabbit.rb

But fair enough, Sinatra wasn't around when SqueakMap was born.

(While it'd be _nice_ to have SM vN+1 written in Smalltalk, if someone
knocked up a Sinatra/whatever app that ran on Heroku, I wouldn't
complain. Not a bit. Well, given the rash of JSON vulnerabilities
plaguing Ruby at the moment, maybe not Sinatra.)

frank

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: SMLoader-fbs.78.mcz

Tobias Pape
Am 12.02.2013 um 13:51 schrieb Frank Shearar <[hidden email]>:

> On 9 January 2013 20:54, Chris Muller <[hidden email]> wrote:
>> The best way is to test it is on your own machine.  Do you have access
>> to the server?
>>
>> In /home/squeakmap is the server image -- Squeak3.8-6665-sm.image.
>> Grab it and the changes as well as  "start.st" boots the server in the
>> same directory (note a classic VM is required).  Running it on your
>> localhost so can actually step through debugger in the server to make
>> sure the change works.
>>
>> This is how I did the 2011 enhancements for the Release Editor and CSP
>> improvements.
>>
>> Doing this will also bring to light how badly we really need to
>> improve or replace SqueakMap's implementation, particularly on the
>> server side.  :(   The domain model itself is actually pretty nice,
>> but the machinery needs improvement.
>
> I poked around a fair bit and can't figure out how anything actually
> gets done. What would be really great is something somewhere saying
> "these are the routes we accept, that define the API as HTTP sees it"
> and that delegates implementation thereof to other objects. Kind've
> what one would see in a Sinatra app, I guess:
> https://github.com/lshift/rabbitmq-service-sinatra-sample/blob/master/rabbit.rb
>

Tim Felgentreff has done RatPack, a sinatra-like mini-framework on top of Kom
https://github.com/timfel/ratpack

Best
        -Tobias