| > Home > Resources > Articles & Tutorials > Non-Programming Articles |
Building our websiteThe 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 pagesOur 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 ConversionThe 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 UsedMany 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 servermitchenall.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 AdministrationAs 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. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > Home > Resources > Articles & Tutorials > Non-Programming Articles |
|
Last modified: 19 March 2001 by webmaster@mitchenall.com
|
|||||||||||||
|
||||||||||||||