docs: Tool-Texte und Guide zu Obergrenze ohne Rechtevorabprüfung, partial_write, Live-Sperre aus der Suche, PAGE_LIMIT; Entscheidungsnotiz zu R11
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
06398242d6
commit
6d7c59e3fa
@@ -71,7 +71,8 @@ Einzelne Module bekommen Presets mit `lit-divi-insert`, `lit-divi-update` und `l
|
||||
- Filter: `post_ids` (1–50 Einträge; ohne die Angabe alle Fundstellen mit diesem Modultyp),
|
||||
`only_without_preset: true` (nur Module ohne Preset) oder `only_with_preset: "<Name>"` (nur Module, die dieses
|
||||
Preset schon tragen; nicht zusammen), `clear_overrides: true` (lokale Werte entfernen, die das Preset überdecken).
|
||||
- `preset: null` und `null` als Wert in `group_presets` werden abgewiesen (`validation_failed`): site-weit entfernt
|
||||
- `preset: null`, ein leerer Text und `null` oder ein leerer Text als Wert in `group_presets` werden abgewiesen
|
||||
(`validation_failed`): site-weit entfernt
|
||||
`lit/divi-design-detach` Verweise.
|
||||
- Ablauf: erst ohne `confirm` aufrufen (Probelauf: `confirm_required` mit `pages` – je Seite `post_id`, `title`,
|
||||
`status`, die betroffenen Knoten mit Pfad-ID, Modul und Label sowie `warnings` zu überdeckten Werten –, dazu
|
||||
@@ -89,10 +90,15 @@ Einzelne Module bekommen Presets mit `lit-divi-insert`, `lit-divi-update` und `l
|
||||
- Mit `post_ids` blockieren nur die genannten Seiten, die Obergrenze von 2000 gilt nicht. Eine genannte
|
||||
veröffentlichte, private oder geplante Seite ohne Bearbeitungsrecht verweigert den ganzen Aufruf (`forbidden`
|
||||
mit `blocked_ids`, nichts wird geschrieben; der Probelauf listet sie unter `blocked_ids`). Eine genannte
|
||||
Seite, die nicht live ist (Entwurf usw.) und nicht bearbeitet werden darf, steht unter `skipped`.
|
||||
- Scheitert das Speichern mitten im Lauf,
|
||||
meldet `partial_write` die bis dahin gespeicherten Seiten (`saved`); die übrigen mit einem neuen Probelauf
|
||||
weiterführen.
|
||||
Seite, die nicht live ist (Entwurf usw.) und nicht bearbeitet werden darf, steht unter `skipped`. Gibt es mehr als
|
||||
2000 Live-Fundstellen, entfällt die Vorabprüfung der Bearbeitungsrechte; dann steht auch eine genannte Live-Seite
|
||||
ohne Bearbeitungsrecht unter `skipped` statt in `forbidden`.
|
||||
- Die Sperre für Live-Seiten ergibt sich allein aus der Fundstellensuche: Eine Live-Seite, die das Konto nicht
|
||||
bearbeiten darf, blockiert den ganzen Aufruf, auch wenn die Filter (`only_with_preset`, `only_without_preset`)
|
||||
auf dieser Seite nichts ändern würden.
|
||||
- Scheitert das Speichern mitten im Lauf, meldet `partial_write` die bis dahin gespeicherten Seiten (`saved`):
|
||||
zuerst die genannte fehlgeschlagene Seite prüfen (`lit-divi-outline`), dann denselben Aufruf mit `confirm: true`
|
||||
wiederholen; bereits geänderte Module trifft er nicht noch einmal.
|
||||
- Globale Module und die Bibliothek: Eine globale Instanz (`[global <ID>]` in `lit-divi-outline`) wird auf der Seite
|
||||
nicht umgeschrieben, sondern unter `skipped` gemeldet – „globales Modul – im Bibliothekseintrag <ID> ändern“,
|
||||
wenn das Konto Bibliotheks-IDs sehen darf, sonst „globales Modul – im Divi-Builder ändern“. Der
|
||||
@@ -120,5 +126,7 @@ Einzelne Module bekommen Presets mit `lit-divi-insert`, `lit-divi-update` und `l
|
||||
entfernt dort nur ausdrückliche Verweise und sagt das in `warnings`. Zum Beenden der Standardwirkung das Preset
|
||||
löschen (`lit/divi-presets-delete`) oder mit `make_default: false` den Standard aufheben.
|
||||
- Variablen: `variable` wird noch nicht unterstützt (`unsupported`; Variablen folgen mit Etappe 4c).
|
||||
- Meldet die Antwort `hidden_count` größer als 0, können Seiten, die dieses Konto nicht lesen darf, noch Verweise
|
||||
enthalten; dann nennt sie den Hinweis auf `lit/divi-presets-delete` nicht.
|
||||
- Danach `lit/divi-presets-delete` aufrufen (Probelauf, `confirm`, `design_rev`); es meldet kein `in_use` mehr,
|
||||
solange niemand das Preset neu zugewiesen hat.
|
||||
|
||||
@@ -50,8 +50,9 @@ Ansätze vorschlagen → Entwurf abschnittsweise freigeben → Spec schreiben
|
||||
- P8a mit post_ids: nur die genannten Seiten können das Schreiben blockieren, HARD_CAP gilt nicht (die Rechteprüfung der Live-Seiten entfällt dann vorab, loadWritable() prüft jede Seite einzeln und meldet skipped). Eine genannte veröffentlichte, private oder geplante Seite ohne Bearbeitungsrecht verweigert den ganzen Aufruf (forbidden, blocked_ids, nichts geschrieben; der Probelauf listet sie in blocked_ids); eine genannte Seite, die nicht live ist (Entwurf usw.) und nicht bearbeitet werden darf, steht in skipped. Ohne post_ids verweigert jede blockierte Live-Fundstelle oder zu viele Fundstellen den ganzen Aufruf, nichts wird geschrieben.
|
||||
- R9 Kein unfiltered_html-Zwang: der Umschreiber ändert nur Preset-Verweise und entfernt lokale Werte, Speichern über DiviSaver.
|
||||
- R10 detach nur Presets: Eingabe preset = Objekt {module|group, preset}; variable → unsupported (4c); ohne post_ids zuerst verschachtelte Verweise über DesignChange (Snapshot, design_rev), danach Seiten (≤ 50); scheitert die erste Seite danach, nennt der Fehler Snapshot und diff; Standard-Presets nur ausdrückliche Verweise.
|
||||
- lit/divi-presets-assign: preset: null und null in group_presets werden abgewiesen (Hinweis auf lit/divi-design-detach); ein leerer Probelauf ist ein normales „nichts zu tun“.
|
||||
- lit/divi-presets-assign: preset: null, leerer Text und null in group_presets werden abgewiesen (Hinweis auf lit/divi-design-detach); ein leerer Probelauf ist ein normales „nichts zu tun“.
|
||||
- R11 Standard-Gruppen-Presets: PresetUsageMatcher erkennt implizite Nutzung (Modul hat die Gruppe, kein ausdrücklicher Eintrag); Kandidaten fail closed über wp:divi/; der 4a-Hinweis „nicht aufgelistet“ entfällt.
|
||||
- 4b-Nachtrag zu R11: Das ändert das 4a-Verhalten. lit/divi-presets-set und lit/divi-presets-delete eines Standard-GRUPPEN-Presets nehmen jetzt jede Divi-Seite mit dieser Gruppe in ihren Fundstellenbericht auf; auf Sites mit mehr als 2000 Live-Divi-Seiten wird die bestätigte Änderung daher abgewiesen (tooMany), wie bisher nur bei Standard-Modul-Presets; konsistent mit P8a.
|
||||
- Grenze je Aufruf A6: 50 Seiten, remaining; Teilerfolg partial_write mit den gespeicherten Seiten.
|
||||
- Offen für 4c: detach für Variablen (A7: Referenz durch den aktuellen Wert ersetzen, bei Farben entfällt detach), Wiederverwendung des PageRewriter/TreeRewrite dafür (NodeRewrite-Strategie `VariableDetachRewrite`).
|
||||
- Offen für 4c/4e: Smoke divi-presets-assign-smoke.sh läuft nur mit deaktivierten Plugins postlos und asynclistry.
|
||||
|
||||
@@ -65,12 +65,13 @@ final class DiviDesignDetachAbility implements Ability
|
||||
. 'Module fallen auf das nächste Preset im Stapel bzw. das Standard-Preset zurück. post_ids beschränkt auf '
|
||||
. 'diese Seiten (Verweise in Presets bleiben dann). Zuerst Probelauf (pages; bei Verweisen in Presets diff '
|
||||
. 'und design_rev), nach Rückfrage beim Nutzer confirm: true (mit design_rev, wenn der Probelauf eine '
|
||||
. 'nennt); je Aufruf höchstens 50 Seiten, remaining nennt den Rest. Mit post_ids können nur die '
|
||||
. 'genannten Seiten das Schreiben blockieren und die Obergrenze für sehr viele Seiten gilt nicht; eine '
|
||||
. 'genannte veröffentlichte, private oder geplante Seite ohne Bearbeitungsrecht verweigert den ganzen '
|
||||
. 'Aufruf (forbidden, blocked_ids), eine genannte andere Seite ohne '
|
||||
. 'Bearbeitungsrecht steht in skipped. Danach kann lit/divi-presets-delete '
|
||||
. 'das Preset löschen. ' . self::VARIABLES;
|
||||
. 'nennt); je Aufruf höchstens ' . PageRewriter::PAGE_LIMIT . ' Seiten, remaining nennt den Rest. Mit '
|
||||
. 'post_ids können nur die genannten Seiten das Schreiben blockieren und die Obergrenze für sehr viele '
|
||||
. 'Seiten gilt nicht; eine genannte veröffentlichte, private oder geplante Seite ohne Bearbeitungsrecht '
|
||||
. 'verweigert den ganzen Aufruf (forbidden, blocked_ids), eine genannte andere Seite ohne '
|
||||
. 'Bearbeitungsrecht steht in skipped (bei mehr als 2000 Live-Fundstellen entfällt die Vorabprüfung, '
|
||||
. 'dann auch eine genannte Live-Seite). Danach kann lit/divi-presets-delete das Preset löschen. '
|
||||
. self::VARIABLES;
|
||||
}
|
||||
|
||||
public function inputSchema(): array
|
||||
|
||||
@@ -56,11 +56,12 @@ final class DiviPresetsAssignAbility implements Ability
|
||||
. 'und/oder Gruppen-Presets (group_presets) zu. Filter: post_ids, only_without_preset oder '
|
||||
. 'only_with_preset; clear_overrides: true entfernt lokale Werte, die das Preset überdecken. Zuerst '
|
||||
. 'Probelauf (betroffene Seiten und Module), nach Rückfrage beim Nutzer confirm: true; je Aufruf höchstens '
|
||||
. '50 Seiten, jede mit Revision; remaining nennt den Rest. Mit post_ids können nur die genannten Seiten '
|
||||
. 'das Schreiben blockieren und die Obergrenze für sehr viele Seiten gilt nicht; eine genannte '
|
||||
. 'veröffentlichte, private oder geplante Seite ohne Bearbeitungsrecht verweigert den ganzen Aufruf '
|
||||
. '(forbidden, blocked_ids), eine genannte andere Seite ohne '
|
||||
. 'Bearbeitungsrecht steht in skipped. Verweise entfernen: lit/divi-design-detach.';
|
||||
. PageRewriter::PAGE_LIMIT . ' Seiten, jede mit Revision; remaining nennt den Rest. Mit post_ids '
|
||||
. 'können nur die genannten Seiten das Schreiben blockieren und die Obergrenze für sehr viele Seiten '
|
||||
. 'gilt nicht; eine genannte veröffentlichte, private oder geplante Seite ohne Bearbeitungsrecht '
|
||||
. 'verweigert den ganzen Aufruf (forbidden, blocked_ids), eine genannte andere Seite ohne '
|
||||
. 'Bearbeitungsrecht steht in skipped (bei mehr als 2000 Live-Fundstellen entfällt die Vorabprüfung, '
|
||||
. 'dann auch eine genannte Live-Seite). Verweise entfernen: lit/divi-design-detach.';
|
||||
}
|
||||
|
||||
public function inputSchema(): array
|
||||
|
||||
Reference in New Issue
Block a user