You are on page 1of 82

An OpenSource eCommerce

Magento eCommerce Demo



Agenda : Discussion on Magento
Benefits of Magento
3
System Requirements
5
Overview on Magento
3 2
Features in Magento
3 4
Objective of Shopping Cart based site
1
Magento Architecture
11
Products
13
Server Administration
3 10
Database Structure EAV Model
3 12
Environment Setup
9
Agenda : Discussion on Magento
Managing Products
16
How to do Product data import?
18
Administration
3 15
How to make site live?
3 17
System Layout
14
Agenda : Discussion on Magento
Initiate more business though the web.

End users should be able to add the products in their cart
and order online.

Online sending of Products Information to buyers through
Newsletters.

Instant alert of any transaction through e-mail.

User-friendly interface

Make money by getting more customers
Objective of Shopping Cart based site
Quick Overview on Magento
Varien company has introduced Magento, an eCommerce
solution in the market.
Magento is well architected, designed and flexible. Also, has
won number of awards.
Localized in over 60 Languages, like Thai, French,etc.

More than 50,000 Community Members

Over 5,00,000 Downloads

Over 170+ Magento Connect Extensions written

Over 70 partners
It offers complete flexibility and control over the look, content and functionality of an
ecommerce store while development.

It provides the functionality for reviews, tags, wish list, compare products and many
more.

It is integrated with AJAX rich environment technology for facilitating features like one
click checkout.

It is integrated with real time shipping rate from SPS, SPS XML, FedEx, USPS, and DHL.
Customer can ship the order to multiple addresses and on site tracking system from
customer account.

Shipping rate can be easily set per order and per item. It provides the exclusive
functionality rating with weight and destination.

From customer point of view, it is 100% search engine friendly and provides full control
of URLs rewrite methodology.
Magento is compatible with multi language support as well as supports multiple
currencies. Administration module is having great functionality for rights or access and
any rights can be defined at any user. It allows defining multiple administrators with
specific access privileges. Landing page of admin panel is in form of a dashboard,
providing all vital information of orders, products, and graphical representation on
daily, monthly and yearly basis. Admin can create multiple store and easily manage
them from admin panel. It provides the strong interface and functionality for reporting.
Benefits of Magento
Benefits of Magento
Our client does a significant amount of business around christmas etc. and we
want to make sure your site will look the part, with Magento this is possible
through a highly evolved template system through which it is possible to brand a
website for the occasions, events etc.

Design flexibility: magento allows you to have a complete control over design of
your site and it manages it through the model view controller architected and this
means,
a) You can easily manage how each part in your website is displayed.

b) Different Landing pages for different audience.

c) Flexible product page design to complement the variation in products.

Layered Navigation: Usually with large inventories where a category has got
more than 50 products, it really is cumbersome to have all the products in the
scope of view, and Magento use several filtering tools to provide faster navigation
to products.
Benefits of Magento
Product comparisons and product tagging features.

Convenience for your customers should be a paramount priority for any
ecommerce retailer. thats why Magento includes multiple ship-to functionality right
out of the box, helping avoid the frustration that can occur when a customer is
shopping for multiple people at one time. Instead of forcing them to place multiple
transactions, they can quickly and easily ship to multiple addresses with one order.
This can be especially useful around the holidays, when more and more people
are doing their primary holiday shopping online.

Superior product search module when compared to competition.

Amazing support community.

Good business model.

Marketing promotions and tools
Performance is key feature.

Support for Downloadable/Digital Products.

Added Layered Navigation to site search result page, with control on the attribute
level to include or exclude attributes used on the search results page. Improved site
search to utilize fulltext search.

Added support for fixed-taxes on product level.

To Add Setup Pricing to a Product, by integrating the extension.

Multi-Store Retailing
Example: A client having three site and selling same products.
a) One Website with one store and one store view (Defaut).
b) One Website with multiple stores.

iPhone Interface

Advanced Promotions and Marketing/Trading Tool

Benefits of Magento
Benefits of Magento
Rating, Reviews and Product Tags can be given by Customer or Website Visitor
Tier Pricing is the fancy title for offering discounts for higher volume sales.

Magento supports tier pricing for all products, including different tiers for different
classes of customers (wholesalers, retailers, etc).

Multi-lingual support

Multiple currency payment processing

Search engine optimization features like google site map, URL rewrites give full
control of URLs act.

Analytics, reporting and dash board for quick view.

Extensive CMS to manage contents.
Features in Magento
Analytics and Reporting - the script is integrated with Google Analytics and
offers many different reports.

Product Browsing - multiple images for products, options for extensive reviews,
wishlists and much more.

Catalog Browsing - easy navigation, advanced product filtering system, product
comparison.

Catalog Management - inventory management, batch import and export of
products, different tax rates per location, additional product attributes.

Customer Accounts - order status and history, e-mail and RSS feeds for
products in the wishlist, newsletter subscription, default billing and shipping
address.

Customer Service - enhanced features for customers' accounts, Contact Us form,
comprehensive order tracking and history, customizable order e-mails.

Order Management - create orders through admin area, create multiple invoices
shipments and credit memos, call center order creation option.
Features in Magento
Payment - different payment methods: credit cards, PayPal, Authorize.net, Google
Checkout, checks, money orders, support of external payment modules like
Cybersource, ePay, eWAY and many more.

Shipping - shipping to multiple addresses, flat rating shipping, supports UPS,
UPS XML (account rates), FedEx (account rates), USPS and DHL.

Checkout - one page checkout, SSL support, checkout without having an
account.

Search Engine Optimization - 100% Search Engine Friendly, Google SiteMap
support.

International Support - multiple languages and currencies, list of allowed
countries for registration, purchasing and shipping, localization.

Marketing Promotions and Tools - coupons, discounts and different promotion
options.

Site Management - control of multiple web sites, multiple languages, tax rate with
support for US and International markets, customizable outlook through templates.
Linux, Windows, or another UNIX-compatible operating system


WAMP Server version 1.7.0 (If Linux, then LAMP Server)

OR

PHP 5.2.0+

Apache Web Server (1.x or 2.x)

MySQL 4.1.20+


A Sendmail-compatible Mail Transfer Agent (MTA)
Magento will connect directly to an SMTP server if you dont have an MTA.

System Requirements
OO support

PHP5 Application

Zend Framework

MVC Design Pattern

Interface to other CMS

Magento Architecture - Background

1. Flexibility: We believe each solution should be as unique as the business
behind it. Magentos code allows for seamless customizations.

2. Upgradeable: By separating the core code from community and local
customizations, Magento can be easily customized without losing the ability to
upgrade.

3. Speed and Security: The coding standards used by the developers follow best
practices to maximize the efficiency of the software and provide a secure
online storefront.

4. Portability: Magento was developed with portability in mind, thats why theres
extra logic built in. Path, Directory separators, theyre all designed to work
cross platform.
Using Zend framework, Magento was built
with below points in mind.
Magento uses an exceedingly modular architecture, answering a single request
will likely involve a multitude of files and modules.

The majority of code youre looking for is rather nested, /app/code/core/Mage/
has a listing of all the modules included in the Magento core.

The CMS subdirectory is a good example of each module, it has seven
subdirectories: Block, Controller, controllers, etc, Helper, model, and sql.

The password is stored using salt, meaning that it isnt simply the password
being hashed, a random string is being appended to the end.

Magento is based on the MVC design pattern.
Magento Architecture
Core Modules in Magento Architecture
Mage is just shortName for Magento
What are Design Patterns?

Design Pattern - The design patterns are language-
independent strategies for solving common object-
oriented design problems

Why Design Patterns?

Enable us to design efficient, scalable and maintainable
systems.

Magento Architecture Design Pattern
Magento components can be categorized into Model, View and
Controller.

Model: Manages the data, business and application logic.
Components like business logic / business processes and data
are the part of Model=> Application Object.

View: Renders the Model into a representation suitable for the end user.=>User
Interface

Controller: The process that responds to user events.
Controller components which handle all the requests. (Decouple
data representation, application behavior, and
presentation)=>Defines the way the UI reacts to user inputs
Magento Architecture MVC Design Pattern
The main purpose of using MVC pattern is to decouple the GUI from the Data. It also
gives the ability to provide multiple views for the same Data. MVC pattern separates
objects into three important sections:-

Model: - This section is specially for maintaining data. It is actually where your
business logic, querying database, database connection etc. is actually implemented.

Views: - Displaying all or some portion of data, or probably different view of data. View
is responsible for look and feel, Sorting, formatting etc.

Controller: - They are event handling section which affects either the model or the
view. Controller responds to the mouse or keyboard input to command model and
view to change. Controllers are associated with views. User interaction triggers the
events to change the model, which in turn calls some methods of model to update its
state to notify other registered views to refresh their display.
Magento Architecture MVC Design Pattern
Magento Architecture MVC Design Pattern
Database Structure EAV Model
Entity-Attribute-Value model.
Magentos databases are heavily normalized (Primary Key and Foreign Key
Relationship), a basic install will consist of 193 different tables.
Products - EAV
The EAV method for storing data is generally associated with storing clinical
findings, it is appropriate there because an arbitrary number of
attributes will be associated with each record.
This same flexibility is critical to Magentos ability to handle an arbitrary number of
attributes with any product, or product type.

Example:
Product attributes you add will be added to eav_attribute.
How to setup Magento with WAMP Server?

1) Have to copy WAMP on local machine, install it.

2) Have to copy MAGENTO and extract on WAMP, www (root folder).

3) Start all the services.

4) Invoke the URL, to do the configuration using Admin Panel.

5) Visit the site using Front Panel.

Environment Setup
How to improve the performance of Magento on WAMP?
php.ini C:\wamp\Apache2\bin

max_execution_time = 30000000
memory_limit = 32M
post_max_size = 32M
upload_max_filesize = 32M


httpd.conf C:\wamp\Apache2\conf

my.ini C:\wamp\mysql

[client]
port=3306
[wampmysqld]
port=3306
basedir=c:/wamp/mysql
log-error=c:/wamp/logs/mysql_error.log
datadir=c:/wamp/mysql/data
default-character-set=latin1
default-storage-engine=INNODB
max_connections=400
query_cache_size=96M
table_cache=512
tmp_table_size=128M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=64M
key_buffer_size=9M
read_buffer_size=4M
read_rnd_buffer_size=2M
sort_buffer_size=4M
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=15M
innodb_log_file_size=10M
innodb_thread_concurrency=8
and Restart Server.
SSL configuration for Magento
SEO for Magento
Magento Customer Management
iPhone Interface
Advanced Promotions and Marketing and Trading Tool
Rating and Reviews Product Tags
Configurable Product

Grouped Product

Custom Options Product

Built to Order/Bundled Products
Different types of products
Configurable Product
Grouped Product
Custom Options Product
Built to Order/Bundled Products
Multiple Servers and Cluster Architectures
Magento Supports Cluster Environments for load
balancing
Specify read/write connections per module
Example app/etc/local.xml


Magento 1.1 introduces Core API

Supports both SOAP and XML RPC protocols.

Provides access to the Customer, Catalog and Order modules.

Magento Connect
Extension marketplace for commercial and open source extensions
270+ Extension availabel for Download
Magento Core API Web Services
How to make site Live ?
1) Need to register domain through Registrar (Ex. www.joker.com)
2) Need to map domain name with IP Address
3) Need a Server Machine with necessary Software (WAMP/LAMP and
Magento) installed in it
4) Need to configure installed software on Server Machine
5) Need to configure HTTP Server
Open httpd.conf for entering server name and ip address
ServerName mohan.com
<VirtualHost 172.20.202.108:443>
ServerName www.mohan.com
DocumentRoot c:/wamp/www/magento/"
SSLEnable
</VirtualHost>
6) Copy the magento folder files to server through FTP.
Linux Server Machine.
Windows Server Machine
How to Start/Stop HTTP Server using
Command Line in Linux?
Command Description/Syntax
httpd [-start ] To start the server and reads the configuration file (httpd.conf)
[-stop ] To stop the server
[-reload] To reread the configuration file
[-restart] To restart the server
[-status ] To check whether the server is running or not

How to import data in Magento for Projects?
Have to copy image files by creating the folder in
C:\wamp\www\magento\media\catalog by name product and name 'category'.
In catalog we will be having two folders one for product(folder name - 'product') and
one for category(folder name - 'category') and it will contain the images.
Also have to give RWX (read, write, execute permission to the folder media on
website hosting machine if it is LINUX, for WINDOWS it do automatically)

Products
Products are assigned both an Attribute Set, and a Product Type.
The Attribute Set defines which attributes a product has, examples might be:
manufacturer, colour, weight, mega pixels, diameter, etc.
The Product Type defines how the product works, clothing available in different
sizes would be an example of a product type (since its Configurable).

Attributes
Magento ships with a number of attributes like: price, weight, sku, description,
colour, manufacturer.
You will likely need to add more attributes to reflect the products you are selling
(Digital Cameras will require MP, Hard drives need size, interface and rpms, etc.)
Once youve create the appropriate attributes, attribute sets are created to describe
your products.
How to import data in Magento for Projects?
Attribute Sets
You will likely need a unique attribute set to describe each type or class of product
within your inventory.
Attribute sets are created by assigning attributes to the group.
Some attributes (e.g. Price) must always be associated with a new product.

For Product Data Import you have to create Attribute Set followed by attributes in it.
After that you have to create categories.
In categories, have to create products with attributes and define pricing.

How to do it?
Have to database / product data in excel to a CSV file format
Copy these CSV file to C:\wamp\www\magento\var\import
Goto Admin panel of Magento and Select System -> Import / Export -> Profiles ->
Import All Products -> Run Profile -> Select file -> Run Profile in Popup
Dont close the screen till completion
After success full import, check in frontend
Check in front-end whether the categories, product, image, pricing are displayed or
not, by executing URL http://localhost/magento/index.php/mohan.html,
where mohan is an SKU.
How to set the Home Page Layout for Category Listing?

For these goto Catalog -> Manage Categories -> Select
Default Category -> Custom Design -> Page Layout -> 2
Columns with Left Bar and click on Save Category.
Thank You

Magento Universe


Website : www.magentouniverse.com

Address: H-23 Laxmi Nagar, New Delhi, INDIA
Pin Cord : 110092

Telephone: +91- 9650-777346, +1-8452-63533, +44-2032-
391300

Skype: web.devexpert

Follow : Facebook & Twitter /MagentoUniverse
Questions

You might also like