Drupal Laying Foundation Stones For Concrete World On The Web

Our engagement with Ideas Media Group Inc. (IMG) started in late 2007 to support, maintain and further develop the former’s Drupal CMS based web infrastructure.

About Ideas Media Group

Ideas Media Group have interests in Concrete World, concrete structures for dream houses or office, They had a Drupal 4.7 site called Concreteideas.com that is a B2B marketplace for Decorative concrete on the web. It is a perfect online marketplace to find all resources namely, contractors, product suppliers, articles, videos on how-to’s etc., related to concrete. The site was targeted at United States and Canadian audiences. IMG had ambitious plans to add more geographical regions in there portfolio at the same time wanted to enter into verticals like outdoor landscaping, indoor & outdoor flooring, swimming pools etc.

Background

Initially we were supposed to add few more features to the Drupal 4.7 site concreteideas.com and remove certains hacks in contributed modules that were de-stablizing site.

Soonafter when IMG wanted to launch another site Landscapeideas to cater outdoor landscaping and wanted us to replicate the site contreteideas.com for the purpose. Instead we suggested them to move to Drupal 6 as that was the latest and 4.7 was going to be unsupported version soon. Migration of concreteideas.com to Drupal 5 was not an option as there was custom coding that would have escalated the cost of migration everytime.

Finally with IMG’s approval, we started Drupal 6.x for their new project landscapeideas.com in May 2008. At that time not many contributed modules were having their stable versions out. Most of the contributed modules were in their development versions. Few modules like banner module,etc were not even available and there wasn’t any upgrade path for it. We decided that we will upgrade what is not available but we should continue to build the site in Drupal 6. Finally we launched the website landscapeideas.com in Mid July 2008.

Drupal was considered to be the perfect choice for three major reasons: 1) The client already had experience with Drupal 4.7 and 2) The features and enhancements of Drupal 6, i.e. drag-n-drop administration, more secured core, flexible themeing and others, would have helped in faster & better UI implementation 3) Drupal community mostly was developing for Drupal 6. Drupal 5 was ignored in favor of Drupal 6 as hooking on to the latest makes better sense.

Features

Some of the requirements that are worth mentioning in the site are listed below:

 

  1. Guided search section: A step-by-step process to allow users to search for contractors and product suppliers for a particular category and region. The process would start with the selection of country and go all the way to city for a chosen category of service or supplier. This is where custom development was required to built the desired functional workflow.
  2. User profile pages: Requirement was that based on the user role, especially for a contractor or a supplier, user profile content should change. There were separate set of services (taxonomy) for each contractor & supplier and hence it made sense to use same classification on user profile pages. Hence patches were applied to the profile module to allow taxonomy to appear in profile module. Apart from choosing services and products from the list, contractors and suppliers can also add description, images or image galleries, client testimonials about their service or their product on their user profile pages.
  3. Resources (Articles, Images and Videos): As the site was targeted for landscape customers and service providers, it provided resources for the landscape industry such as how-tos, tutorials on different topics such as gazebos, irrigation and sprinklers. The site also featured articles on outdoor landscaping ideas. These articles, attached with images containing blueprints of design and pictures of existing installations, are sure to impress site visitors. The site was designed to make the user experience fulfilling, effortless and knowledge enriching.
  4. Advertisement Management: It was critical for the site as advertisement was supposed to be a key source of income for the site in the long run. The development version of the module was unstable at that time and hence it was re-built.
  5. Forms Administration: To enrich the user experience for Admin user, Forms Default module has been used. This is a big help as administrator of the site can now change caption of form fields, add Help text to forms, a great relief for developer who now don’t need to write theme overrides.
  6. Paid User Registrations: The site was supposed to have paid memberships for advanced user profile options. Hence, a third party solution ‘aMember’ was used for user signup and paid memberships. Ubercart did not have all the features that client needed. Although, aMember has got well documented steps it posed challenge especially working with its new upgrades and with lack of phone support to troubleshoot issues.

We have explained in detail the architecture and features of LandscapeIdeas.com here.

Challenges

Some of the challenges that were present at that time are mentioned below :

  1. Multiple locations for user profile: This was not supported at that time and hence had to be custom coded.
  2. Ad module was not present: The Ad module was upgraded for use on the site.
  3. Enabling taxonomy for profiles: Patches were applied in profile module to enable use of taxonomy as profile fields.
  4. Imagefield module was unstable: Patches were applied for all issues of imagefield module, it was especially important as images were to be displayed in multiple dimensions throughout the site.
  5. Richtext Editing: TinyMce module was not working as expected and hence we have to leave it in favour of FCKEditor.
  6. Blog section was to be themed differently from the rest of the site.
  7. As it is intrinsic to every project, you always have better ideas to implement sometimes even half way through the implementation. So as with this project, we had to switch gears for Drupal Theme, as IMG came across different ideas for the layout of the website.

Drupal Upgrades

We have kept the site updated to the latest 6.x versions as security releases were announced.
Seeing the ease of use of landscapeideas.com, the client moved concreteideas.com 4.7 to Drupal 6.x in December 2008 using landcapeideas.com site as a starting point and carrying over the content from concreteideas.com in the new Drupal 6.x build. Client was not ready to go to multi-site yet.

 

Transition To Multi-Site Environment

Now there were two separate Drupal installations one for concreteideas.com and second for landcapeideas.com, It again posed challenges in upgrading & maintaining the sites. It was a tedious task to manage minor fixes, enhancements, etc that were done on to the two sites that had staging and development site for each. Client also wanted to get into the specific verticals like swimming pool, floors and many others, within the Concrete & Landscaping space. We had been long suggesting multi-site feature of Drupal but after adding floorideas.com and seeing the challenges in maintaining 3 codebases, client agreed and approved to go multi-site and then launch swimmingpoolideas.com as the 4th site. IMG also wanted to move to a robust hardware infrastructure which Gloscon team assisted in moving them from old company to a better solution that would meet their needs.

Now, the challenge was to transition all 3 sites into multi site environment of Drupal.
All three sites were LIVE and had been there for quite some time, naturally, they had good amount of data, block configuration, site settings. We were lucky that there were almost no changes in terms of architecture of these sites.

There are several things you need to take care of while doing such transitions.

  1. Create a multisite environment that includes creating folders in sites folder.
  2. Dig through the database of each site to correct all the paths stored in there. Generally these paths are stored in database if you are using modules like upload, user avatar, image field in CCK, taxonomy image, video etc.
  3. You need to write update scripts to update paths in your content if you are adding images or other media content in your content.
  4. You need to put the theme in respective site folder and update the file system path for each site.
  5. Third Party Integrations: All requirements of third party integration needs to be revalidated.

The Future

This was a quick one. The important thing is both sites shared same functional requirement. Client now has plans to launch swimmingpoolideas.com (may be by the time we complete this case study the new site swimmingpoolideas too is ready for launch), new site launch is now a matter of couple of hours and is like copy-paste-edit. We can now put up the new site in less than a day in multi-site environment.

Drupal has indeed provided impetus to business plans. It has shortened the life-cycle for creating new website for a NEW IDEA and minimized the maintenance/operating cost for these sites significantly. However, Drupal has opened up new revenue streams for the IDEAS.

Drupal made new site creation so easy, that is the reason people fall in love with Drupal. JUST LIKE ME.

Leave a Comment