« Aalto « ELEC « AS

PmWiki documentation (local copy)

Site structure

It's important to note that there's a difference in the way that pages appear in the navigation and how they are actually stored on the server. On the server, every page and file on this site belongs to a group. For example, this page belongs to the group "Help" within which it has the name "SiteStructure", giving it a full name of "Help.SiteStructure".

About URLs

Navigation Elements

In order to make the site as user friendly as possible, I've perverted the concept of the sitemap: the navigation elements are autogenerated from the sitemap document. This means that the sitemap isn't a view into the navigation structure of the site, it defines the navigation structure.

If a page is directly mentioned on the sitemap, it gets displayed accordingly in the navigation. If the page isn't mentioned, it's not in the navigation and people won't find it easily.

Navigation is shown in three parts:

  • The left-hand navigation shows the top two levels of navigation. It's expanded for the homepage but collapsed to just the current section otherwise.
  • The breadcrumb trail at the top of the page contents shows the complete navigation hierarchy of the current page
  • The right-hand navigation shows the lowest two levels of navigation for pages that aren't at the top level.

When you save a page that isn't alredy on the sitemap, it gets added to the sitemap. If your page belongs to a group that has its main page (Group.Group) already on the sitemap, your page will be listed as a new child of that page. Otherwise it'll be listed at the end of the sitemap, as an uncategorized page.

There are two levels of visibility for pages in the navigation: a public set for anonymous browsers and a complete listing for logged-in users. The sitemap page is processed one line at a time, so to start a non-public section add the text (:sm-hide:) on a line by itself, and to end it add the text (:sm-show:) on a line by itself. Logged-in users will be able to see all the hidden sections in the navigation, but won't be able to read or edit those pages if they don't have the required permissions.

If you want to have a page appear as the child of some other page in the sitemap, you can add the following command to an otherwise blank line on the page:

(:sm-alias Group.Name:) -- Show this page as a subpage of Group.Name in the navigation.