Structure
As I mentioned in Content Management Philosphy structure should be seperated from content. This is often neglected in the much-quoted “seperate content from layout” buzz-phrase. But what is structure and why is it important?
Structure is the organisation of the pages in a website. This can be done in various ways:
- Flat structure - e.g. simple chronological blogs or basic wikis
- Hierachical
- Other?
Hierachical structures are probably the most traditional and common for websites.
Hierachies are structured logically to allow a user to browse intuitively to their goal (the page) and easily see other pages related to that page because they are in the same branch/folder.
There are however 2 types of hierachy which differ importantly:
- Strict Hierachy
- Loose Hierachy
Strict Hierachies
Here, each page resides in 1 folder. Most Operating Systems organise files in a strict hierachy. Hierachies such as this offer the additional advantage that a path is automatically available no matter where you are - the DOS path (/news/2004/october/) or breadcrumbs (news -> 2004 -> october). Hierachies are great!
Loose Hierachies
Modern Wiki’s and Blogs have no hierachy in the strictest sense because they either have no categories or they have a “loose hierachy” which means that pages can be in multiple categories and when you are on a single page, there are multiple possible paths which could get you there. Being on a certain news article could mean many paths and generating a single breadcrumbs navigation is not possible.
In summary, hard-hierachies (folders) are clear, strict and provide useful advantages in generating paths. loose-hierachies (categories) are flexible, easy to use and understand.
I envision using the windows folders and files in the CMS to implicitly define the site’s “Hard Structure” and offer an optional “categories.xml” to allow webmasters to defined a loose hierachy for pages.
See an example of this structure on Radio Userland’s Hierachy XML Format story.
<categories>
<category name="Interests">
<category name="Software"></category>
<category name="Politics"></category>
<category name="Art">
<category name="Rennaisance"></category>
<category name="Classical"></category>
<category name="Modern"></category>
</category>
<category name="Philosophy"></category>
</category>
<category name="News">
<category name="Events"></category>
<category name="People"></category>
<category name="Help Wanted"></category>
<category name="Jobs"></category>
</category>
</categories>
