Introduction to the Magento eCommerce Platform


Published on

Presentation for EAAA ITDays October 2012.
Introducing the Magento eCommerce platform on conceptual level and the practical level, taking both administration and development into consideration.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction to the Magento eCommerce Platform

  1. 1. Introduction to the MagentoeCommerce PlatformEAAA ITDays October 2012Jarne W.
  2. 2. PURPOSEGive a general introduction to Magento
  3. 3. “Introduce the system on theconceptual level and practical level regarding administration and development”
  4. 4. Overview1. What is Magento?2. Core Concepts3. Technical Overview
  5. 5. WHAT IS MAGENTO?Killer features and pitiful drawbacks
  6. 6.
  7. 7. Powerful Open Source (read FREE)eCommerce System
  8. 8. The World’s Fastest GrowingeCommerce System
  9. 9. Owned by eBay
  10. 10. Started in the osCommercedevelopment community
  11. 11. Comes in three versions:Community, Enterprise & Go
  12. 12. Try it out online
  13. 13. Enterprise:
  14. 14. Killer Features Multi store Powerful price rules SEO friendly Flexible theming Expandable through plugins Huge Community
  15. 15. Downsides High server requirements (especially RAM) Can be difficult, at times illogical Weak Content Management Requires custom development Upgrading is not automatic
  16. 16. DEMONSTRATIONBecause looking at slides is boring
  17. 17. CATEGORIESOrganizing products
  18. 18. Custom DesignIt is possible to apply a different design for a giventime period
  19. 19. Is AnchorAllows for layered navigation with attribute filtering
  20. 20. Warning: URLSAutomatic 301 redirects are set up for categoriesEach unique URL is limited for one time usageCan’t change and then change back
  21. 21. ATTRIBUTESControlling product information
  22. 22. Attribute setsDefines which information is available for a product
  23. 23. PRODUCT TYPESThe difference between them
  24. 24. 1) Standalone Products
  25. 25. Simple ProductsA physical product with a single SKU
  26. 26. Virtual ProductsA non-physical product, e.g. warranty or service
  27. 27. Downloable ProductsA digital product that will be made available fordownload after purchase
  28. 28. 2) Product Collections
  29. 29. Grouped ProductsA collection of simple products sold in a group
  30. 30. Configurable ProductsA single product that have configurable options,where each option represent a simple product
  31. 31. Bundle ProductsLets the customer build their own collection,selecting between simple products (e.g. gift basket)
  32. 32. SCOPEThe hierarchy and reach of settings
  33. 33. Different LevelsWebsites, Stores, Store ViewsGlobal/Default
  34. 34. WebsitesConsists of one or more stores that can sharecustomer dataOperates at the Business level
  35. 35. StoresContains the product catalogue and categoriesOperates at the Webshop level
  36. 36. Store ViewsContains the localization of a webshop, withtranslations and localized contentOperates at the localized level
  37. 37. Global / DefaultThis is the top level that is shared between allwebsitesOperates at the installation level
  38. 38. EMAILSRequires setup in several different places
  39. 39. How to setupAdmin Add email addressesFiles Download language packageEditor Load template filesAdmin Select templates
  40. 40. TECHNICAL OVERVIEWDeveloping for Magento
  41. 41. The SpecsLAMP (recommended, but not required)PHP 5+ OOP • Zend Framework • PEAR • Apache Solr PHP ClientJS • Prototype, & jQuery • TinyMCE
  42. 42. MVC Model View Controller
  43. 43. Model View ControllersBusiness Logic Presentation Logic Event ObserversFunctionality Themes RoutingData control Layouts Templates Skins Known as “Blocks”
  44. 44. PLUGINS/MODULESExtending the functionality
  45. 45. Installation• Manual• Magento connect
  46. 46. ManualUpload files to serveClear cacheLog out of admin / log in again
  47. 47. Magento
  48. 48. ModulesConsist of• Configuration• Blocks (ala views)• Models• Controllers• Database schema
  49. 49. File StructureUnderstanding where to find what
  50. 50. Functionality/app/code/
  51. 51. /app/code/core/Core functionality developed by the Magento teamDO NOT TOUCH!
  52. 52. /app/code/community/Functionality developed by the open sourcecommunityDO NOT TOUCH!
  53. 53. /app/code/local/Local development files and installed modulesPlace your files here
  54. 54. Presentation/app/design/
  55. 55. /app/design/frontend/Root folder for all presentation files for the clientside
  56. 56. /app/design/frontend/base/All the basic hooks into the core functionality thatare required by a theme
  57. 57. /app/design/frontend/default/Default themes – blank, default, iphone & modern
  58. 58. /app/design/frontend/yourtheme/Create a new folder for your own them and startbuilding on top of the existing files
  59. 59. The Design FallbackIf Magento can’t find a file in your them, it falls backto the base folder in the following order1. custom_package/custom_theme/2. custom_package/default/3. base/default/
  60. 60. Localization/locale/
  61. 61. /locale/language_id/Within this folder are the translation files in csvformat and a folder for email templates
  62. 62. THE CACHEGeneral concept of performance optimazation
  63. 63. Cache storageSave the result of a calculation and serving it to thefollowing clientsA calculation only happens once
  64. 64. Example:A user requests a page from the server and Magentocalculates everything to display this page. Thisresult is then saved so that the next user will get thesaved (cached) version instead of having Magentocalculate it again.
  65. 65. Experiencing problems?Then flush!
  66. 66. THE INDEXKeeping the database optimized
  67. 67. Why Index?The Magento database is HUGE!
  68. 68. Database
  69. 69. Why Index?The Magento database is HUGE!Data is spread out between different tables
  70. 70. Why Index?The Magento database is HUGE!Data is spread out between different tablesThis leads to slow performance when gathering datafrom many tables
  71. 71. The Solution?Create extra tables in the database where the datais store togetherServes as an abstraction, giving fast data responseOnly needs to be updated when something changesOnly the area of change needs update
  72. 72. Experiencing problems?Reindex solves 90% of them!
  73. 73. TranslationPossible to do from file or on the fly
  74. 74. Translation can be done by either:Adding a translation file (best)Translate Inline (easy)
  75. 75. Any Questions?
  76. 76. Thank