[squeak-dev] squeak.org - an update
Bert Freudenberg
bert at freudenbergs.de
Wed Dec 19 10:49:04 UTC 2012
On 2012-12-18, at 21:32, Chris Cunnington <smalltalktelevision at gmail.com> wrote:
> I've redesigned 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 -
-------------- next part --------------
Skipped content of type multipart/related
More information about the Squeak-dev
mailing list
|