=== APlug ImportZentrale ===
Contributors: aplug
Tags: import, csv, xlsx, xml, json
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Importiert große Datenbestände kontrolliert mit Feldzuordnung, Vorschau, Duplikatprüfung, Zeitplänen, Protokollen und Rücknahme.

== Description ==

APlug ImportZentrale ist ein eigenständiges WordPress-Plugin für kontrollierte Datenimporte aus CSV, XLSX, XML, JSON und NDJSON. Die Quelldaten werden zunächst in eine fortsetzbare Arbeitsdatei normalisiert und anschließend in begrenzten Stapeln verarbeitet.

Die Version 1.0.0 enthält:

* visuelle Feldzuordnung mit Zuordnungsvorschlägen,
* Vorschau der Quelldaten und des erwarteten Zielverhaltens,
* Duplikaterkennung und wählbare Strategien für Überspringen, Aktualisieren oder Neuanlage,
* Aktualisierung bestehender WordPress-Inhalte,
* optionalen Bildimport aus administrativ freigegebenen Quellen,
* Importvorlagen,
* geplante HTTPS-Datenabgleiche,
* kontrollierte Stapelverarbeitung mit Fortschritt und Abbruch,
* Rücknahme gespeicherter Änderungen mit Konflikterkennung,
* detaillierte, exportierbare Fehler- und Vorgangsprotokolle,
* versionierte REST-Endpunkte, APlug-Dienste und Ereignisse,
* ein öffentlich dokumentiertes Zieladapter-System.

Ein sofort nutzbarer Zieladapter für WordPress-Beiträge, Seiten und öffentliche Inhaltstypen ist enthalten. Schnittstellen für APlug Branchenregister, APlug Newsletter, APlug Buchungskalender und APlug WerbeZentrale sind vorbereitet. Diese Fachplugins müssen ihren eigenen öffentlichen Zieladapter registrieren; die ImportZentrale greift nicht direkt auf fremde interne Tabellen oder Klassen zu.

Das Plugin verspricht keine rechtliche Vollständigkeit. Websitebetreiber bleiben für Datenquelle, Rechtsgrundlage, Datenqualität, Lizenzrechte, Aufbewahrung und Löschung verantwortlich.

== Installation ==

1. Den Ordner `aplug-importzentrale` als ZIP-Datei in WordPress unter „Plugins > Installieren > Plugin hochladen“ installieren.
2. Das Plugin aktivieren.
3. Unter „APlug Import > Einstellungen“ Größen-, Aufbewahrungs- und Quellenregeln prüfen.
4. Unter „APlug Import > Neuer Import“ eine Datei auswählen, ein Ziel festlegen und die Feldzuordnung prüfen.
5. Vor dem Start die Vorschau kontrollieren.

Für XLSX ist die PHP-Erweiterung `zip` erforderlich. Für XLSX und XML ist `XMLReader` erforderlich. Fehlende Erweiterungen werden in der Diagnose angezeigt; CSV, JSON und NDJSON bleiben unabhängig davon nutzbar.

== Frequently Asked Questions ==

= Werden große Dateien in einer einzigen PHP-Anfrage verarbeitet? =

Nein. Die Quelle wird in eine zeilenbasierte Arbeitsdatei normalisiert. Der Import verarbeitet anschließend begrenzte Stapel mit gespeichertem Byte-Cursor.

= Überschreibt das Plugin vorhandene Inhalte automatisch? =

Nein. Die Duplikatstrategie wird vor dem Import festgelegt. Möglich sind Überspringen, Aktualisieren oder Neuanlage. Die Vorschau zeigt die erwartete Aktion.

= Kann jeder Import vollständig zurückgenommen werden? =

Nur tatsächlich protokollierte Änderungen eines Zieladapters mit Rücknahmefunktion. Wurde ein Objekt nach dem Import verändert, stoppt die Rücknahme dieses Objekts mit einem Konflikt, statt spätere Änderungen still zu überschreiben.

= Warum sind Branchenregister, Newsletter, Buchungen und Werbung zunächst als vorbereitet gekennzeichnet? =

Die ImportZentrale darf nach dem APlug-Standard keine internen Tabellen oder privaten Klassen anderer Plugins ansprechen. Das jeweilige Fachplugin registriert deshalb einen dokumentierten öffentlichen Adapter.

= Verbindet sich das Plugin mit externen Diensten? =

Nur nach ausdrücklicher Freigabe durch einen Administrator und nur zu einer vom Administrator eingetragenen Quelle. Details stehen im Abschnitt „External services“.

== External services ==

Das Plugin besitzt keinen fest eingebauten Cloud-Dienst und überträgt keine Telemetrie an APlug.

Administratoren können externe Quellen ausdrücklich aktivieren. Danach kann das Plugin:

* eine vom Administrator eingetragene öffentliche HTTPS-Adresse für einen Datenimport abrufen,
* eine in den Importdaten enthaltene öffentliche Bildadresse abrufen, wenn der Bildimport aktiviert wurde.

Dabei werden technisch notwendige Verbindungsdaten des WordPress-Servers, insbesondere dessen IP-Adresse, an den jeweiligen, vom Administrator gewählten Host übermittelt. Anbieter, Nutzungsbedingungen und Datenschutzerklärung richten sich nach der konkret eingetragenen Quelle. Das Plugin sendet keine Zugangsdaten an diese Quelle und akzeptiert für geplante Datenquellen nur HTTPS.

== Privacy ==

Importdateien können personenbezogene Daten enthalten. Quelldateien und normalisierte Arbeitsdateien liegen während der Verarbeitung in einem technisch gesperrten Unterordner des WordPress-Uploadbereichs. Nach Abschluss oder kontrolliertem Abbruch werden die Arbeitsdateien gelöscht. Nicht gestartete Vorbereitungen werden nach sieben Tagen automatisch bereinigt.

Protokolle enthalten technische Fehlercodes, Zeilennummern und Zielkennungen, aber standardmäßig keine vollständigen Quelldatensätze. Für die Rücknahme werden zeitlich begrenzte Sicherungsstände der tatsächlich geänderten Felder gespeichert. Aufbewahrungsfristen sind einstellbar.

Ein Textbaustein für die WordPress-Datenschutzerklärung wird über die WordPress-Datenschutzwerkzeuge bereitgestellt.

== Changelog ==

= 1.0.0 =
* Erster installierbarer Prototyp.
* CSV-, XLSX-, XML-, JSON- und NDJSON-Parser.
* Visuelle Feldzuordnung und Vorschau.
* Stapelimport, Abbruch, Protokolle und Rücknahme.
* WordPress-Inhaltsadapter mit Duplikaterkennung und Bildimport.
* Importvorlagen und geplante HTTPS-Abgleiche.
* APlug-Modulmanifest, Dienste, Ereignisse, REST-API und Zieladapter-Schnittstelle.

== Upgrade Notice ==

= 1.0.0 =
Erste öffentliche Prototypversion. Vor dem Einsatz mit Produktivdaten ist ein vollständiger Test in einer Staging-Installation erforderlich.
