The main challenge for this project was to build from scratch an online store that originally was running on OsCommerce. Our proposal to the client was to use Drupal for managing his online shop, which would mean a big quality improve, as we included some social functionalities to the project.
Ama Tu Salud is a group of health therapists that have been helping people to improve their life quality for more than 20 years. In their physical shop, they sell dietetic products, herbalist, health food and fair trade, but they also teach courses about alternative therapies, acupuncture, naturopathy, kinesthesiology, reiki, diets and so on.
The design was old-fashioned and Oscommerce does not provide the social features we wanted to implement on the site:
Oscommerce is a good script for managing online shops as it's a sofware especialized and mature, otherwise, adding new features is a complex work and its code is a mix of html and php.
Drupal has a lot of modules that make easy the task of adding new features and reduce the timing of the developing process. It also provides a great integration and communication between these modules. Using some of the Drupal community modules allow us to have a social site from the first moment with only some customization and adaptation to the client needs. We had to choose one of the modules that are used to build ecommerce sites: ecommerce and ubercart. We finally chose Ubercart because it has a cleaner code and the progress of the development seemed faster. We have developed an online bookshop that sells antique books using ecommerce in the past (Drupal 4.7) and there were some aspects of the software that we didn't like. Getting experience in both modules was also a influence point.
Analysis of requirements
Once the invoice was accepted by the client, we built a mind map of the website's content. In this map you can see the different sections of the web and all the actions that you can do.
Based in the mind map, the prototypes of the main pages were created in paper format. The content of the pages and its position was determined using these prototypes. All these documents were used internally as a first approach to the definitive structure of the website.
All these prototypes were transferred to a digital format and sent to the client after they were revised. The final version was built after the proposal of some modifications by the client. We used open source software for creating the wire-frames.
Once the prototypes were accepted by the client, both design and development of the site started in parallel.
The main part of the design was created based in the wire-frames and prototypes. Each prototype was personalised using the general design and the client's suggestions.
Development and modules
The content diagram and the relationship model was created with the prototype information.
Some of the modules that we used suffered big modifications in the process. We can remark some of them:
Discounts module for Ubercart was heavily modified, several bugs were corrected and the final version is being used as the basis for the new project Uc_discounts in drupal.org.
Using Shipping & quotes API, we have built a custom interface for the shipping of the products that fits the client needs.
Two more contributions have been added to Ubercart project, the first one is the module that allows make payments through the Spanish's bank Caixa Catalunya and the second one is a listing of Andorra regions for shipping purposes.
Search: The original search only looks for nodes and users, but we had to include taxonomies here, so we customised the search process. To include taxonomies, we have installed Taxonomy Search that fits quite well with Search All module, so we could show all the search results in the same page. Both modules were modified slightly and the corrections made were posted as an issue for both modules (http://drupal.org/node/303407 and http://drupal.org/node/262827)
The final changes included the Search Autocomplete module that allows auto completion for the search block, and the seed query was altered so only node and taxonomy titles are included. We finally added a custom module that customised some more the search process using hook_search for calling our own do_search process.
We also developed a little module for suggesting products to the customers, like "customers who bought this product also bought..." using CRE module. But this Ubercart plugin has not been published yet because there are some modifications that should be done to CRE module before, these modifications have been suggested here.
We created a new contributed module: Easy Image Insert which will be mantained and supported by us. This module allows to use an imagefield cck field to insert an image or imagecache preset inside a textarea. This way you can attach an image to the desired place inside any textarea and you have the same field available to use with views module.
The modules is still under development (the stable version was a mistake) and you can see all the features in the attached video, it has an additional feature now, you can specify a link in the inserted image that points to another preset of the image, working as a thumbnail that links to a bigger version of the image. The module is now ported to Drupal 6 too.
We have not only developed modules, some theming was required as well. Next we have detailed the most important changes:
We themed some lists of elements modifying the default order so the list is shown in 3-column format with a consistent alphabetical order.
When there is complex taxonomy, the breadcrumb shown by default is a little weird, we have modified the way it looks by dividing the different paths in one line each, so the user can see all the information in a tidier way.
Once the test period was successfully over, all the users of the old system were migrated to the new website. The Logintoboggan module was used to keep te old
identifying system based on the email of the user. For the redirections, a custom method using 301 redirections was implemented, keeping a record of the product's old urls and redirecting to the new url. As the project was developed in a new domain, the old store was online until the migration was finished.
The first impression is being very encouraging. Even before the official opening of the new website, the SEO results were so much better than the old system, and the visits had increased. This points out how SEO-friendly is the join Drupal-Ubercart compared with other ecommerce solutions. After two weeks running, the new website has multiplied by four the number of visitors of the old one.
La Societat d'Onomastica , una organización sin animo de lucro, confió en nosotros para el desarrollo de su nueva página web. Para ello utilizamos Drupal como gestor de contenidos, modificándolo para simplificar al máximo las diferentes tareas de administración del sitio web.
Estas tareas van desde la creación de nuevas secciones a la incorporación de archivos en secciones determinadas para la creación de listados automatizados. También puede gestionarse el contenido del que se nutre el juego en Flash creado en colaboración con ForestLab. Este juego muestra una serie de imágenes y textos que van variando partida a partida. Tanto las imágenes como los textos puede incorporarlos al sistema el propio cliente desde el mismo panel que usa para administrar el resto de la página web.
A parte de estas particularidades la página web cuenta con un sistema de noticias y novedades editoriales, una agenda de eventos y un santoral, todo ello autoadminisitrable por el propio cliente. Finalmente un buscador facilita a los usuarios el rápido acceso a la información que les interesa.