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!?! smile

Thanks for supporting SeattleArtists.com!

Friday, February 08, 2008

Deciding on a Direction

Well I’m not sure that too many people have tuned in to this blog yet, but the work goes on none-the-less.

The first fundamental question to answer about rebuilding SeattleArtists.com, is what platform and programming language to use. The current site was built using ASP (Active Server Pages), which runs on a Windows server, but a popular web programming language has since emerged called PHP. PHP runs on a Linux server. Why does this matter? The functionality for some of the things I want to include in this next version are much easier in PHP and there are many more choices of tools and software applications already out there that we could integrate if the site was rebuilt in PHP. The major roadblock in switching to PHP is that EVERY line of code and every page of the website would have to be rewritten. Nothing can be reused. The artist’s profiles, the galleries, the forums, the calendar… everything would need to rebuilt from scratch in PHP. The major benefit of switching, however, is that many solutions already exist that I could use as a framework, such as calendar systems and content management systems. I know this post entry is a bit technical here but I want to document the full picture for everyone as we go.

So, over the past few weeks and months, I’ve been researching the pros and cons of keeping ASP versus switching entirely to PHP. I’ve 95% decided to switch to PHP. The long term benefits greatly outweigh the short term effort and headache of switching. As I mentioned already, many content management systems exist written in PHP, such as Wordpress and Expression Engine, which this blog is currently using. Part of the reason I’m using Expression Engine now for this ArtFlurry.com blog is to test the features and give this framework a test-drive. So far I’m very impressed. Wordpress is typically just a blogging tool but you can get creative and break it out of the box and extend it as a basic content management system. (As an aside for those not familiar with a content management system or CMS, Wikipedia provides extensive information on the subject). Expression Engine is designed as a true content management system and made not just for blogging. It includes many community features such as forums and user profiles that would be important to a new SeattleArtists.com. The problem with using a framework such as Wordpress or Expression Engine, or any CMS for that matter, is that it is a canned software package and is pre-built to accommodate many different people and their projects. SeattleArtists.com is a custom built community with specific needs for artists and their artwork, integrated with a member subscription system through PayPal.com and a calendar and forums. It would require hard work and careful planning to integrate a pre-built CMS into the existing functionality of SeattleArtists.com. Using a CMS to start with is still definitely a consideration since much of the code exists and is tested and works. I go back and forth almost daily on what direction to take.

There is a long list of “must-haves” for the new SeattleArtists.com platform, whether it is a completely custom built solution or a half-and-half hybrid of custom code and an existing CMS package. But, I’m hoping to keep these posts here at Project SeattleArtists.com fairly short and informative so I’ll go into the development of my wish list of features next time.

Thanks for keeping up-to-date with me along the way. If you are a RSS reader type person subscribe to our feed (link is on the right side-bar).

About This Site

SeattleArtists.com was launched in 1999 as an online network and marketplace for freelance independent artists in the greater Seattle and Pacific Northwest region. The sites online community has continued to grow over the years but the website has chugged along relatively unchanged since it's launch.

We have now embarked on a massive overhaul of the underlying programming code and structure of the SeattleArtists.com website to turbocharge the site and allow for greater growth, flexibility and usefulness... to basically modernize the site and take advantage of the latest web technologies. THIS blog, Project SeattleArtists.com, is the development narrative and ongoing case study to document the project and discuss the key milestones along the way as we overhaul SeattleArtists.com AND create the a new national artists site called ArtFlurry.com.

Read more about this project here...

  Subscribe to this feed

Monthly Archives

Statistics

  • Page Views: 2052
  • Page rendered in 0.7692 seconds
  • Total Entries: 4
  • Total Comments: 312
  • Total Trackbacks: 0
  • Most Recent Entry: 02/12/2008 10:56 pm
  • Most Recent Comment on: 05/09/2008 04:12 am
  • Total Members: 1
  • Total Logged in members: 0
  • Total guests: 19
  • Total anonymous users: 0
  • Most Recent Visitor on: 05/09/2008 05:00 am
  • Most visitors ever: 27 on 04/16/2008 06:44 am
  • Referrers