Wenn Joomla als mögliche Zielplattform in Betracht gezogen wird, beschreibt die Vorbereitung, welche Nachweise, Entscheidungen und Zielkonfigurationen vor der Migration geklärt werden müssen.
Wenn Joomla als Zielplattform ausgewählt werden soll, muss die Vorbereitung die Website als verbundenes Content-System behandeln und nicht als Sammlung isolierter Artikel und Datenbanktabellen. Artikel hängen von Kategorien, Menüeinträgen, Modulen, Zugriffsebenen, Sprachen, Medien, Templates, Plugins, Komponenten und Routen ab. Ein Content-Datensatz kann in der Datenbank vorhanden sein und im Ziel dennoch unerreichbar bleiben, für die falsche Benutzergruppe sichtbar sein, der falschen Sprache zugeordnet werden oder von einer Erweiterung abhängen, die in der Zielumgebung fehlt.
Das Vorbereitungspaket sollte diese Beziehungen vor Beginn der Migration ausdrücklich dokumentieren. Jede wesentliche Aufgabe braucht einen Verantwortlichen, einen Nachweis und einen Bereitschaftsstatus. Ziel ist nicht, das gesamte Zieldesign vorab fertigzustellen. Ziel ist, Mehrdeutigkeit darüber zu beseitigen, was Joomla besitzt, was einer Erweiterung gehört, was extern bleiben soll und welche repräsentativen Datensätze bei der Testmigration die wichtigsten Beziehungen sichtbar machen.
Administrative Zugänge, Hosting und Source-Nachweise sichern
Bestätigen Sie zuerst, wer auf Joomla Administrator, Hosting-Control-Panel, Datenbank, Dateisystem, Medienverzeichnisse, DNS-Einträge sowie externe Speicher- oder Delivery-Dienste zugreifen kann. Der Zugriff muss ausreichen, um die Website wiederherzustellen, erweiterungseigene Datensätze zu prüfen und belastbare Nachweise zu erzeugen, selbst wenn die öffentliche Website ausfällt.
| Vorbereitungsmaßnahme | Verantwortlicher | Nachweis | Bereitschaftsstatus |
|---|---|---|---|
| Joomla-Administratorzugriff bestätigen | Website-Verantwortlicher oder Joomla-Administrator | Funktionierendes Administratorkonto und Rollenübersicht | Benötigte Menüs, Benutzer, Erweiterungen und Konfigurationsbereiche sind einsehbar. |
| Hosting- und Datenbankzugriff bestätigen | Hosting- oder Infrastrukturverantwortlicher | Control-Panel-Zugang, Datenbankzugang und Dokumentation der PHP-/Datenbankversion | Aktueller Datenbankexport und Dateisystem-Backup können unabhängig von der Live-Site erstellt werden. |
| Joomla-Umgebung erfassen | Technischer Verantwortlicher | Joomla-Version, PHP-Version, Datenbankversion, aktives Template, aktivierte Sprachen und Hinweise zu Cache/CDN | Die Source-Umgebung ist in einem datierten Inventar dokumentiert. |
| Externe Abhängigkeiten dokumentieren | Systemverantwortlicher | Liste zu DNS, CDN, Object Storage, E-Mail, Suche, Formularen, CRM, Analyse und Authentifizierung | Jede externe Abhängigkeit besitzt einen Verantwortlichen und eine Entscheidung für das Ziel. |
| Source-Identifikatoren einfrieren | Migrationskoordinator | Relevante Article IDs, Category IDs, Menu Item IDs, User IDs, Extension Record IDs und externe Schlüssel | Wichtige Querverweise lassen sich nach der Extraktion nachvollziehen. |
Erstellen Sie vor jeder Bereinigung ein vollständiges Backup. Halten Sie das Original unverändert und dokumentieren Sie Datum, Umfang, Speicherort, Verschlüsselung bzw. Zugriffskontrollen und den Wiederherstellungsverantwortlichen. Nutzt die Website externen Medienspeicher, CDN-Rewriting oder Remote-Dateireferenzen, müssen diese separat erfasst werden, da ein lokales Dateisystemarchiv möglicherweise nicht den vollständigen Inhalt enthält.
Artikel, Kategorien, Menüs, Module und Routen inventarisieren
Joomla Articles definieren nicht die vollständige öffentliche Struktur. Kategorien organisieren Inhalte, Menüeinträge erzeugen Routen und Seitenkontexte, Module liefern umgebende Inhalte und Zugriffsebenen bestimmen die Sichtbarkeit. Die Vorbereitung sollte diese Beziehungen für besonders wichtige Seiten abbilden.
| Inhaltsbeziehung | Vorbereitungsnachweis | Bereitschaftsstatus |
|---|---|---|
| Article zu Category | Export von Articles und Categories mit IDs, Aliasen, Sprache, Status und Zugriffsebene | Jeder Artikel im Umfang besitzt eine identifizierte Kategorie oder eine bewusste Uncategorized-Behandlung. |
| Menu Item zu Ziel | Menüinventar mit Menütyp, Parent Item, Alias, Route, Sprache, Zugriffsebene und verknüpfter Komponente/Ansicht | Priorisierte Routen haben ein ausdrücklich definiertes Ziel und werden nicht allein aus Artikeltiteln abgeleitet. |
| Module zu Seitenkontext | Modulliste mit Position, Menüzuweisung, Sprache, Zugriffsebene und zuständiger Erweiterung | Geschäftskritische Module sind als Content, Darstellung, Erweiterungsausgabe oder Stilllegungskandidat klassifiziert. |
| Category-Hierarchie | Parent-Child-Map mit Aliasen und Beschreibungen | Hierarchie, mehrsprachige Varianten und Zugriffsbeschränkungen sind verstanden. |
| Redirect- und SEF-Verhalten | Aktuelle URL-Liste, Redirect-Datensätze, Routing-Erweiterungsregeln und Canonical-Hinweise | Hochwertige Pfade besitzen eine vorgesehene Zielroute oder Redirect-Entscheidung. |
Trennen Sie dauerhafte Inhaltsstruktur von Darstellung. Ein Menüeintrag kann auf einen einzelnen Artikel, einen Category Blog, eine Listenansicht, getaggte Inhalte, einen Kontakt, eine individuelle Komponente oder eine externe URL verweisen. Ein Modul kann nur ausgewählten Menüeinträgen zugewiesen sein. Dokumentieren Sie tatsächliche Routen- und Zuweisungslogik, statt anzunehmen, die Migration des Artikels rekonstruiere die Seite.
Priorisieren Sie URLs mit organischem Traffic, Backlinks, Kampagnennutzung, rechtlicher Bedeutung, Kontozugriff oder hoher Customer-Nutzung. Für jede priorisierte URL sollten aktueller Besitzer, Zielabsicht, Sprache und Behandlung als direkter Pfad, einmaliger Redirect oder Stilllegung feststehen.
Benutzer, Gruppen, Zugriffsebenen und Berechtigungen vorbereiten
Joomla trennt Benutzer, User Groups, Viewing Access Levels und Permissions. Ein Benutzer kann mehreren Gruppen angehören, und Gruppenhierarchien können vererbten Zugriff beeinflussen. Zugriffsebenen können Articles, Categories, Menüeinträge, Module und Komponenten-Datensätze steuern. Ein einfacher User-Export reicht deshalb nicht aus, wenn Mitgliedschaften, redaktionelle Rollen, geschützte Inhalte oder individuelle Kontotypen wichtig sind.
| Vorbereitungsmaßnahme | Verantwortlicher | Nachweis | Bereitschaftsstatus |
|---|---|---|---|
| Benutzerpopulationen klassifizieren | Joomla-Administrator und Unternehmensverantwortlicher | Benutzerliste nach Administratoren, Autoren, Mitgliedern, Customers, Partnern, gesperrten und inaktiven Konten gruppiert | Jede Population hat eine vorgesehene Zielrolle oder einen bewussten Ausschluss. |
| Gruppenmitgliedschaft abbilden | Verantwortlicher für Zugriffskontrolle | User-to-Group- und Group-Hierarchy-Export | Multi-Group-User und vererbte Beziehungen sind sichtbar. |
| Viewing Access Levels abbilden | Content- oder Membership-Verantwortlicher | Definitionen der Zugriffsebenen und zugewiesenen Gruppen | Geschützte Inhalte lassen sich auf die Benutzer zurückführen, die sie sehen dürfen. |
| Berechtigungen abbilden | Joomla-Administrator | Zusammenfassung wichtiger Komponenten- und globaler Berechtigungen | Administrative Fähigkeiten werden nicht mit Frontend-Sichtbarkeit verwechselt. |
| Authentifizierungsabhängigkeiten dokumentieren | Verantwortlicher für Identität und Zugriff | Inventar zu lokalem Login, Social Login, LDAP, SSO, MFA, Passwortregeln und Reset-Prozess | Der Zielansatz für Kontozugriff ist dokumentiert, ohne Source-Passwortportabilität vorauszusetzen. |
Erstellt eine Commerce-, Membership-, Learning-, Directory- oder Community-Erweiterung eigene Profil- oder Kontodatensätze, sollten diese mit der Joomla User ID verknüpft und die Erweiterung als tatsächlicher Besitzer der Geschäftsbeziehung klassifiziert werden. Mitgliedschaftsstatus, Abonnementhistorie, Lernfortschritt, Vendor-Daten oder Customer-Datensätze dürfen nicht in generische Joomla-User-Metadaten abgeflacht werden.
Mehrsprachige Inhalte und Sprachzuordnungen vorbereiten
Mehrsprachige Joomla-Websites können Articles, Categories, Menu Items, Modules, Contacts und andere Datensätze Sprachen zuweisen und äquivalente Datensätze über Associations verbinden. Die Vorbereitung muss sowohl die Sprachzuweisung als auch die Beziehung zwischen übersetzten Gegenstücken erhalten.
Erstellen Sie einen Nachweissatz mit aktivierten Content Languages, Language Tags, Standardsprache, sprachspezifischen Home Menu Items, verbundenen Articles und Categories, verbundenen Menu Items sowie der Language-Switcher-Konfiguration. Datensätze für alle Sprachen müssen getrennt von datensatzspezifischen Sprachzuweisungen erfasst werden.
| Mehrsprachige Fragestellung | Nachweis | Bereitschaftsstatus |
|---|---|---|
| Übersetzte Article-Familie | Verbundene Datensatz-IDs, Aliase, Titel, Language Tags und Routen | Jede Übersetzung im Umfang besitzt ein bekanntes Gegenstück oder eine bewusste Einzelbehandlung. |
| Sprachspezifische Navigation | Menüs, Home Items, Menu Aliases und Module Assignments nach Sprache | Jede Sprache besitzt eine definierte Hauptnavigation und Home-Route. |
| Gemeinsame Medien oder Metadaten | Dateireferenzen, Captions, Alt-Text und Metadaten nach Sprache | Gemeinsame Assets und lokalisierte Felder sind unterschieden. |
| Nicht übersetzte Fallback-Inhalte | Datensätze für alle Sprachen oder als Fallback | Die Fallback-Absicht ist dokumentiert und wird nicht aus fehlenden Übersetzungen abgeleitet. |
Identische Aliase oder Titel sind kein Beweis für eine Association. Verwenden Sie nach Möglichkeit die tatsächlichen Joomla-Sprach- und Association-Datensätze und dokumentieren Sie zusätzlich manuell gepflegte sprachübergreifende Links, die von Templates oder Erweiterungen abhängen.
Erweiterungen, benutzerdefinierte Felder, Templates und individuelle Tabellen inventarisieren
Joomla-Erweiterungen können Inhalte, Transaktionen, Profile, Formulare, Redirects, Tags, Downloads, Buchungen, Mitgliedschaften, Veranstaltungen, Verzeichnisse und Integrationen besitzen. Templates und Overrides können die Darstellung nativer Datensätze verändern, ohne selbst deren Besitzer zu sein. Die Vorbereitung sollte den Verantwortlichen jedes geschäftskritischen Nicht-Core-Datensatzbestands identifizieren.
| Erweiterungsnachweis | Erforderliches Detail | Bereitschaftsstatus |
|---|---|---|
| Komponenteninventar | Name, Version, Zweck, Datenbanktabellen, referenzierte Core IDs und aktueller Verantwortlicher | Jede wichtige Komponente besitzt eine Entscheidung: behalten, ersetzen, restrukturieren, externalisieren oder stilllegen. |
| Plugin- und Modulinventar | Trigger- oder Anzeigerolle, Konfigurationsort und zugehörige Datensätze | Verhaltensabhängigkeiten sind von Inhaltsdatensätzen getrennt. |
| Benutzerdefinierte Felder | Feldgruppe, Typ, erlaubte Werte, zugewiesene Kontexte, gespeicherte Werte und konsumierendes Template/Erweiterung | Im Ziel benötigte Felder besitzen einen benannten Implementierungsverantwortlichen. |
| Template- und Override-Inventar | Aktives Template, Child Template, Overrides, individuelle Layouts, Positionen und Builder-Abhängigkeiten | Darstellungsarbeit wird nicht mit Datenmigration verwechselt. |
| Individuelle Tabellen und Code | Schema, Primary Keys, Foreign Keys, Geschäftszweck und externe Identifikatoren | Aktive individuelle Daten lassen sich auf den konsumierenden Ablauf zurückführen. |
Für jedes erweiterungseigene Datensatzbestand sollten repräsentative Source-Datensätze und eine Beziehungsübersicht vorbereitet werden. Eine Formularerweiterung kann beispielsweise Formulardefinitionen, Submissions, Dateien, Benachrichtigungen und CRM-Zustände enthalten. Eine Directory-Erweiterung kann Listings, Besitzer, Categories, Standorte, Claims und Reviews besitzen. Solche Strukturen dürfen nicht zu „benutzerdefinierte Felder“ reduziert werden, wenn es eigenständige Entitäten sind.
Medien, Dateien und eingebettete Referenzen vorbereiten
Joomla-Medien können aus Article HTML, benutzerdefinierte Felder, Modules, Templates, Galleries, Download-Erweiterungen, Remote Storage oder Drittanbieter-Buildern referenziert werden. Eine Dateisystemkopie allein zeigt nicht, welche Datensätze eine Datei verwenden.
Erstellen Sie ein Medieninventar, das lokale Bilder, Dokumente, Audio/Video, generierte Thumbnails, Remote Assets und erweiterungsverwaltete Uploads unterscheidet. Erfassen Sie Dateipfad, Dateiname, MIME-Type, Größe, nach Möglichkeit den besitzenden Datensatz und ob die Referenz in Article Content, benutzerdefiniertes Feld, Metadata, Module oder Extension Table vorkommt.
Identifizieren Sie absolute URLs, relative Pfade, codierte Dateinamen, Duplikate, gebrochene Referenzen und Unterschiede in Groß-/Kleinschreibung. Benennen Sie Source-Dateien nicht um und deduplizieren Sie sie nicht, bevor Referenzen dokumentiert sind. Falls Bereinigung nötig ist, führen Sie ein Source-to-Cleaned-Path-Ledger, damit die ursprüngliche Beziehung nachvollziehbar bleibt.
Bereitschaft bedeutet nicht eine perfekte Medienbibliothek. Es bedeutet, dass genügend Nachweise vorhanden sind, um priorisierte Inhalte und Erweiterungsdatensätze mit ihren benötigten Dateien zu verbinden.
Joomla-Core-Umfang von Commerce- und Anwendungsumfang trennen
Eine Joomla-Website kann außerdem J2Commerce, J2Store, VirtueMart, Membership-, LMS-, Booking-, Event-, Directory- oder individuelle Anwendungsdaten enthalten. Die Joomla-Vorbereitung sollte diese Domänen identifizieren, ohne deren vollständige datensatzbezogene Checklisten zu übernehmen.
| Domäne | Vorbereitung auf Joomla-Ebene | Separater Verantwortlicher |
|---|---|---|
| Commerce-Erweiterung | Joomla-Version, Users, Articles, Categories, Menus, Modules, Plugins, Template und Erweiterungsinventar | Product-, Customer-, Order-, Preis-, Zahlungs-, Versand- und Steuer- und Commerce-Erweiterungsdatensätze gehören zur Commerce-Checkliste. |
| Membership oder LMS | Users, Groups, Access Levels, geschützte Joomla-Inhalte und Erweiterungsinventar | Plans, Subscriptions, Enrollments, Progress, Payments und Certificates gehören dem Anwendungsverantwortlichen. |
| Forms und CRM | Menu-/Module-Platzierung, User-Links und Erweiterungsinventar | Formulardefinitionen, Submissions, Dateien, Benachrichtigungen und CRM-IDs gehören dem Formular-/CRM-Verantwortlichen. |
| Individuelle Komponente | Joomla Users, Menus, Modules, Routes und Template-Integration | Individuelle Entitäten, Abläufe und externe Schlüssel gehören zum Scope der individuellen Komponente. |
Diese Grenze verhindert doppelte Vorbereitung und schafft klare Verantwortlichkeit. Das Joomla-Paket sollte dennoch jede Abhängigkeit dokumentieren, die anwendungseigene Inhalte verbergen, sichtbar machen oder routen kann.
Repräsentative Prüffälle für die Migration auswählen
Repräsentative Migrationsprüffälle sollten die wichtigsten Joomla-Beziehungen offenlegen und nicht lediglich die neuesten Articles enthalten. Erstellen Sie ein Beispielregister mit Quell-IDs, URLs, Auswahlgrund, verknüpften Objekten, erwarteter Verantwortung und den für die Interpretation benötigten Source-Nachweisen.
Nehmen Sie mindestens auf:
- einen Article, der über einen Single-Article-Menüeintrag erreichbar ist;
- einen Article, der über Category Blog oder List View erreicht wird;
- eine mehrsprachige Article-Familie mit verbundenen Menu Items;
- geschützte Inhalte mit nicht öffentlichen Zugriffsebenen;
- eine Seite, deren sichtbare Ausgabe von Modules abhängt;
- Inhalte mit benutzerdefinierte Felder und eingebetteten Medien;
- eine priorisierte Legacy-URL oder einen Redirect;
- einen Datensatz einer wichtigen Erweiterung oder individuellen Komponente;
- einen User mit mehreren Groups, bei dem die Zugriffsbeziehung relevant ist.
Das Beispielregister ist bereit, wenn jeder Datensatz Article-, Category-, Menu-Item-, Module-, Language-, Access-Level-, Media-, Extension- und Route-Beziehungen benennt, die geprüft werden sollen. Der Schwerpunkt bleibt auf vollständigen, nachvollziehbaren Source-Nachweisen.
Abschließendes Bereitschaftsprüfung festlegen
Vor Beginn der Migration sollte der Koordinator die folgenden Fragen anhand dokumentierter Nachweise statt aus dem Gedächtnis beantworten können.
| Bereitschaftsfrage | Freigabebedingung |
|---|---|
| Kann die Source wiederhergestellt werden? | Unveränderliche Datenbank- und Dateisystem-Backups existieren, inklusive Restore-Verantwortlichem und Hinweisen zu externem Speicher. |
| Sind priorisierte Seiten nachvollziehbar? | Articles, Categories, Menu Items, Modules, Languages, Access Levels, Media und Routes sind für wichtige Inhalte verknüpft. |
| Sind Benutzer und Berechtigungen verständlich? | User Groups, Access Levels, Permissions und Authentifizierungsabhängigkeiten sind dokumentiert. |
| Sind Erweiterungen klassifiziert? | Jede wichtige Erweiterung und individuelle Tabelle besitzt Verantwortlicher, Zweck, Source-Nachweis und Zielentscheidung. |
| Sind Anwendungsgrenzen eindeutig? | Commerce- und andere Anwendungsdatensätze sind ihren eigenen Vorbereitungsscopes zugeordnet. |
| Sind repräsentative Beispiele gewählt? | Das Register deckt Routing, Zugriff, Mehrsprachigkeit, Medien, Erweiterungen und individuelle Daten ab. |
| Sind offene Punkte kontrolliert? | Jede offene Abhängigkeit besitzt Verantwortlicher, Entscheidungsdatum und Auswirkung auf den Scope. |
Eine fehlende kosmetische Entscheidung blockiert Bereitschaft nicht zwingend. Fehlender Source-Zugriff, unvollständige Backups, unbekannte Erweiterungsverantwortung, nicht nachvollziehbare geschützte Inhalte oder undefinierte individuelle Daten sollten den betroffenen Scope blockieren, bis Nachweise verfügbar sind.
Fazit
Joomla-Vorbereitung ist am belastbarsten, wenn sie Beziehungen zwischen Articles, Categories, Menus, Modules, Users, Access Levels, Languages, Media, Routes, Templates, Extensions und externen Systemen erhält. Die Checkliste sollte wiederherstellbare Source-Nachweise, benannte Zuständigkeiten, repräsentative Beispiele und klare Freigabebedingungen erzeugen statt nur eine generische Exportliste.
Sind diese Kontrollen abgeschlossen, kann der Migrationsumfang Joomla-Core-Inhalte von Darstellung, Erweiterungsverhalten und anwendungseigenen Daten unterscheiden, ohne während der Ausführung auf Annahmen angewiesen zu sein.
Häufige Fragen
Was sollte für eine Joomla-Migration zuerst vorbereitet werden?
Sichern Sie Joomla-Administrator-, Hosting-, Datenbank-, Dateisystem- und externe Speicherzugriffe und erstellen Sie anschließend unveränderliche Backups sowie ein datiertes Umgebungsinventar. Ohne wiederherstellbare Source-Nachweise sind spätere Content- und Erweiterungsanalysen nicht belastbar.
Warum gehören Joomla-Menüs zur Migrationsvorbereitung?
Menüeinträge erzeugen Routen und Seitenkontexte. Sie können auf Articles, Category Views, Contacts, individuelle Komponenten oder externe URLs verweisen und Sprach- sowie Zugriffseinstellungen tragen. Die Migration eines Artikels allein rekonstruiert nicht die Seite, über die Benutzer ihn erreichen.
Wie sollten Joomla-Benutzer und Zugriffsebenen vorbereitet werden?
Exportieren Sie Users, Group Memberships, Group Hierarchy, Viewing Access Levels und wichtige Permissions getrennt. Identifizieren Sie außerdem Authentication Provider und erweiterungseigene Profile, damit Login-Identität nicht mit Membership-, Customer-, Learner- oder Vendor-Datensätzen verwechselt wird.
Was ist mit Joomla benutzerdefinierte Felder zu tun?
Dokumentieren Sie für jedes Feld Gruppe, Typ, erlaubte Werte, zugewiesenen Kontext, gespeicherte Werte und konsumierendes Template oder Erweiterung. Ein Feld ist erst bereit, wenn sein Zielverantwortlicher und Geschäftszweck bekannt sind.
Wie sollten mehrsprachige Joomla-Inhalte im Vorbereitungspaket dargestellt werden?
Dokumentieren Sie Sprachzuweisungen und Joomla-Associations für Articles, Categories, Menu Items und Modules. Nehmen Sie sprachspezifische Home Items und Routen auf und unterscheiden Sie gemeinsame Inhalte von übersetzten Gegenstücken und beabsichtigten Fallbacks.
Welche Joomla-Datensätze eignen sich für repräsentative Migrationsprüfungen?
Wählen Sie Datensätze, die Menüs, Category Views, mehrsprachige Associations, Zugriffsbeschränkungen, Modules, benutzerdefinierte Felder, Media, priorisierte URLs und Erweiterungsverantwortung tatsächlich ausüben. Jedes Beispiel sollte Quell-IDs und Beziehungen enthalten, die für die Interpretation erforderlich sind.