Web Development

If you are looking to build a basic website intended to help people find you and learn more about you (which means a site made up mostly of text, images and a few links), try wix.com or web.com. Using their templates-oriented approach, they make it easy to create and maintain your website. However, if you are looking for more control over the design and functionality (albeit at the expense of greater complexity and maintenance), a content management system (CMS) is the way to go for most small (and even medium) size non-profits and businesses.

As web developers, we build our web sites with either WordPress or Drupal, both open source, content management systems.  In the CMS approach, a web site is assembled from various components that provide the “look and feel”, functionality and content management. With a large number of contributors, both WordPress and Drupal offer a wide range of themes and plug-ins/modules to meet most requirements.

The choice of CMS is dependent on the level of functionality and complexity required by the customer. Our general assumption is that WordPress works well for most situations with Drupal being reserved for more complicated requirements, especially in terms of storing and retrieving a lot of custom data. For example, we built a custom website for Accolade Wines to provide retailers and distributors the ability to retrieve various brand marketing materials (ex. logos, products labels, technical sheets) for a variety of brands that they own.

For advanced Drupal requirements, we use Ubercart for e-commerce applications and CiviCRM for customer/constituent relationship management.

Let’s start with a brief description of how WordPress and Drupal work would be useful:

  • Both are primarily written in PHP along with javascript/jquery and runs on a LAMP (Linux, Apache, MySQL and PHP) platform.
  • Web pages are rendered dynamically on demand based upon data stored in the database and user files such as images and PDFs.
  • A theme defines the page design including placement of content in various regions of the page (ex. header, sidebars, main, navigation, footer) along with different design elements (ex. fonts, colors, backgrounds, layout)
  • Post (WordPress) or content (Drupal) types define the fields of data stored for different database records.  Examples include pages, posts and events.  Additional post or content types can be user-defined.
  • WordPress widgets or Drupal blocks are snippets of code that perform a specific function and can be placed within a specified region on the page.  For example, a list of upcoming events is placed in a sidebar.
  • Menus provide the means of navigation.
  • WordPress plug-ins or Drupal modules provide many different functions such as slide shows, calendars, google analytics, e-commerce and backup management.

The best way to demonstrate the advantages of the WordPress or Drupal approach is to show some examples.

To begin, this website was originally designed by Shboing using Drupal’s Zen theme which provides a robust framework for custom web designs. The background image is a nightscape of San Francisco shot in 2009. The logo was designed by Seebox Studio of Pacific Grove, CA. A single block of logos with links occupies the left sidebar. A simple SuperFish menu provides the site’s navigation. The design was created using SASS (Syntactically Awesome Stylesheets), a powerful CSS (cascading style sheets) pre-processor. The original website can be found at http://drupal.shboing.com/.

The current website (the one you are looking at) was converted to WordPress and uses as a starter theme called _s or underscores. It’s a beautiful base upon which to build a custom theme, especially if you are working with a web designer (highly recommended for the best looking web sites). The theme and functionality of the website has been duplicated.

The website for the Sierra Nevad Region of the Porsche Club of America (SNR-PCA) is a good example of a low-cost website tailored to meet the club’s requirements. it uses an off-the-shelf Drupal theme, Marinelli,  that has a nice clean look and a user-changeable banner. Typical of small organizations, it includes features such as a calendar of events, newsletters, advertisements and links to other related-organizations.

The Saddleback Valley PTA (SVPTA) website is an excellent example of a web-site that is wholly updated and maintained by volunteers. It provides a wide variety of resources to parents and the local PTA units.

The Pet Network website was designed by the customer and is updated by the staff. It uses a lot of web services provided by third parties including PayPal for donations and coffee purchases, Petango for displaying adoptable cats and dogs and Volgistics for volunteer management. A nice feature of the site is the Rescue Roast Store, powered by Ubercart, which enables you to buy coffee with your own customized label on the bag. Pet Network also makes extensive use of Facebook and Constant Contact for communications.

The Classical Tahoe site (formerly Tahoe Summerfest) is a great example of what you can do with a web site when you combine an outstanding design with solid software and robust content. It was developed in conjunction with smith + jones, a design and marketing firm located in the Tahoe area.

In terms of a web host provider, both WordPress and Drupal requires a LAMP (Linux, Apache, MySQL and PHP) platform.  Most of the major providers are configured to support Drupal including an ability to configure specific parameters required by Drupal.  In addition to the standard requirements for reliability, performance and low cost, some other desired features include:

  • A file manager (generally through a cPanel)
  • Access to a private file area to store backups, private and tmp files (outside of the public file area)
  • Ability to create and manage databases (generally through phpMyAdmin)
  • Ability to configure and run Cron jobs for system health checks and back ups
  • FTP access to the web site
  • Security certificate if you are planning on donations or e-commerce not through PayPal

Additionally, domain name services and e-mail services are required if you are not using an alternative provider such as GoDaddy.

For our sites, we use Siteground.com for web hosting.  They provide all of the desired capabilities and good customer service (if you pay for premium support).