When people consider updating their websites, the first consideration is often design - rightly so since that is what is likely to attract customers. However I would argue that maintainability and extensibility are equally important. Asking questions such as the following should provide a good indication of where your site stands in this regard.
- Add content
- Re-arrange pages
- Change navigation
- Add dynamic elements (authentication, Web 2.0 features, CMS etc)
- Control access to resources based on who is logged in
Often, I'll be called upon to add functionality to an existing site. Sometimes, this is a straightforward task, frequently made easier by leveraging an existing loosely coupled framework such as the Zend Framework. However when the desired features are more extensive either in complexity or quantity, the task becomes inefficient due to the fact that the preexisting code base does not adhere to the principals I listed earlier.
Putting this all together, an approach I have taken recently when faced with refactoring an existing site is to convert the site to run through a web application framework. Zend Framework 1.8 has greatly simplified this process with the maturing of Zend_Tool and introduction of Zend_Application and Zend_Navigation. My approach is basically as follows:
- Create a Zend_Application project using Zend_Tool
- Build the controllers, actions, view script stubs etc. using Zend_Tool
- Create a navigation xml file reflecting the site structure
- Create the necessary layouts and common elements
- Work through each page, converting it to clean semantec XHTML and build complementary styles along the way.
0 comments:
Post a Comment