mitchenall.com - The Database & Web Enabling Company  
Services Products Resources Contacts
* Consultancy
* Training
* Bespoke Development
* Web Development and Hosting
* 4D Freeware
-> Articles & Tutorials
* External Links
* Site Index
* Recommended Reading
* @mitchenall.com
* Feedback

> Home > Resources > Articles & Tutorials > Non-Programming Articles

Resources4th Dimension

Building our website

The mitchenall.com website has evolved over the years using a wide range of tools. For the current version we have further streamlined the process of creating pages and managing the content on the site and developed a suite of server-side scripts which we are in the process of releasing as freeware.

This article covers the tools which are in use and where to get more information about them.

Authoring the pages

Our primary tool for writing the HTML and XML content for out site is BBEdit 6.0 from Bare Bones software. We do the entire page authoring on a Macintosh. In the past we have used GoLive and DreamWeaver, but now we prefer to do the entire HTML coding for this site using BBEdit to give us the most control. Also, a great deal of the page content is dynamically generated, and BBEdit is a great text editor for PHP as it now provides PHP syntax colouring and integrates nicely with NetFinder and InterArchy.

Graphics are created using Macromedia FireWorks. This is our favourite of all graphic editing packages for creating web graphics, as the export options are some of the best of any package. It's also very quick and easy to use for creating buttons and other page furniture. The files it saves are also always well optimised in terms of size.

XML to HTML Conversion

The XML content on our site is converted to HTML using a PHP class and the SAX based XML parser in PHP. The reason we chose this route is because many ISPs don't support the DOM XML support in PHP4 (due to the additional memory requirements as the document needs to be completely loaded into RAM) and XSLT isn't always installed with most ISPs. Using the SAX based parser we are able to quickly convert the XML content to nicely formatted HTML including dynamically adding links to certain XML elements such as 4D Commands in code listings.

Using this approach we will later be able to add more XLink like features to further enhance the presentation of links on the website.

PHP Classes Used

Many the pages are generated dynamically based on standard templates with the content in XML format and the site structure information in a database. A number of standard classes are used to help us generate the site and handle database access, etc. PHP has extremely straightforward functions for handling database connections, but using PHPLIB, you can have a database independent API which allows you to change to a different database backend by changing 1 line of PHP. PHPLIB has some great session tracking and authentication tools too, plus, it works with PHP3, so those stuck on olders servers can still use it.

A template class from the PHP Class Repository written by Richard Heyes is used for nearly all HTML template operations and allows us to separate nearly all the HTML from the PHP code. This makes doing site-wide style changes much easier and the PHP code cleaner.

Web server

mitchenall.com run on a virtual server hosted on an Intel PIII machine running Linux with a Zeus web server. All the pages are semi-dynamic and generated with PHP4 and a mySQL database. This solution allows us to easily add new domains, web and mail services for our customers each with the same features as our own site, but with what appears as their own server. The Zeus web server is a commercial product which has been optimised for CGI and dynamic website performance. As this is a virtual server it shares the machine with many other websites although the performance is still excellent.

This solution is perfectly suitable for our current internet requirements as our site is fairly low-traffic at present. We are planning to move to a dedicated server solution based on a similar operating system set-up in the near future to further increase the performance of our site and to add more facilities to our customers.

Site Administration

As our site is heavily database orientated (mitchenall.com is, after all, the database and web-enabling company), much of the site administration is done via the supporting mySQL database. We use a mixture of tools to help us with this. On the Mac we have MacSQL Monitor 1.6, which is a reasonable client for mySQL and a few other databases. We also used a web-based mySQL Admin tool from phpWizard call phpMyAdmin which is well worth looking at.

To help maintain the site index, recommended reading list, external links and related links, we have an on-line site admin tool written in PHP4 which lets the webmaster modify these items quickly and easily using a selection of admin web pages.


 
Article Sections
 
  For the XML source of this article, click here.
 
Related Links
PHP Home Page
Home of the PHP scripting language.
   
PHP Class Repository
This is our first port of call when looking for particular functionality in PHP rather than reinventing the wheel each time ourselves.
   
W3C XML Home Page
The World-Wide Web Consortium home page for XML containing all the latest information on the specifications and of course the XML 1.0 specification itself.
   
PHPLIB Home Page
Home page of the PHPLIB set of classes which we use for all our session management and authenication, and for it's database independent API.
   
phpWizard.net
Website of the PHPWizards which contains some useful freeware PHP classes include the fantastic phpMyAdmin, a web-based mySQL administration tool which we use ourselves.
   
mySQL Website
Home page for the mySQL database. We use mySQL extensively on this site as it's fast and has all the features we need. It is also the database of choice for many PHP developers.
   

Other Non-Programming Articles Articles
Installing Apache, PHP3 and mySQL
A quick and dirty installation guide for getting up and running with Apache, PHP3 and mySQL on Windows 98.
 
Related Book Recommendations
 
Dynamic HTML: The Definite Guide by Danny Goodman
 
  Probably the best reference on creating feature and content rich HTML available. Rather than just showing off lots of JavaScript tricks the author spends time explaining the way the various browsers work as a basis for understanding how to produce high quality HTML for all browsers and platforms. This book is poorly named in some ways. It's not just about DHTML, but about HTML, CSS, JavaScript and DTHML and lots of other stuff including advice about general good HTML coding practice. An good understanding of basic HTML is a pre-requisite for this book. Find out more at Amazon UK / Amazon US / Amazon France
 
PHP Developer's Cookbook by Sterling Hughes, Andrei Zmievski
 
  A really great book covering many aspects of the PHP language with some excellent recipes. My only complaint is that some example outputs would be useful at times, but in all, it's still a worth-while buy for anybody using PHP or wanting to start PHP programming in anger. Find out more at Amazon UK / Amazon US / Amazon France
 
  There are other book reviews in our recommended reading section

> Home > Resources > Articles & Tutorials > Non-Programming Articles

 
4D Solutions Partner Logo

Last modified: 19 March 2001 by webmaster@mitchenall.com

[Home]
[Services]
[Products]
[Resources]
-> Articles & Tutorials
* External Links
* Site Index
* Recommended Reading
[Contacts]
 
Toolbar Component Valid HTML 4.01!
© mitchenall.com
1999-2002
Valid CSS!