# Magento

Magento ist eine Onlineshop-Software und wurde in der Version 1.0 erstmals am 31. März 2008 als Open-Source-E-Commerce-Plattform veröffentlicht. Produziert wird Magento von der gleichnamigen Firma Magento (ehemals Varien) unter Zuhilfenahme des Zend Frameworks. Magento zählt laut einer Studie von W3Techs zu den meist verwendeten Onlineshopsoftwares (Stand 2020), wobei allerdings nicht klar ist, wie groß der Anteil der Version 2 gegenüber der Version 1 ist.
Die Magento Inc. war von Juni 2011 bis November 2015 eine hundertprozentige Tochter von eBay und gehörte zur X.Commerce Business Unit. Am 2. November 2015 gab das Private-Equity Unternehmen Permira die Übernahme von Magento Inc. bekannt.
Im Juni 2018 wurde der vollständige Verkauf von Magento an Adobe Inc. bekannt gegeben.
Magento steht unter der Open Software License Version 3.0.
Am 17. November 2015 wurde Magento 2 mit neuer Software-Architektur, aber auf ähnlichem Technologiestack veröffentlicht.

## Technik

Magento 1 basiert auf PHP in der Version 5.4 oder höher und verwendet in der Standardausführung MySQL für die Speicherung der Daten. Als Server wird ein Linux-Server (Linux x86, x86-64) benötigt.
Die aktuelle Version von Magento 2 (Version 2.3.x) benötigt:
* Als Webserver: Apache 2.2 or 2.4 oder Nginx 1.x (oder neuste mainline version)
* PHP Version: 7.1.3 oder neuer, 7.2.x
* MySQL: 5.6, 5.7 Kompatibel mit MySQL NDB Cluster 7.4.*, MariaDB 10.0, 10.1, 10.2, Percona 5.7 und weiteren Binärkompatiblen MySQL Servern
Neben PHP setzt Magento auf die Konfiguration per XML-Datei. Diese dient nicht nur zur allgemeinen Konfiguration der technischen Basis, sondern wird auch zur Konfiguration der Schnittstellen eingesetzt, um die Darstellung sowohl im Back- wie auch im Frontend anpassen zu können.

### Cache-Backend

Magento ist in der Lage, mit unterschiedlichen Cache-Backends umzugehen. Im Wesentlichen sind diese:
* Datei
* Redis
* Database
Ältere Versionen von Magento haben andere Backends wie Memcached unterstützt.
Als Fullpage-Cache kann auf die externen Dienste Varnish oder Redis oder das lokale Dateisystem zurückgegriffen werden.

## Funktionen und Fähigkeiten
### Site Management

Magento bietet die Möglichkeit, mehrere Shops mit eigenständigen Katalogen und Kundenstämmen auf unterschiedlichen Domains zu verwalten. Außerdem kann Magento mandantenfähig eingerichtet werden. Das heißt, auch im B2B-Umfeld ist es möglich, einem Kunden ein bestimmtes Produktsortiment anzubieten und einem anderen Kunden ein anderes Sortiment zu zeigen. Die Verwaltung erfolgt hierbei auf drei Ebenen bzw. Gültigkeitsbereichen (interne Bezeichnungen in Klammern):
* Website (website)
* Store (store group)
* Store View (store)
Die im Quellcode und in der Datenbank von Magento verwendeten Bezeichnungen unterscheiden sich von den im Backend sichtbaren Bezeichnungen. Diese internen Bezeichnungen sind in der Auflistung in Klammern angegeben.

### Abwicklung von Bestellungen

In Magento können, ähnlich wie in einem Warenwirtschaftssystem, Bestellungen verwaltet werden. Eine Bestellung kann vollständig im Backend von Magento angelegt werden. Typischerweise wird sie aber vom Kunden über das Frontend erzeugt, in dem er Produkte in den Warenkorb legt, an der Kasse seine Rechnungs- und Lieferanschrift eingibt, die Zahlungs- und Versandmethode wählt und auf „Kaufen“ klickt. Bei Online-Zahlungen wird der Kunde nach dem Klick auf „Kaufen“ oft auf eine externe Seite weitergeleitet, wo er die Zahlung abschließen soll. Der Shop-Betreiber kann eine Bestellung verarbeiten, indem er (Teil-)Rechnungen, (Teil-)Lieferscheine und (Teil-)Rechnungskorrekturen erstellt, wodurch die Bestellung nach einem festen Schema den Zustand und damit den Status wechselt. Während Bestellzustände in Magento fest verankert sind, können einem Zustand ein oder mehrere Statuscodes zugewiesen werden. Durch manuelles Setzen des Status kann der Fortschritt der Verarbeitung einer Bestellung extern und intern feiner kommuniziert werden.

### Magento Zusatzmodule

Die Standard-Funktionalität kann durch Erweiterungen externer Entwickler weiter ausgebaut werden. Entsprechende Module finden sich u. a. auf Magento Connect (für Magento1) und Magento Marketplace (für Magento2).

## Geschichte

Die Arbeiten an Magento begannen im Januar 2007. Sieben Monate später, am 31. August 2007, wurde die erste öffentliche Betaversion herausgegeben.
Das deutsche Open-Source-Magazin T3N berichtete über Magento in der Dezember-Ausgabe 2007.
Im März 2008 wurde Magento bei der Konferenz Under the Radar: The Business of Web Apps conference vorgestellt und von den Besuchern zum Favoriten gekürt.

### Editionen

Zurzeit werden folgende drei Editionen angeboten:
* Magento Commerce (ehem. Enterprise Edition, Kosten: ab 15.550 USD pro Jahr mit Gold Level Support bzw. ab 49.990 USD pro Jahr mit Platinum Level 24/7-Support)
* Magento Commerce Cloud (ehem. Enterprise Cloud Edition)
* Magento Open Source (ehem. Community Edition, kostenlos, Open-Source-Lizenz OSL 3.0, ohne Support)
Die im Jahr 2010 vorgestellte Professional Edition wurde zum 1. Februar 2012 eingestellt. Den Professional-Edition-Kunden wurde der Erwerb einer Dauerlizenz oder Umstieg auf die Enterprise Edition zu vergünstigten Konditionen angeboten.

### Unterschied zwischen Magento Open Source und Magento Commerce

Beide Magento-Versionen nutzen den gleichen Magento Core, aus diesem Grund ist die Struktur der Shop-Software in beiden Versionen identisch, auch das Backend und Frontend ist bei beiden Versionen gleich. Unterschiede gibt es vor allem bei der Gewährleistung, Support und integrierten Funktionen. So erhält ein Magento Commerce-Nutzer von Magento einen direkten Support von Magento Inc. sowie eine bevorzugte Bearbeitung von Fehlermeldungen. Magento übernimmt keinerlei Garantie oder Gewährleistung für die Community Edition. Anders bei Magento Commerce, denn hier übernimmt Magento eine Gewährleistung für die Funktionalität der Shop-Software. Zusätzlich bietet Magento exklusive Funktionen, die ausschließlich Magento Commerce vorbehalten werden.

### Magento Go

Unter der Bezeichnung Magento Go wurde im März 2011 eine Variante der Software vorgestellt, bei der die Entwickler den Betrieb und die Wartung des gesamten Systems übernehmen (SaaS). Diese eignete sich besonders für Anwender, die den Aufwand oder die Kosten eines eigenen Servers scheuten und sich nicht um die Sicherheit von Magento kümmern wollten. Magento Go wurde in mehreren Größenklassen für einen monatlichen Mietpreis angeboten. Magento Go wurde zum 1. Februar 2015 eingestellt.

### Mage+

Am 11. Mai 2012 veröffentlichte die Magento-Community unter dem Namen Mage+ einen Fork der Community-Edition in Version 1.7 auf GitHub. Mit diesem Schritt demonstrierte sie ihren Widerwillen gegen die zunehmende Kommerzialisierung des Projekts durch eBay.

### Magento 1

Die letzte veröffentlichte Version von Magento 1 war 1.9.4.5 am 28. April 2020. Der Support von Magento 1 endete, wie bereits im September 2018 angekündigt, am 30. Juni 2020.

## Magento 2

Magento 2 ist der Nachfolger von Magento 1. Die neue Version wurde am 17. November 2015 veröffentlicht. Entwickelt wird Magento 2 unter Zuhilfenahme des Zend Framework 1, Zend Framework 2 und Symfony2. Die Software steht unter der Open Software License Version 3.0.
Magento 2 wurde im Zuge des Versionssprungs einer gründlichen Überarbeitung unterzogen, aber eine Abkehr von EAV wurde nicht vollzogen. Ebenfalls wurde in Magento 2 auf ein Repertoire an aktuellen Designpattern zurückgegriffen. Wesentlichste Änderung in diesem Bereich ist der Austausch des JavaScript-Frameworks. Hier wurde Prototype fallengelassen und der Weg freigemacht für JQuery. Eine neue grafische Oberfläche wurde implementiert, und die Inhalte bzw. Blöcke (Grids [Admin-Data-Tables]) wurden per Ajax nachgeladen.
Die Freigabe von Magento 2 wurde mehrfach verschoben. Das aktuelle Magento 2 kann für Entwickler auf GitHub heruntergeladen werden oder auf der offiziellen Magento-Seite. Sie hat ein umfassend überarbeitetes Backend und einen visuellen Layout-Editor, in dem Blöcke mit der Maus in andere Bereiche verschoben werden können.
Die Extensions für Magento 1.x sind nicht ohne Anpassung mit Magento 2.0 kompatibel. Magento 2.0 soll von der offiziellen Seite eine deutlich bessere Dokumentation für Entwickler und Benutzer bieten als die Vorgängerversionen.

## Magento im deutschen Markt

Der original Magento-Shop entspricht teilweise nicht den rechtlichen Bestimmungen in Deutschland. Um Magento für den deutschen Markt vorzubereiten, gibt es zurzeit zwei unterschiedliche Module, welche die jeweiligen Aufgaben mit verschiedenen Ansätzen übernehmen, sowie ein vorkonfiguriertes Gesamtpaket namens „Magento DE“. Dennoch lassen die meisten Online-Händler in Deutschland zumindest teilweise Individuallösungen programmieren bzw. konfigurieren, um spezifische Anforderungen an das Shopsystem umsetzen zu können. Deswegen gleicht kaum eine Shoplösung der anderen.

### Market Ready Germany

Trusted Shops und symmetrics CGI haben gemeinsam ein Modul entwickelt, welches Magento um für Deutschland notwendige Funktionalitäten eines B2C-Shops ergänzt und auf eine Zertifizierung durch Trusted Shops vorbereitet.

### MageSetup

Im Gegensatz zum Market Ready Germany ist das Modul MageSetup ein reines Open-Source-Produkt der deutschsprachigen Magento-Nutzergemeinschaft. Es wurde zunächst unter dem Namen GermanSetup entwickelt und dann umbenannt, da es immer weitere Länder unterstützt. Derzeit sind dies Deutschland, Frankreich, Italien, Österreich, Russland, die Schweiz und das Vereinigte Königreich. Es verzichtet unter anderem auf das automatische Installieren einiger Zahlungsmodule von Drittanbietern. Bestenfalls gibt es Empfehlungen für weitere passende Module. Hierdurch ist es deutlich schlanker und stabiler. Zudem kann es ohne gravierende Folgen deinstalliert werden.
MageSetup wird bei Github unter dem Namen FireGento, einem Verein einiger Magento-Agenturen und freien Entwicklern, betreut.

### Magento DE

Magento DE wurde im Auftrag von Netresearch von Mitgliedern der Magento-Community unter Federführung von integer_net entwickelt. Bei Magento DE handelt es sich um eine vollständige, für deutsche Händler vorkonfigurierte Version der „Community Edition“. In einer einzigen Installationsprozedur werden Magento und alle notwendigen Erweiterungen für den deutschen Markt eingerichtet.

### MageSuite

MageSuite bietet mit dem „Content Constructor“ eine kostenlose Open-Source Content-Management-System-Alternative zum PageBuilder für Magento 2. Über verschiedene Komponenten, wie Überschriften, Images Teaser oder Produktgalerien, können individuelle Seiten erstellt werden. Die Oberfläche im Magento Backend ähnelt der Oberfläche populärer WordPress-Themes wie z. B. "Avada". Der Verzicht auf Drittsysteme, wie z. B. WordPress oder TYPO3 beim Betrieb eines Magento Shops, war der Grund für die Entstehung des Projektes. Aktuell sind bei dem Projekt auf GitHub 9 Contributors aktiv, die bei der Entwicklung des Open-Source-Projektes durch die Creativestyle GmbH unterstützt werden. Die aktuelle Version ist 13.0.0 vom 17. August 2023.

## Rechtliches

Magento ist eine eingetragene Marke. Unabhängige Anbieter, die Magento-Dienstleistungen anbieten, verwenden die Kürzel „mage“ oder „mag“ in ihrem Domain-Namen.

## Auszeichnungen

Magento hat bei den SourceForge.net Community Choice Awards den Best New Open Source Project 2008 Award gewonnen.