[squeak-dev] Altitude - a simple directory list app
Chris Cunnington
smalltalktelevision at gmail.com
Tue Sep 4 03:23:30 UTC 2012
On 12-09-03 10:47 PM, H. Hirzel wrote:
> Thank you Chris for this example.
>
> It is illustrative for me.
>
> Only two classes
>
> ALDirectoryListApplication (subclass of ALApplication, 1 method)
> ALDirectoryListPage (4 methods)
> plus a method in ALDigestLocator
>
> Remark: I would not hard code the directory listed ('package-cache')
> into the #renderBodyOn: method
>
>
> renderBodyOn: html
> | docroot scanner |
> docroot := FSLocator imageDirectory / 'package-cache'.
> scanner := ALDirectoryScanner scan: docroot into: locator.
> scanner resources keys do: [: ea | html a href: ea asString; with: ea
> asString. html br ]
>
>
> but instead set it in
>
> ALDirectoryListApplication>>initializeLocator
> locator
> at: ALPath root
> put: (ALHtmlResource component: (ALDirectoryListPage new locator: locator))
>
>
> something like:
>
> ALDirectoryListApplication>>initializeLocator
> locator
> at: ALPath root
> put: (ALHtmlResource component:
> (ALDirectoryListPage locator: locator
> docroot: FSLocator
> imageDirectory / 'package-cache'.))
>
>
> BTW what is an ALDigestLocator?
>
> At the moment cannot comment on more substantial things as I have to
> start reading the few notes (Colin, Frank Sch.) and do more browsing
> of the code...
>
> Regards
> Hannes
>
>
> P.S. I thought there is a counter example around somewhere as well. It
> is not in Colin's code. Where do I find it?
>
>
> On 9/3/12, Chris Cunnington <smalltalktelevision at gmail.com> wrote:
>> I've taken a crack at creating an app that lists the contents of a
>> directory as links. Hit a link and it downloads the file in the
>> package-cache. Does ALDigestLocator want a #resources getter? Is this
>> bad design? I have no idea.
>>
>> Chris
>>
>> It's available here:
>>
>> http://ss3.gemstone.com/ss/Oakville/
>>
>>
>> server := ALServer on: 8624 application: ALDirectoryListApplication new.
>> server start.
>>
>> server isRunning
>>
>> server stop
>>
>>
The examples are in this package. It includes the ALCounterExample.
http://source.wiresong.ca/al/AL-Examples-cwp.11.mcz
ALDigestLocator connects URLs to resources. Tokens typed as a URL
address are referred to ALDigestLocator to point to the correct instance
of ALHtmlResource, ALJsonResource, ALFileResource, etc.
Yea, you've hit on a point that's probably hackish. I've pushed stuff
into the page class which should probably be in the application class. I
think there's a rendering/model split I'm stepping on. I guess I'm not
sure how the page should access application data such as stored in the
#locator instvar, which contains the ALDigestLocator instance. That's
where I'm getting the names of the files.
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20120903/ad49eae7/attachment.htm
More information about the Squeak-dev
mailing list
|