Magento Extension deinstallieren

Ratloser Admin Magento Extension deinstallieren

Bei vielen Vorzügen, die das Magento Shopsystem bietet zeigt sich ein Sachverhalt immer wieder als wenig Benutzerfreundlich.

Die umständliche Art ein Modul (Extension), was nicht über MagentoConnect installiert wurde wieder zu entfernen.

Wer sich online auf die Suche mit z. B. "Magento Extension unsintall"  landet vielfach auf Tipps, wo eine Erweiterung nur deaktiviert wird (Engl.: disabled). Ein komplettes deinstallieren (Engl.: uninstall) ist das nicht.

Allgemein Magento Extension entfernen

Es gibt ein paar Möglichkeiten, die aber von der jeweiligen Konfiguration abhängig sind.

Magento Connect

Hier muss die Extension auch über Magento Connect installiert worden sein und die uninstall Routinen hinterlegt als xml Datei in dem Extension Ordnern

Modman (Module Manager)

Auch hier bedarf es einiger Voraussetzungen am Server System. Bei Modman handelt es sich um eine Sammlung an Shell Scripts, welche installiert werden am Server.  Die Magento Extension kann dann leicht entfernt werden, unberührt dabei bleiben die Datenbank Tabellen

modman remove Magento_Extension

MageTrash App

Das ist ein Magento Modul, was selber die Funkton beschreibt "Clean uninstallation or deactivation of Magento modules". Zu finden hier

Der Vorteil bei dem Modul ist, die Entfernung der Magento Extension über System > Configuration > Advanced > MageTrashApp

Hier werden auch die Datenbank Queries abgesetzt um auch hier alles zu leeren.

Manuell

Hier muss man vorher die Ordner, Dateien sichten, welche in das Magento Root Verzeichnis installiert wurde, daneben noch die Datenbank Tabellen.

Beispiel:

Wir nehmen mal an die Extension (Synonym: Modul, Erweiterung, Plugin) heisst Kliggs_Custom

1. Dateien entfernen.

/app/etc/modules/Kliggs_Custom.xml
/app/local/Kliggs_Custom
/app/design/adminhtml/default/default/layout/kliggs_custom
/app/design/adminhtml/default/default/template/kliggs_custom
/js/kliggs_custom
/skin/adminhtml/default/default/kliggs_custom

2. Datenbank Tabellen

Daneben existieren ggf. noch separate Datenbank Tabellen und Einträge in der Tabelle: "core_config_data"

Um diese zu löschen sollte - nach einem Backup - diese MySQL Commands verwenden:

DROP TABLE 'kliggs_custom_table';
DELETE FROM 'core_config_data' WHERE path LIKE '%kliggs_custom%'; 

Magento Module entfernen

Bevor man sich an das enfernen oder deinstallieren von einem Magento Modul macht sind folgende Admin Tätigkeiten vorteilhaft:

  • Backup von Magento Root
  • Backup von Magento Datenbank
  • System > Cacheverwaltung > Caches deaktivieren
  • System > Werkzeuge > Compiler > Compiler deaktivieren
  • Order var/cache/ löschen
  • Die Config Datei lokalisieren - in unserem Bsp. /app/etc/modules/Kliggs_Custom.xml und <active>true</active> auf <active>false</active> setzen
  • Deinstallieren der Extension Dateien aus den Ordnern /app/etc, /app/local/, /app/design/, /skin/, /js/
  • Löschen der Datenbank Tabellen (sofern vorhanden)
  • Löschen der Einträge / Zeilen aus der Datenbank Tabelle "core_config_data"
  • Ausloggen um "Sitzung" zu beenden sofern Fehlermeldungen angezeigt werden.

Magneto Extension deaktivieren

Wer nur mal temporär ein Magento Modul deaktivieren will muss nicht gleich eine komplette Deinstallation machen. Hier reicht es die "Config Datei" zu bearbeiten, welche im Ordner /app/etc/modules/ zu finden ist.

In unserem Beispiel öffnet man die in der Magento Root

nano app/etc/Kliggs_Custom.xml 

und ändert die den Wert bein den Active Tags wie folgt:

// Aktiv
<active>true</active>
// Deaktiv
<active>false</active>

Danach im Shop Admin System > Cache (/admin/cache/) das Konfiguration Cache löschen.

Error 500 oder Fehler 500? Was dann?

Der Fehler 500 kommt oft dann zu stande, wenn Magento Objekte / Klassen Erweiterunge durch das deaktivieren für Magento nicht mehr verfügbar sind, aber durch Objekte aus dem Cache aufgerufen werden. Die Lösung heisst hier zuerst einmal:

Alle Caches löschen und leeren. Außerdem Temp Verzeichnisse. Am besten per Command Line  Varniche, Fullpage, Magento Cache, Cache Lager usw. leeren. Unter Umständen den Ordner var/sessions leeren (-> Problem: Kundensitzungen werden beendet). Außerdem die folgende Datei löschen:

rm -f [magento-root]maintainance.flag

Fazit

Das unintalll bzw. deinstallieren von Magento Extensions ist gelinde gesagt aufwendiger, wenn das nicht als Package installiert wurde.

Viele Anbieter von Magento Modulen bieten das einen bezahlten Service an, den man sich sparen kann. Allgemein muss man sich fragen, was die Entwickler seinerzeit gedacht haben, Dateien von Extensions über so viele Ordner zu verteilen.* Der Entwickler von Modman beschreibt das ja so:

Development of this script was inspired by Magento which forces you to mix your extension files all throughout the core code directories

In anderen OpenSource System liegt alles in einem Ordner und es ist in den meisten Fälle sofort klar was zusammen gehört.

* Natürlich sind Gründe wie Trennung Admin und FrontEnd oder auch Aspekte der Sicherheit bekannt.