Tuesday, February 12, 2008
Starting To Build From Scratch
In my last post I discussed switching from ASP to PHP and using some form of pre-built content management system. Since then I’ve also been testing another option - to start completely from scratch, building the site in PHP and without the use of any pre-built canned content management system. The creators of Expression Engine have also developed an open source framework that, as they put it, “helps you write Kick-Ass PHP programs”. This framework is called CodeIgniter and is actually the tool behind the scenes used to write Expression Engine CMS (this blog software) from start to finish.
I installed CodeIgniter and began to re-create some of the functionality that SeattleArtists.com currently has, to see how easy it would be to start with a completely blank canvas. The CodeIgniter framework really simplifies the coding process by providing a toolkit of classes and helpers that you can basically just call on to perform certain tasks, such as reading or writing information from a database or validating information in forms etc. This ‘shorthand’ for writing code makes building applications much quicker, more complete and less prone to errors. What would normally take several lines of code to perform in true PHP, CodeIgniter can handle in a single command or function call. It is a bit overwhelming to be learning an entirely new approach to developing a system using their framework, but so far I like the way it works. That being said, I’m starting to lean considerably more towards building the site entirely from scratch using CodeIgniter. The real dilemma in using some other content management system that is pre-built with forums and calendars and user profiles and a back-end administration, is that you really run the risk of spending the majority of your development time removing what you don’t want and trying to get what’s left over to work correctly for what you want on your website.
Well, have I lost anyone yet? I know I’m walking a fine line here between discussing things that are too technical for those who don’t care, and not being technical enough for those others who want it. I’ll try to keep the information relevant for both sides of the audience.
So quickly, before moving on… here’s a quick and dirty “at the top of my list” development tasks that I’m going to begin with:
- rebuilding the home-page so the code is cleaner and the information is presented clearly to serve as the dashboard for the entire site.
- unifying the whole site layout “theme” so headers, main navigation, sidebars and site footers are consistent throughout all pages - this allows for better navigation, blocks of information and advertising sections.
- expanding the categories to allow sub-categories for artists, such as photography --> portrait, etc. This has been a frequently requested enhancement.
- redesigning the directory listing pages to allow more information, subcategories, pagination and sorting my artists, location etc.
- redesigning the member artist galleries to expand the display of image artwork and the details of each one. Improving the overall design of portfolios.
- allow artists to provide more relevant information about themselves and their artwork and their business. Include more social networking functions - custom mailing lists, subscriptions, RSS feeds etc.
- updating the most popular area of the site—the Calendar! It needs to be overhauled with a new layout and presentation for events.
- allow users who post events on the calendar, to edit, renew, delete or otherwise maintain their own events.
- integrate the art forums into the site more tightly to make them more accessible and helpful to visitors.
- last but not least… help artists sell more artwork - to be discussed later!
That’s a pretty good start for now. I have a long list of “to-do’s” accumulated over the past few years but I can’t reveal the whole plan all at once now can I!?!
Thanks for supporting SeattleArtists.com!