Over this past weekend I re-launched MagmaMags Magazine Subscriptions using Drupal + Ubercart at:
For the past six years the site has been running OSCommerce and I about six months ago I discovered Drupal while working on a different web project. I decided that Magmaweb.com needed a refresh on both design and on system.
I had grown weary of waiting for OSCommerce to upgrade and found it increasingly difficult to implement the various hacks to add additional features to OSCommerce. In fact when OSCommerce did have security updates to its core, I could not longer even figure out how to upgrade because of all the many hacks I had done to the core files to add these many features.
I also had been experimenting with Joomla and I like it but found it to be somewhat unfriendly for implementing design features and member options. I also did not like their e-commerce modules. I then found out about Drupal this past spring and begin working on a website (http://www.swala.org) for creating a social network among Global Health professionals. I then discovered Ubercart, started playing around with it and really liked it so I made the decision to use it for the redesign of Magmaweb.com.
I chose Drupal + Ubercart over simply redesigning the site and keeping OSCommerce because I particularly liked the simple, seo-friendly urls, modular system, extensive library of modules, developer community and constant updates and ability to have a fairly flexible and controllable layout. Plus...I don't think OSCommerce, despite its large community, has a great core group of developers willing to push the system forward constantly like Drupal and Ubercart has at the moment.
The design began with a very basic css-based layout and I built from there. I'm a big fan of designs that are about 95% width with some space on the sides and I went the what appears to be a currently "hot" feature of having the footer graphics look like a reflection in water – aka microsoft.com’s homepage. I kept the menus fairly simple and created my own customized menu categories on the left side. I wanted to make sure the search was highly visible and have it centered in the header. The search is all based on the views_fastsearch module which I have decided is superior to Drupal's built-in search for this site because I can have it search by a single node type and/or within magazine subscription categories.
I wanted to implement a number of additional features besides the stock that come with Ubercart. These additional features are built on current modules and include:
1) Wishlist: I used the Views Bookmarks module to allow users to create a wishlist of products. The only catch I have had with it is that anonymous users cannot use it so I had to use a php if statement to tell anonymous visitors to create an account first before they create a wishlist. I bit of a bummer but its the best I can use for now.
2) User Reviews: I used the userreview module to allow users to review products. I decided on this one rather than the fivestar module because I wanted to allow users to both give a number rating plus text review.
3) Newsletter: Simplenews module allows me to create a newsletter list for customers; Customers can signup when they open up an account.
4) Fash searching within products via keyword or category: Views_Fastsearch module; also allows me to customize the searching on the site
5) View products by letter: Especially useful for my site since its just magazine subscriptions. I used the views_alpha_pager module
6) Gift Cards: I originally was going to use the postcard module but decided against it because it was not as extensible as I had wanted; for example I wanted the list of all products to show up when a user was creating a postcard so they could choose which product they were buying for a friend ideally I wanted postcard to combine with the CCK module. But, alas, it doesn't work. So, I instead used the Send module and created a new node type called giftcard. This node type has a number of CCK fields added to it including references to the product list. So the customer can create a giftcard with a customized message, then send it to a friend via email on the site.
7) Customized product-page layout: Used the contemplate module
8) Cross-selling products: I choose the similiarterms module to allow me to cross-sell products i.e. have second product the customer may be interested in appear on the first product's page. To set it up I installed this module then created a new category called cross-selling terms. I allowed free-tagging for the category and assigned it to the product node-type. Now when I edit a product, the "cross-selling term" textbox appears and I type in my term I will use between both products, for instance for the Atlantic Monthly subscription, I called my term "crossatlantic". I then went Mother Jones subscription and put in this same term. Using contemplate, I reference the "similiarterms" block and the two products will show up on each other's pages. I still need to theme the look though...so for now there are just text links listed there.
You can see an example on this page:
http://www.magmaweb.com/i/magazine-subscription/atlantic-monthly
9) "Combine and Save on multiple products": I wanted to allow users to combine the current product they were viewing with another product at a discount. Ubercart provides the product_kit module which allows one to have a package of two or more products be sold together. I first setup this module with a few kits then I went back to the product node-type and using CCK, I setup a node reference to the product_kit node type. So when I edit a product, one of the options is to select one of the product_kits. I then used the contemplate module to customize how the product_kit shows up on the product's page. I used an if-then statement to only show this referenced product_kit if one has been chosen.
You can see an example here under the "Combine and Save" text:
http://www.magmaweb.com/i/magazine-subscription/pc-magazine
10) Frequently Asked Questions: I used the faq module to create a section of frequently asked questions from customers.
11) Custom Page Title in Header: I wanted to change the default page title so that it also showed the price of the product as well as the name of the product - I wanted this so that I could customize what page title shows up in the search engines. So I used the auto_nodetitle module to customize it.
12) VirtualMerchant Payment Gateway: I rewrote the Viaklix module so that it works with the new VirtualMerchant gateway which is now used by NOVA Systems / Costco merchants. I will release shortly to Ubercart community.
13) Other modules which make life easier: fasttoggle (quickly unpublish a product), gsitemap (creates an xml sitemap for the search engines), google_analytics (can use the google analytics), securepages, views.
Experiences on transferring data from OSCommerce to Drupal: I decided to do this manually and it took me about two days to get all the data moved over. The only hitch I ran into was OScommerce's encrypted passwords. Due to the unique way it encrypts passwords its virtually impossible to get them transferred over to Drupal. So I had customers get sent a new password on the drupal-based site.
Thats it and many, many thanks to the Ubercart team and community for all your hard work, contributions and feedback! There’s still lots to do on the site so there will be much more to come and I hope that I can continue to contribute quite a bit to both Drupal and the Ubercart project.
-Aaron
Comments
Really excited to see this
Really excited to see this one go live. It was a total surprise to me... had no clue what you were working away at doing. Thanks a lot for the write-up and description of various modules that other Ubercart users will find helpful.
The theme and product presentation are great, and I love the extra features you've added in for browsing products (the by price block on the left) and bundling special deals. Gotta take notes for when I finally get to porting our stores from osCommerce over to Ubercart. ; )
----------------------
Drupal by Wombats | Current Drupal project: http://www.ubercart.org
Wow, good job on your
Wow, good job on your creative use of modules. I think your site will be an inspiration to other shops looking to set up their sites.
Heh, I wanted to ask some questions, but it looks like you already answered them.
--Lyle
-----
Übercart -- One cart to rule them all.
Suggestion
Great job! It's how well your site design has integrated Drupal and Ubercart components. I did notice something that I thought would help your site. Your most popular magazine page is displayed as a table view; I think it would better be displayed as a Teaser List. It seems to me people interested in what's popular aren't sure what they want and are just looking around for ideas. This would better be served by a name of the magazine and a brief description rather than just a table of magazine names.
Good luck on your site sales!
-Shawn "If the Name Don't Rhyme It Ain't Mine" Conn
great job
The site with ubercart & drupal seems really good. Im looking for a solution to run on a magazine that my agency do, so maybe this one colud be the one.
I have a question about it:
how is the back end?
how you manage to run the process to comprobation of payment, print the stick with the name and adress and send the package?
thanks in advance for your answer and congratulations again for the work.
very helpful, indeed
Hey, Aaron:
delighted to see your painstaking description of how you put your site together, and away from OS commerce. I came to know of some very useful modules, which I may not have explored otherwise.
great job, all the best!
-Vallab
2) User Reviews: I used the
2) User Reviews: I used the userreview module to allow users to review products. I decided on this one rather than the fivestar module because I wanted to allow users to both give a number rating plus text review.
You can do that with 5 star also. For Ubercart I had t do the following. For the Content type "product" I set it up as this
FiveStar
Star display style: Display Average Vote Value
Full node display: Static Display Above Node Body (I"m using the nifty product node and display the fivestar where I want it)
Fivestar comment settings: Required rating
This displays a static fivestar rating in the node with average vote and the can only vote for the product if they leave a review or vice versa. You can see it in action here http://www.mygreenplanet.com/products/plant-food-and-additives/massive/m...
terrific job
and a great write up
virtualmerchant
Aaron, are you still using virtualmerchant with your drupal site?...I can't seem to get the two to communicate effectively. how did you get them to work together?
-Rory
Hmm, I have a VirtualMerchant
Hmm, I have a VirtualMerchant module I need to upload here on d.o. Look for it in the near future.
virtual merchant module
I'm holding my breath. Thanks!
Very well done
Thank you for the description. These are a great help.
Oscommerce -> Drupal Ubercart
Hi Aaron, can you just confirm that the magma website is a converted (imported) oscommerce to ubercart please? I have been looking into this for 2 years now and have made a couple of installs of urbercart but din't go beyond installing as didn't feel confident in leaping forward. However, I am back in that place and have greater confidence for some of the same reasons you've stated above, updates to the core ect ect and too many modifications to our files, mainly shipping mods! 26 shipping mods to cover global shipping rates on weight from the UK (nightmare!).
replies greatly appreciated
Andrew
System for converting
I have found many examples of trying to convert from OsCommerce to Ubercart (or Zencart or whoever), but none seem to really be that straight forward or work out to well. Do you have a clear concise way of accomplishing this? It sounds like you were successful in doing so, would you be willing to post how you made this happen?
Thanks a lot!
jeremy