chore: initialize project repository with core extension files
- Add .gitignore to exclude node_modules, dist, logs, and system files - Add comprehensive project documentation including README, deployment guide, and development setup - Add .kiro project specifications for amazon-product-bar-extension, appwrite-cloud-storage, appwrite-userid-repair, blacklist-feature, and enhanced-item-management - Add .kiro steering documents for product, structure, styling, and tech guidelines - Add VSCode settings configuration for consistent development environment - Add manifest.json and babel/vite configuration for extension build setup - Add complete source code implementation including AppWrite integration, storage managers, UI components, and services - Add comprehensive test suite with Jest configuration and 30+ test files covering all major modules - Add test HTML files for integration testing and validation - Add coverage reports and build validation scripts - Add AppWrite setup and repair documentation for database schema management - Add migration guides and responsive accessibility implementation documentation - Establish foundation for Amazon product bar extension with full feature set including blacklist management, enhanced item workflows, and real-time synchronization
This commit is contained in:
295
APPWRITE_REPAIR_TOOL_GUIDE_DE.md
Normal file
295
APPWRITE_REPAIR_TOOL_GUIDE_DE.md
Normal file
@@ -0,0 +1,295 @@
|
||||
# AppWrite userId Attribut Reparatur-Tool - Benutzerhandbuch
|
||||
|
||||
## Übersicht
|
||||
|
||||
Das AppWrite userId Attribut Reparatur-Tool ist ein automatisiertes System zur Erkennung, Reparatur und Validierung von AppWrite-Sammlungen, denen das kritische `userId`-Attribut fehlt. Dieses Tool behebt den häufigen Fehler "Invalid query: Attribute not found in schema: userId" und stellt die ordnungsgemäße Benutzerdatenisolierung sicher.
|
||||
|
||||
## Funktionen
|
||||
|
||||
- **Automatische Erkennung**: Identifiziert Sammlungen ohne userId-Attribut
|
||||
- **Sichere Reparatur**: Fügt userId-Attribute mit korrekten Spezifikationen hinzu
|
||||
- **Berechtigungskonfiguration**: Stellt ordnungsgemäße Datenisolierung sicher
|
||||
- **Validierung**: Überprüft, ob Reparaturen erfolgreich waren
|
||||
- **Umfassende Berichte**: Detaillierte Ergebnisse und Empfehlungen
|
||||
- **Nur-Analyse-Modus**: Überprüfung ohne Änderungen
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
### AppWrite-Konfiguration
|
||||
- AppWrite-Server läuft und ist erreichbar
|
||||
- Gültiger API-Schlüssel mit erforderlichen Berechtigungen
|
||||
- Zugriff auf die AppWrite-Konsole für manuelle Korrekturen
|
||||
|
||||
### Erforderliche API-Schlüssel-Berechtigungen
|
||||
```
|
||||
- databases.read: Zum Analysieren von Sammlungen
|
||||
- databases.write: Zum Erstellen von Attributen
|
||||
- collections.read: Zum Lesen von Sammlungsschemas
|
||||
- collections.write: Zum Aktualisieren von Berechtigungen
|
||||
- documents.read: Für Validierungsabfragen (optional)
|
||||
```
|
||||
|
||||
## Schnellstart
|
||||
|
||||
### 1. Tool öffnen
|
||||
Öffnen Sie die Datei `test-appwrite-repair-tool.html` in Ihrem Browser.
|
||||
|
||||
### 2. Konfiguration eingeben
|
||||
```javascript
|
||||
// AppWrite-Konfiguration
|
||||
const config = {
|
||||
endpoint: 'https://ihre-appwrite-url.com/v1',
|
||||
projectId: 'ihr-projekt-id',
|
||||
apiKey: 'ihr-api-schlüssel',
|
||||
databaseId: 'ihre-datenbank-id'
|
||||
};
|
||||
```
|
||||
|
||||
### 3. Reparatur starten
|
||||
Klicken Sie auf "Reparatur starten" oder "Nur Analyse" für eine sichere Überprüfung.
|
||||
|
||||
## Detaillierte Anleitung
|
||||
|
||||
### Schritt 1: Vorbereitung
|
||||
|
||||
#### AppWrite-Verbindung testen
|
||||
1. Öffnen Sie die AppWrite-Konsole in Ihrem Browser
|
||||
2. Überprüfen Sie, ob alle Sammlungen sichtbar sind
|
||||
3. Notieren Sie sich die Projekt-ID und Datenbank-ID
|
||||
|
||||
#### API-Schlüssel überprüfen
|
||||
1. Navigieren Sie zu Projekteinstellungen → API-Schlüssel
|
||||
2. Überprüfen Sie die Berechtigungen Ihres API-Schlüssels
|
||||
3. Erstellen Sie bei Bedarf einen neuen Schlüssel mit allen erforderlichen Berechtigungen
|
||||
|
||||
### Schritt 2: Nur-Analyse-Modus (Empfohlen)
|
||||
|
||||
Führen Sie zuerst eine Analyse durch, um zu verstehen, welche Sammlungen betroffen sind:
|
||||
|
||||
1. **Tool öffnen**: Laden Sie `test-appwrite-repair-tool.html`
|
||||
2. **Konfiguration eingeben**: Füllen Sie alle Felder aus
|
||||
3. **"Nur Analyse" wählen**: Aktivieren Sie den Nur-Analyse-Modus
|
||||
4. **Analyse starten**: Klicken Sie auf "Analyse starten"
|
||||
|
||||
#### Analyseergebnisse verstehen
|
||||
- **Kritisch**: Sammlungen ohne userId-Attribut (sofortige Aufmerksamkeit erforderlich)
|
||||
- **Warnung**: Sammlungen mit falsch konfigurierten Attributen
|
||||
- **Info**: Sammlungen, die ordnungsgemäß konfiguriert sind
|
||||
|
||||
### Schritt 3: Reparatur durchführen
|
||||
|
||||
Nach erfolgreicher Analyse können Sie die Reparatur durchführen:
|
||||
|
||||
1. **Vollständige Reparatur wählen**: Deaktivieren Sie den Nur-Analyse-Modus
|
||||
2. **Reparatur starten**: Klicken Sie auf "Reparatur starten"
|
||||
3. **Fortschritt überwachen**: Beobachten Sie die Fortschrittsanzeige
|
||||
4. **Ergebnisse überprüfen**: Lesen Sie den detaillierten Bericht
|
||||
|
||||
#### Was passiert während der Reparatur?
|
||||
1. **Zustandsdokumentation**: Ursprüngliche Sammlungszustände werden gespeichert
|
||||
2. **Attributerstellung**: userId-Attribute werden mit korrekten Spezifikationen hinzugefügt
|
||||
3. **Berechtigungskonfiguration**: Datenisolierung wird eingerichtet
|
||||
4. **Validierung**: Reparaturen werden getestet und verifiziert
|
||||
5. **Berichterstattung**: Umfassender Bericht wird generiert
|
||||
|
||||
### Schritt 4: Ergebnisse interpretieren
|
||||
|
||||
#### Erfolgreiche Reparatur
|
||||
```
|
||||
✅ Sammlung "products" erfolgreich repariert
|
||||
- userId-Attribut hinzugefügt (String, 255 Zeichen, erforderlich)
|
||||
- Berechtigungen konfiguriert (create: users, read/update/delete: user:$userId)
|
||||
- Validierung bestanden
|
||||
```
|
||||
|
||||
#### Fehlgeschlagene Reparatur
|
||||
```
|
||||
❌ Sammlung "orders" Reparatur fehlgeschlagen
|
||||
- Fehler: Unzureichende Berechtigungen
|
||||
- Manuelle Korrektur erforderlich
|
||||
- Siehe Anweisungen unten
|
||||
```
|
||||
|
||||
## Fehlerbehebung
|
||||
|
||||
### Häufige Probleme
|
||||
|
||||
#### 1. Authentifizierungsfehler (401/403)
|
||||
**Symptom**: "Unauthorized" oder "Forbidden" Fehler
|
||||
|
||||
**Lösung**:
|
||||
1. Überprüfen Sie Ihren API-Schlüssel in der AppWrite-Konsole
|
||||
2. Stellen Sie sicher, dass alle erforderlichen Berechtigungen vorhanden sind
|
||||
3. Erstellen Sie bei Bedarf einen neuen API-Schlüssel
|
||||
|
||||
**Schritt-für-Schritt-Anleitung**:
|
||||
```
|
||||
1. AppWrite-Konsole öffnen
|
||||
2. Projekteinstellungen → API-Schlüssel
|
||||
3. Bestehenden Schlüssel bearbeiten oder neuen erstellen
|
||||
4. Erforderliche Berechtigungen hinzufügen:
|
||||
☑ databases.read
|
||||
☑ databases.write
|
||||
☑ collections.read
|
||||
☑ collections.write
|
||||
☑ documents.read
|
||||
5. Schlüssel speichern und in der Konfiguration aktualisieren
|
||||
```
|
||||
|
||||
#### 2. Netzwerkverbindungsfehler
|
||||
**Symptom**: Zeitüberschreitungen oder Verbindungsfehler
|
||||
|
||||
**Lösung**:
|
||||
1. Überprüfen Sie die AppWrite-Endpoint-URL
|
||||
2. Testen Sie die Verbindung in einem separaten Browser-Tab
|
||||
3. Überprüfen Sie Firewall- und Netzwerkeinstellungen
|
||||
|
||||
#### 3. Sammlung nicht gefunden (404)
|
||||
**Symptom**: "Collection not found" Fehler
|
||||
|
||||
**Lösung**:
|
||||
1. Überprüfen Sie die Datenbank-ID in der Konfiguration
|
||||
2. Stellen Sie sicher, dass die Sammlung in der angegebenen Datenbank existiert
|
||||
3. Überprüfen Sie die Schreibweise der Sammlungs-IDs
|
||||
|
||||
#### 4. Attribut bereits vorhanden (409)
|
||||
**Symptom**: "Attribute already exists" Fehler
|
||||
|
||||
**Lösung**:
|
||||
1. Dies ist normalerweise kein Problem - das Attribut existiert bereits
|
||||
2. Führen Sie eine Validierung durch, um zu überprüfen, ob es korrekt konfiguriert ist
|
||||
3. Bei falscher Konfiguration: Manuell in der AppWrite-Konsole korrigieren
|
||||
|
||||
### Manuelle Korrekturen
|
||||
|
||||
Wenn automatische Reparaturen fehlschlagen, können Sie manuelle Korrekturen durchführen:
|
||||
|
||||
#### userId-Attribut manuell hinzufügen
|
||||
1. **AppWrite-Konsole öffnen**
|
||||
2. **Zur Datenbank navigieren** → Ihre Datenbank auswählen
|
||||
3. **Sammlung auswählen** → Betroffene Sammlung öffnen
|
||||
4. **Attribute-Tab** → "Neues Attribut" klicken
|
||||
5. **Attribut konfigurieren**:
|
||||
- Schlüssel: `userId`
|
||||
- Typ: `String`
|
||||
- Größe: `255`
|
||||
- Erforderlich: `Ja`
|
||||
- Array: `Nein`
|
||||
6. **Speichern** und auf Verarbeitung warten
|
||||
|
||||
#### Berechtigungen manuell konfigurieren
|
||||
1. **Sammlung öffnen** → Settings-Tab
|
||||
2. **Berechtigungen bearbeiten**:
|
||||
- Create: `users`
|
||||
- Read: `user:$userId`
|
||||
- Update: `user:$userId`
|
||||
- Delete: `user:$userId`
|
||||
3. **Dokumentsicherheit aktivieren**: Ja
|
||||
4. **Änderungen speichern**
|
||||
|
||||
### Erweiterte Fehlerbehebung
|
||||
|
||||
#### Protokolle überprüfen
|
||||
Das Tool erstellt detaillierte Protokolle aller Operationen:
|
||||
```javascript
|
||||
// Protokolle in der Browser-Konsole anzeigen
|
||||
console.log('Reparatur-Protokolle:', repairController.auditLog);
|
||||
```
|
||||
|
||||
#### Ursprüngliche Zustände wiederherstellen
|
||||
Bei kritischen Fehlern:
|
||||
1. Überprüfen Sie die dokumentierten ursprünglichen Zustände
|
||||
2. Verwenden Sie die bereitgestellten Rollback-Anweisungen
|
||||
3. Kontaktieren Sie bei Bedarf den Support
|
||||
|
||||
## Sicherheitshinweise
|
||||
|
||||
### Datenschutz
|
||||
- Das Tool löscht niemals bestehende Daten oder Attribute
|
||||
- Alle Änderungen werden protokolliert und können nachverfolgt werden
|
||||
- Ursprüngliche Sammlungszustände werden dokumentiert
|
||||
|
||||
### Backup-Empfehlungen
|
||||
Vor der Durchführung von Reparaturen:
|
||||
1. **AppWrite-Datenbank sichern** (falls verfügbar)
|
||||
2. **Wichtige Daten exportieren**
|
||||
3. **Reparaturen in Entwicklungsumgebung testen**
|
||||
|
||||
### Produktionsumgebung
|
||||
- Führen Sie Reparaturen außerhalb der Hauptgeschäftszeiten durch
|
||||
- Informieren Sie Benutzer über mögliche kurze Unterbrechungen
|
||||
- Überwachen Sie die Anwendung nach Reparaturen
|
||||
|
||||
## Häufig gestellte Fragen (FAQ)
|
||||
|
||||
### F: Ist es sicher, das Tool in der Produktion zu verwenden?
|
||||
**A**: Ja, das Tool ist darauf ausgelegt, sicher zu sein. Es löscht niemals bestehende Daten und dokumentiert alle Änderungen. Dennoch empfehlen wir, zuerst den Nur-Analyse-Modus zu verwenden und Reparaturen in einer Entwicklungsumgebung zu testen.
|
||||
|
||||
### F: Was passiert, wenn die Reparatur fehlschlägt?
|
||||
**A**: Das Tool stoppt bei kritischen Fehlern sofort und stellt Rollback-Anweisungen bereit. Einzelne Sammlungsfehler stoppen nicht die Verarbeitung anderer Sammlungen.
|
||||
|
||||
### F: Kann ich bestimmte Sammlungen von der Reparatur ausschließen?
|
||||
**A**: Ja, Sie können die Sammlungsliste in der Konfiguration anpassen, um nur bestimmte Sammlungen zu verarbeiten.
|
||||
|
||||
### F: Wie lange dauert eine Reparatur?
|
||||
**A**: Die Dauer hängt von der Anzahl der Sammlungen ab. Typischerweise:
|
||||
- Analyse: 1-5 Sekunden pro Sammlung
|
||||
- Reparatur: 2-10 Sekunden pro Sammlung
|
||||
- Validierung: 1-3 Sekunden pro Sammlung
|
||||
|
||||
### F: Was ist, wenn meine AppWrite-Version nicht unterstützt wird?
|
||||
**A**: Das Tool ist für AppWrite 1.0+ entwickelt. Bei Problemen mit älteren Versionen kontaktieren Sie den Support.
|
||||
|
||||
## Support und Hilfe
|
||||
|
||||
### Dokumentation
|
||||
- **AppWrite-Dokumentation**: https://appwrite.io/docs
|
||||
- **Community-Forum**: https://github.com/appwrite/appwrite/discussions
|
||||
|
||||
### Fehlermeldung
|
||||
Bei Problemen sammeln Sie bitte:
|
||||
1. **Vollständige Fehlermeldung** aus der Browser-Konsole
|
||||
2. **AppWrite-Version** und Konfiguration
|
||||
3. **Schritte zur Reproduktion** des Problems
|
||||
4. **Browser und Betriebssystem** Informationen
|
||||
|
||||
### Kontakt
|
||||
- **GitHub Issues**: Für Bugs und Feature-Requests
|
||||
- **Community-Forum**: Für allgemeine Fragen
|
||||
- **System-Administrator**: Für unternehmensspezifische Probleme
|
||||
|
||||
## Anhang
|
||||
|
||||
### Technische Details
|
||||
|
||||
#### userId-Attribut-Spezifikationen
|
||||
```javascript
|
||||
{
|
||||
key: 'userId',
|
||||
type: 'string',
|
||||
size: 255,
|
||||
required: true,
|
||||
array: false,
|
||||
default: null
|
||||
}
|
||||
```
|
||||
|
||||
#### Standard-Berechtigungskonfiguration
|
||||
```javascript
|
||||
{
|
||||
create: ['users'],
|
||||
read: ['user:$userId'],
|
||||
update: ['user:$userId'],
|
||||
delete: ['user:$userId'],
|
||||
documentSecurity: true
|
||||
}
|
||||
```
|
||||
|
||||
### Versionsverlauf
|
||||
- **v1.0**: Erste Veröffentlichung mit grundlegenden Reparaturfunktionen
|
||||
- **v1.1**: Hinzugefügt: Nur-Analyse-Modus und verbesserte Fehlerbehandlung
|
||||
- **v1.2**: Hinzugefügt: Deutsche Lokalisierung und erweiterte Validierung
|
||||
|
||||
---
|
||||
|
||||
*Dieses Handbuch wurde für die AppWrite userId Attribut Reparatur-Tool Version 1.2 erstellt. Für die neueste Version besuchen Sie die Projekt-Repository.*
|
||||
Reference in New Issue
Block a user