I like the image that Bert sent below.  Is there anything in Squeak that does something like this?  Or, better yet (for me), that would make it look like he image was torn out of a page - frayed, uneven edges that indicate the image is not a complete picture, but just part of one?

Thanks,
Chris


On Wed, Dec 19, 2012 at 2:49 AM, Bert Freudenberg <bert@freudenbergs.de> wrote:

On 2012-12-18, at 21:32, Chris Cunnington <smalltalktelevision@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 -