Serving JSON at Altitude (was Re: [squeak-dev] some quick and dirty sites

H. Hirzel hannes.hirzel at gmail.com
Tue Sep 4 18:40:14 UTC 2012


Yes, after downgrading to  AL-Application-cwp.17.mcz. this works fine.

And it is a "more complex"  (actually still  very few lines of code)
application which shows how things may be done.

Great!

--Hannes

On 9/4/12, Chris Cunnington <smalltalktelevision at gmail.com> wrote:
> On 12-09-04 10:56 AM, H. Hirzel wrote:
>> Frank,
>>
>> It it correct to assume that you have released the code of your
>> Altitude application example
>>
>>     Serving JSON at Altitude
>>
>>     http://www.lshift.net/blog/2012/07/31/serving-json-at-altitude
>>
>> under MIT?
>>
>> --Hannes
> This is cool. I think it addresses my question of how do you get data
> from the model to the view. I should be looking at #withLocator:. I
> needed to change a few things to make it work for me.
>
> http://ss3.gemstone.com/ss/Oakville/Reflect-Core-chc.1.mcz
>
> I made some notes to help me try to puzzle things together. They are
> sort of a shed snake skin, but they may be useful.
>
> Chris
>
>
>
> 1. This uses an older version of Altitude, as it has ALLocator. That was
> removed for ALAbstractLocator to switch from using subclassing to the
> Strategy pattern. The ALLocator is likely more comprehensible to me
> anyway. To use ALLocator regress the install of the package
> AL-Application back to AL-Application-cwp.17.mcz.
>
> 2. You don't need, with the newer Altitude, to add #initializeHandler in
> the ALApplication subclass. As a default it was moved up to ALApplication.
>
> 3. I'm guessing in ParamLocator>>resourceForPath: that this:
>
> caseOf: {
>                  ['senders-of'] ->
>                      [(SendersOf reflecting: aPath second asSymbol)
> asResource].
>              otherwise: [ALNotFound signal: aPath printString].
>
> might actually be this:
>
> caseOf: {
>                  ['senders-of'] ->
>                      [(SendersOf reflecting: aPath second asSymbol)
> asResource]}
>              otherwise: [ALNotFound signal: aPath printString].
>
> The period at the end of the #asResource block is stepping on the
> #caseOf:otherwise: selector. And a subsequent second $} is missing.
>
> 4. The SendersOf class definition needs an instvar #selector
>
> 5. Temporary variable not required in Workspace.
>
> 6. The destination URL is http://localhost:9090/implementors-of/today
> but in ParamLocator>>resourceForPath: we have 'senders-of' so perhaps
> the URL should be http://localhost:9090/senders-of/today.
>
> 7. ParamLocator>>resourceForPath invokes ALPath>>second, which does not
> exist. Added one:
>
> ALPath>>second
>      ^ self at: 2
>
> 8. #setName in SendersOf>>renderOn: suggests an instvar, but replace it
> with the string 'senders-of', which seems to do the trick.
>
>
>
>
>


More information about the Squeak-dev mailing list