Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,090 of 9,090 pages
About the help in other languages
All help pages

Die Installerskripte von cjw_multisite

Was cjw-multi-site-installer.php und cjw-starter-install.php während einer Installation tun, in der Reihenfolge, in der sie es tun. Die Einstellungen, von denen der Installer ausgeht, die Vorinstallation, die…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/site-packages/cjw-multisite/the-installer-scripts.md

On this page

This page is a translation. Read the English original

Die Installerskripte von cjw_multisite

cjw_multisite baut seine Website mit zwei PHP-Dateien in settings/ des Pakets: cjw-multi-site-installer.php (die Klasse cjwMultiSiteInstaller, 5.939 Zeilen) und cjw-starter-install.php (die Funktionen für die Startinhalte, 827 Zeilen), mit post-install-fix.php (593 Zeilen) als Hilfe. Diese Seite folgt einer Installation der Reihe nach durch sie hindurch. Sie ist für Entwickler, die den Installer ändern oder einen ähnlichen schreiben; Administratoren, die ein Setup-Log lesen, finden hier, was die Meldung jedes Schritts bedeutet.

Der Kopf der Datei sagt, woher sie stammt: Sie wurde aus dem MultiSite-Installer von 7x (sevenx_multisite, sevenx-multi-site-installer.php) für die Startseite der Erweiterung cjw_themes_jumper erzeugt. Die meisten Schritte sind daher dieselben wie in Das Skript des Multisite-Installers; diese Seite verweilt bei dem, was anders ist.

Inhalt

  1. Wann das Setup was aufruft
  2. Die Einstellungen, von denen der Installer ausgeht
  3. Vor den Paketen: preInstall()
  4. INI-Einstellungen, Rollen und Voreinstellungen
  5. Nach den Paketen: die Schritte der Nachinstallation
  6. Die Schritte für die Startinhalte
  7. Das Log lesen
  8. Verwandte Seiten

Wann das Setup was aufruft

Der Schritt zum Anlegen der Websites im Setup (kernel/setup/steps/ezstep_create_sites.php) lädt die Einstellungsdateien des Seitenpakets und ruft die Funktionen auf, die sie definieren, in dieser Reihenfolge:

ReihenfolgeFunktion (Einstellungsdatei)Methode des Installers
1eZSitePreInstall() (install-scripts.php)preInstall()
2der Kernel installiert die verlangten Pakete ($package->install())keine
3eZSiteINISettings(), eZSiteAdminINISettings(), eZSiteCommonINISettings()siteINISettings(), adminINISettings(), commonINISettings()
4eZSiteRoles() (roles.php)siteRoles()
5eZSitePreferences() (preferences.php)sitePreferences()
6eZSitePostInstall( &$parameters ) (install-scripts.php)postInstall(), das die Schritte von initSteps() ausführt

eZSiteInstaller::executeSteps() des Kernels führt die Schritte der Nachinstallation nacheinander aus und stoppt die Kette beim ersten Schritt, der einen Fehler meldet; deshalb setzt der Installer robuste Reparaturen früh und kosmetische Schritte zuletzt.

Die Einstellungen, von denen der Installer ausgeht

initSettings() liest die Parameter des Setups und legt diese Werte fest:

EinstellungWert
main_site_designstarter
user_siteaccessdie Wahl im Setup, site, wenn leer
admin_siteaccess, editor_siteaccessdie Wahl im Setup (admin, wenn leer), editor
adminui_siteaccessadminui, wenn die Erweiterung exp_adminui vorhanden ist und der Kernel ihn anlegen kann, sonst leer
site_titleder eingegebene Titel; CJW JAC Exponential, wenn er leer ist, die Zusammenfassung des Pakets, CJW Multisite oder Exponential ist
extension_listdie Liste ActiveExtensions[]: dieselbe Liste wie bei sevenx_multisite plus cjw_themes_jumper und cjw_tmv; cjw_tmv fällt weg, wenn extension/cjw_tmv fehlt
language_siteaccess_mapein Übersetzungs-Siteaccess pro weiterer Sprache (siehe Siteaccesses und Sprachen)
fallback_localeseng-US, wenn es in den gewählten Sprachen fehlt, es sei denn, das Setup übergibt eigene fallback_language_codes
var_dirvar/site

Vor den Paketen: preInstall()

  1. Merkt sich die höchste Knoten-ID und Objekt-ID der Basisdaten (cjwBaseMaxNodeID, cjwBaseMaxObjectID), damit die spätere Korrektur der Knoten Basisdaten von Paketinhalten unterscheiden kann.
  2. Fügt der Klasse folder die Attribute tags (ezkeyword) und publish_date (ezdatetime) hinzu, benannt in der Hauptsprache der Website.
  3. Setzt für den Lauf [FileSettings] VarDir=var/site und stellt den Ordner settings/ jeder Erweiterung der Liste voran (activateSiteExtensionSettings()), sodass Datentypen wie die von enhancedselection2 und eztags bekannt sind, während Klassen und Objekte importiert werden.
  4. Verlinkt die Bilder und Dateien der Startinhalte aus extension/cjw_themes_jumper/share/ in das Inhaltspaket (cjwLinkStarterFilesFromExtension()).
  5. Registriert für den Lauf die Datentypen ezsrrating, ezgmaplocation, ngenhancedlink und eztags.
  6. Fügt der Benutzerklasse das Feld für die zweistufige Anmeldung hinzu, wenn sevenx_authentication_2fa verfügbar ist.
  7. Löscht die Tabellen jedes Schemas einer Erweiterung und legt sie neu an (dropExtensionTables(), insertDBFile()): die genannten (ezstarrating, ezgmaplocation, eztags, explayouts, enhancedselection2, cjw_newsletter, syndication) plus jede andere aufgeführte Erweiterung mit einer share/db_schema.dba oder sql/<engine>/schema.sql und die Zugriffserweiterungen der Administration. Nur Tabellen: Keine db_data.dba wird geladen (declaredExtensionSchemas() übergibt für jeden Eintrag false).
  8. Repariert die Sprachspalten der eztags-Zeilen aus den Basisdaten, wenn eng-GB existiert.

INI-Einstellungen, Rollen und Voreinstellungen

MethodeSchreibt
siteINISettings()settings/siteaccess/<site>/: Menü, Override, Toolbar, site.ini (Locale, SiteLanguageList, LoginPage=embedded, eine Sitzung über die öffentlichen Siteaccesses), Bild, Inhalt, Template, Menü der Inhaltsstruktur, ODF
adminINISettings()settings/siteaccess/<admin>/: Anmeldung erforderlich, ShowHiddenNodes=true, TranslationSA, ActiveAccessExtensions[] (expai, exp_adminui, wo vorhanden), Menüs, Toolbar, Overrides, Symbole
commonINISettings()settings/override/: AvailableSiteAccessList, SiteList, DefaultAccess, MatchOrder (uri;host oder uri;port bei Zugriff über Ports), ForceVirtualHost=true, ActiveExtensions[], die Datenbankeinstellungen des gewählten Treibers, Cache-Header für anonyme Besucher (public, max-age=300) und mehr
siteRoles()Richtlinien für Anonymous und Member (RSS-Feed, user/login auf jedem ausgelieferten Siteaccess außer admin und adminui, content/read in Sektion 3, tags/view, info-collection/read, osm_proxy/tiles) und die Richtlinien user2fa, wenn die zweistufige Anmeldung verfügbar ist
sitePreferences()die Voreinstellungen des Administrators für die Panels der Administration

Die Richtlinie osm_proxy/tiles ist diesem Paket eigen: Die Karten des Designs starter laden ihre Kacheln über das Modul osm_proxy von cjw_themes_jumper.

Nach den Paketen: die Schritte der Nachinstallation

Die Schritte von initSteps(), in Reihenfolge, gruppiert:

SchritteWas sie tun
postInstallFixContentObjectNameLanguages, postInstallResolveRelationListIds, postInstallImportNewsletterClassesReparaturen der importierten Daten; die Newsletter-Klassen von cjw_newsletter
postInstallAdminSiteaccessINIUpdateDesign der Administration admin4l mit admin4, admin3, admin2, admin danach; RootNode=2
postInstallUserSiteaccessINIUpdateDer Benutzer-Siteaccess: SiteDesign=starter, AdditionalSiteDesignList[]=standard, ExtensionSettingsSiteAccess=cjw_starter, Startseite, Wurzel der Startseite, PathPrefix, TranslationSA; die Override-Blöcke anderer Erweiterungen für einen Siteaccess dieses Namens werden außer Gebrauch gesetzt
createTranslationSiteAccesses, createSecondarySiteaccessesEin Siteaccess pro weiterer Sprache; keine zweiten Siteaccesses
Schritte für Template-Look, Austausch und Entfernen, createContentSection (Restricted), Rollenrichtlinien, Benutzergruppen (Partners, Members), Rollenzuweisungen, Attributnamen von OrdnernWie im Installer von 7x
setRSSExportDer Feed my_feed („My RSS Feed“) der Objekte ng_article unterhalb der Wurzel der Startseite
postInstallFixPackageNodesAndExplayoutsBildet Knoten- und Objekt-IDs des Pakets auf die installierten ab (cjwFixPackageNodesAndExplayouts())
postInstallStarterContentDie Schritte für die Startinhalte unten
postInstallImportAdminLayoutsDie Layouts der Administration aus explayouts/share/fragments/admin_layouts_db_data.dba, IDs ab 100001, einmal
postInstallRegenerateURLAliases, postInstallCreateSitePrefixAliases, postInstallStarterPathsURL-Aliase, dann die eigenen Pfade der Startseite aus cjw-paths.json
postInstallClearLinksToContentNotInstalledLinks in Titelblöcken auf Bereiche, die nicht installiert sind, werden ausgeschaltet
postInstallPlaceOrphanedPackageObjectsPlatziert Objekte, die die Paketinstallation ohne Knoten hinterlassen hat, unter dem Elternelement, das ihre Objektdatei nennt
postInstallSetSiteHomeAndPrefixIndexPage, RootNode, RootNodeDepth und PathPrefix für den Benutzer-Siteaccess und seine Übersetzungen; Menüs in die Übersetzungen kopiert
postInstallStarterPolicyPagesmenu.ini [SiteInfo] PrivacyPolicyID und CookiePolicyID auf die Datenschutzseite (cjw-starter-n-809)
postInstallCloseInformationPagesOnPublicSiteaccessesDas Modul ezinfo wird auf den öffentlichen Siteaccesses ausgeschaltet
postInstallResyncContentClassNames, postInstallRepairClassNameListsKlassennamen, nach einer Sprache geschlüsselt
postInstallCreateAdminUISiteaccesssettings/siteaccess/adminui aus den Dateien der Administration
postInstallEnableSearchStatsOnEverySiteaccessLogSearchStats=enabled
postInstallWriteMultisiteURLSettingssettings/override/ezurlmultisite.ini.append.php
zwei Schritte updateObjectAttributeFromStringDas Logo und der Seitenstil auf dem Objekt des Template-Looks, bewusst zuletzt

Die Schritte für die Startinhalte

cjwInstallStarterContent( $siteaccesses ) läuft als Administrator (Benutzer 14) und ruft der Reihe nach auf:

TeilFunktionWirkung
Ergänzungen der KlassencjwEnsureStarterClassAdditions()Fehlende Attribute aus cjw-class-additions.xml
Verweise im Rich TextcjwPostUnserializeStarterObjects()eZContentObject::postUnserialize() für jedes Startobjekt, was der Handler bei Remote-IDs überspringt, die nicht 32 Zeichen lang sind
LinkscjwResolveStarterLinks()Werte ngenhancedlink bekommen die Objekt-ID des Ziels
TagscjwFixStarterTags()Das Tag „Starter“ und seine Tags, mit den eztags-Feldern verknüpft
DatencjwRestoreStarterDates()Zeitpunkte der Veröffentlichung und Änderung aus dem Paket
verborgener OrdnercjwHideStarterNodes()Verbirgt cjw-starter-n-807
LayoutscjwSeedStarterLayouts()Die Zeilen von cjw-explayouts.json, Band 900000
Dateilinks entferntcjwUnlinkStarterFilesFromExtension()Entfernt die vor der Installation angelegten Links

Jeder Teil protokolliert sein Ergebnis; ein gescheiterter Teil wird in einer Fehlerzeile genannt, und die Installation läuft weiter. Am Ende werden alle Inhalts-Caches geleert.

Das Log lesen

Meldungen, nach denen Sie in der Debug-Ausgabe der Installation suchen:

Base data before the content package: nodes up to ..., objects up to ...; content package cjw_multisite_democontent
Starter content files from the extension: <n> linked, <n> copied, <n> missing
Class additions of the starter content: <n> added, <n> present
Starter layouts: <n> rows in 10 tables, rules for <the user siteaccesses>
Starter paths: <n> renamed, <n> differences left

Warnung Die Meldung Files of the starter content not found in extension/cjw_themes_jumper/share bedeutet, dass die Erweiterung fehlt oder unvollständig ist: Auch die Bilder der Website werden fehlen. Legen Sie die Erweiterung an ihren Platz und installieren Sie erneut.

Verwandte Seiten

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.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x