Knightnet Site Design - Home Page

You are in section: Home > Site Design

Site Purpose

The main purposes of this site are:

  • Record and publish lots of information that currently is tied up on private machines but which just may be useful to others. My old site had a number of links to it (mainly the OpalFAQ and Nepal pages), hopefully this one will be much more useful
  • Help me clarify my thinking on some of the issues I have come across and dealt with both in and out of work. For example, in work, issues about security and project management, IT testing and training.
    Out of work, issues reguarding good, bad and indifferent services and goods (in the reviews section); also thoughts on worship and wisdom
  • Provide worship resources to the worship leaders, primarily, of St. Thomas' church in Sheffield, UK but possibly to other churches too
  • Provide family links. Especially for sharing photo's and video's
  • Revamp my web presence.
  • Learn more about development and programming using PHP, mySQL and Apache. Also learn more about object style programming (using PHP Classes)

Site Features

These are described in detail on the Template Features page, this is just a summary.

The main heading shows the page title highlighted with a "breadcrumb" trail beneath it. This allows users to know where they've got to in the site structure and to navigate back up the chain - pretty standard stuff. The left hand bar shows a navigation menu that is automatically generated using the filing system structure, no maintenance is required at all. It is split into sections (if any, in the upper half), these are the folders - and Pages (if any) which are web page files. At the bottom of each page is a copyright statement and last updated date (with optional version number). You can also "hover" over some elements to get more information (try the location menu for example).

Each page on the site using the standard template is split into 6 areas of which 5 (all except the main content) are produced automatically. The colour scheme, fonts, etc. are defined in a style sheet so it's easy to change for the whole site but can be overridden locally if required.

See the menu to the left to find out more details of the design and execution of the site.

Site design

I am using a simple, home grown, PHP templating system to develop the site. This just uses files, so no database is needed for static pages though they are used for some optional security features and to deliver dynamic pages such as news, comments, etc.

This provides the following advantages:
  • Individual content pages are much simpler
    The difficult, structural stuff is in separate files
  • The site is smaller
    Structural page elements are stored only once for the site rather than repeated on every page
  • Changing the look and feel of the site means only changing the templates
    Using simple Cascading Style Sheets
  • Only the web filing system is required, no database coding is required
    This also means that I don't have to write database driven site editing tools, I only need file management (ftp or web based) and a simple web or text editor
  • Navigation menus are created automatically based on sub-folders and files
    See menu to left as an example
  • Main page content can still be as dynamic as I want it to be as long as I can collect it all in a single PHP variable
    For example, most pages (such as this one) will have static, but HTML formatted, content but it could be automatically generated from a database, XML or other files
  • The site is automatically search engine and PDA friendly
    By setting a title, the same text appears in an <H1> tag at the top of the page, this is given a high weighting by most search engines. The automenu on the left is also actually AFTER the main content structurally ensuring the main content is given the weighting it deserves and also ensuring that more limited browsers will get the text before the navigation as is usually required.
However, it has these disadvantages:
  • The site is slightly less efficient due to more files being loaded per page and parsing of template items
    This is not a problem for this site - space is at a premium as I am using a provider (UK Web Solutions Direct) which gives only 200MB of space for a fixed (but very low) price. More space costs more money but I am not expecting large numbers of visitors (which might make the site slower)
  • Content for the body of each page has to be supplied as a php variable so I don't get true separation of logic and data
    A minor issue to me compared to the benefits.
    Actually, this is now fixed as content can be included from external files which are simple html only (JK, Jan 2004)
  • Site searching may be more complex as I really need to find a way of ignoring structural/php elements in indexes
    This will be overcome initially by specifying search keywords and phrases using the "keywords" meta tag, I can then write a simple search tool for this and it may also help with some external search engines too.
  • I don't get any "meta" data associated with site elements (other than a files last update date)
    However, I could add these by creating mySQL data corresponding to each element.
    I could also turn the simple template into a class which might also help. Or I could use a simple, standard ".meta" file if I wanted to stick only to the filing system
    Some meta information is now available as I grab it from the files using a function. This can, however, be a little slow. It's fine for small-medium sized sites though. (JK, Jan 2004)
  • Auto navigation menu is simplistic (e.g. no way to override sorting)
    However, it is fine for most things and does not need any maintenance!
    I can now override the side menu a bit (turn it off, add extra items, add extra html). It is also clever enough to hide some content that shouldn't be shown.
  • Some text has to be "escaped" as the $content variable (which delivers the body of the page) is parsed by PHP
    e.g. \$variables (the dollar sign has to be escaped if you want it to appear on screen, alternatively - probably better anyway - input as an html entity "$") and <?php (the less than symbol has to be input as an html entity "<" if you do not want the phrase interpreted as HTML). Not a big deal but easy to forget, I have short-cuts defined in my editor to help with this.
    This is no longer true! Because content can also be provided via external files AND "manually" (see examples).

To my mind and for my purposes, the advantages of this approach outweigh the disadvantages though I will continue to work on the templates and structure to try and reduce the negatives. If you can think of any other pluses or minuses that should appear here, please do get in touch using the web form.

Sections:

Pages:

Valid HTML 4.01 iconValid CSS icon
© Copyright Julian Knight, June 2008 All rights reserved.
Page: Updated 2008-06-13 16:04:00, Author Julian Knight