E-Commerce Open Source Solutions An overview of tools and the main functional concepts of a trading site

Writers: Frédéric de Gombert Florent Sabourin

For further information: www.smile.fr Tel.: +33 (0)1 41 40 11 00 Mailto: [email protected] Page 2 E-Commerce, open source solutions

[1] PREAMBLE

[1.1] Smile

Smile is a company comprised of engineers specialising in the implementation of open source solutions and the integration of systems based on open source solutions. Smile is a member of APRIL, an association focused on the promotion and protection of free .

With over 350 employees in France, and 430 throughout the world, Smile is the leading French Open Source solution company.

Since around the year 2000, Smile has been actively monitoring the technological market, allowing us to identify, to test and assess the most promising open source solutions. We can then present our clients with the strongest, most sustainable, most efficient products available.

This approach has given way to a whole range of white papers covering various different application sectors. Content management (2004); portals (2005); business intelligence (2006); PHP frameworks (2007); virtualisation (2007); digital document management (2008); and ERPs (2008). Among the works published in 2009, the “Open Source VPNs”, and “Open Source flow controls and Firewalls” articles, within the “Systems and Infrastructures” collection are also of interest.

Each of these works offers a selection of the best open source solutions in the relevant domain, their respective qualities, and feedback on operational use.

As stable open source solutions slowly gain ground in new sectors, Smile will be present to offer customers the benefit of these solutions risk free. Smile appears in the French I.T. market as the integration service provider of choice, to assist major companies in adopting the best open source solutions.

Smile has also developed a range of service offers over the last few years. A consultancy department has assisted our clients since 2005, through preproject phases, solution research, and project support. In 2000, Smile created a graphics studio which in 2007 became known as The Interactive Media Agency. This agency offers not only graphic design services, but also e-marketing, editorial, and rich interface expertise. Smile also has an agency specializing in Third-party Application Maintenance, application support and application processing. Smile offices can be found in Paris, Lyon, Nantes, Bordeaux and Montpellier, with presence in Netherlands (BeNeLux office), Spain, Switzerland, the Ukraine and Morocco.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 3 E-Commerce, open source solutions

[1.1.1] Some Smile references

a) Web sites

Laboratoires Boiron, Foncia, Crédit Coopératif, EMI Music, Salon de l’Agriculture, Mazars, Areva, Société Générale, Gîtes de France, Patrice Pichet, Groupama, Eco- Emballage, CFnews, CEA, Prisma Pub, Véolia, NRJ, JCDecaux, Larousse, 01 Informatique, Spie, PSA, Boiron, Dassault-Systèmes, Action Contre la Faim, BNP Paribas, Air Pays de Loire, Forum des Images, IFP, BHV, ZeMedical, Gallimard, Cheval Mag, Afssaps, CNIL…

b) Portals and Intranets

Eurosport, HEC, Bouygues Telecom, Prisma, Veolia, Arjowiggins, INA, Primagaz, Croix Rouge, Invivo, Faceo, Château de Versailles, Ipsos, VSC Technologies, Sanef, Explorimmo, Bureau Veritas, Région Centre, Dassault Systèmes, Fondation d’Auteuil, Korian, PagesJaunes Annonces, Primagaz…

c) Electronic Document Management and ECM

Agefiph, Primagaz, UCFF, Apave, Géoservices, Renault F1 Team, INRIA, CIDJ, SNCD, Ecureuil Gestion, CS informatique, Serimax, Véolia Propreté, NetasQ, Corep, Packetis, Alstom Power Services, Mazars…

d) E-business

Furet du Nord, Camif Collectivité, La Halle, De Dietrich, Adenclassifieds, Macif, Gîtes de France, GPdis, Longchamp, Projectif, ETS, Bain & Spa, Yves Rocher, Bouygues Immobilier, Nestlé, Stanhome, AVF Périmédical, CCI, Pompiers de France, Commissariat à l’Energie Atomique…

e) Business Intelligence and ERP

Lafarge, Groupe Accueil, Anevia, Projectif, Xinek, Companeo, Advans, Point P, Mindscape, Loyalty Experts, Cecim, Espace Loggia, Nouvelles Frontières, France24, La Poste, HomeCineSolutions, Vocatis, Skyrock, France Domicile, Polyexpert, Cadremploi, Cmonjob, Meilleurmobile.com…

f) Infrastructure and Hosting

Kantar, Pierre Audoin Consultants, Rexel, Motor Presse, OSEO, Sport24, SETRAG, Canal-U, Institut Mutualiste Montsouris, ETS, Ionis, Osmoz, SIDEL, Atel Hotels, Cadremploi, Institut Français du Pétrole, Mutualité Française…

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 4 E-Commerce, open source solutions

[1.2] This White Paper

E-commerce has literally exploded over the last few years: with a turnover of 20 billion Euros in 2008 (25% more than 2007) the number of online shoppers is in constant progression (over 65% of web users have already made an online purchase) with an ever-greater number of traders, both new and established, opening their own online shop.

E‐commerce turnover in billons of Euros in 2008

Source: iOE Study – E‐commerce report 2008/Fevad/KPMG

A recent Forrester1 study showed impressive projections, with growth of 68 billion in online European retails sales in 2009 and up to 114 billion by 2014, representing an increase in average yearly expenditure per household of from €483 to €601 for this same period.

It is difficult, then, to ignore this new digital revolution and the associated Open Source solutions which play an ever-more important role.

This White Paper proposes an overview of Open Source E-Commerce solutions. We will present a selection of the best tools, and then review the main functions, indicating how each tool performs.

In order to select the right tools on which to build an E-Commerce platform, it is important to understand the fundamental concepts of a trading site, we endeavour to explain these concepts in the first part of this White Paper.

E-commerce touches upon a wide variety of issues, such as Customer Relations, Business Management, Logistics, Web-marketing, etc. We will not go into each of these issues here, as they are far too vast and specific.

1 http://www.forrester.com/rb/Research/western_european_online_retail_forecast%2C_2009_to/q/id/5543/t/2

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 5 E-Commerce, open source solutions

[1.3] The benefits of an Open Source Solution

Open Source solutions are gaining new ground at an incredible rate year after year in all areas of application. New key players are emerging and there is now a proven logic to the Open Source business model. Solutions are ever-more mature and are now seen as very real alternatives to proprietary solutions.

Before focusing on functionality, let’s take a look at the benefits that these Open Source solutions provide.

The financial benefits are the most obvious reason for choosing an Open Source solution. While implementing an Open Source solution is never free of all costs, it is a great deal cheaper than implementing a proprietary solution. An Open Source solution can prove up to 5-10 times cheaper to integrate.

Services also generally cost less, as the very “open” nature of the product lends itself to knowledge sharing.

As solutions reach maturity, however, the cost factor is no longer the most important issue to consider.

The main arguments for Open Source solutions are:

• The non-dependence or limited dependence, on the editor. We know that changing tools can be very expensive, and editors can be tempted to profit from the ‘golden goose’ of clients who have become captives. This scenario is often referred to as vendor lock-in.

• Durability is another strong criterion. Open Source solutions may not quite have a guarantee of “eternal youth”, but the availability of their source code to a community of clients and partners guarantees widespread distribution of the know-how associated with the implementation of these solutions, and as such their development.

• The “Open” aspect is also a big issue. Open Source solutions are generally more compliant with standards, and more open to the possibility of adding modules.

As regards durability, the worst that can happen with an Open Source solution is that the community can gradually lose interest in the solution, generally in preference of a more promising solution. As such the product may one day need to be replaced, but at least the winding-down process is slow allowing the client ample time to migrate to another solution.

It is important to also point out that even if the editor one day winds down, the community remains and can continue working on the product and its evolution, this is the very principle of Open Source solutions.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 6 E-Commerce, open source solutions

As for the “Open” aspect, while in theory it is essential that the modifications can be made to the source; in practise this can be risky. As such it is not in these terms that the “Open” aspect is of benefit, but in its capacity to accept extensions, and to interface with other applications.

An editor with commercial objectives doesn’t always have purely the clients’ best interest at heart. The editor operates in a competitive market so it goes without saying that they want their tool to be better than their competitor’s, but once well- established, the editor may come to the conclusion that:

• Their product must be efficient, but not overly-so, as more servers mean more licenses.

• The product must be solid, but not too much so, as support services must be sold as well.

• The product must be open, but not too much so, so as to maintain control of the client.

We are not saying that editors are calculating to the point where they would lessen the quality of their product; we are merely saying that the strategic priority is not necessary given to these issues.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 7 E-Commerce, open source solutions

Content [1] PREAMBLE...... 2

[1.1]SMILE...... 2

[1.2]THIS WHITE PAPER...... 4

[1.3]THE BENEFITS OF AN OPEN SOURCE SOLUTION ...... 5 [2] FUNDAMENTAL CONCEPTS ...... 8

[2.1]WHAT ARE E-COMMERCE TOOLS USED FOR? ...... 8

[2.2]DIRECT, INFORM, TRANSFORM, ANALYSE ...... 9

[2.3]THE TRADING SITE WITHIN THE INFORMATION SYSTEMS...... 15 [3] THE SELECTION OF TOOLS...... 18

[3.1]PREAMBLE...... 18

[3.2]OSCOMMERCE...... 18

[3.3]...... 20

[3.4]PRESTASHOP...... 21

[3.5]OFBIZ...... 22

[3.6]UBERCART...... 23

[3.7]OTHERS...... 24 [4] FUNCTIONALITY...... 26

[4.1]CATALOGUE...... 26

[4.2]SALES TUNNEL ...... 47

[4.3]BACK OFFICE...... 59

[4.4]EXTERNAL INTERFACES...... 71 [5] SUMMARY...... 75

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 8 E-Commerce, open source solutions

[2] FUUNDAMENTALNDAMENTAL CONCEPTS

[2.1] What are e-commerce tools used for?

[2.1.1] What is sold on a trading site?

One can find almost anything on the Internet, but not everything is sold in the same way.

First, we must distinguish between:

• Physical products, which must be stored, handled, delivered

• Services, which are purchased online to be used at some point: hotel room, theatre tickets, etc.

• Digital products and services, which can be delivered by the web: the posting of a job offer, subscriptions to The Times online, iTunes music purchases, etc.

Each of these products has its own complications and limitations which all market tools are not necessarily capable of taking into consideration: e.g. the notion of a reservation calendar for tourist services, stock management for physical products, content security for digital products, etc.

[2.1.2] Sell but not just that

An e-commerce solution is not a mere online sales solution.

Several trading sites use tools which do not manage the act of the online purchase. Certain products and services can be too complex, too specific or too expensive to be purchased directly, by any method of electronic payment.

Even without online sales, traders sometimes just want to display a structured catalogue with prices that can be varied from one customer to another or from one option to another. Saint Maclou2, for example, presents its full catalogue on its site, but does not offer online purchasing; instead it includes a “request an estimate” option allowing the sales cycle to take place in a different manner.

2http://www.saint-maclou.com/

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 9 E-Commerce, open source solutions

[2.2] Direct, Inform, Transform, Analyse

As we have already mentioned e-commerce is an area that is full bloom. Each day, new trading sites open on the net. In 2009, they numbered almost 50,000 in France alone.

Any company that wishes to launch online activity is rapidly confronted with the recurring issues of the e-commerce world:

• Directing: How to draw potential customers to their site? How to direct them in the different product/service sections?

• Informing: How to present their products favourably? How to highlight their leading products?

• Transforming: How to encourage the customer to place a product in their basket and to proceed with the purchase? How to improve sales?

• Analysing: How to monitor the commercial performance of their shop in order to improve it?

While the responses to these questions may not be directly given by a software solution, we will see that they must be taken into consideration when choosing a solution.

[2.2.1] Directing

There are two main axes in the process of directing potential customers, Attract and Guide: Attract Guide

Clear naming Marketing strategies Good ergonomic practises (the capability of going Back, Optimisation of natural breadcrumb trail, etc.) indexing A powerful search engine

Referencing Access to products according to different axes/criteria (price, product type, collection, etc)

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 10 E-Commerce, open source solutions

a) Attracting

Traffic is mainly generated via marketing strategies (brand recognition, the competitor context, communication campaigns, a buzz around a product, etc.); nevertheless, tools have a direct effect on traffic: natural indexing, affiliation services, etc.

Manual indexing Optimising natural indexing has become a matter of paramount importance for e- commerce sites. Certain aspects relate to the general design of the site and its navigation, others relate to the matrix or framework and formatting, but not all e- commerce solutions are equal in this respect.

Some key points:

• Ensure that all product pages, including complex ones, can be accessed by search engines. For example, if a product exists in several colours, a Google search using the product name associated with any of these colours must return a link to the site.

• Choose titles and keywords which make sense to the web-user. It can often be very tempting to use technical terms in a catalogue lexicon, but these are not the terms that the web-user thinks in. For example, we sometimes find the term layette for baby clothes, a term which is not widely used by web-users.

• Enter metadata for each product sheet (some tools will do this automatically)

• Provide a logical site map. Most search engines do not analyse site maps with over 500 links. So watch out if you have a complicated tree-structure.

• Make sure that your URL’s can be understood by the web-user (for example avoid having a product sheet with an address like www.mysite.com/form.php? i d=32&brand=samsung use www.mysite.com/samsung/television-lcd- l32b450.html instead).

Please see our White Paper on indexing for further information on best practices.

Affiliation Affiliation is common practice among e-traders; the objective of affiliation is to make ones site and products known by paying other sites to display your advert. Payment options vary: pay-per-click i.e. per visit; or per purchase i.e. by turnover generated; or by action i.e. based on receipt of completed feedback forms.

This is the basis of the Ad Sense affiliation program: Google make the service available for both parties: the trader and the affiliate, and take a little commission along the way. On top of this service, Google also serves as affiliate by displaying

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 11 E-Commerce, open source solutions content on its own pages, notably on its search engine pages. Nevertheless, the dissemination of display notices throughout the display network is not entirely controlled by the trader.

We note that there exists an Open Source alternative, Open X, which is an affiliation platform on which you can build your own network of affiliates and manage your adverts.

Loyalty If the loyalty of your customers goes beyond CRM, you will see that some e- commerce tools offer a certain number of features which promote customer loyalty:

• Management of “refer a friend” programs

• Management of private sales

• Management of newsletters

• Management of customised promotional offers (based on purchasing behaviour)

• Loyalty points based on purchase amounts and volumes

• Etc.

“Refer a friend” The “refer a friend” concept is the simple application of an age-old principal i.e. that of “recommendation”, via the channel of the web. Basically customers are invited to recommend the site to a friend, so that they may sign-up and place an order. In order to encourage this practice, both the initial customer and their friend receives a reward, often in the form of points or a gift certificate. Certain “private sale” sites push the concept even further by limiting access to the site to this basis, wherein a web user can only access the site if they have been referred by a friend who is already a member. This strategy reinforces the notion exclusivity, and as such increases the likelihood of purchase.

b) Guiding

The way in which a web-user is guided is, on the other hand, an affair of best functional practices and ergonomics. Here are some pointers:

• Work on a clear and explicit nomenclature. Find the right ratio between the number of tree-structure levels and the number of products per category. The number of clicks a web-user has to make to arrive at a given product must be reduced to the bare minimum – a tree-structure which is too complicated will often seriously increase the number of abandoned purchases.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 12 E-Commerce, open source solutions

• Respect all best practices as regards “traditional” ergonomics: include a breadcrumb trail retracing the path the user has navigated so that they can return to the previous level at any stage; ensure that the navigator “back” button works with your site (some Flash sites, for example, are not compatible with this button).

• Implement a powerful search engine which gives pertinent results. We will take a deeper look at this tool, which is central to any trading site, later in this document.

• Multiply the paths which offer access to a product. All web-users do not think alike and so will not follow the same path. We will see that modern e- commerce tools offer several paths to the same product: multi-categorisation is the capability of associating a product to several categories and tree-structure levels. Facet navigation allows successive filtering of the catalogue based on several criteria such as price, brand, colour, etc. These are two common practices.

[2.2.2] Informing

Presenting products well is also something dealt with by the company’s web- marketing and conception strategy, we often talk of e-merchandising:

• Promoting the product with good images, a selection of views, a zoom capability, or even a short video presentation

• Detailed information on the product (technical details), on the associated services (guarantees, maintenance, etc.), and more generally on anything that differentiates you from your competitor

• Management of crossed sales and sales incentives

• “Intelligent” management of descriptions. As such, in the case where a given product exists in several colours or sizes, we avoid creating a product sheet by description.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 13 E-Commerce, open source solutions

[2.2.3] Transforming

Transformation is, of course, the crucial act, managed by what is referred to as the “sales tunnel”, that is to say, the steps from the finalising the order to confirmation of payment. We refer to this as a “tunnel” because it is a process during which the client must not be distracted from the act of purchasing.

Here again, there are a certain number of best practices which encourage the customer to enter the sales tunnel. Here are a few:

• Add to basket. The “Add to basket” button must be clearly visible and accessible without having to scroll the page. Studies have shown that large buttons promote the act of purchasing.

• Basket visibility. The basket and its content must remain visible on all pages; the web-user must be able to access a summary of their basket content at any time.

• "Distance to promotion" information. If delivery is free on sales over a certain amount, it is a good idea to specify the amount the customer has left separating them from free delivery. Some sites even offer a selection of products in this price range which can be added to the basket in one click.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 14 E-Commerce, open source solutions

• The order process. This must be as short and clear as possible: forms should only include information this is absolutely necessary (this is not the place to ask customers about their purchasing habits), all text should be there to help the customer understand the process. Services3 are also available which only ask for the user’s telephone number and then use a directory to autofill fields. We can also promote “express” purchases on single articles.

• Identifiable purchase steps. All of the steps must be clearly identified and allow the web-user to return to the previous steps at any time (to change their contact details or payment method, for example).

• The tunnel effect. This is not the time to propose other articles which may distract the customer. A customer is just about to finalise the purchase, but is then tempted by another product, he clicks, views the product, then asks himself if it would be cheaper elsewhere, he opens a new window to compare and… may never come back!

Here are the standard purchasing steps on a trading website:

[2.2.4] Analysing

An online shop is constantly subjected to numerous adjustments resulting from improved knowledge of their customers’ practices.

There are a number of techniques for obtaining key information and improving performance, these include:

3 www.reversoform.com

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 15 E-Commerce, open source solutions

• Business Intelligence: which allows to build dynamic relations, to take a step back from statistics or on the contrary to take a deeper look at statistics in order to understand the detail (referred to as drill-down). The data used relates to traffic, sales, customers, and catalogues. We will return to statistical analysis on page 59 4.3.6 Statistics / reporting.

• User tests: the figures given are essential but it is also absolutely crucial to test the site using real users. This allows to measure the ease with which these users carry out simple tasks, to analyse errors, to measure the ease with which the user remembers the site after a period of non-use and finally, to get an idea of their “feeling” for the site. These axes of analysis lead to the enhancement of the layout, design or features of the site.

• A/B testing: while user tests are carried out using a sample group of people, A/B tests impact on all shop users. This involves proposing two versions of the same page or the same element –button, banner, image, etc.), in order to find out which provides the best results (a click, a form completed, an order placed).

[2.3] The trading site within the Information Systems.

[2.3.1] The peripheral areas of an e-commerce solution

No e-commerce solution is capable of covering all of the e-trader’s logistical, accounting, and marketing needs.

As such, an e-commerce solution is not:

• A logistics management tool: a solution is rarely capable of efficiently steering all of the logistical processes usually deployed by the ERP. As such we conclude that the management of suppliers, associated stock, re-provisioning, warehouses, and production scheduling, does not fall within the sphere of the e-commerce solution.

• CRM: While the E-Commerce tool may serve as a receptacle for a quantity of information which allows to qualify and know your customers (contact details, areas of interest, frequency and volume of purchase, etc.), it will only supply rough tools, which are insufficient to implement a real client relationship strategy. Pure-players aside, traders have other channels of sales apart from the web; it is usual practice to consolidate customer information in a global CRM database.

• It is recommended that those who wish to use email campaigns (newsletters, targeted promotions, etc.) delegate these operations to “e-mail marketing” tools. A number of specialised service providers are present in the market offering infrastructure which has been specially designed to dispatch several

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 16 E-Commerce, open source solutions

tens of thousands of mails in a just few hours, guaranteeing a deliverability rate, i.e. the assurance that your mails will not be identified as SPAM by the different ISPs and will arrive at their destination. Tools that are specifically focused on e-mailing must also manage target segmentation, the identification of erroneous email addresses, the monitoring of behaviour, etc. These features are never dealt with in such an in-depth manner by an e-commerce solution.

• An accounting management tool: While the e-commerce administration interface may allow small business e-traders to follow sales, this does not make it an accounting management tool with the capability of creating standardized accounts and details on legislation compliance.

• ACMS: Current Open Source tools do not provide content management features anything like those offered by specialised tools (CMS). Specialised content management tools manage news, management of content validation processes prior to publication, version monitoring, permissions etc.

We feel that it is pointless to take the afore-mentioned features into account when choosing an e-commerce solution and as such they will not figure in our study. There is no all-round solution, though a few do attempt to cover the areas mentioned above, they only do so very roughly. To conclude we feel that one is better off selecting a solution which excels in its domain and using specialized tools to cover the rest of the e-business chain.

[2.3.2] Interaction with the Information System

E-commerce solutions are rarely stand alone and are usually integrated into the Information System (I.S.). The catalogue often comes from an external source such as an ERP and we often transfer client information to a CRM system and sales information to an accounting management tool.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 17 E-Commerce, open source solutions

The main criterion to be taken into account when choosing a solution should not be its operational capacity in areas which are only partially related but its capacity to interface with external multi-function systems.

We will see how each solution performs here, later in this document.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 18 E-Commerce, open source solutions

[3] THE SELECTION OF TOOLS

[3.1] Preamble

We will not attempt to put forward an exhaustive inventory of e-commerce solutions. New solutions appear quite regularly on the market, with the promise of new features and ever-greater flexibility. In reality, most of these projects are non- starters for a number of reasons: no community develops around them, the choice of technologies is poor, there is functional weakness, etc.

As such, we have created a short-list of tools which we feel best represent the current Open Source market. We have based our selection on three main criteria:

• The functional depth of the tool (is it a state-of-the art tool, does it provide web 2.0 functionality, what is its capacity to interface with other solutions, etc.)

• The tools architecture and its technical qualities: the technical environment, how modular the tool is, the quality of development, load handling

• The durability of the tool (the size of the community, the number of contributions, editor presence, the network of professionals, etc.).

Most of the tools presented are specialised e-commerce solutions. We have, however, included the e-commerce extension of a well known Content Management tool: Drupal.

[3.2] OsCommerce

It is difficult not to mention OsCommerce when we are talking about Open Source solutions. This tool, which first appeared in March 2000, has rapidly become the tool of reference in e-commerce solutions; its editor was a self-acclaimed Open Source advocate at a time when Open Source was in its formative years.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 19 E-Commerce, open source solutions

Developed entirely in PHP/MySQL, OsCommerce owes a large part of its success to the absence of an Open Source alternative and the explosion of e-business at the beginning of the new millennium. Between 2000 and 2004 a great number of companies, from sole-traders to large multinationals, created their site based on OsCommerce. It remains to this day the most widely deployed webshop in the world.

Distributed under GPL, OsCommerce is a tool based entirely on a once very large and active community.

In recent years, this community has broken away from the development team to form various “forks”. A fork is a part of a community which detaches itself to build a new product based on the source code on the initial product. The most well known fork of OsCommerce is ZenCart.

Development of the solution has seriously slowed down ever since 2006. The aging code makes the application very difficult to maintain, the team attempted a total overhaul of the tool for version 3 (v3) which has been due to go on the market for a number of years now…

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 20 E-Commerce, open source solutions

The arrival of new players such as Prestashop and Magento has also contributed to the scattering of the OsCommerce community.

[3.3] Magento

An Open Source solution has rarely taken off as rapidly and noisily as Magento. This tool has generated a phenomenal buzz at international level right from the first beta versions in 2007, this allowed to federate an extremely active community in record time.

First distributed exclusively under OSL (Open Source Licence), Magento managed to gain a large share of the market right from its product launch in March 2008, attacking leading editor solutions head-on (Intershop, Microsoft Commerce Server, Websphere Commerce, ATG).

Distributed by the American editor Magento Inc. (formerly Varien), an agency previously specialising in OsCommerce integration, the solution is based on the Zend PHP framework and benefits from a large number of innovations in terms of collaborative functions.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 21 E-Commerce, open source solutions

Magento’s strength lies in its great modularity and its robustness. It was clearly conceived to carry ambitious and large scale trading sites.

Magento Inc. announced the launch of its Enterprise edition in April 2009. This edition, which incurs an annual fee, includes a support contract, integrates a certain number of additional features and addresses the needs of large companies.

Magento Inc. is due to offer a SaaS (Software as a Service) service by the end of 2010, wherein a trader can rent a Magento site, with modules that incur a fee, and an iPhone application.

[3.4] Prestashop

Released a few months after Magento (July 2008), Prestashop is a French product which rapidly won over a large number of users due to the simplicity of its set-up and its excellent responses to the needs of the French e-trader.

Published under OSL in the same manner as Magento, Prestashop is entirely developed in PHP/MySQL. It has an API which allows to adapt the tool to new needs.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 22 E-Commerce, open source solutions

This French editor solution (the fruit of what was initially a student project), has quickly built a solid reputation among French and Spanish communities and sees itself, naturally enough, as the worthy successor of OsCommerce.

Prestashop has also launched PrestaBox, a service in SaaS (Software as a Service) mode which offers e-traders a turnkey product which includes updates, configuration, module installations, and solution hosting.

[3.5] OfBiz

The prestigious Apache Foundation offer Apache OFBiz (Open for Business), an extremely ambitious tool which offers what is, no doubt, the largest spectrum of functionality in this study.

Distributed in 2001 under Apache 2.0 license (like all of the Foundations other projects), OFBiz is based on J2EE and several technical components developed by the Foundation.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 23 E-Commerce, open source solutions

As opposed to other tools in this comparative study, OFBiz is not a tool which specialises entirely on e-commerce. It also offers a full ERP with several well- identified components:

• Online Sales (the E-Commerce part of the tool)

• Customer Relationship Management - CRM

• Supply Chain Management - SCM

• Sales Management

• Point-of-sale Management – POS

• Etc.

The other distinctive feature of OFBiz is that it offers a framework approach and not an “off-the-shelf” ready-to-use tool approach. For this reason implementation calls for substantial investment, both to master the tool and to successfully create an operational site.

The (relatively confidential) OFBiz community is mainly made up of those on official distribution lists. There is no French community, that we know of, around OFBiz.

We also note that, like all products from the Apache Foundation, OFBiz does not offer editor support. Support is available from the community (using Apache exchange or monitoring tools) or under contract from an integration service provider.

[3.6] Ubercart

Ubercart is the e-commerce component of the Drupal content management tool. Initially conceived as a simple extension allowing basket management within Drupal, it has rapidly become a project in itself, perfectly interfaced with the CMS.

Available since June 2008 under Creative Commons "Share Alike" license, the tool has the peculiarity of being an extension of a content management tool.

Ubercart has the same qualities and failings as Drupal:

• An extremely active, qualified community,

• A tool which has been well thought-out technically speaking and is entirely interfaced with the rest of Drupal,

• A tool which is easy to use, but also greatly dependant on the other Drupal extensions

Installation can be a little arduous and its functionality is a little more limited than that of specialised e-commerce solutions.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 24 E-Commerce, open source solutions

[3.7] Others

[3.7.1] Thelia, Plici

Thelia and Plici are two PHP Open Source solutions which have a small active community and a number of important deployments.

The functional scope of these solutions is, nevertheless, more limited that that of other solutions presented herein. As such these tools are of more interest to very small E-Traders.

Furthermore, their community is purely French-speaking-French which is a worry as regards to the durability of the solutions.

[3.7.2] Konakart

Konakart was conceived in an effort to provide a solution comparable to OsCommerce but in a J2EE environment.

Released in 2007 under EPL (Eclipse Public License), the tool uses OsCommerce reasoning and adds the excellent integration possibilities offered by the J2EE environment.

Unfortunately the community is quite confidential. This is no doubt due to the solution’s hazy economic model (one has to search to find the application’s source, which is not entirely Open Source) and a functionality which is, despite everything, still weak and not very ergonomic.

We must mention that Konkart has a Community edition, and an Enterprise edition which integrates a number of additional features such as multi-shop management & Lucene integration.

The editor offers two types of support contracts, one for each product edition, something which is rare in this sector.

[3.7.3] RBS Change

The Open Source model is very attractive to software editors. RBS is among those who turned to this model, delivering the Change CMS and E-Commerce applications under Affero GPL v3 licence, in February 2010.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 25 E-Commerce, open source solutions

The fruit of almost 5 years of development and over 100 projects, this solution is very promising both from a technical and functional point of view. Here are some of the aspects which differentiate this solution from its competitors:

• An entirely integrated and coupled CMS and e-commerce tool, with no functional compromises

• Back office management using XUL technology: the ergonomic and graphic rendering of all buttons and back office elements is carried out by Firefox and integrates perfectly with the operating system (with drag-drop capabilities, a uniform colour code, etc.), as opposed to other solutions presented which do not have a 100% HTML back office.

• A PHP5 framework developed by the editor and an advanced development environment

• An enterprise edition offering advanced functions (site preview at a given date, automatic management of promotions, etc.).

As a result of its sudden turn to Open Source, the RBS Change community is small, and as such the solution does not yet benefit from this key advantage which guarantees the durability of a solution.

[3.7.4] eZ Publish / Typo3 / Joomla

We decided to include Ubercart in our selection, because, of all the CMSs offering e- commerce modules this is the most accomplished.

However, most Open Source CMSs on the market offer e-commerce modules:

• eZ publish offers the eZ webshop module

• Typo3 offers the tt-products extension

• Joomla! offers the VirtueMart module

A first glance, the management of a product catalogue and its online presentation falls within the area of content management. A good CMS tool could very well be used to present a catalogue, and allow satisfactory navigation. Webshop extensions can be added to allow basket and payment management. But in actual fact, the capabilities of this system fall very far short of those offered by a state-of-the-art e- commerce platform.

Overall, these extensions are of a similar standard. They may suit the needs of companies which already have their company site on one of these CMS and wish to just add a little online catalogue, without having any real E-Trading ambitions.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 26 E-Commerce, open source solutions

[4] FUNCTIONALITY

[4.1] Catalogue

[4.1.1] Graphic and ergonomic customisation

A trading site obviously creates its identity through its "look & feel". Even if most tools on the market offer an elegant appearance by default (some more than others), it is important to be able to control and modify the ergonomics and graphic layout of your shop pages in order to give your shop its own identity.

a) Configuration and templates

There are two main ways to customize a site: by configuration and templating.

Configuration We talk of configuration when something can be customized visually, without having to do anything with the source code. This is generally first level customization: the shop logo, title, and description, the layout of certain content blocks, the selection of product details to be displayed etc.

This customization is carried out directly via the administration interface and does not require any technical expertise.

Templates As with CMSs, most recent E-Commerce tools make a clear distinction between the content and the structure.

This signifies that the content, i.e. mainly the products which make up the catalogue, are managed without having to worry about the technical entries for these products on source pages.

The tool is used to format this content via a set of templates. Templates define page settings, the layout of different elements, and the choice of the graphic charter (fonts, colours, aligning, frames, ...) etc. If tomorrow you whish to change the appearance of your shop, you just have to modify the templates, without having to touch the catalogue, which makes the process a lot less labour-intensive.

A set of templates is often broken into two main entities:

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 27 E-Commerce, open source solutions

• Template files which define the structure of your pages and the composition of different content blocks. For example, determining a product page (the position of the image, the area reserved for crossed sales, etc.).

• These templates are generally HTML files, in which specific tags are inserted; these can be basic to complex depending on the tool. These tags supply indications as to the content that should be inserted in a given position on the HTML page.

• Style sheets (CSS files). These define the graphic presentation of the various different page content blocks.

The creation and modification of a set of templates requires certain technical expertise, at the very least knowledge of HTML and CSS.

An e-commerce tool allows you to associate a set of templates with your shop. The most advanced tools allow you to go a little further:

• By planning template set changes based on configurable time periods (to modify your graphics for the Christmas period, for example).

• By associating several sets of templates with the same boutique in order to offer several different layouts depending on the customer profile or the media used (mobile access for example).

OsCommerce is particularly weak in this area: it simply does not offer any real template mechanism. As soon as one attempts to move outside the standard “3 column” default layout, modifications must be made on the core PHP files directly. There is no need to point out that this type of manipulation can be terribly damaging to the maintainability of the solution.

Magento offers a template mechanism which might seem a bit complicated at the beginning, but allows excellent flexibility. It is based on the Zend Framework MVC model and breaks down pages into functional blocks (main menu, search block, best-selling block, etc.) These blocks are then assembled using XML files. It is also worth mentioning that Magento offers style change planning and the association of several template sets with a shop.

Prestashop & OFBiz each have a standardised template engine: Smarty for Prestashop (used by Joomla among others) and Freemarker for OFBiz. These allow great formatting flexibility and are easy enough to work with.

Ubercart does not offer any particular template language. Screen formatting is defined directly at PHP file level. As such good technical knowledge is required to use the tool, making changes more difficult.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 28 E-Commerce, open source solutions

b) Rich Interface Application (RIA)

Some sectors, such as the luxury sector, wish to offer customers a unique user experience to further enhance the brand’s identity and as such propose a more unusual system of navigation.

Rich Internet Application (RIA) can be put into place using technologies such as Flash, Flex or Silverlight.

Longchamp online shop

This is a real application which is executed on the customers system, within the navigator, and which communicates with the web site, and so with the e-commerce tool.

These technologies can be relatively complicated to implement, depending on the tool, and depending on the size of the site RIA. If it involves only occasional banners or little configurators within existing templates, the operation is less complex than if implementing a frontal entirely in Flash or Flex.

As the template mechanism is short-circuited, the tool needs an interface (API) which allows the “customer” application to obtain information managed by the tool (catalogue, prices, etc).

Magento & OFBiz allow relatively easy RIA integration and do not require core application intervention as their 3-tier architecture allows to separate the presentation from content. In the case of Magento, we can, for example, use the Zend framework to build Flex applications on AMF rather than PHP.

OsCommerce, Prestashop and Ubercart on the other hand, require more complex modifications in order to allow to connect a rich interface over the applicative layer. While not impossible this does require a lot of work.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 29 E-Commerce, open source solutions

[4.1.2] Multi-shop

Multi-shop management refers to the e-commerce platform’s capacity to manage several shops which may or may not share the client repository, catalogue, pricing offers and graphic layout.

Multi-shop management is an advanced feature not yet offered by all solutions. The complexity of this management depends entirely on the scope of information shared between shops.

Below we take a look at cases where a multi-shop function is most commonly implemented.

a) Cas e no. 1 – Multi-country sites

One of the most common needs is to be able to manage all of the different country shops from the same platform. Managing a multi-language trading site does not consist in merely translating the catalogue content. It also necessitates:

• Perfect management of multi-currency payments

• Managing the tax for each target country

• Connecting to the various local logistics solutions (transporters, local warehouses, etc.)

• Being able to maintain the possibility of selling a limited selection of catalogue products in certain countries.

• Compliance with local regulations

• In a more general way, taking local e-commerce customs into account (for example in Japan goods are generally delivered within 24hrs max.)

b) Cas e no. 2 – Site factories

Clients often wish to be able to generate a new shop on demand, via the platform, with its own catalogue, customers and graphic layout.

In this case, there is obviously no cross-over between the data generated by the different shops, each with their own local administrator who has no knowledge of or access to the other shops.

This method is used by companies that wish to offer an online sales service in hosted mode, in Saas mode, as with PowerBoutique4.

4www.powerboutique.com/

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 30 E-Commerce, open source solutions

c) Cas e no. 3 – Multi-target sites

Another scenario is when a trader wishes to use various sections of the catalogue and/or varied pricing on “private” sites.

This is particularly common in the B2B context where companies often negotiate preferential prices and wish to make a private shop available to the other party.

Elements of the catalogue are selected for the new shop, the associated prices are entered and customer accounts are created.

d) Cas e 4 - Multi-brand sites

The final scenario is when a company has several brands and wishes to share a certain number of settings between the various different shops.

The catalogues and the graphic layouts of sites are different but the customer repository can be shared in order to allow customers to benefit from the latest special offers applicable to all of the company shops irrespective of the brand.

No matter what the reason for implementing a multi-shop site, the tool must allow sufficient catalogue management granularity to allow to adapt the information displayed and the sales processes implemented, based on the target, country, and uses.

Prestashop & Ubercart do not offer multi-shop management. They do, however, offer functional alternatives for the management of a multi-language shop (this does not allow management of different catalogues for different languages).

OsCommerce has several community extensions of varying quality, to implement the management of cases 1 & 2 above.

Magento & OFBiz both perfectly manage all cases. However, Magento only offers the ‘management of local administrators’ feature with its Enterprise edition.

[4.1.3] Categorisation

A catalogue is generally organized based on tree-structure which corresponds to logical classifying of products: e.g. /photos/digitalscameras/under2megapixels. Site navigation reflects this product classification.

In their search, customers would not have all have the same logic, or the same priorities. Some will search for a camera by the number of pixels, others by price, and others by brand, etc.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 31 E-Commerce, open source solutions

Therefore it is important to be able to define multiple organisations of product classification. These are referred to as category trees, and a given product can be arranged in several kernels on different category trees.

This classification can be explicit: the administrator defines the category tree- structures and arranges a given product based on the different tree-structures.

Classification can also be automatic, based on certain product characteristics. Typically the “Under €200” category is a dynamic category, in which a product may or may not appear depending on its current price. This is referred to as “Facet navigation” (see pg 32) where in this example the facet is the price.

The example above presents the possible categorisation of products of a shop specialising in pet food.

The category break down does not necessarily have to correspond to the navigation menu displayed to the web-user. Some categories may simply serve for internal use (to classify products which are not yet available for sale, for example). In general, categorisation is a form of metadata associated with “product” content, which can be used for management or navigation purposes or merely as search criteria,

All of the tools in this study offer deep unlimited category tree-structure management with multiple positioning.

Magento is the only solution to offer category permissions management (in its Enterprise edition), this allows to give or withhold access to a specific category from a group of customers.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 32 E-Commerce, open source solutions

[4.1.4] Types of products

a) Configurable and customisable products

Certain products can be configured, that is to say that they offer options which the customer can – and must – choose from when placing the order.

We talk of models and articles. For example, a t-shirt is a model, the article ordered is a t-shirt of a certain size and colour.

In general, we distinguish between a model and an article by asking the following questions:

• What is the product that I hold in stock? The answer corresponds to the article. This is also referred to as a SKU (Stock Keeping Unit).

• What is the commercial offer that I make to a customer? This is the model.

As such we can label a product “long-sleeved t-shirt, size L, blue” (in this case the model=the article), or “long sleeved t-shirt”, (size and colour to be configured), or even “t-shirt” (sleeve length, size and colour to be configured). In this case the SKU is the first one where sleeve length, size and colour are specified.

Here is an example of a configurable product

This notion of the distinction between model and article is vital, as while the model may carry information on the product’s basic features (description, place in categories), it is the article which carries stock information (for example a t-shirt may well be available in Large but not Medium), images and price.

If our t-shirt exists in 3 different colours and 5 different sizes, then that gives us 15 different catalogue articles or 15 SKU, (where each colour is available in each size).

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 33 E-Commerce, open source solutions

In some cases, this configuration may have an impact on prices. For example, size XXL may incur a €2 surcharge.

In the case of customisable products (where the user can upload a photo to be transferred on to a t-shirt, for example), the principle vis-à-vis the customer remains the same, even though the underlying notion is not identical: as the client will purchase the same article (SKU) which will have an impact on stock, irrespective of the customisation made.

OsCommerce offers management for this type of product but it is pretty labour- intensive. It does allow nonetheless, to define as many configurable attributes as we wish and we can also specify whether the choice of this attribute incurs a surcharge. Natively, the tool does not make a real distinction between model and article. It manages the level of stock by model. Extensions do however allow to enhance this functionality.

Magento offers excellent management of configurable and customisable products. During the definition of product attributes, we specify whether or not each is configurable. When a product is configurable, Magento automatically generates as many articles (SKUs) as variations. Minor problem, Magento does not natively associate each of these variations with a separate image.

Prestashop & OFBiz closely manage configurable products. Each article has its own SKU, level of stock, price and weight. It is also worth noting that it is possible to associate a different image with each variation.

Ubercart offers a more concise management of configurable products. The new SKU must be manually specified for each variation as must be the level of associated stock. There is no management of images associated with each variation.

b) Product packs

We talk of “bundles” or “product packs” hen we describe a number of articles grouped under one price. There are two types of bundles:

• Fixed bundles: A bundle containing several different articles for a given price, the quantities and prices are fixed by the administrator.

• Dynamic bundles: The web-user can specify the desired quantity of each article to make up the bundle. For example, in the case of living-room furniture, the web-user can indicate the number of armchairs, foot rests and sofas that they require. The price is then calculated dynamically based on the composition of the bundle.

The option is available to decide whether or not the articles which make up a bundle can be sold separately.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 34 E-Commerce, open source solutions

OsCommerce does not natively offer bundle management. An extension does allow this function, nonetheless. Remember that OsCommerce extensions sometimes have the annoying habit of being incompatible with each other. To be handled with care…

Magento offers the “dynamic” version of this function under the title of “grouped products” and the “fixed” version under the title of “bundles”. Only articles as opposed to models can be included in a pack, in other words configurable products cannot be incorporated into a bundle.

Prestashop offers the “fixed” version under the title of “packs”, with the same restriction as Magento as regards configurable products.

Ubercart deserves a special mention here, as it offers both pack variations and supports configurable products within its packs.

OFBiz offers full management of both fixed and dynamic packs.

The offer presented to the customer is sometimes complicated and made up of a number of different articles which have to be selected in order to make up the final product. This is the case for example for the purchase of a computer: it is made up of a mother board, screen, memory, processor, etc. which the client can select from among several models.

The point is to present all of the different possible product associations, on one screen.

Controls can be set up to assist the customer, for example in verifying the compatibility of the elements that they have selected.

OsCommerce, Ubercart & Prestashop do not offer this feature.

Magento & OFBiz offer this feature, without offering the compatibility control.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 35 E-Commerce, open source solutions

c) Immaterial products

More and more immaterial products are available online every day. In 2009, 47% of web-users5 had purchased one or more of the following types of products:

• Downloadable media files (films, music, books, reviews, photographs).

This raises the issue of distribution control, copyrights and protection laws. The use of techniques known as “DRM” (Digital Rights Management) puts a system of digital watermarking, functional locking (no search function in PDF), and restriction of the software used to open the file.

• Services (bank account, insurance, etc.)

The conditions regarding services sold are often complex and require a lot of information from the customer: for example, when signing up car insurance one must enter their name, age, address, car brand, model, year of manufacture etc.

Payment is rarely one-off but more often demands a recurrence of operations, and as such greater management. The purchase is therefore closer to the signing of a contract than a simple action of payment.

• Reservables (cinema tickets, train tickets, concert tickets, flights, etc.).

The main issue with these products concerns “stock”. With reservables, it is often numbered places which are sold, each with its own characteristics: for example, train tickets can be considered as 485 separate products, each corresponding to a different seat on the train.

Nonetheless, the common feature of these products is that they do not generally trigger logistic flows.

None of the products studied offers simple management of reservable products.

UberCart, OsCommerce &Prestashop only deal with downloadable products.

OFBiz & Magento allow to model simple virtual products (services) and downloadable products. Magento also deals with the issue of limited and secure downloading of digital resources.

5 Source : Baromètre Fevad – Médiamétrie/NetRatings mai 2009

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 36 E-Commerce, open source solutions

[4.1.5] Product attributes and classification

a) Attribut es

A product is described by features, that are also referred to as attributes. There are different types of attributes: text, images, numbers, etc. We put aside price information, an attribute which is dealt with separately later in this White Paper.

The attributes which describe a product can be: a simple text field, enriched text (i.e. text which includes formatting: bold, italics, font size, etc.), an image, an attachment (e.g. PDF), a numeric value, date, etc.

It is often a good idea to allow the attribute value to be selected in a list, as this facilitates the use of data, searches, and internationalisation. For example: “hands- free function: yes/no”, or “dual-band/tri-band/quad-band frequency”.

For example, the following fields could be used to describe a television:

Field title Field type Value Product name Text (100 characters) Sony KDL-32S5500 Brand Drop-down menu Sony Product description Rich text Lorem ipsum… Screen size Number (in cm) 81 cm Contrast Text (100 characters) Dynamic 25000:1 HDMI entries Number 3 Frequency Drop-down list 100 Hz HD compatibility Drop-down list Full HD

It can be tempting to put away with these attributes and just compile all of the product’s features in one large text field which will then be integrated into the product sheet. While this is sometimes unavoidable, for example because the data emanates from an ERP that doesn’t offer this kind of data structuring, this should be avoided as much as possible.

Firstly, each attribute is a potential search criterion a customer might use. E.g. search by brand, processing power, memory capacity, etc. By aggregation all of these criteria in one single text field, it is no longer possible to target these searches.

Secondly, in the case of technical products, these criteria can be used in comparative charts. Product comparative charts remain an advanced feature but one that the

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 37 E-Commerce, open source solutions customer expects to see. They allow the web-user to select several catalogue products and create a matrix comparing product features. To go back to our television example, this allows the customer to compare product features on one single page – rather than having to go over and over between different product pages.

Finally, correctly structured attributes can be presented on site screens in a uniform manner (same place, same format), making it easier for the web-user, browsing similar products, to read and absorb information. This separation of content and structure is another element which is essential for catalogue internationalisation.

OsCommerce offers relatively simple attribute management. A new attribute is defined in the back office to which we associate a list of possible values. The tool does not offer standard types of attributes (number type, date type, free text type attributes etc.). We note nonetheless that a number of extensions allow to enrich the attribute manipulation mechanism. The “Option Type” extension is definitely the most stable and most advanced.

Prestashop, OFBiz & Ubercart offer more precise management of product features. While they may not provide standard types of attributes, they do allow to choose between attributes to be entered in freely (text fields) and list type attributes (a list of values predefined in the administration interface – for example the type of HD compatibility of a screen: none/HDReady/FullHD).

Magento offers extensive, state-of-the-art attribute management. All attributes are categorized (text field, rich text field, drop-down menu, date, image etc.). For each attribute, one can define via the administration interface, whether data entry is obligatory or not, whether it should be taken into consideration be the search engine, whether if can be used as sort criteria, or whether it should appear in a product comparison result.

b) Product families

Certain attributes may or may not be relevant, depending on the nature of the product. While the type of grape used is of interest when purchasing wine, it is obviously not an attribute one would use when describing an MP3 player.

When we manage a range of products, it is important to be able to define product families which can be linked to the lists of attributes shared by these products.

So when we create a “bottle of wine” type product for example, the attributes to be entered are defined in relation to the product family i.e. “bottle of wine”: vineyard, year, grape type, alcohol strength, etc.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 38 E-Commerce, open source solutions

OsCommerce & Prestashop do not manage attribute families. As such, there is no way to associate a combination of attributes with a family of products. The input mask is the same for all products.

Magento, Ubercart & OFBiz do offer this categorisation. Magento uses the notion of “attribute groups”. The first step when creating a product is to select an “attribute group” which will then impact on the input mask.

c) Facet n avigation

Attributes can also be subject to possible automatic categorisation: instead of allocating a product to a category tree-structure, we can decide to allocate a product to a category automatically, on the basis of a given attribute. This is called facet navigation.

For example, in the television section of my shop, I will allow customers to filter products so that only Sony televisions with a frequency of over 100Hz are displayed. These filters can obviously be combined.

Here is an example of facet navigation in the television section of a sample shop

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 39 E-Commerce, open source solutions

Magento is the only solution that offers real facet navigation. When defining new attributes, we specify if these can be used as facets of navigation. This filtering is done in an intelligent way: the tool will not allow to filter the catalogue using an attribute if there is no article which corresponds to this filter combination (for example if there is no article that costs between €50 and €100 then this price range will not appear as a possible search filter).

[4.1.6] Search

The search engine is a pivotal element of a commercial site. A large number of web- users will directly use this search engine to find the product they are looking for, rather than navigating the catalogue tree-structure. As such, the search tool must be pertinent, user-friendly and reliable. A neologism has even appeared to define the art of making search and navigation a force to be reckoned with: searchandizing (i.e. a combination of search and merchandizing). This is basically the equivalent of upselling or cross-selling.

a) Full-text or structured search?

There are two possible types of searches:

A structured search: A user must be able to search for a product directly using the product reference or by searching one of its attributes. Say for example, I am looking for The Hitchhikers Guide to the Galaxy by Douglas Adams (a science fiction book published by Pan Macmillan). I will complete a search form selecting “science fiction” in the drop-down menu “genre”, “Pan Macmillan” in the drop-down menu “publisher”, and “paperback” in the drop-down menu “version”.

A full-text search: The search must also be able to be carried out on all fields together with the associated content. If you attach technical notices in PDF format to your product sheets, you may wish for this content to be searchable.

We feel that in today’s world one should no longer have to choose between a full-text and structured search: commercial sites should offer both!

OsCommerce natively offer a relatively basic full-text search feature. It is ill-adapted to large catalogues (with no indexing and search carried out directly on the database). Its structured search only deals with default fields and not the attributes added manually.

Magento, Ubercart & Prestashop good full-text and structured search features. We do note, however, that these searches do not deal with the content of attached product documents (PDF, Word etc.).

OFBiz & Magento Enterprise directly integrate the search and indexing engine, Lucene. Lucene is an extremely reliable solution, which is state-of-the-art in terms of full-text and structured searches, giving excellent results in both.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 40 E-Commerce, open source solutions

b) The relevance of results

Optimising the relevance of the results given by your search engine is an ongoing-job which will evolve as your site does. Here we present a number of techniques and hints which help improve the relevance of results. Please note that only external search engines integrate all of these functions:

Syntactic analysis: The engine eliminates irrelevant words, often indefinite articles or prepositions such as and, the, a, some, to etc.It can also find a word no matter what its declension (plural, conjugated, etc) or manage spelling corrections (like Google’s "Did you mean" feature).These mechanisms can be very simple (deletion of irrelevant words) or very complex (automatic correction based on algorithms cutting search terms into lemmas).

Statistical weighting: Statistical weighting is the capacity of associating a score with each search result in order to define the order that results are displayed in. This score is the weighted sum of a number of search criteria: does the search term appear in the product title? Is the corresponding product new? Is the corresponding product on my best-sellers list?, etc. This group of criteria is not fixed and is unique to the profession of each E- Trader (for example a bookshop will emphasise the relevance of the search term which corresponds to the name of an Author).

Semantic analysis: Semantic search is currently the most difficult to implement. We talk of semantic search when the operation is carried out from an analysis of the sense of the query, that is to say by searching words which have the same or a close meaning. Generally, this involves use of a semantic dictionary. Managing synonyms that are unique to the given business profession is relatively simple, but managing semantics in general requires use of a special tool.

For example if we search the term “layette”, we can extend the search to “baby clothes”.

We must say that no solution natively offer semantics search. To find this type of functionality, it is necessary to compliment an e-commerce tool with a proprietary solution (we give some examples later).

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 41 E-Commerce, open source solutions

OsCommerce, Magento, Prestashop & Ubercart offer minimalist syntactic search (deletion of irrelevant words). Neither search statistics nor spelling corrections (natively in any case). To obtain conclusive results, one must use an external solution, as Smile did for the www.furet.com website using the SolR/Lucene engine to index over 1.4 million products.

OFBiz, offers extremely efficient statistic searches thanks Lucene integration, and also includes a “Did you mean” extension to manage spelling corrections.

c) Ergonomics

In terms of ergonomics, searches have been greatly modernised with the arrival of new technologies such as Ajax.

We are thinking of the auto-completion mechanism in particular, which suggests common search terms to the web-user as they are entering a word or phrase.

An example of auto-completion on the Amazon.fr site

Other practises also exist such as:

• The possibility of filtering results using a number of criteria (I want to remove all books which are not available in paperback format from my list).

• Modifying the order in which results are shown (sort by author, price, etc.).

• The "quick view" notion which allows the customer to temporarily view product details on the same page, rather than having to click and go to another page.

OsCommerce are happy once again to provide the minimum: one can sort results based on fixed criteria: price and product name. Extensions enhance this functionality a little.

Prestashop & Ubercart offer auto-completion and sort by criteria, these criteria may have one or more attributes.

Magento natively manages auto-completion, sort by criteria, and the dynamic filtering of results. A “quick view” extension is also available.

OFBiz manages auto-completion but this necessitates a great deal of configuration and development work to allow the implementation of filters and relevant sorting.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 42 E-Commerce, open source solutions

d) Performances

Performance is obviously key, growing in importance with the size of the catalogue. It is often more difficult to ensure good response times for a catalogue which consists of several hundreds of thousands of references (where a customer begins to find the search long if loading takes anything over 2 seconds).

OsCommerce rapidly reaches its limits in regards to catalogues with thousands of references, by virtue of its search directly in the database.

Ubercart, Prestashop and Magento all give excellent results, (Prestashop in particular), with efficient index management. We can well imagine these tools managing catalogues consisting of tens of thousands of references, without any problem.

OFBiz is without doubt the best equipped to meet large solicitations, as Lucene, when well-configured, can deliver responses, on catalogues consisting of over a million references, in under a second, without any problem.

e) I ntegrating an external engine

If your catalogue is quite large or if you have strong needs in terms of syntactical and semantic searches, the possibilities offered natively by the tools presented will not be sufficient.

As such, it is advisable to compliment your solution with an external search and indexing engine. All of the tools presented here, can be used in conjunction with an external engine, with varied configuration requirements or development, depending on the tool.

If semantic search is not of vital importance, the best search solution on the market is the Open Source solution, Lucene. We often use the product SolR, which is non- other than Lucene integrated in the form of a server, i.e. responding to queries, and not to API calls.

Otherwise, one should take a look at commercial solutions such as Sinequa, Exalead, Antidot, or Celebros (this last is widely-used in area of e-commerce).

[4.1.7] Up-selling / cross-selling

a) Cross-selling

Cross-selling is associating one product with another complimentary product to encourage the customer to buy more. For example, one could cross-sell a camera with a camera case.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 43 E-Commerce, open source solutions

The association is often done manually directly by the webmaster who selects the products that he wishes to associate.

b) Up-selling

Up-selling is based on the same concept as cross-selling, but with up-selling we recommend to the customer, a range of products which is one standard up from the product they are currently viewing.

Here again, the association is generally made manually by the webmaster.

c) Automatic deductions

Some sites also offer information such as "Customers who purchased this article also purchased…”. It turns out that this is often just a cross-sell manually selected by the webmaster which does not have any relation to the number or type of purchases other customers have made.

There exist, nonetheless, several practices which allow to give automatic and semi- automatic information on articles associated with your sales:

• Some modules really do base the information they give on sales. These processes necessitate extensive analysis of your catalogue and sales. Most of these modules are external and incur a fee.

• With some well-thought out algorithms, we can also automatically return a random selection of products which belong to the same category as the selected product or display the “best-sellers” in this category. There are many different possibilities.

OsCommerce does not natively offer any cross-selling or up-selling feature. Extensions can be employed, nonetheless.

Ubercart, OFBiz & Prestashop offer one single level of association (called "Accessories" in Prestashop). As such it is possible to EITHER cross-sell OR up-sell.

Magento offer three levels of association: up-selling, cross-selling and similar products. Product which belong to the “similar products” category are presented not on the product page but on the “my basket” page. In Magento Enterprise, product associations can be made automatically using rules (for example: associate all of the red products of two given categories, with each other).

[4.1.8] SEO

SEO (or Search Engine Optimisation) is to optimise the natural indexing of a site.

In concrete terms, the tool can be used for SEO in different ways:

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 44 E-Commerce, open source solutions

• Metadata management (presented in the HTML page header) associated with each product or category.

• URL re-writing management for each product/category.

• Automatic generation of an intelligible site map for customers use and a technical site map for use by indexers of Google, Yahoo and other search engines.

• Generation of a page referencing the keywords the most frequently searched on your site.

• Work must be carried out on the stability of URLs – in particular in the case of platform migration or a regrouping of all old URLs to enter your site, in order to implement permanent redirection to new addresses.

• Finally, irrespective of the tool used, a large part of indexing involves HTML organisation i.e. templates.

OsCommerce offers practically no SEO functionality: no URL rewriting, no site map generation. It does manage metadata, however and extensions can be used here again. We recommend the Ultimate SEO extension in particular, which greatly enhances OsCommerce functionalities.

Ubercart, OFBiz, Prestashop & Magento all manage URL rewriting and site map generation cleanly. All four are of a similar standard.

Magento offers, on top of URL rewriting, the capability of controlling all automatically generated URLs. It also manages the features mentioned above (metadata, site maps, and key-word clouds).

[4.1.9] Collaborative functions

We include in the collaborative functions, all of the Web 2.0 tools which encourage interaction with web-users. We often talk of UGC (User Generated Content), which allows you to give your commercial site a more interactive dimension.

Here are the most common functions.

a) Rating / Comments

It is becoming more and more common for web-users to rate or comment on a product. The concept is simple: giving your customers the possibility of submitting feedback which can be read by other web-users.

This feedback can be in the form of a comment or rating based on different criteria (price, quality, design, etc.).

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 45 E-Commerce, open source solutions

These comments and ratings are generally moderated, i.e. subject to validation by a moderator before appearing on a site for general view.

Comment and rating management on the website www.fnac.com

While this practise may be appealing on paper, it does have a down-side:

• What image does a product give when it has no customer comment or rating? If it hasn’t been commented on then the assumption is that it has not proven to be appealing to others, making it less attractive to the current customer…

• How do you generate enough traffic to provide a large volume of comments? In general, the “comments” feature is useful for traders who have a large audience and customer database.

• What do you do with negative comments? Do you publish them or filter them?

• Who are you going to delegate the job of moderator to? This can be an important job.

On this final point, specialised service providers now offer services to “liven up” your catalogue by creating fictive customer comments to feed your site.

OsCommerce do not natively offer the rating mechanism.

Ubercart, Prestashop & Magento offer comment and rating management functionality. In Magento you can even associate a family of products with a list of rating criteria, the solution will then calculate the average and add the result to the product sheet.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 46 E-Commerce, open source solutions

b) Wishlist

The “wishlist” notion was launched by Amazon. This allows the customer to create a list of products they like and to send this list to their friends and family, around Christmas or their birthday for example!

The wishlist can generally be transformed into a basket in one click.

Magento & OFBiz natively offer this feature. With Magento, customers are limited to one wishlist each.

Ubercart & Prestashop have an extension which enables wishlist management.

c) Keyword clouds

Another emerging notion in the e-commerce sector is that of clouds of keywords generated by your customers. The idea is that, as you cannot anticipate all of the associations that are possible between your products and the keywords that your customers/potential customers will use to search your site, you ask your site-users to make the associations themselves!

The concept uses the same moderator principle as comments, and allows to significantly improve your referencing, when the feature is activated, by creating lists of products classified based on the needs of your customers.

Magento is the only solution to currently offer this feature. However, the keyword cloud is not contextualised to a category but common to the whole site.

d) Product comparison

When products have several different features (technical products, tourist trips, property, etc.), it is difficult for the web-user to compare them, having to go over and back between product pages.

The product comparison feature allows customers to simply select several products, which will then be displayed on a single page so that you can compare features.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 47 E-Commerce, open source solutions

Comparing three different televisions

Magento & OFBiz offers a product comparison feature. Magento allows to specify which product attributes will appear in the comparative chart.

OsCommerce, Prestashop & Ubercart do not offer this feature. Prestashop has included it in their roadmap, however.

[4.2] Sales tunnel

[4.2.1] Basket

The basket is the temporary warehouse which serves to store the customer’s selected articles before they proceed to pay.

The basket icon is visible on all pages and a click allows the customer to view full content, to modify quantities, delete items, and place the order.

All of the E-Commerce tools obviously offer basket management.

There are, however, slight differences from one solution to another.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 48 E-Commerce, open source solutions

a) Configurable baskets and products

Several e-commerce products do not allow customers to modify the product once it has been placed in the basket.

The difficulty with modification is entirely linked to the distinction that we made earlier between the model and article. When you add a size large, long-sleeved, red, t-shirt to your basket, it is an article that you are adding and not a model. Each article has a unique reference (SKU).

So, we have determined that the basket contains articles. If you decide that you want your t-shirt in a different size, you will have to delete the article from your basket and add the new article in the correct size, even if the model is exactly the same.

None of the solutions presented herein currently allow this management of configurable baskets and products. Magento have included this feature in their roadmap however.

b) Sales incentives

In the same way as cross-selling and up-selling, some sites offer a new selection of complimentary products directly on the “your basket” page.

This is the last place where you can offer your customers the possibility of adding to their basket before they proceed to pay, it is basically the equivalent of the snack display you find at the till in your local grocery shop.

The E-Trader will generally decide to use one of the following methods:

• Offer a fixed selection of leading or special offer products, irrespective of the content of your basket, or

• Offer a selection of products entirely based on the content of your basket where, as with cross-selling, the products proposed compliment the products already in the basket.

The French site LaRedoute.fr offers a “you may also like” feature encouraging customers to add extra products to their basket.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 49 E-Commerce, open source solutions

Magento is the only solution to natively offer the implementation of an “intelligent” selection based on basket content. It is worth noting, that with a little templating, all of the solutions can incorporate the configurable “fixed-selection” option, using a CMS module for example.

c) Distance to promotion

As presented in fundamental concepts, the “distance to promotion” feature is another way of increasing the average amount spent in your shop. It basically consists in indicating, with each product they add to their basket, how much more the customer needs to spend in order to avail of the promotional offer (often free delivery on all order over €£$X for example.).

Some commercial sites even go as far as to directly suggest a selection of products which bring your basket total up to the amount needed to benefit from the promotional offer.

Here is an example of this type of incentive (www.furet.com)

Prestashop is the only solution which natively offers “distance to promotion” display for free delivery. The other tools require a little development in order to be able to offer this function.

d) Basket conservation

What happens to the basket if the user doesn’t proceed to pay?

If a technical problem causes the navigator to close, you may want to retain basket content for the user’s next visit.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 50 E-Commerce, open source solutions

Some sites even send the customer email reminders when they haven’t completed their purchase.

OsCommerce only conserves the basket of identified users (i.e. those who have a site account).

Magento, Prestashop, Ubercart & OfBiz conserve identified customer and anonymous user (using cookies) baskets for a configurable period of time. Magento Enterprise can even be configured to send automatic email reminders.

e) Quick order

A ‘quick order’ form can be very useful for customers who know the article reference (where they have a paper catalogue, fro example). This allows the customer to enter a list of references and then proceed to pay.

La Redoute offers quick order services

OFBiz is the only solution to natively offer this feature.

Magento offers this feature via a community extension.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 51 E-Commerce, open source solutions

[4.2.2] Delivery

a) Calculating delivery fees

Delivery fees are calculated based on a number of elements:

• The weight/size of the order

• The number of packages to be sent

• The destination

• The basket total (delivery is often free on orders over a certain amount)

• The type of delivery requested (same-day, express, regular, etc.)

There is no single rule for calculating delivery fees. The fee is generally linked to the transporter (UPS, DHL, Royal mail, etc.) used.

The most common way of calculating delivery fees consists in presenting the fees for each transporter in matrix format and associating a weight with a destination (country or region).

TRANSP 1 France Spain Italy UK

0 – 5kg €5,00 €6,50 €7,00 €8,00

5 – 10kg €7,00 €8,00 €9,00 €10,00

10 – 20kg €9,00 €10,00 €11,00 €12,50

>20kg €14,50 €17,00 €17,50 €19,00

In practice, the trader applies a fixed delivery charge to a given zone (the U.K. for example), irrespective of the basket content and charges variable rates on deliveries to areas outside of this region.

Some sites allow the customer to separate their order into different deliveries (mainly due to differences in the availability of items ordered). The trader must then make provision for the application of one/several delivery fee(s) for this type of order.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 52 E-Commerce, open source solutions

OsCommerce natively allows to set a fixed delivery amount which corresponds to a maximum weight. If the customer places an order that goes over this weight, then a ratio which is configured in the administration interface is applied. Community extensions allow to extend this feature to take the order destination into consideration and interface with several transporters such as Chronopost or UPS.

Magento natively allow to interface with a number of transporters in the U.S. market (DHL, UPS, FedEx). It also allows to interface with other transporters: a community extension allows to deal with all transporters in a generic manner by managing advanced weight/destination matrixes. These are not directly configurable from the administration interface however.

As Prestashop is a French solution, it natively interfaces with Chronopost & Colissimo. It also allows to graphically configure cost matrixes.

Ubercart natively manages fixed delivery fees alone. Community extensions can be used to enrich this feature.

b) Standardisation of address es

Erroneous addresses are the plaque of any e-trader, coming a close second to the management of returns.

Customers frequently enter incomplete or erroneous addresses when creating their accounts. The consequences can be serious for the e-trader who may be unable to make the delivery or attempt to deliver the order to an inexistent address.

Processes have been put into place to standardise postal addresses (in France this is referred to as RNVP - Restructuring, Standardisation, and Postal Validation) around which commercial solutions are added which identify addresses that do not comply with a given format, the solution can cross-reference the erroneous address with a postal directory to provide a corrected version of the address.

Due to specifics from one country to another, none of the solutions natively integrate this type of feature. They are capable of interfacing with specialised tools (often available in SaaS mode), but this does entail adaptation work. QAS and Mediapost are among the most well-known of these tools.

c) Drop-off points

“Drop-off points” are being used more and more in France where the leader in this service area, Kiala, allows customers to pick-up their deliveries in non-specialised drop-off points such as the local newsagents, video store, etc.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 53 E-Commerce, open source solutions

This means of delivery is advantageous to the customer as orders generally arrive faster than to home/work addresses and it means the customer does not have to make themselves available to reception a delivery. It is beneficial to the E-Trader as it eliminates the problem of erroneous addresses, while reducing transport costs as deliveries are not made more than once a day to each delivery point.

Here again, the specifics of each drop-off point mean that no solution natively manages this feature.

OsCommerce does have a connector with the Kiala network.

Magento has a community extension for the Mondial Relai network.

d) In-store pick-up

In the case of a chain which already has a number of physical retail stores, customers can be offered the option of “in-store pick-up”. This is often the first step in a multi-channel business approach.

Here is an example of a site which offers this option

This option can make your sales tunnel complicated and generate greater integration costs: there are two different management modes:

• The products sold come from the shop that the customer is going to pick them up. This will effect physical shop stock and not online shop stock, therefore the e-trader will need access to all retail shop stock in real time.

• The products come from a central warehouse and are delivered to the shop. Logistical costs may be greater but technical integration is easier.

In both cases the trader and his logistician have to manage package tracking as this is not delegated to a transporter.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 54 E-Commerce, open source solutions

No tool in this study integrates this type of “in-store pick-up”. As such, modification of the sales tunnel is required which would be easier with modular tools such as Magento or OFBiz.

[4.2.3] Taxes

a) VAT

The European tax system is an absolute nightmare for e-traders.

The applicable tax rate can vary from one type of product to another (food product, technical product, luxury product), from one type of customer to another (individual, business), and from one destination to another (France, the U.K.).

We will use the example of the French market to illustrate the complexity of the tax system.

There are two taxes: standard V.A.T. and reduced V.A.T. The type of V.A.T. that is applicable varies depending on type of product (reduced V.A.T. applies to cultural or food products for example)

If product can be sold to professionals with an IntraEU VAT number, the total excluding V.A.T. must be displayed.

All sales from France to a country outside the E.U. must exclude V.A.T.

To complicate things further, the tax rates vary depending on the order destination. There are two main destination categories:

• France and the E.U.

• DOM TOM (French departments overseas)

The table gives a breakdown of rates based on destination:

Destination Standard V.A.T. Reduced V.A.T.

Within the E.U. 19,6% 5,5%

DOM TOM 8,5% 2,1%

Outside the E.U. No V.A.T. applies No V.A.T. applies

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 55 E-Commerce, open source solutions

While all of the tools presented take these regulations into account (they all offer a mechanism wherein different categories of taxes are defined for each destination and type of customer), care must be taken as regards presentation as this no longer depends directly on the choice of tool but rather on templates which are integrated. The relevant V.A.T. amount must always be displayed. If your product prices are inclusive of V.A.T., this must include ecotax (see below) etc.

b) Ecotax

Ecotax is specific to Europe. It is a tax on products which function with the aid of electrical currents (via electrical sockets or batteries) or electromagnetic fields (for example, electrical appliances, computer equipment etc.).

This tax aims to make the consumer more aware of the cost involved in the future disposal of the product they are purchasing. This is not a set tax, it varies depending on the product, and how easy or difficult it is to recycle.

Beyond these display regulations that legislation has made provision for (the ecotax amount must be systematically displayed and that separately to the sale price (on your site, invoices or advertising material), it greatly complicates the calculation of the total amount owed by the customer as there is V.A.T on ecotax!!

Ecotax is calculated in the following manner:

End price = (price excl. V.A.T. + V.A.T.) + (Ecotax + V.A.T. at 19, 6%)

This calculation is made more complicated again if we apply a price reduction. This reduction must not be applied to the ecotax; as such the new price is calculated as follows:

End price = ((price excl. V.A.T. – reduction) + V.A.T.) + (Ecotax + V.A.T. at 19, 6%)

We are highlighting this complexity as it is rarely understood by our friends on the other side of the Atlantic, and as such tools do not always correctly manage this ectotax (Americans have a hard time coming to terms with the notion of a tax applied to another tax).

OsCommerce does not natively manage ecotax, but it can be managed using an extension.

Magento took some time before integrating ecotax management but it is now fully operational.

Prestashop has always managed ectotax.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 56 E-Commerce, open source solutions

Neither Ubercart nor OFBiz natively manage ecotax. Further developments are necessary to make this feature fully operational.

[4.2.4] Payment methods

a) Online payment

Online payment does not directly depend on the solution. As extreme caution has to be taken with online purchasing procedures, specialized providers provide payment gateways directly linked with your banking services.

The first thing a trader does is to take out a distance selling online payment contract with their bank. The bank will suggest or oblige you to use a given payment gateway (SIPS is used by the Société Générale, for example).

Three main technical solutions share the French market:

• SIPS from ATOS

• Ogone

• PayBox

These solutions generally offer the choice between payment in stand-alone or integrated mode.

“Integrated” payment mode Integrated mode is the natural choice: the customer enters their card details directly into a form which is perfectly integrated into your sales tunnel and continues the payment process without having to leave your site.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 57 E-Commerce, open source solutions

The voyages-sncf.com website uses the integrated payment mode (based on the Atos Office Server solution)

The commercial site must obviously ensure customer confidentiality and MUST NOT save banking details transmitted to secure servers managed by the third-party service provider.

This payment mode is more awkward for the trader for several reasons:

• This type of transparent integration necessitates direct dialogue with the payment gateway. If the e-commerce solution does not integrate this function natively, it calls for advanced technical skills and a heavy workload to incorporate it.

• The entire sales tunnel must be secure and it is the trader’s responsibility to assure the security of data entries. PCI DSS (still optional in France) specify a certain number of pre-requisites to guarantee transaction security.

“Stand-alone” payment mode The “stand-alone” payment mode consists in delegating the entire transaction to the payment gateway. The customer is redirected to an external site (which can be customised using the traders graphic charter) to enter their card details and finish the payment process. When payment has been made the customer is then redirected back to the trader’s site where they see a payment confirmation message.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 58 E-Commerce, open source solutions

The smartbox.com payment page

The URL indicates that we are no longer on the Smartbox site but rather on Ogone servers

While customers may find this operating mode a little disconcerting, it is much easier for the e-trader to implement as all security issues are passed over to the payment gateway provider. As such, the trading site has no knowledge of customer’s card details and has no need to manage a http-S service.

Of course, there is a down-side to this operating mode. Despite ever-advancing screen customization features, it remains difficult to keep all of your site’s contextual information visible on the screen (basket, sales conditions, etc.).

All of the tools in this comparative study can be interfaced with the leading payment gateways in the French market (SIPS, Ogone & Paybox). The workload depends on which operating mode is selected (integrated or stand-alone) and whether or not there is a connector between the tool and the gateway.

OsCommerce has fully operational connectors to these different gateways, due to its time on the market

Magento, Ubercart & Prestashop also have extensions with these three leaders.

OFBiz only offer a SIPS connector.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 59 E-Commerce, open source solutions

b) Micro-pa yment

Still relatively uncommon in France, micro-payment solutions allow your customers to make payment without having to enter their card details.

Most of these solutions (PayPal, Google Checkout) operate on the electronic wallet model: the web-user can add as much credit as they like to their account (which is managed completely independently to the e-traders site), this credit can then be used to make purchases on different sites.

This payment method is generally well-adapted to small payments (hence the term micro-payment).

Some sites charge premium rates on phone calls and SMS which allow the customer to acquire a service or product, these too are referred to as micro-payments (for example, ringtones, screensavers etc.).

As with bank card payment, the implementation of a micro-payment solution requires that the e-commerce tool be connected up to a payment solution via a gateway. Integration is generally straightforward (HTML code or Javascript, supplied by the payment service provider, is integrated into site pages).

OsCommerce, Prestashop & Ubercart offer community extensions which allow to interface with PayPal and Google Checkout.

Magento & OFBiz natively integrate PayPal & Google Checkout as payment modes that can be freely activated/deactivated using the administration interface.

c) Gift vouchers

Gift vouchers can be used to purchase items online in the same way that they are used in traditional shops. The concept is simple: the customer can purchase as many items as they like using the gift voucher towards payment or to cover the total amount due, each voucher being worth a given amount. Gift vouchers can come in physical or virtual format (i.e. either a paper certificate or an email voucher with a special code and details on using your voucher).

Gift vouchers are designed to be used once each, whether they have been purchased directly in your shop (as a present for example) or have been issued to you as a commercial gesture. They are generally identified by a unique number or code.

Gift vouchers can be used in two ways:

As a method of payment: the customer enters their gift voucher code when they arrive at the sales tunnel. The voucher amount will then be deducted from the total amount owed.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 60 E-Commerce, open source solutions

As a means of crediting an account: here the customer transforms their gift voucher into a credit note, and as such issues credit to their account. The mode of use requires that the e-commerce tool can manage credit notes.

OsCommerce does not natively manage gift vouchers. Extensions can be used, to implement this function as a means of payment (credit notes associated with customer accounts are not managed).

Magento natively integrates this management of gift voucher and credit note management (but only in it’s Enterprise edition). A community extension can be added allowing to manage gift vouchers with the Community edition of the solution.

Prestashop does not offer this feature. At the time of writing, no extension is available to allow this function to be integrated.

Ubercart offers extensions to manage gift vouchers and credit notes.

OFBiz natively integrates full management of gift vouchers and credit notes.

[4.3] Back office

This chapter deals with operations that e-traders commonly carry out via the management interface. We do not deal with the operations outside of the scope of the e-commerce solution, e.g. general accounting, warehouse management etc.

[4.3.1] Ergonomics

While the site screens are designed to be customised by the customer and always personalised by an integrator or the application of a theme, the Back Office is often considered as a “ready to use” space.

The elements which are taken into account when judging the ergonomics of the back office are:

The breakdown into workspaces: we traditionally find a space for the catalogue, one for customers, one for statistics, and one for the management of editorial information.

Ease of access to information: the procedure for finding a customer, product, order form etc. must be as efficient as possible so that users work as productively as possible. Tools such as search engines, sortable tables, pagination systems etc. are primordial.

Affordance (the capability of an object to suggest its own use): as with the front office, the back office must present buttons which indicate use (e.g. a red cross to

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 61 E-Commerce, open source solutions indicate that an item can be deleted). Zones are also reserved to provide contextual assistance.

The quantity of information presented to the user must be balanced: the capability must be available to mask information that is never/rarely used.

The internationalisation of the back office into several different languages.

OsCommerce has a clear interface (which is aging a little with graphics that aren’t overly impressive), offering translations in over 200 languages.

Prestashop & Magento offer well-developed user-friendly interfaces using Ajax technology which improves the user experience. Magento pay extra attention to detail (for example, the inclusion of a disk icon which signifies that the current file has been modified but not saved). Prestashop currently covers 36 languages while Magento covers over 100.

Ubercart & OFBiz are difficult to get used to. Ubersoft as it includes too many modules on interfaces, OFBiz as it displays overlay-technical screens and splits information between several applications, each with their own rules of use.

[4.3.2] Orders

a) Sale

The sale or “receipt” is a central part of the order. Dispatch, invoices, credit notes and returns all emanate from the sale. An order confirmation receipt presents all of the information relating to the customer (delivery address, billing address, payment method, etc.) together with details on the items ordered.

The E-Trader will often follow-up the sale by communicating directly with the customer regarding the order placed.

All of the solutions offer these features, though Magento does go the extra mile allowing to launch mass actions on several orders (block all selected orders, for example) and follow up orders in RSS flows.

Prestashop allows to define message models to homogenise and facilitate communications with the customers.

OFBiz is the only solution which natively distinguishes the currencies of closed orders.

Beyond issuing a simple receipt, a confirmed order launches a life cycle consisting of several different processes that the e-trader must carry out:

Pending validation can indicate that the trader must accept the order (validity, check for fraud, etc.)

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 62 E-Commerce, open source solutions

Order being prepared generally signifies that the logistician is retrieving your articles from stock and preparing the order for dispatch,

Order has been dispatched indicates that the order has been passed over to the transporter for delivery,

Delivered/Complete indicates that the order has been delivered

There are lots of other possible order statuses such as pending payment, cancelled, rejected, returned, etc. not to mention those that may be specific to a given e-trader. As such it is interesting to analyse the flexibility of each of these tools regarding these order follow-up processes.

OsCommerce has three “transparent” statuses; the administrator can change the status of any given order without any controls. Likewise with Prestashop which offers ten “transparent” statuses that can be enhanced directly from the Back Office.

Magento & OFBiz natively offer ten statuses which can be enhanced. Beyond a simple status, Back Office actions such as invoicing and dispatch can trigger an automatic status change. For example, if an order “pending validation” is validated the status will automatically change to “your order is being prepared”.

b) Dispatch

The various different delivery methods available to the customer are described on page 44. Once the order has been placed, the E-Trader must honour delivery under the conditions accepted by the customer in the sales tunnel. This involves:

Order preparation: a decision is made at this point as to how many packages will be needed to dispatch the order, and as to which items will go in each package. Another part of the preparation process is the issuing of picking vouchers for warehouse operators, followed by picking.

The issuing of delivery notes indicating the breakdown of the package, or several delivery notes where the order has been split into more than one package. The delivery note is then placed in the package.

A docket is issued in transporter format: each transporter generally makes solutions available to generate transport dockets. The E-Commerce solution manages docket issuing.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 63 E-Commerce, open source solutions

Here is an example of a Colissimo transport docket

The tracking number (displayed on the generated docket) is often communicated to the customer so that they may use the transporters site to monitor delivery progress.

The pick-up/hand-off of the package by/to the transporter is purely logistic but may be triggered by a back office action, which notifies the transporter by EDI.

Magento, OsCommerce & Prestashop have modules to present the tracking number to the customer and natively allow to view delivery notes.

Surprisingly Ubercart is the only solution to distinguish packages from dispatches.

None of the tools selected natively manage docket printing, pick-up/hand-off requests, or picking voucher issuing, the last of which is often delegated to a warehouse management solution (WMS).

c) Billing

Invoices are generally generated and made available in PDF format.

These must be accessible to the customer via their customer area, with the possibility of archiving.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 64 E-Commerce, open source solutions

All of the tools in this study include these features.

Magento & Prestashop are the only tools which allow to generate a PDF concatenating a batch of invoices. Only Magento & OFBiz allow to associate several invoices with a single order.

d) Taking an order

When an e-trader uses the telephone as a sales channel, the use of the web back office to take orders can allow I.T. resources to be shared and customer information to be consolidated. The ordering back office will be used ad minima by the after sales service.

The web solution must be suitably adapted to allow the management of back office orders:

• The interface must be of a very high standard as regards ergonomics and load speed, in order to limit the customer’s telephone wait time as the operator adds products to the order.

• The payment methods must be suitably adapted: for example the task of entering bank card details is not always handled a telephone operator but is sometimes delegated to an interactive voice server.

Promotional offers may differ from those available online.

Magento offers a highly complete interface to manage telephone orders with, notably, an area which presents the articles recently consulted by the customer if they are registered on the site. Magento does not manage the last two points mentioned above.

OFBiz intrinsically incorporates this feature as it is a real multichannel tool (it can also manage physical retail outlets).

Prestashop, OsCommerce & Ubercart offer very basic back office order features.

e) The management of returns

Merchandise can be returned for a number of reasons:

• Does not live at this address, or erroneous addresses, mentioned in “Standardisation of addresses” page 52, can lead to the return of merchandise by the transporter. No automatic mechanism deals with this situation, apart from the prior rectifying erroneous addresses.

• Return at the initiative of the customer either because they wish to exercise their right to cancellation within a limited period (7 days for most products in

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 65 E-Commerce, open source solutions

France), or because the trader’s policy permits returns under certain other conditions.

It is this second instance which e-commerce tools will deal with, via what are generally called RMA (Return Material Authorization) functions.

The solution is required to provide the customer with the means to request the return of an article, specifying the reason for this return.

Example of a return request on the site VentePrivées.com

This request is then transmitted to customer services, where the decision is made whether or not to accept the return request. If the request is accepted then a “reverse logistics” process is launched, where the customer must complete a return form, transport docket and where the trader will follow return reception from their back office.

When this process is complete the trader will accept the product or not and either place it back in stock if it is in good condition (to increase the stock level), or retire the asset.

The customer will receive one of the following in return:

• An exchange for a similar product or different size: the choice of product is generally handled manually by the after-sales service.

• A refund by means of bank card credit: this operation is once again managed by the payment service provider who provides API services to this end (see Online payments page 55).

• A credit note to the value of the returned product(s) (delivery fees may also be added thus increasing the credit note amount; management fees may be charged thus reducing the credit note amount).

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 66 E-Commerce, open source solutions

In all cases a receipt must be sent to the customer confirming the return and conditions, in the same way that an invoice is issued upon payment confirmation.

None of the solutions presented herein natively manage exchanges, the generation of transport dockets, or credit reimbursement.

Magento has included a RMA module in it’s roadmap. Nonetheless, a community module provides excellent refund and follow-up management. “Credit notes/refund receipts can be created natively as can manually generated gift vouchers.

Prestashop natively manages return requests, return follow-up and credit notes.

An OsCommerce contribution offers a relatively complete RMA system.

[4.3.3] Customer relations

a) Customer accounts

Customers generally create an account on a commercial site. They can then use their account login details access certain information:

• Customer profile

• Delivery/Billing Address(es)

• Order history: tracking, invoices, credit notes, order renewals, etc.

• Wishlist

• Password

The administrator can view this same information in the back office, together with information on to the last items viewed by the customer, items in their basket, the date of their last connection, etc.

To divide up the customer database, the administrator may decide to place a customer in a given category (to benefit from preferential offers, for example).

This segmentation can also be done dynamically in accordance with rules defined by the administrator, e.g. V.I.P. customers are males who make purchases of over €1000 in my shop over a 2 month period. As such customer may belong to one or more categories or “dynamic groups”. Personalisation’s or data extractions can then be carried out on each segment or category.

All of the solutions in this study provide a customer account feature.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 67 E-Commerce, open source solutions

Magento offers easy access to customer information allowing it to be qualified, by asking the customer questions about their shopping habits for example. Dynamic segmentation is possible and very advanced in the Enterprise edition, allowing to closely manage the category rules.

Prestashop & OFBiz do manage customer groups, while Ubercart and OsCommerce do not natively offer this feature.

b) Communication

The web is considered as a “cold” means of communication, often formal or even robotic.

It is vital that the customers can express themselves. It is very important therefore to include a contact form and/or customer service telephone number (obligatory by law), on your site. This is contact information is sometimes found both under the “Contact” and “Contact > Returns” part of the site.

Another option is to include an email feature. There are two types:

• In real time, this can be a nightmare to manage from a customer service task management point of view.

• In a sequential manner, in the form of a “ticket”, as with those sent to the technical hotline.

“Virtual agents” or “avatars” have also become more and more common over the last few years. This are virtual customer agents who respond to messages or questions posed by the customer, responses can be generic (pulled from the FAQ), or contextualised based on customer actions (by proposing a selection of products based on the customer’s purchasing history, for example).

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 68 E-Commerce, open source solutions

Here is an example of an Avator “Lea can help you” found on the Voyages-Sncf.com website.

While all of the tools offer a contact form, none of them emphasise communication with the customer.

Magento has a community extension for “message threads” with some advanced options such as the routing of customer queries to different internal services, or predefined messages.

[4.3.4] Commercial content

a) Highlig hting

A website includes two types of content: editorial content and commercial content. Commercial content involves:

• Highlighting any ongoing promotion,

• Creating “landing pages”: for a given promotion, the trader may launch an advertising campaign by purchasing sponsored links, these links leads the web-user to a “landing-page”. The objective is to encourage the web-user to carry out a specific action (call to action), for example the completion of a form, placing an article in their basket, or some other action.

• Changing site design in order to relay the campaign details

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 69 E-Commerce, open source solutions

• Changing product display, so that promotional products appear first, both at site category and search engine level.

OFBiz, OsCommerce & Prestashop do not allow to carry out these actions without development.

Ubercart & Magento are more flexible. Ubercart, the fruit of a CMS, allows the creation of advertising type content on top of web pages. Magento offers a CMS block publication system, landing pages made up of “widgets” (reusable modules used to display “new addition” lists for example), and banners.

Unfortunately none of the tools allow to configure the search engine in order for promotional products to be taken into consideration.

b) Promotio nal offers

There are two types of discounts: those which relate to individual catalogue items, and those which are applied based on the articles a customer places in their basket.

Catalogue Catalogue promotions are straightforward, they may involve:

• Crossing out a price to offer a cheaper rate

• Offering a percentage reduction

From an operational point of view, these types of promotions are frequently applied to a whole range of products. The volume of the catalogue can have an impact on the usability of this type of promotion: certain tools create a new database entry for each promotion, on a catalogue of several hundreds of thousands of articles performance can rapidly decline.

Prestashop & OsCommerce manage these promotions, implementation is made product by product.

OFBiz & Magento also offer these capabilities, but more important, they have a very complete system of rules that allows to carefully define the conditions of application, based on product attributes (for example, we can define reductions on “sheets” or “duvet covers” in the homeware category), on a given period and even for a customer category (see customer accounts pg. 65).

Ubercart does not offer any of these features.

Basket A basket promotion is applied directly based on content.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 70 E-Commerce, open source solutions

These promotions can be presented in several different ways:

• The price may decrease based on the quantity ordered (e.g.: order over 3 products and the unit price is reduced to €7).

• The price may decrease at certain quantity levels (e.g.: 1 for €7, 5 for €25, 10 for €40, etc.)

• Buy-one-get-one-free (e.g.: buy 1 t-shirt get one free)

• A reduction on one article where you order another article (e.g. If you buy a pairs of jeans you get a t-shirt for €10 instead of €20).

• A free gift (e.g. Get a free pair of sunglasses on all purchases over €35).

Here again, promotion conditions can be complicated to apply and vary depending on the product, the basket total, the weight, the customer (country), etc.

Vouchers or coupons are used at basket level: one of the promotions outlined above may apply upon presentation of a voucher or coupon only. The e-commerce solution must then generate conditions of use:

• The number of uses per customer

• Is the voucher transferrable or not (can it be used be a different customer, e.g. a friend)

• The maximum cost to the trader

Prestashop & OsCommerce only manage regressive prices.

Magento & OFBiz come, once again, complete with advanced rule management systems. Nonetheless, Magento does not manage free gifts, and both tools are not capable of applying a promotion to “the cheapest article in the basket”.

Ubercart does not provide any of these features.

[4.3.5] Emailing

a) Alert s

The customer (or potential customer) of a commercial site is likely to receive several mails emitted by the platform: account confirmation, password reminder, order confirmation, dispatch confirmation, etc. These types of mails are generally referred to as notification mails: the information contained in these mails is generally available on the website and extracted from same.

A system of alerts, closer to marketing, is used more and more frequently:

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 71 E-Commerce, open source solutions

• An email sent on the customers birthday

• A reminder email sent when a basket is abandoned, or referring to the customer’s wishlist

These mails are always automatically sent from the E-Commerce platform, and formulated on a model predefined by the trader.

b) Newsletters

Another widely-used form of marketing and communication is the use of newsletters. As regards online sales, these newsletters generally present more than mere editorial information (news, etc.) by highlighting leading products and ongoing promotions.

The following functions are needed:

• A subscribe/unsubscribe system,

• The edition of a newsletter: this can be either totally manual or partially automated by defining dynamic zones which systematically present new products, for example,

• Creation of direct-mail areas: to personalise emails allowing the trader to insert variables such as the customers name, address, etc.,

• The selection of a group of subscribers in order to target a relevant group e.g. customers who have young children,

• Email routing (the technical sending mechanism) from the platform to the customers email inbox,

• Follow-up indicators measuring campaign performance (erroneous addresses, invalid email addresses, the rate of newsletters opened, the number of “unsubscribe” requests following this campaign, etc.)

Specialised solutions exist and can be added to the e-commerce platform if necessary.

Prestashop & OsCommerce allow (by way of a community extension) management of newsletter subscriptions and exports in CSV format. Notification email can also be exchanged.

Magento covers all needs as regards alerts, notifications and email marketing. A component also allows to manage all aspects of the newsletter except reporting.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 72 E-Commerce, open source solutions

[4.3.6] Statistics / reporting

As evoked in fundamental concepts, all good traders must analyse performance and identify areas that can be further developed. This analysis is based mainly on the following axes:

• Sales: the indicators used are often turnover based on time, types of customers (sex, geographic location, etc), products, special offers, etc. As opposed to the real world, the web also allows to analyse what web-users are willing to buy by observing the content of abandoned baskets.

• Visits: the analysis of traffic to a site is generally delegated to external solutions, in SaaS mode as with Google Analytics (GA) or Xiti, or in hosted more via tools such as Piwik. These solutions allow to analyse the transformation rate (visits to sales) by product type, most-viewed products, the rate of abandons in the sales tunnel, etc.

• Customers: the web allows to gather information relating to the customer, this can be useful to improve the customer database and categorise it based on location, behaviour (e.g. Find customer who viewed a certain product sheet), purchases, etc. We can also look at how account creation has increased.

• Products: this is where the “best seller” notion derives from (the product which has been sold in the greatest quantity). From a management point of view this also allows to access information on stocks that are running low, or the increased sale of a given product. While products in a physical shop are visible to the manager, this is not the case with e-commerce: products that are not selling may remain in the catalogue for a long time, reports will disclose this information allowing the manager to consider whether their visibility online needs to be modified.

E-Commerce tools are not as advanced as specialised “business intelligence” solutions (see our White Paper on “Open Source Business Intelligence”) but they do provide a certain amount of information nonetheless.

OsCommerce & Ubercart offer very concise statistics on best customers, and most- visited & best-selling products.

OFBiz, Prestashop & Magento display dynamic reports which reveal trends on the analyses mentioned above, but unfortunately do not provide a great deal of decisive information. They all include modules which allow Google Analytics to be easily integrated.

OFBiz goes a little further offering a “Business Intelligence” framework to develop customised reports.

Smile has also developed a connector between Pentaho (an Open Source Business Intelligence solution) and Magento.

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 73 E-Commerce, open source solutions

[4.4] External interfaces

As we presented in paragraph “2.3.2 – Interaction with the Information System” page 13, an e-commerce tool alone is rarely sufficient to provide full independent management of an online shop. As such it is necessary to plan interaction with other external systems as early as possible (an accounting tool, ERP, CRM etc.).

[4.4.1] Data exchange

a) Data

The data that has to be exchanged varies depending on the context, for example some traders prefer managing web customers in the online shop, other prefer to synchronise this information with their ERP solution.

Exchange often involves:

• The catalogue • The products and product features • The shop layout (categories, etc.) • Prices and promotions • Customers • General profile information (Address, email address, etc.) • The preference as regards receiving emails (opt-in/opt-out) • Orders • The “receipt” summarizes order details • Tracking information • Returns • Invoices and credit notes

b) Triggers

Depending on the data to be exchanged in different shop processes, the initiator may be the E-Commerce solution or an external application. Irrespective of which is used, the triggers are either:

• Planned tasks: the E-Commerce platform launches actions periodically. It is generally the operating system that is in charge executing this task (CRON for Unix systems).

• Events: when an event occurs (a new customer account is created, an order is placed, etc.), a specific section of code is executed, this code may call for a data

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 74 E-Commerce, open source solutions

exchange action. This is data exchange in real time where an action immediately launches a query with an external service (querying warehouse stock, for example).

• The navigator: while the user is browsing they may call on pages which launch processes. This may indicate an exchange, as is the case with online payment: the payment page leads to an external platform which collects the payment information (order amount, the relevant shop, etc.).

[4.4.2] Methods

The connections to be carried out between the online shop and the rest of the information system are issues to be decided at I.S. architecture level. The objectives are to maintain coherence between the different systems, and to guarantee exhaustivity by ensuring that message can be delivered.

The two main methods are used are direct and indirect interfaces.

a) Direct

This is where systems exchange information directly, each playing a role in the use of resources made available by the other and in the validation or data sent or received.

The main drawback with this is the strong coupling between the systems: if one has been changed or modified, the exchange mechanisms need to be recreated and development needs to be carried out on all systems (or in 2n cases where n represents the number of systems connected to the e-commerce platform).

The advantage with this solution is that it is easy to implement and is flexible.

b) Indirect

Some architects may advise the use of a middle layer (a middleware), masking the specifics of system from the other by carrying out data transformations and information mapping, itself. Middleware also provides a data delivery guarantee: if the system is unavailable it will store the information and try again. Reports can also be generated to analyse flows exchanged and identify blocking points.

Please see our White Paper on “Middleware oriented messages”6 for further information.

6http://www.smile.fr/livres-blancs/systeme-et-infrastructure/middleware-orientes-messages

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 75 E-Commerce, open source solutions

[4.4.3] Means / resources

There are several ways to set up exchanges between the software solution and the information system. From the easiest to implement to the most complicated, you will find:

• Flat file exports: in CSV or XML format, data is made available in a file placed on a FTP server or sent by email,

• Web services: SOAP, XML-RPC & REST protocols allow a system to use the functions of another system, and this in real time. These exchanges are standardized thus easier to implement. Furthermore, an application developed in Java or .NET can use web services made available by a software tool written in PHP. You will find, for example, a “GetOrderList” function which sends back the list of orders.

• APIs: modern solutions are created on an “object” model. An object can be a customer, order, or product. An API allows an external application to manipulate these objects by opening limited access to a certain number of basic object operations to them: order creation, obtaining a product price, customer profile modifications, etc. An API generally supplies a better level of access than webservices but requires more complex and less standardised technical integration.

• Databases: this is, of course, where all the information is stored, using basic to complex data models. SQL queries can be launched, from an external system, in read or write. We strongly advise that you avoid this type of method, for a number of reasons: the data model can change from one version of the software to another, making development obsolete, furthermore no verification is carried out during data manipulation which can lead to functional inconsistencies (an order without any articles, for example).

OsCommerce’s main drawback here is its age: only direct calls to the database allow to extract data. Contributions do allow CSV exports nonetheless. Ubercart has the same drawback without having the community contribution to make up for it.

Prestashop has an API which allows to develop its own data imports/exports. The community has made order and product export modules available on Prestastore.

Magento supplies the entire range of means mentioned above: webservices, a “dataflow” module allowing the Back Office to directly configure and execute customer imports/exports, products, orders (via an extension) and more advanced capabilities with its excellent API (even though this is not yet very well documented).

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden Page 76 E-Commerce, open source solutions

[5] SUMMARY

A quick look at this comparative study may lead the reader to think that Magento is the clear winner as regards Open Source E-Commerce solutions.

While Magento currently offers best overall functionality, it is not adapted to all needs and all markets. Its technical complexity makes it difficult to access and a pretty high consumer of resources. It is ill-adapted to the needs of the small business companies that are eager to join the world of online trading, but at minimal cost. It is a very solid, modular, solution of an extremely high standard, capable of supporting the most ambitious sites that may be subject to a great deal of traffic. Another strength of Magento is it’s remarkable back office ergonomics. A real effort has been made to fluidify common processes to a max, both in terms of catalogue management and sales administration.

A solution like Prestashop is better adapted to medium-sized businesses: it is lighter, easier to access, more user-friendly, offering a whole range of “out of the box” functions which are sufficient enough to accompany a shop as it grows, and all of this for a small initial investment.

The remaining solutions in this study are not without interest and should be closely monitored: Ubercart benefits from an undeniable advantage regarding content management, thanks to its perfect integration with Drupal; while OFBiz remains a good alternative to Java, on condition that the necessary time is taken to master the complex and sometimes ill-documented framework.

While there may not be a clear winner, we do have a clear loser! OsCommerce, seriously losing pace over the last few years, has now been surpassed by the newcomers and by Prestashop in particular, which is emerging as a serious potential successor. The only thing that could save this tool now is a rapid awakening of the OSC community to seriously overhaul of the entire solution. At present, we feel that it would be extremely risky to launch a project using this tool.

Finally, we cannot emphasise enough the importance of selecting a tool based on real needs and not on the buzz generated by the solution community or a clever editor. Our study does not distinguish one product as being superior in all respects, but among the solutions you will find that which perfectly meets your specific needs and limitations.

Smile experts are at your service to help you with the selection and implementation of your e-commerce tool. The creation of an efficient e-commerce website is an exciting adventure, one we would be delighted to accompany you on!

© Copyright – Smile - Open Source Solutions – All unauthorised reproduction is strictly forbidden