Seitenpakete und Installer
Diese Seite richtet sich an Entwickler, die eine Website wollen, die sich erneut installieren lässt: auf dem Rechner eines Kollegen, auf Staging, für den nächsten Kunden. Exponential installiert Websites aus Paketen, und ein Projekt kann denselben Mechanismus für seine eigenen Klassen und Starterinhalte nutzen, sodass eine neue Installation aus Dateien statt aus Klicks entsteht.
Inhalt
- Pakete in einem Absatz
- Die drei Installer
- Das Standard-Seitenpaket
- Pakete in Ihrem Projekt
- Ein eigenes Seitenpaket
- Testen
- Was Pakete nicht übertragen
Pakete in einem Absatz
Ein Paket ist ein Ordner mit einer package.xml und den Dateien, die sie nennt, ausgeliefert als ein .ezpkg-Archiv.
Zu den Typen gehören contentclass, contentobject, extension, sitestyle und site. Ein Seitenpaket (Typ
site) verlangt andere Pakete und kann Installationsskripte mitbringen, die Siteaccesses, Erweiterungen, Rollen und
Voreinstellungen einrichten. Installationen finden Pakete auf einem Paketserver (settings/package.ini [RepositorySettings] RemotePackagesIndexURL) und bewahren heruntergeladene in var/storage/packages/ auf
(Seitenpakete: hier beginnen, Pakettypen).
Die drei Installer
| Installer | Verwenden Sie ihn für |
|---|---|
./console exp:install --apply | Entwicklung und skriptgesteuerte Installationen; standardmäßig SQLite und sevenx_multisite (Die Installation über die Konsole) |
Der Kickstarter (bin/php/kickstarter.php, kickstart.ini) | unbeaufsichtigte Installationen, gesteuert durch eine Einstellungsdatei (Kickstarter) |
| Der Einrichtungsassistent im Browser | Installationen beim Hosting ohne Shell (Einrichtungsassistent) |
Alle drei lesen dieselben Pakete (Wie Kickstarter und Konsole Pakete verwenden).
Das Standard-Seitenpaket
sevenx_multisite ist der Standard von Exponential 6.0.15. Es legt die Klassen an, Demo-Inhalte für zwei Websites,
die Siteaccesses (öffentliche Websites, Sprachen, admin, editor), Rollen und die Layouts von Exponential Layouts aus
den Daten der Theme-Erweiterung (sevenx_multisite,
Was Sie nach der Installation haben). Es zu
studieren ist der schnellste Weg, eine vollständige Einrichtung wie in der Produktion zu sehen. Beginnen Sie ein Projekt
damit, entfernen Sie, was Sie nicht brauchen, und verwenden Sie seine Klassen wieder, wo sie passen
(Die sevenx-Klassen).
Pakete in Ihrem Projekt
Auch ohne Seitenpaket sollten Sie die datenbankseitigen Teile Ihres Projekts in Paketen in Ihrem Repository ablegen:
| Teil | Paket | Wie |
|---|---|---|
| Ihre Klassen | contentclass | Setup > Pakete > Neues Paket erstellen > Export von Inhaltsklassen oder ezpm.php |
| Starterinhalte (Ordner, eine Startseite, Demo-Elemente) | contentobject | Export von Inhaltsobjekten |
| Ihre Erweiterung, für andere | extension | Export der Erweiterung oder Composer (Pakete (.ezpkg)) |
ezpm.php baut Pakete in einer Shell, sodass derselbe Befehl für jedes Release läuft
(Pakete mit ezpm erstellen); der Assistent ist unter
Der Paketassistent beschrieben.
Ein eigenes Seitenpaket
Ein eigenes Seitenpaket lohnt sich, wenn Sie dieselbe Art von Website viele Male installieren (der Starter einer Agentur, ein Franchise, Schulungslabore) oder eine Installation exakt neu aufbauen müssen. Der Weg: ein vorhandenes Seitenpaket forken, seine Klassen, Inhalte und sein Installer-Skript ändern, die Archive neu bauen, sie versionieren, auf einem Paketserver veröffentlichen und Installationen darauf verweisen (Ein eigenes Seitenpaket erstellen). Die Anforderungen an die Dokumentation, die ein veröffentlichtes Paket erfüllen muss, stehen in Die Checkliste der Anforderungen, und ein Paket, das anderen nützt, kann zum gemeinsamen Server beigetragen werden (Ihr Seitenpaket beitragen).
Testen
Testen Sie ein Paket dort, wo nichts verloren gehen kann: ein eigener Checkout mit eigener SQLite-Datenbank, ein Probelauf, eine vollständige Installation, ein Blick auf das Ergebnis, dann die Sandbox entfernen (Testen in einer Sandbox). Führen Sie einen Installer nie gegen eine Datenbank aus, die etwas enthält, das Ihnen wichtig ist; die Installation über die Konsole leert die Datenbank, die sie erhält.
Was Pakete nicht übertragen
- Layouts. Layouts und ihre Regeln werden mit
exp:layouts exportundimportoder in den Datendateien einer Theme-Erweiterung übertragen (Layouts für CMS-Entwickler, Layout-Daten und Share-DBA). - Rechnereinstellungen.
settings/override/wird je Rechner geschrieben. - Ihr Code. Erweiterungen kommen aus Composer oder Git, nicht aus Inhaltspaketen.
Verwandte Seiten
- Pakete: die Anleitung für Administratoren
- Glossar zu Seitenpaketen
- Kurs zu Multisite und Paketen
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.