Inhalt | 6 |
1 Einleitung | 18 |
2 Über Joomla! | 20 |
2.1 Content-Management-Systeme | 20 |
2.2 Geschichte | 21 |
2.3 Organisation | 21 |
2.4 Release-Strategie | 24 |
3 Einrichten der Arbeitsumgebung | 26 |
3.1 Lokaler Webserver | 26 |
3.1.1 Windows | 27 |
3.1.2 Linux | 29 |
3.1.3 Mac OS X | 32 |
3.1.4 Vagrant | 35 |
3.2 Entwicklungstools | 36 |
3.2.1 Texteditor | 37 |
3.2.1.1 Windows: Notepad++ | 37 |
3.2.1.2 Alle Systeme: Sublime Text | 37 |
3.2.2 Entwicklungsumgebung | 38 |
3.2.2.1 Eclipse | 38 |
3.2.2.2 PhpStorm | 39 |
3.3 Wahl des Browsers | 40 |
3.3.1 Nutzung der Chrome-Entwicklertools | 41 |
3.4 FTP-Client | 45 |
3.5 Passwort-Manager | 46 |
4 Installation | 48 |
4.1 Installation in der lokalen Umgebung | 48 |
4.1.1 Sonderfall 1: der FTP-Modus | 57 |
4.1.2 Sonderfall 2: mehrsprachige Installation | 59 |
4.2 Installation auf dem Webspace des Hosters | 61 |
4.3 Erste Handgriffe nach der Installation | 62 |
4.3.1 Anpassung der robots.txt | 62 |
4.3.2 Leeren des Verzeichnisses/images | 63 |
5 Grundlegende Begriffe und Architektur | 66 |
5.1 Grundlegende Begriffe | 66 |
5.1.1 Backend/Frontend | 66 |
5.1.2 Komponenten, Module, Plug-ins und Templates | 67 |
5.1.3 Beiträge, Kategorien, Menüs | 68 |
5.2 Architektur | 69 |
5.2.1 Joomla!-Framework | 70 |
5.2.2 Joomla!-CMS | 70 |
5.2.3 Erweiterungen | 71 |
6 Das Backend | 72 |
6.1 Login | 72 |
6.2 Grundaufbau und Kontrollzentrum | 73 |
6.3 Allgemeine Konfiguration | 75 |
6.4 Massenmail | 82 |
6.5 Menü: Menüs und Inhalte | 84 |
6.6 Medienverwaltung | 84 |
6.7 Menü: Komponenten | 88 |
6.8 Menü: Erweiterungen | 89 |
6.9 Menü: Hilfe | 90 |
7 Inhalte verwalten | 92 |
7.1 Kategoriensystem anlegen | 93 |
7.1.1 Kategorienübersicht | 93 |
7.1.2 Kategorie anlegen | 96 |
7.1.3 Anlegen einer untergeordneten Kategorie | 100 |
7.1.4 Bestehende Kategorien ändern | 101 |
7.1.5 Kategorien entfernen und wiederherstellen | 103 |
7.1.6 Kategorien veröffentlichen und verstecken | 104 |
7.1.7 Kategorie-Reihenfolge ändern | 105 |
7.1.8 Freigeben von Kategorien | 106 |
7.1.9 Wiederherstellen der Kategorienstruktur | 107 |
7.1.10 Kategorienoptionen | 108 |
7.1.11 Anwenden von Änderungen auf mehrere Kategorien | 108 |
7.2 Inhalte erstellen | 109 |
7.2.1 Beitragsübersicht | 109 |
7.2.2 Neuen Beitrag anlegen | 110 |
7.2.2.1 Der WYSIWYG-Editor TinyMCE | 111 |
7.2.2.2 Bilder einfügen | 119 |
7.2.2.3 Verlinkungen zu anderen Beiträgen einfügen | 121 |
7.2.2.4 Seitenumbruch | 123 |
7.2.2.5 Weiterlesen-Funktion | 126 |
7.2.2.6 Module einfügen | 127 |
7.2.2.7 WYSIWYG-Editor deaktivieren | 128 |
7.2.2.8 Beitragsparameter | 128 |
7.2.3 Allgemeine Optionen der Beitragskomponente | 132 |
7.3 Haupteinträge | 136 |
7.4 Versionierung | 136 |
7.5 Verschlagwortung | 138 |
7.5.1 Schlagworte anlegen | 139 |
7.5.2 Schlagworte im Frontend | 140 |
8 Navigationsstruktur anlegen | 142 |
8.1 Das Menüsystem | 142 |
8.1.1 Die Menübereiche | 142 |
8.1.2 Die Menüeinträge | 143 |
8.2 Menüeinträge anlegen | 144 |
8.2.1 Menütypen | 144 |
8.2.2 Menüeintrags-Parameter | 148 |
8.2.3 Kategorienauflistungen | 152 |
8.2.4 Kategorienblogs | 155 |
8.3 Split-Navigationen anlegen | 160 |
9 Das Template-System | 162 |
9.1 Was ist ein Template? | 162 |
9.1.1 Backend- und Frontend-Templates | 163 |
9.1.2 Modulpositionen | 163 |
9.2 Template-Übersicht | 164 |
9.2.1 Template-Stile | 165 |
9.2.2 Installierte Templates | 165 |
9.3 Editieren der installierten Templates | 166 |
9.4 Template-Stil wechseln | 167 |
9.5 Template-Zuweisung | 168 |
9.6 Parameter ändern | 169 |
9.7 Manuelle Template-Anpassungen | 170 |
9.8 Andere Templates nutzen | 173 |
9.8.1 Template-Verzeichnisse | 173 |
9.8.2 Template-Clubs | 174 |
9.8.3 Installation | 175 |
10 Joomla!-Erweiterungen | 176 |
10.1 Integrierte Erweiterungen | 176 |
10.1.1 Komponenten: Nutzung der Kontakt-Komponente | 176 |
10.1.2 Komponenten: Nutzung des Suchindex | 180 |
10.1.3 Module: Das RSS-Feed-Modul einbinden | 181 |
10.1.3.1 Administrator-Module | 188 |
10.1.4 Plug-ins | 188 |
10.1.5 Sprachen | 190 |
10.1.6 Templates | 191 |
10.1.7 Bibliotheken | 191 |
10.1.8 Überblick über die Standarderweiterungen | 191 |
10.2 Erweiterungen verwalten | 196 |
10.2.1 Erweiterungen finden | 196 |
10.2.1.1 extensions.joomla.org | 196 |
10.2.1.2 Checkliste für die Auswahl der passenden Erweiterung | 199 |
10.2.1.3 Deutschsprachige Erweiterungsverzeichnisse | 199 |
10.2.2 Erweiterungen installieren | 200 |
10.2.2.1 Aus Webkatalog installieren | 203 |
10.2.3 Erweiterungsmanager | 205 |
10.2.3.1 Erweiterungen verwalten | 205 |
10.2.3.2 Erweiterungen überprüfen | 206 |
10.2.3.3 Erweiterungen aktualisieren | 207 |
10.2.3.4 Datenbank | 207 |
10.2.3.5 Warnungen | 208 |
10.2.3.6 Sprachen installieren | 209 |
10.2.3.7 Aktualisierungsquellen | 210 |
11 Benutzer- und Rechteverwaltung | 212 |
11.1 Benutzerverwaltung | 212 |
11.2 Gruppen | 214 |
11.3 Zugriffsebene | 217 |
11.4 Berechtigungen | 219 |
11.4.1 System-Berechtigungen | 220 |
11.4.2 Komponenten-Berechtigungen | 222 |
11.4.3 Kategorie-Berechtigungen | 222 |
11.4.4 Eintragsberechtigungen | 223 |
11.5 Parameter der Benutzerverwaltung | 224 |
12 Overrides/Template Workshop | 226 |
12.1 Overrides und Alternative Layouts | 226 |
12.1.1 Einleitung | 226 |
12.1.2 MVC | 227 |
12.1.3 Ausgabe von Komponenten überschreiben | 227 |
12.1.3.1 Struktur | 227 |
12.1.3.2 Override erstellen | 228 |
12.1.3.3 Alternatives Layout erstellen | 229 |
12.1.3.4 Überblick über Joomla!-Komponenten | 230 |
12.1.3.5 Auswahl der Alternativen Layouts im Backend | 231 |
12.1.4 Menütypen für Alternative Layouts anlegen | 234 |
12.1.4.1 Struktur | 235 |
12.1.5 Ausgabe von Modulen überschreiben | 237 |
12.1.5.1 Struktur | 237 |
12.1.5.2 Overrides anlegen | 237 |
12.1.5.3 Alternative Layouts anlegen | 238 |
12.1.5.4 Auswahl im Backend | 239 |
12.1.6 Modul Chrome | 240 |
12.1.6.1 Aufruf | 240 |
12.1.6.2 Definition | 240 |
12.1.6.3 Eigenen Chrome anlegen | 242 |
12.1.6.4 Verwendung Modul Overrides vs. Chrome Stile | 243 |
12.1.7 Ausgabe von jLayouts überschreiben | 243 |
12.1.7.1 Struktur | 243 |
12.1.7.2 Override anlegen | 244 |
12.1.7.3 Eigene jLayouts anlegen | 244 |
12.1.8 Overrides über den Template-Manager erstellen | 244 |
12.1.9 Ausgabe von Plug-ins überschreiben | 245 |
12.1.9.1 Struktur | 245 |
12.1.9.2 Overrides anlegen | 245 |
12.1.10 Ausgabe der Paginierung überschreiben | 246 |
12.1.11 Media-Dateien überschreiben | 247 |
12.1.11.1 Der Media-Ordner | 247 |
12.1.11.2 Skripte überschreiben | 247 |
12.1.11.3 Bilder überschreiben | 248 |
12.1.11.4 Stile überschreiben | 249 |
12.1.11.5 Dateien außerhalb des Media-Ordners | 249 |
12.1.12 Ausgabe von Sprachdateien überschreiben | 250 |
12.2 Joomla!-Template-Workshop | 254 |
12.2.1 Download der Beispieldateien | 255 |
12.2.2 Aufbau eines Joomla!-Templates | 258 |
12.2.3 Bearbeitung der templateDetails.xml | 263 |
12.2.4 Basisangaben in der index.php | 272 |
12.2.4.1 Joomla!-spezifische PHP-Anweisungen | 272 |
12.2.4.2 Stylesheet-Dateien einbinden | 273 |
12.2.4.3 Skript-Dateien einbinden | 274 |
12.2.4.4 Head laden – Jdoc-Anweisung | 277 |
12.2.4.5 Template-Parameter | 278 |
12.2.5 Module in der index.php laden | 283 |
12.2.5.1 Jdoc-Anweisung | 283 |
12.2.5.2 Menü | 283 |
12.2.5.3 Seitenheader | 287 |
12.2.5.4 Teaser | 293 |
12.2.5.5 Icon-Modul | 296 |
12.2.5.6 Portfolio-Modul | 302 |
12.2.5.7 Call-to-Action-Bereich | 308 |
12.2.5.8 Kontaktbereich im Footer | 309 |
12.2.6 Verweise korrigieren | 313 |
12.2.7 Weitere Jdoc-Anweisungen | 313 |
12.2.8 Inhaltsbereich/Komponente | 314 |
12.3 Weitere Joomla!-Template-Dateien | 320 |
12.3.1 component.php | 320 |
12.3.2 offline.php | 320 |
12.3.3 error.php | 321 |
12.3.4 pagination.php | 322 |
12.4 Übersicht Joomla!-Befehle | 322 |
12.5 Template-Frameworks und Template-Generatoren | 324 |
12.6 CSS-Frameworks | 325 |
12.7 Taskrunner | 326 |
12.8 Barrierefreiheit | 327 |
12.9 Backend-Template | 328 |
13 Suchmaschinenoptimierung | 330 |
13.1 Meta-Daten | 330 |
13.2 SEF URLs | 333 |
13.2.1 URL-Rewriting | 335 |
13.2.2 Das Duplicate-Content-Problem | 337 |
13.3 Umleitungen | 337 |
13.4 Erweiterungen | 339 |
13.4.1 sh404SEF | 339 |
13.4.2 OSMap | 340 |
13.4.3 Easy Frontend SEO | 340 |
14 Mehrsprachigkeit | 342 |
14.1 Integrierte Mehrsprachigkeit | 342 |
14.1.1 Prinzip | 342 |
14.1.2 Aktivierung der Sprachen | 343 |
14.1.3 Aktivierung des Plug-ins | 343 |
14.1.4 Aktivierung des Moduls | 345 |
14.1.5 Sprachzuweisung der Beiträge | 347 |
14.1.6 Sprachzuweisung der Menüeinträge | 348 |
14.1.7 Sprachzuweisung der Module | 352 |
14.1.8 Sprachverknüpfungen | 354 |
14.2 FaLang | 356 |
14.2.1 Prinzip | 356 |
15 Spezialisierte Erweiterungen | 358 |
15.1 Shop-Systeme | 358 |
15.1.1 VirtueMart | 359 |
15.1.2 HikaShop | 359 |
15.1.3 J2Store | 360 |
15.1.4 JoomShopping | 360 |
15.2 Formulare | 360 |
15.2.1 RSForm Pro | 361 |
15.2.2 FlexForms | 361 |
15.3 Dokumentenmanagement | 362 |
15.3.1 jDownloads | 362 |
15.4 Kalender | 363 |
15.4.1 JEvents | 363 |
15.4.2 DPCalendar | 363 |
15.5 Galerien | 363 |
15.5.1 Komponente: PhocaGallery | 363 |
15.5.2 Plug-in: Simple Image Gallery | 364 |
15.6 Community-Lösungen | 364 |
15.6.1 JomSocial | 365 |
15.6.2 Community Builder | 366 |
15.6.3 Kunena | 366 |
16 Eigene Felder/SEBLOD® | 368 |
16.1 Eigene Felder | 368 |
16.1.1 Diese Joomla!-Komponenten unterstützen „Eigene Felder“ | 368 |
16.1.2 Feldtypen | 369 |
16.1.2.1 Gemeinsame Grundeinstellungen | 369 |
16.1.2.2 Gemeinsame Feldoptionen | 371 |
16.1.2.3 Beschreibung der einzelnen Feldtypen | 373 |
16.1.3 Felder anlegen – so geht es! | 376 |
16.1.3.1 Anlegen einer Feldgruppe | 376 |
16.1.3.2 Neues Feld anlegen | 377 |
16.1.3.3 Feld-Reihenfolge ändern | 377 |
16.1.3.4 Mehrsprachigkeit | 378 |
16.1.4 Override der Eingabefelder | 378 |
16.1.5 Felder ausgeben – so geht es! | 378 |
16.1.5.1 Automatische Anzeige | 378 |
16.1.5.2 Benutzerprofil | 379 |
16.1.5.3 Im Beitrag | 380 |
16.1.5.4 Im Kontakt | 383 |
16.1.5.5 Im Kontaktformular | 384 |
16.1.5.6 Override der Feldausgabe | 387 |
16.1.6 Zugriff und Berechtigungen für „Eigene Felder“ | 388 |
16.1.7 Weitere Funktionen und ihre Grenzen | 389 |
16.1.8 Beispielprojekt: Jobportal | 390 |
16.1.8.1 Aufgabenstellung | 390 |
16.1.8.2 Arbeitgeberinformationen | 391 |
16.1.8.3 Stellenanzeigen | 394 |
16.1.8.4 Bewerbungsformular | 396 |
16.1.8.5 Frontend konfigurieren | 397 |
16.1.8.6 Ausgabe im Frontend | 399 |
16.2 SEBLOD® | 405 |
16.2.1 Was ist SEBLOD®? | 405 |
16.2.2 SEBLOD® installieren | 405 |
16.2.3 Erste Orientierung | 408 |
16.2.4 Globale Konfiguration | 410 |
16.2.5 Der App-Ordner Manager | 419 |
16.2.5.1 Struktur | 419 |
16.2.5.2 Die eigene App | 420 |
16.2.6 Formular- und Inhaltstypen | 422 |
16.2.6.1 Orientierung | 422 |
16.2.6.2 Formular- und Inhaltstyp erstellen | 426 |
16.2.6.3 Formular- und Inhaltstypen im Frontend darstellen | 427 |
16.2.7 Listen- und Suchtypen anlegen | 427 |
16.2.7.1 Orientierung | 427 |
16.2.7.2 Listen- und Suchtypen erstellen | 432 |
16.2.7.3 Listen- und Suchtypen im Frontend darstellen | 433 |
16.2.8 Felder hinzufügen | 433 |
16.2.8.1 Vorhandene Eingabefelder hinzufügen | 433 |
16.2.8.2 Eigene Felder hinzufügen | 434 |
16.2.8.3 Ausgabefelder festlegen | 438 |
16.2.8.4 Feld-Manager | 438 |
16.2.9 Feldtypen/Feldgruppen | 438 |
16.2.9.1 Auswahl | 438 |
16.2.9.2 Button | 441 |
16.2.9.3 Formular | 441 |
16.2.9.4 HTML | 443 |
16.2.9.5 Inhalt | 444 |
16.2.9.6 Joomla!-Bibliothek (JForm) | 445 |
16.2.9.7 Joomla! | 447 |
16.2.9.8 Kollektion | 447 |
16.2.9.9 Suche | 447 |
16.2.9.10 Textbereich | 448 |
16.2.9.11 Upload | 448 |
16.2.9.12 Wähler | 450 |
16.2.9.13 #Core | 450 |
16.2.10 Feld-Zusatzoptionen | 451 |
16.2.10.1 Beschriftung und Variation | 451 |
16.2.10.2 Live + Live Wert | 451 |
16.2.10.3 Erforderlich/Validierung + Stufe | 452 |
16.2.10.4 Zugriffsebene und Beschränkung | 453 |
16.2.10.5 Abhängige Status (+ Berechnung) | 454 |
16.2.10.6 Markup + Markup-Klassen | 456 |
16.2.10.7 Link + Typografie | 457 |
16.2.10.8 Treffer + Stufen | 459 |
16.2.10.9 Positionen | 459 |
16.2.10.10 Der Zuweisen-Button | 459 |
16.2.11 Templates | 460 |
16.2.11.1 Templates installieren | 461 |
16.2.11.2 Template-Overrides | 461 |
16.2.11.3 Eigenes Template erstellen | 465 |
16.2.12 Seiten-Manager (Joomla!-Multidomain) | 466 |
16.2.13 SEBLOD® Module | 471 |
16.2.14 Backend-Menü erstellen | 471 |
16.2.15 SEBLOD® Erweiterungen | 472 |
16.2.16 Beispielprojekt: Jobportal | 473 |
16.2.16.1 App-Ordner anlegen | 473 |
16.2.16.2 Arbeitgeberinformationen | 473 |
16.2.16.3 Stellenanzeigen | 479 |
16.2.16.4 Jobsuche konfigurieren | 487 |
16.2.16.5 Bewerbungsformular anlegen | 488 |
16.2.17 Weitere CCK | 491 |
17 Eigene Erweiterungen | 494 |
17.1 Die Joomla!-API | 494 |
17.2 Das MVC-Pattern | 495 |
17.3 Wichtige Klassen | 496 |
17.3.1 JFactory | 496 |
17.3.2 JDatabase | 497 |
17.3.3 JDatabaseQuery | 498 |
17.3.4 JInput | 499 |
17.3.5 JDocument | 500 |
17.3.6 JFile/JFolder | 501 |
17.3.7 JControllerLegacy | 502 |
17.3.7.1 JControllerAdmin | 503 |
17.3.7.2 JControllerForm | 503 |
17.3.8 JModelLegacy | 503 |
17.3.8.1 JModelAdmin | 503 |
17.3.8.2 JModelForm | 504 |
17.3.9 JViewLegacy | 504 |
17.3.10 JForm | 504 |
17.3.10.1 Verfügbare Feldtypen | 504 |
17.3.11 JLayout | 507 |
17.3.12 Weitere Klassen in der Kurzübersicht | 507 |
17.3.13 Zur Verfügung stehende Konstanten | 508 |
17.4 Tutorial: Wir programmieren eine Komponente für Stellenanzeigen | 508 |
17.4.1 Anlegen der Verzeichnisstruktur | 509 |
17.4.2 Anlegen der XML-Definition | 509 |
17.4.3 Anlegen des Installationsskripts | 512 |
17.4.4 Anlegen der SQL-Dateien für Installation, Deinstallation und Update | 515 |
17.4.5 Anlegen des MVC-Patterns im Backend | 517 |
17.4.5.1 Dispatcher | 517 |
17.4.5.2 Die Backend-Controller | 519 |
17.4.5.3 Die Backend-Models | 521 |
17.4.5.4 Das Backend-Formular | 526 |
17.4.5.5 Anlegen der Table-Klasse | 528 |
17.4.5.6 Anlegen der View für die Listenansicht | 530 |
17.4.5.7 Anlegen des Konfigurationsdialogs | 539 |
17.4.5.8 Anlegen der Helper-Klasse | 540 |
17.4.6 Anlegen der Backend-Sprachdateien | 541 |
17.4.7 Anlegen der benötigten Medien-Dateien | 543 |
17.4.8 Anlegen des MVC-Patterns im Frontend | 544 |
17.4.8.1 Anlegen des Dispatchers | 544 |
17.4.8.2 Anlegen des Controllers | 545 |
17.4.8.3 Anlegen des Models | 545 |
17.4.8.4 Anlegen der View | 547 |
17.4.9 Anlegen der Frontend-Sprachdateien | 550 |
17.4.10 Installieren der fertigen Erweiterung | 550 |
17.5 Plug-ins entwickeln | 551 |
17.5.1 Grundprinzip | 551 |
17.5.2 Beispiel-Plug-in | 552 |
17.5.3 Verfügbare Plug-in-Events | 553 |
17.6 CLI-Applikationen entwickeln | 560 |
17.7 Das FOF-Framework | 562 |
17.7.1 Zentrale Konzepte | 563 |
17.7.2 Nachteile des FOF-Frameworks | 564 |
17.7.3 Vorteile des Frameworks | 564 |
18 Best Practices | 566 |
18.1 Sinnvolle Erweiterungen im professionellen Umfeld | 566 |
18.1.1 OSMap | 566 |
18.1.2 JCE | 569 |
18.1.2.1 Installation und Konfiguration | 569 |
18.1.2.2 Kostenpflichtige Zusatz-Plug-ins | 577 |
18.1.2.3 Nutzung | 577 |
18.1.3 ACL Manager | 581 |
18.1.4 Advanced Module Manager | 584 |
18.1.5 Akeeba Backup | 586 |
18.1.5.1 Nutzung von Cloud-Storage | 588 |
18.2 Einstellungen | 589 |
18.2.1 Erweiterungen verstecken | 589 |
18.2.2 Administrationsgestaltung | 590 |
18.3 Administrationsenüs | 591 |
18.4 Management-Tools | 593 |
18.5 Standard-Paket | 594 |
18.6 Fortbildungsmöglichkeiten | 594 |
18.6.1 Joomla!-Events | 594 |
18.6.2 Zertifizierung | 595 |
19 Übertragung Offline > Online | 596 |
19.1 Die Auswahl des richtiges Hosters | 596 |
19.1.1 Das „www-run“-Problem | 597 |
19.2 Transfer mittels FTP und phpMyAdmin | 601 |
19.3 Transfer mit Akeeba Backup | 607 |
19.4 Fallstricke nach dem Transfer | 611 |
19.5 Online-Checkliste | 611 |
20 Performance-Optimierungen | 612 |
20.1 Optimierung der Generierungszeit | 615 |
20.1.1 MySQL Query Caching | 615 |
20.1.2 Opcode-Caches für PHP | 615 |
20.1.3 Integriertes Joomla!-Caching | 616 |
20.1.3.1 Seiten-Caching | 618 |
20.1.3.2 Modul- und Komponenten-Caching | 618 |
20.1.3.3 Erweitertes Caching | 619 |
20.1.3.4 Leeren des Caches | 619 |
20.2 Optimierung des HTML-Codes | 620 |
20.3 Optimierung der Auslieferung | 621 |
20.3.1 Aktivierung der GZIP-Komprimierung | 621 |
20.3.2 Content Delivery Networks | 622 |
21 Sicherheit | 624 |
21.1 Motivation der Angreifer | 624 |
21.2 Angriffstypen und Gegenmaßnahmen | 626 |
21.2.1 SQL Injections | 626 |
21.2.2 Directory Traversal | 628 |
21.2.3 Remote Code Execution | 630 |
21.2.4 Cross-Site-Scripting | 630 |
21.2.5 Cross-Site Request Forgery | 632 |
21.3 Sicherheitsmaßnahmen | 633 |
21.3.1 Zwei-Faktor-Authentifizierung | 634 |
21.4 Wie erkenne ich einen Hack? | 636 |
21.5 Was tun nach dem Hack? | 636 |
22 Update und Migration | 640 |
22.1 Migrationen: theoretischer Ablauf | 640 |
22.2 Schritt 1: Kopie erstellen | 641 |
22.3 Schritt 2: Erweiterungen prüfen | 642 |
22.3.1 Sonderfall Templates | 643 |
22.4 Schritt 3: Backup! | 644 |
22.5 Schritt 4: Migration | 644 |
22.6 Schritt 5: Übertragen der Seite | 646 |
22.7 Migration eigener Erweiterungen | 646 |
Index | 648 |