Installation für Agenturen

Diese Anleitung richtet sich ausschließlich an Agenturen und technische Shop-Administratoren mit Datei-, Composer- und Konsolenzugriff. Einstellungen und tägliche Abläufe für Shop-Betreiber sind unter Bedienung für Shop-Betreiber beschrieben.

Paket passend zur OXID-Hauptversion wählen

Verwenden Sie ausschließlich das zur Shop-Hauptversion gehörende Paket:

Paketauswahl

Shop

Ausgabe

Ziel

OXID eShop 7 ab 7.1

Twig

vendor/ecs/adminrights

OXID eShop 6 ab 6.1

Smarty

source/modules/ecs/AdminRights

Warnung

Die OXID-6- und OXID-7-Pakete sind nicht austauschbar. Sichern Sie vor Installation und Update mindestens die Projekt-composer.json, die Shopdatenbank, die OXID-Konfiguration und den vorhandenen Modulordner. Bewahren Sie zudem stets ein uneingeschränktes Admin-Konto vor, um versehentlich gesetzte Sperren aufheben zu können.

Voraussetzungen

Prüfen Sie vor der Installation:

  • Das OXID-7-Paket verlangt PHP ab Version 8.0; maßgeblich bleiben die höheren Anforderungen der eingesetzten OXID-Version.

  • Ein vollständiges Datenbankbackup und ein Wiederherstellungsweg wurden geprüft.

  • Der Webserver-PHP-Prozess benötigt Schreibrechte auf das Compile-Verzeichnis.

  • Die Sperren gelten pro Benutzerkonto mit Adminrechten und pro Shop (Mandant). In Multi-Shop-Umgebungen sind die Rechte je Shop separat zu pflegen.

OXID 7 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Twig-Paket nach:

vendor/ecs/adminrights

Prüfen Sie danach insbesondere metadata.php, composer.json, services.yaml, menu.xml, assets, src und views des ausgelieferten OXID-7-Pakets.

2. Namespace in der Projekt-composer.json registrieren

Ergänzen Sie in der composer.json des Shop-Hauptverzeichnisses unter autoload / psr-4:

"Ecs\\AdminRights\\": "vendor/ecs/adminrights/src/"

Vollständiges Beispiel mit einem vorhandenen Namespace:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "vendor/vorhandener/anbieter/modul/src/",
            "Ecs\\AdminRights\\": "vendor/ecs/adminrights/src/"
        }
    }
}

Der Eintrag gehört in die Projekt-composer.json, nicht in die Datei des Moduls. Vorhandene Namespaces bleiben erhalten. Ein zusätzlicher Eintrag unter require für das Modul selbst ist bei dieser manuellen Installation nicht notwendig.

3. Autoloader und Modul installieren

Führen Sie im Shop-Hauptverzeichnis aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install vendor/ecs/adminrights
vendor/bin/oe-console oe:module:activate ecs_adminrights
vendor/bin/oe-console oe:cache:clear

Alternativ kann die Aktivierung nach oe:module:install im Admin unter Erweiterungen ‣ Module erfolgen.

4. OXID-7-Installation kontrollieren

Prüfen Sie mindestens:

  • Das Modul ist im Admin sichtbar und aktiv; die Moduleinstellungen zeigen die Gruppe „Grundeinstellungen“ mit den beiden Optionen.

  • Bei einem Admin-Benutzer erscheint unter Benutzer verwalten ‣ Benutzer der Tab „Rechteverwaltung“ mit dem farblich markierten Menübaum.

  • Der Shopcache wurde geleert.

OXID 6 installieren

1. Moduldateien kopieren

Kopieren Sie das vollständige Smarty-Paket nach:

source/modules/ecs/AdminRights

Prüfen Sie mindestens metadata.php, composer.json, menu.xml, Controller, Core, Model und views. Die Klassen des Smarty-Pakets liegen direkt im Modulordner, nicht in einem src-Unterverzeichnis.

2. Namespace in der Projekt-composer.json registrieren

Ergänzen Sie in der composer.json des Shop-Hauptverzeichnisses unter autoload / psr-4:

"Ecs\\AdminRights\\": "./source/modules/ecs/AdminRights/"

Vollständiges Beispiel:

{
    "autoload": {
        "psr-4": {
            "Vorhandener\\Namespace\\": "./source/modules/vorhandenes/modul/",
            "Ecs\\AdminRights\\": "./source/modules/ecs/AdminRights/"
        }
    }
}

Alle vorhandenen Namespaces bleiben erhalten. Ein zusätzlicher Eintrag unter require ist für die manuelle Installation nicht notwendig.

3. Autoloader und Modulkonfiguration installieren

Führen Sie im Shop-Hauptverzeichnis aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install-configuration source/modules/ecs/AdminRights
vendor/bin/oe-console oe:module:activate ecs_adminrights

Leeren Sie anschließend die temporären Shopdateien beziehungsweise den OXID-Cache mit dem in der jeweiligen OXID-6-Umgebung vorgesehenen Verfahren.

4. OXID-6-Installation kontrollieren

Prüfen Sie mindestens:

  • Modul und Moduleinstellungen sind im Admin sichtbar.

  • Der „Rechteverwaltung“-Tab erscheint an einem Admin-Benutzerkonto ohne Smarty-Fehler.

  • Die OXID-Views wurden aktualisiert und die temporären Shopdateien geleert.

Datenbankänderung und Aktivierungsereignisse

Das Modul legt keine eigenen Datenbankfelder oder Tabellen an. Die Benutzer-Sperren werden als Shop-Konfigurationswerte je Benutzer und Mandant in der OXID-Konfiguration abgelegt. Bei der Aktivierung leert das Modul das Compile-Verzeichnis und regeneriert die Datenbank-Views; bei der Deaktivierung entfernt es seine Template-Block-Einträge aus oxtplblocks und leert den Cache erneut:

DELETE FROM oxtplblocks WHERE OXMODULE = 'ecs_adminrights';

Modul aktualisieren

OXID 7 aktualisieren

Deaktivieren Sie das Modul für den Dateiaustausch. Ersetzen Sie den vollständigen Ordner vendor/ecs/adminrights durch das aktuelle OXID-7-/Twig-Paket. Führen Sie danach aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install vendor/ecs/adminrights
vendor/bin/oe-console oe:module:activate ecs_adminrights
vendor/bin/oe-console oe:cache:clear

OXID 6 aktualisieren

Deaktivieren Sie das Modul und ersetzen Sie source/modules/ecs/AdminRights vollständig durch das aktuelle OXID-6-/Smarty-Paket. Führen Sie danach aus:

composer dump-autoload
vendor/bin/oe-console oe:module:install-configuration source/modules/ecs/AdminRights
vendor/bin/oe-console oe:module:activate ecs_adminrights

Leeren Sie anschließend die temporären Shopdateien.

Nach jedem Update

  • Prüfen Sie die beiden Moduleinstellungen und die gesetzten Benutzer-Sperren.

  • Melden Sie sich mit einem eingeschränkten Testkonto an und kontrollieren Sie, ob die Sperren greifen.

Datenaufbewahrung bei Deaktivierung

Eine normale Deaktivierung hebt alle Menü- und Lösch-Sperren sofort auf – die vollständige Admin-Navigation steht wieder allen Benutzern zur Verfügung. Die konfigurierten Rechte pro Benutzer bleiben in der OXID-Konfiguration gespeichert und greifen bei einer erneuten Aktivierung wieder. Es gibt keine automatische Bereinigung; die Sperr-Konfigurationen können bei Bedarf über die Shop-Konfiguration entfernt werden.