Sunward Aerospace Group Limited www.sunward1.com is a manufacturer and seller of model rockets and siege engines kits, including a trebuchet, catapult, ballista and other hobby items. Sales are worldwide based through distributors, retail stores, online sellers, and direct from Sunward online.
Site History
The site serves as a repository of product information, learning material, and a small online store for users. For over 5 years, Dreamweaver has been used for generating the web site used by Sunward. The shopping cart and checkout were implemented using Paypal.
Although the site worked well, problems kept coming up as the site grew in size and complexity. One problem was the constant updating of the entire site for a small change as this meant all the html pages had to be reloaded. Small problems that seem small today, like a drop down menu that worked, kept coming up. Although Dreamweaver worked as needed, it was very limited as to what it could do. There is no support for even simple features such as a blog or email list support. The paypal checkout worked fine, but there was no customization possible. Even simple tasks such as a store wide discounts on sales was not possible unless every price was changed manually. Extra fees, product specific settings, shipping methods, and self-hosted shopping cart were not possible. There was no way to customize the checkout page to show additional items.
There was no blog on the site and a email newsletter was implemented independently.
Implementation
After 4 months of searching and about a 6 month learning curve, Drupal was implemented. Ubercart was used for the commerce end. Drupal and Ubercart were chosen as they have the CMS and the ecommerce working together as one, are scalable, secure, and have a large community of volunteers. For ecommerce sites, "secure" has become a deciding factor. It doesn't matter how powerful useless a CMS is, it is useless if it is not secure.
Another reason for the choice was the local DUG http://groups.drupal.org/toronto which has meetings almost monthly here in Toronto. The group turned into a great source of information, contacts, and help.
Drupal is very powerful. But as a result it has a very steep learning curve. During the learning, it was decided that no core hack or even custom php code was to be done in order to keep the solution from getting out of control, to keep implementation straight forward, and make future upgrades simpler. The first task was to make the change the site over to Drupal and make it stable. Then other features could be implemented as time and funds permitted.
The Sunward website was changed to Drupal/ Ubercart at the beginning of April, 2010.
From my experience, the best way to learn Drupal is very simple. First, you learn all you can from books, videos, and online documents. Then use it. Nothing like actually trying to set up a site to learn the system. I used a spare url to download the software and implemented it on a trail basis. Another method is to use Xampp.
http://drupal.org/node/161975
I am now using Xampp on my desktop to test changes before implementing them on the live site.
A Paypal sandbox account was used in order to make sure checkout was working properly.
For the inexperienced user, expect implementation to take 3 to 4 times longer than what you planned for. Each page was created manually to keep the page name the same and then the content was copied from Dreamweaver.
One area that seems to cause a lot of problems is the taxonomy/ menu url rules. It wasn't until later that I found pathauto has a choice on keeping the url's the same after changing a node.
Resources
Book - Drupal E-commerce with Ubercart 2.x link - http://drupal.org/node/756014
Although there is a lot of information on Drupal and Ubercart, there is very little on using them together. I found the just released book to be a great help in both showing the path to implement the software and to fine tune the site. It was unfortunate the book was not released earlier as it is a great help. ( The book does have examples, but could use more of them and ones that are more involved)
Hosting Server.
One conclusion on using the test site, was that the shared hosting offered by godaddy.com was not practical. The test site, even though small, was too slow. The decision was made to go to a dedicated server. ( As other sites are also hosted in the course of running Sunward, a virtual private server was not looked at. As a result, I can't offer an opinion on how the VPS will perform.) One comment on the support from godaddy. I didn't use the Assisted Service Plan, but the access and quality of support from the online chat was outstanding. With out it, I would have been lost.
I chose ubuntu for the OS. It may be a great piece of software, but online documentation support is still up and coming and I was personally not very familiar with it. I would recommend you use the version you are familiar with or with the version there is a lot of online support for. Not ever having set up a server added 2-3 days to the set up of the site.
Modules
The common modules that are always discussed were used. So far, there has not been a custom use for either the Views or the Panels modules.
Search404
Less discussed modules that are not widely discussed but were used include:
http://drupal.org/project/search404
Without it, the "page not found" error is too plain and provides very little information.
Mailchimp
http://drupal.org/project/mailchimp
This was used to integrate the customer list on the site with a newsletter email list. Customers on the site now have the option of joining the mailing list on the checkout page by simply checking a box. Since using the mailchimp module is tied in with checkout, I have noticed a substantial increase in the number of customers signing up for the email newsletter. Recent improvements in mailchimp's service now allow better integration of drupal, twitter, and facebook.
Civicrm
http://drupal.org/project/civicrm
CiviCRM was looked at but it seemed to be too large a solution for a simple mailing list.
Upsell
http://drupal.org/project/uc_upsell
To implement features available with ubercart, the upsell module was used. Very simple to set up. The only drawback is it is setup manually and may not be effective for a large site.
Security Review
http://drupal.org/project/security_review
For security, security_review was used. Good for basic information.
Tagadelic
http://drupal.org/project/tagadelic
For the display of the taxonomy used for the blog, Tagadelic was implemented and is shown only on blog pages.
Sitemap
http://drupal.org/project/site_map
Although basic, a much needed module.
Blog
A blog was quickly set up and a real-time tag system, with taxonomy, is a great feature. Currently, user comments are turned off on all pages and even blogs. There is little traffic to justify comments by the user. They may be allowed on special stories in the future.
Shorten and shorturl
Short Url and Shorten provide an internal method for quick and easy urls. Perfect for Twitter posts.
http://drupal.org/project/shorten
http://drupal.org/project/shorturl
Twitter and Facebook
Twitter and Facebook are only implemented as direct links at this time. Other than with mailchimp, they are not integrated in any other way at this time.
Themes
http://drupal.org/project/acquia_marina
The theme used was the acquia marina. The only change in code was the removal of the logo at the bottom of each page and the removal of the Sep 12 on the blog block (local.css).
icon removal link - http://drupal.org/node/764188 (thanks to eternalistic http://drupal.org/user/72964 ).
The only code change to the theme itself was the removal of the cloaked link on the main page.
There is a large selection of themes for Drupal/Ubercart, but there seems to be a void in themes made for ecommerce site. Acquia Marina comes the closest. The only feature lacking is the easy selection of colors.
Recommended Tasks
Backup.
Not to be overlooked. The Dreamweaver code was edited on a desktop and then uploaded. This allowed for a secure backup copy. For the Drupal site, I use a dual hard disk hardware setup (RAID 1) on the server and will also manually backup the site every week or two.. The database is backed up manually as it has grown large and can't be backed up by the use of plesk.
Cron
Currently, setting up an automated cron in the plesk with the server never worked properly. It is now done using crontab.
http://drupal.org/node/36678#comment-69418
The Future
Now that the site is up and running, new features will be implemented over the course of the next year.
One examples that is being implemented now is the sale of rocket motors. A custom module, code, and or conditional actions will be used as additional fees (HAZMAT) and shipping restrictions are in effect and vary with each country and in some cases can't be shipped to certain areas within a country.
One area that does need more work is the advancement of ubercart. Compared to other ecommerce solutions, it suffers from the lack of some advanced features. There is a need for more support for shipping, taxes, and fees.
Drupal has a strong reputation for security and community support. The one feature lacking, that is partially fixed in version 7, is the addition of images and videos in simple features such as a blog.