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

Spezifikation: die Extension xrowextract

Diese Seite ist die Referenz für die Extension xrowextract (Export und Import von Inhalten, Pakete, Zeitpläne und Zustellung), Release-Linie 2.5 (2.5.0 bis 2.5.6, September bis Oktober 2026). Sie führt jede View, jede…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/specifications/6.0/xrowextract.md

On this page

This page is a translation. Read the English original

Spezifikation: die Extension xrowextract

Diese Seite ist die Referenz für die Extension xrowextract (Export und Import von Inhalten, Pakete, Zeitpläne und Zustellung), Release-Linie 2.5 (2.5.0 bis 2.5.6, September bis Oktober 2026). Sie führt jede View, jede Richtlinie, jede Einstellung, jedes Feld einer Vorlage, jede Tabelle, jede Klasse und jede Kommandozeilenoption auf. Lesen Sie sie, wenn Sie Exporte für eine Site einrichten, Berechtigungen vergeben oder Exporte per Skript ausführen. Wie Sie die Extension benutzen, steht auf der Funktionsseite.

Beispiel: Artikel über die Kommandozeile exportieren

Im Wurzelverzeichnis der Installation ausführen (für Ihre Inhalte nur lesend; geschrieben wird nur die Ausgabedatei):

php extension/xrowextract/bin/php/csv.php --list-classes --node=2                 # classes below node 2
php extension/xrowextract/bin/php/csv.php --list-columns --class=ng_article       # columns of one class
php extension/xrowextract/bin/php/csv.php --class=ng_article --node=2 --preview=10 # first 10 rows on screen
php extension/xrowextract/bin/php/csv.php --class=ng_article --node=2 --output=articles.csv

./console ext:xrowextract:csv führt denselben Befehl aus. Ersetzen Sie ng_article durch einen Klassen-Identifier Ihrer Site. Der Exit-Code 0 bedeutet, dass die Datei geschrieben wurde.

Modul, Views und Richtlinien

Modul xrowextract (modules/xrowextract/module.php), Navigationsteil ezextractnavigationpart, Reiter im oberen Menü xrowextract (Name „Export“, menu.ini [Topmenu_xrowextract], URL xrowextract/csv).

ViewRichtlinienfunktionZweck
csvcsvExportseite für eine Klasse: Vorschau, Download, Manifest, im Hintergrund ausführen, als Paket exportieren
archivecsvSite-Archiv (mehrere Klassen)
jobsjobsSeite der Jobs; löschen, abbrechen, erneut exportieren
job_statusjobsFortschritt eines Jobs als JSON (JobID)
job_downloadjobsDatei oder Protokoll eines Jobs herunterladen (JobID, What)
importimportInhaltsdatei importieren; Einstieg für den Upload in Teilstücken; fortsetzen
upload_chunkimportEndpunkt des Uploads in Teilstücken
packageimportInhaltspakete: hochladen, untersuchen, installieren, Vorlage erstellen (PackageName)
browse, browse_fileimportBrowser für Paketinhalte (PackageName, Offset, ViewIndex)
compareimportEin Paket mit der Site oder einem anderen Paket vergleichen
schedulesscheduleGeplante Exporte und Importe
destinationsdestinationsZustellziele und Zugangsdaten
historyhistoryExportverlauf

Richtlinienfunktionen, die an keine einzelne View gebunden sind: all_jobs (die Jobs und geteilten Vorlagen aller sehen und verwalten; ohne sie sieht ein Benutzer nur seine eigenen) und password_hash (Hash und Hash-Typ von Benutzerkonten exportieren). Ein Link zum Browser für Paketinhalte wird in die kernel-eigene View package/view/full/<name> eingefügt.

Einstellungen

Alle Schlüssel werden mit eZINI::instance( <file> ) gelesen. Sie gelten für die ganze Installation, sofern nicht anders angegeben; überschreiben Sie sie in settings/override/<file>.append.php oder in einem Siteaccess.

csv.ini

BlockSchlüsselStandardwertBedeutung
GeneralExportableDatatypes[]30 Datentypen (ezboolean, eztext, ezinteger, ezstring, eztime, ezurl, ezuser, ezxmltext, ezdate, ezdatetime, ezkeyword, eztags, ezobjectrelation, ezemail, ezfloat, ezidentifier, ezenhancedobjectrelation, ezenhancedselection, ezselection, ezenum, ezcountry, ezimage, ezmedia, ezbinaryfile, ezmatrix, ezobjectrelationlist, hmregexpline, ezprice, xrowmetadata)Datentypen, die der Export anbietet
GeneralStripURLTexttrueVon einem ezurl-Wert nur die URL exportieren
GeneralNeutralizeFormulasenabledEine Zelle, die mit =, +, - oder @ beginnt (und keine Zahl ist), erhält ein vorangestelltes '
GeneralAllowPasswordHashExportenableddisabled entfernt die Spalten mit dem Passwort-Hash für alle; andernfalls erhalten sie nur Inhaber von xrowextract/password_hash
JobsRetentionDays7Tage, die ein beendeter oder fehlgeschlagener Job aufbewahrt wird, bevor ext:xrowextract:job --clean ihn entfernt
JobsPhpClileerPHP-Kommandozeilenprogramm für Hintergrund-Jobs. Leer: PHP_BINARY, wobei ein PHP-FPM- oder php-cgi-Programm auf das CLI-Programm daneben abgebildet wird, sonst php
ManifestEmbedInJSONenabledJSON-Export als Umschlag {"manifest","rows","summary"}; disabled schreibt ein einfaches Array
ManifestEmbedInXMLenabledEin <manifest>-Element nach <columns>
<datatype>HandlerFile, HandlerClassein Block pro DatentypHandler dieses Datentyps; aus Ihrer Extension ersetzbar. [ezenhancedobjectrelation] OutputRelatedObjectNames=true schreibt Namen, false IDs
UploadsRetentionHours24Stunden, die ein unvollständiger oder nie übernommener Upload in Teilstücken aufbewahrt wird
UploadsMinFreeMarginMB256Freier Speicherplatz, der über die eingehende Datei hinaus übrig bleiben muss
UploadsQueueThresholdRows2000Ab dieser Zeilenzahl laufen Probelauf und Anwendung als Hintergrund-Jobs
UploadsQueueThresholdMB20Dasselbe, nach Dateigröße
UploadsJsonOneShotThresholdMB20JSON oberhalb dieser Größe wird trotzdem in einem Zug gelesen (json_decode() kann nicht streamen); CSV und XML nie

export.ini

BlockSchlüsselStandardwertBedeutung
ExportSettingsExportClasses[]leer (alle Klassen)Die Klassen einschränken, die die Seite anbietet
ExportSettingsStartNodeIDleer (Wurzelknoten des Standard-Siteaccess)Knoten, mit dem die Seite beginnt
ExportSettingsDefaultClassIDleer (Klasse mit den meisten Objekten)Klasse, mit der die Seite beginnt
ExportSettingsPreselectAttributestrueJedes Attribut ankreuzen
ExportSettingsLimit, Offset0, 0Zeilenfenster (0 ist unbegrenzt)
SiteArchiveSitesParentNodeIDleerKnoten, dessen Kinder die Menge „Sites“ bilden; leer verwendet die Inhaltsstruktur
SiteArchiveDefaultSiteNodeIDs[]leerZu Beginn ausgewählte Sites; leer verwendet die Wurzel des Standard-Siteaccess
PackageTemplateScratchNodeIDleer (content.ini [NodeSettings] MediaRootNode)Wo der Generator für Beispielinhalte seine Wegwerfobjekte anlegt. Nie ein Knoten, den die öffentliche Site darstellt

xrowextract.ini

BlockSchlüsselStandardwertBedeutung
SchedulesCronjobEveryMinutes5Intervall der Crontab-Zeile, die auf der Seite der Zeitpläne angezeigt wird
HistoryRetentionDays365Tage, die Verlaufszeilen aufbewahrt werden (ein Zeitplan kann einen eigenen Wert setzen)
HistoryPageSize25Zeilen pro Seite
DestinationsLocalPathRoots[]leerDie einzigen Ordner, in die ein lokales oder NAS-Ziel schreiben und aus denen ein geplanter Import lesen darf. Absolut oder relativ zum Wurzelverzeichnis der Installation
DestinationsMaxAttempts3Zustellversuche
DestinationsBackoffSeconds10Wartezeit zwischen den Versuchen, die sich jedes Mal verdoppelt
DestinationsSshBinaryDirleerWo sftp, ssh-keyscan und ssh-keygen liegen, wenn nicht in /usr/bin oder /usr/local/bin
SecretsKeyFilesettings/override/xrowextract-secrets.keylibsodium-secretbox-Schlüssel für die Zugangsdaten der Ziele, bei der ersten Verwendung mit Modus 0600 erzeugt
NotificationsWebhookSecretleerWenn gesetzt, tragen Webhooks X-Xrowextract-Signature und X-Xrowextract-Timestamp
Preset_<id>Name, Description, Audience, View, Extends, Definition, PlaceholdersVorlagen der Site; siehe unten

Weitere Dateien

DateiBlockZweck
cronjob.ini[CronjobPart-xrowextract] Scripts[]=xrowextract.phpCronjob-Teil, der fällige Zeitpläne startet und danach Job-Ordner und Verlaufszeilen entfernt, deren Aufbewahrungsfrist abgelaufen ist
extendedattributefilter.iniXrowExtractTranslation, XrowExtractHasChildren, XrowExtractRelation, XrowExtractUserStatusRegistrierte erweiterte Attributfilter (createSqlParts). Der Übersetzungsfilter ist absichtlich nicht vom Benutzer wählbar: Er wird einmal pro exportierter Sprache angewendet
fetchalias.inixrowextract_recent_content, xrowextract_by_sectionBeispiele für benannte Fetches, die der Export anwenden kann
site.ini[RegionalSettings] TranslationExtensions[]=xrowextractÜbersetzungen: eng-US, fre-FR, ger-DE, ita-IT, untranslated

Definition einer Vorlage

Definition ist ein JSON-Objekt. Von XrowExtractPreset::resolve() gelesene Felder: scope, subtree, subtree_remote_id, class_id, class_identifier, mainnodeonly, limit, offset, languages, attributes, filters (ein Werte-Array von XrowExtractFilters), sort_field, sort_ascending, sort_field2, sort_ascending2, output_format, separator, line_separator, escape. Eine Zeichenkette darf {name} enthalten; Placeholders ist {"name": {"default": "..."}}. Extends ist alias:<fetchalias name>[:<siteaccess>] oder user:<id>. Die eigenen Vorlagen einer Person werden als JSON in ezsite_data unter dem Namen xrowextract_preset_<20 hex> gespeichert. Die Audience-Gruppen sind Site, Editors, Developers, Partners, Users und Maintenance; eine Vorlage ohne Gruppe wird unter Site eingeordnet.

Tabellen

Bei der ersten Verwendung aus share/db_schema.dba angelegt (dem engine-neutralen Schema; sql/mysql, sql/oracle, sql/postgresql und sql/sqlite enthalten dasselbe für eine manuelle Installation).

TabelleInhalt
xrowextract_schedule (+ Index xrowextract_schedule_next)Gespeicherte Zeitpläne und ihr nächster Lauf
xrowextract_destinationZustellziele; Zugangsdaten verschlüsselt
xrowextract_history (+ Indizes _created, _job, _sched)Eine Zeile pro Lauf

Klassen

KlasseAufgabe
XrowExtractFilters, XrowExtractColumns, XrowExtractCatalogue, XrowExtractSchemaFilter, Spalten, Spaltenkatalog und Klassenschema
XrowExtractWriter, XrowExtractManifestSchreiben der Dateien (CSV, JSON, XML) und das typisierte Manifest
XrowExtractArchiveSite-Archiv; Formate zip, tar.gz, tar.bz2, tar.xz, 7z, rar
XrowExtractImport, XrowExtractUploadStreamender Importer und Upload in Teilstücken (ID_PATTERN ^[0-9a-f]{32}$; ein Ordner pro Upload, ein Teilstück wird nur an dem Offset angehängt, den der Server bereits hat)
XrowExtractPackageInhaltspakete (.ezpkg): untersuchen, vergleichen, installieren, Vorlage erstellen
XrowExtractJob, XrowExtractCron, XrowExtractScheduler, XrowExtractScheduleHintergrund-Jobs und Zeitpläne
XrowExtractDestination, XrowExtractSecrets, XrowExtractNotifier, XrowExtractHistoryZustellung, verschlüsselte Zugangsdaten, Benachrichtigungen, Verlauf
XrowExtractPreset, XrowExtractFetchAliasVorlagen und Unterstützung für benannte Fetches
XrowExtractRequirementsDie Prüfung der 19 Voraussetzungen und 12 Funktionen
classes/parsers/*Ein Handler pro Datentyp (XroweZStringHandler, ...)
classes/transports/*Transporte local, ftp, sftp, s3, webdav, http

Seit 2.5.5 sind die Kommandozeilenskripte, der Cronjob-Teil und die Modul-Views Klassen, die von den Dateien aufgerufen werden (Exponential\Command\Extension\Xrowextract\...); siehe Abstraktionen für CLI, Cronjobs und Views. Das Verhalten hat sich nicht geändert.

Kommandozeilenoptionen

ext:xrowextract:csv (extension/xrowextract/bin/php/csv.php) nimmt die Optionen class, node, scope (node oder all), depth und den Tiefen-Operator (eq, le, ge), main-only, offset, limit, columns, add, sets (identity, urls, publishing, location, migration), names, separator, Zeilenenden (win32/crlf, unix/lf, mac/cr), unquoted, languages, format (csv, json, xml, ezpkg), Datumsfilter (date-field, since, before, date), section, state, visibility, name, where, sort, order, sort2, order2, extended-filter, extended-params, fetch-alias, alias-param, preset, param, list-presets, show-preset, output (- ist stdout), preview, list-classes, list-columns, user, progress-file, keep, changed-since, lenient, no-manifest, schedule und run-mode entgegen.

Exit-Codes: 0 Erfolg, 1 Fehler (ungültige Option, nicht auflösbare Klasse oder nicht auflösbarer Knoten), 3 --lenient und es blieb nichts zu exportieren. Warnungen werden als Zeilen WARNING: ... ausgegeben; mit --output=- gehen sie nach stderr, damit stdout die Datei bleibt.

Das Prüfskript bin/check.sh ist die Freigabeprüfung der Release (Lint, Übersetzungen, doppelte Quellen, PHPStan Level 8, Unit-Tests, Voraussetzungen, CLI-, View- und POST-Tests); .github/workflows/check.yml führt es auf PHP 8.1 bis 8.5 aus. Es braucht EXPONENTIAL_ROOT, das auf ein Exponential-Wurzelverzeichnis zeigt.

Siehe auch

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