[squeak-dev] squeak.org - an update

Chris Cunnington smalltalktelevision at gmail.com
Wed Dec 19 13:46:18 UTC 2012


On 2012-12-19 5:49 AM, Bert Freudenberg wrote:
>
> On 2012-12-18, at 21:32, Chris Cunnington 
> <smalltalktelevision at gmail.com <mailto:smalltalktelevision at gmail.com>> 
> wrote:
>
>> I've redesigned squeak.org <http://squeak.org> and I think all the 
>> problems are solved. The problems were a doubling menu bar; an 
>> extraneous navbar; Altitude components that didn't jibe with the 
>> Bootstrap layout; and, 24-char tokens instead of regular looking URIs 
>> (i.e. /community or /blogs).
>>
>> The way the Altitude's examples are laid out uses composition and a 
>> class that acts as a frame with a navbar. The frame allows other 
>> classes/components to be swapped out of an ivar called #current with 
>> the navbar.
>>
>> I did away with that and replaced composition with inheritance. Now 
>> there is an abstract superclass (i.e. SQAbstractSuperclass) and every 
>> page with content is a subclass with a #renderConentOn: method. The 
>> navbar supplied by Bootstrap is created by the abstract superclass. 
>> All links are hyperlinks (i.e. all "html a href:" and no "html a 
>> navigate:", "html a callback:", or "html a linkTo:").
>>
>> So the superclass creates the menu. All the content classes have 
>> #renderContentOn:. The only remaining thing is to list all the tokens 
>> you'll use for URIs in SQSqueakApplication>>#initializeLocator.
>>
>> initializeLocator
>>    locator
>>        at: ALPath root
>>        put: SQHomePage new asResource.
>>    locator at: ALPath / 'license'
>>        put: SQLicensePage new asResource.
>>    locator at: ALPath / 'blogs'
>>        put: SQBlogsPage new asResource.
>>    locator at: ALPath / 'docs'
>>        put: SQDocumentationPage new asResource.
>>    locator at: ALPath / 'community'
>>        put: SQMailingListsPage new asResource.
>>    locator at: ALPath / 'devlinks'
>>        put: SQDeveloperLinksPage new asResource.
>>    locator at: ALPath / 'projects'
>>        put: SQProjectLinksPage new asResource.
>>
>> The result is a website using standard looking URIs that is dead easy 
>> to make. It won't win any prizes, but it fits the spec and is simple 
>> as a pin. Altitude is nothing of not versatile. There are color, 
>> positioning, etc. details so it'll be a few days before I deploy the 
>> new version.
>>
>> Chris
>
> Sounds good. In addition:
>
> IMHO we should try to match the existing URLs unless the new structure 
> is too different in places.
>
> This would mean e.g. the community page should live at /Community not 
> /community, documentation at /Documentation not /docs etc. External 
> deep links would continue to work, which I generally consider a Good 
> Thing.
>
> Alternatively, we could add redirects from the old locations to their 
> new home.
>
> And it would be a good idea to monitor the error log to find out about 
> old URLs in use. Altitude does create access logs and error logs, I 
> assume? Or would that be handled by Apache?
>
> Also, the error page should be customized, currently it is not too 
> helpful:
>
> http://box3.squeak.org:8624/error
>
> If it instead displayed a site map (list of all major pages), people 
> arriving from dead URLs could still quickly jump to where they would 
> want to go. Also, it would be cool to have a nice graphic, e.g.:
> (if you want to use that, we need to give attribution to AMENAZAGFX, 
> because I based it on 
> http://www.officialpsds.com/Hole-in-Paper-3-PSD50497.html)
>
> - Bert -
>
>
>
Those are all good ideas. And I think they'll round out the user 
experience in important ways. Added to which they're simple to do. The 
only thing is that I think they're a bit ahead of the curve. These ideas 
to me are closer to actual deployment. I'm going to complete the basic 
site and then I'll add these things. I like the picture for an error 
message.

Chris
-------------- next part --------------
Skipped content of type multipart/related


More information about the Squeak-dev mailing list