Workflow-Dokumentation
Erfahren Sie, wie SiteBuilder Ihren Workflow zur Inhaltsbearbeitung verwaltet, einschließlich Arbeitsbereichszustände, Review-Prozesse und Integration mit GitHub.
Arbeitsbereich-Zustandsautomat
Jeder Arbeitsbereich durchläuft während der Arbeit an Inhalten eine Reihe von Zuständen. Dieses Diagramm zeigt alle möglichen Zustände und die Übergänge zwischen ihnen.
stateDiagram-v2
[*] --> AvailableForSetup: Create workspace
AvailableForSetup --> InSetup: Start conversation
Merged --> InSetup: Start conversation
InSetup --> AvailableForConversation: Setup succeeds
InSetup --> Problem: Setup fails
AvailableForConversation --> InConversation: Start conversation
InConversation --> AvailableForConversation: Finish conversation
InConversation --> InReview: Send to review
InConversation --> Problem: Git operation fails
InReview --> Merged: Reviewer marks merged
InReview --> AvailableForConversation: Reviewer unlocks
Problem --> AvailableForSetup: User resets workspace
Zustandsbeschreibungen
- AvailableForSetup — Arbeitsbereich kann eingerichtet werden (Anfangszustand oder nach Reset)
- InSetup — Arbeitsbereich wird vorbereitet (Klonen, Branch erstellen)
- AvailableForConversation — Arbeitsbereich ist bereit für Bearbeitung
- InConversation — Ein Benutzer arbeitet aktiv am Arbeitsbereich
- InReview — Änderungen wurden zur Überprüfung gesendet, PR existiert
- Merged — Der Pull Request wurde zusammengeführt
- Problem — Ein Fehler ist aufgetreten, der manuelles Eingreifen erfordert
Typischer Workflow
So läuft eine typische Inhaltsbearbeitungssitzung ab, von der Projektauswahl bis zur Zusammenführung Ihrer Änderungen.
sequenceDiagram
participant User
participant SiteBuilder
participant GitHub
User->>SiteBuilder: Select project
SiteBuilder->>SiteBuilder: Check workspace status
alt No workspace or needs setup
SiteBuilder->>GitHub: Clone repository
SiteBuilder->>GitHub: Create new branch
SiteBuilder->>SiteBuilder: Run setup steps
end
SiteBuilder->>User: Show conversation UI
User->>SiteBuilder: Make content changes
SiteBuilder->>GitHub: Commit and push changes
User->>SiteBuilder: Click "Send to Review"
SiteBuilder->>GitHub: Create Pull Request
SiteBuilder->>User: Show PR link
Note over GitHub: External review process
GitHub-->>SiteBuilder: PR merged (manual notification)
SiteBuilder->>SiteBuilder: Mark workspace as Merged
1. Auswählen & Einrichten
Wählen Sie Ihr Projekt. SiteBuilder klont das Repository und erstellt einen neuen Branch für Ihre Änderungen.
2. Bearbeiten & Committen
Nehmen Sie Änderungen über die Chat-Oberfläche vor. Jede Änderung wird automatisch committed und in Ihren Branch gepusht.
3. Review & Merge
Senden Sie zur Überprüfung, wenn Sie fertig sind. Ein Pull Request wird auf GitHub für den Review-Prozess erstellt.
Zum Review senden
Wenn Sie auf 'Zur Überprüfung senden' klicken, passieren mehrere Dinge, um Ihre Änderungen für den Review-Prozess vorzubereiten.
flowchart TD
A[User clicks Send to Review] --> B{Uncommitted changes?}
B -->|Yes| C[Auto-commit with message]
B -->|No| D{PR already exists?}
C --> D
D -->|Yes| E[Use existing PR]
D -->|No| F{Branch has changes vs main?}
F -->|Yes| G[Create new PR on GitHub]
F -->|No| H[Skip PR creation]
E --> I[Mark conversation FINISHED]
G --> I
H --> J[Mark workspace AVAILABLE_FOR_CONVERSATION]
I --> K[Mark workspace IN_REVIEW]
K --> L[Show PR link to user]
Wichtige Hinweise
- Alle nicht committeten Änderungen werden automatisch vor dem Senden committed
- Wenn bereits ein PR für Ihren Branch existiert, wird dieser wiederverwendet
- Wenn Ihr Branch keine Änderungen gegenüber main hat, wird kein PR erstellt
Sonderfälle & spezielle Szenarien
Das Verständnis dieser Szenarien hilft Ihnen zu wissen, was in weniger häufigen Situationen zu erwarten ist.
Arbeitsbereich während Review zurücksetzen
Was passiert, wenn Sie den Arbeitsbereich zurücksetzen, bevor der Pull Request zusammengeführt wurde?
sequenceDiagram
participant User
participant SiteBuilder
participant GitHub
Note over SiteBuilder: Workspace is IN_REVIEW
Note over GitHub: PR exists for branch ws-abc-123
User->>SiteBuilder: Reset workspace
SiteBuilder->>SiteBuilder: Clear branch name
SiteBuilder->>SiteBuilder: Clear PR URL reference
SiteBuilder->>SiteBuilder: Set status to AVAILABLE_FOR_SETUP
Note over GitHub: PR still exists but is now orphaned
User->>SiteBuilder: Start new conversation
SiteBuilder->>GitHub: Clone fresh from main
SiteBuilder->>GitHub: Create NEW branch ws-abc-456
SiteBuilder->>User: Ready for conversation
Note over GitHub: Old PR remains open until manually closed
Der alte PR bleibt auf GitHub, wird aber verwaist. Sie müssen ihn manuell schließen. Ihre nächste Unterhaltung beginnt mit einem frischen Branch von main.
Mehrere Benutzer greifen auf denselben Arbeitsbereich zu
SiteBuilder stellt sicher, dass immer nur ein Benutzer einen Arbeitsbereich aktiv bearbeiten kann.
sequenceDiagram
participant UserA as User A
participant UserB as User B
participant SiteBuilder
UserA->>SiteBuilder: Start conversation
SiteBuilder->>SiteBuilder: Set workspace IN_CONVERSATION
SiteBuilder->>UserA: Show conversation UI
UserB->>SiteBuilder: Try to start conversation
SiteBuilder->>SiteBuilder: Check workspace status
SiteBuilder->>UserB: Workspace is busy
Note over UserA: Working on content...
UserA->>SiteBuilder: Finish conversation
SiteBuilder->>SiteBuilder: Set workspace AVAILABLE_FOR_CONVERSATION
UserB->>SiteBuilder: Start conversation
SiteBuilder->>UserB: Show conversation UI
Der Arbeitsbereich ist gesperrt, während ein Benutzer eine aktive Unterhaltung hat. Andere Benutzer müssen warten, bis die Unterhaltung beendet ist.
Wiederherstellung aus dem PROBLEM-Zustand
Wenn eine Git-Operation fehlschlägt, wechselt der Arbeitsbereich in den PROBLEM-Zustand. So können Sie ihn wiederherstellen.
flowchart TD
A[Git operation fails] --> B[Workspace set to PROBLEM]
B --> C[Any ongoing conversation marked FINISHED]
C --> D[User sees error state]
D --> E{User action}
E -->|Reset workspace| F[Status set to AVAILABLE_FOR_SETUP]
F --> G[Next conversation triggers fresh setup]
G --> H[Clone from main, new branch]
H --> I[Ready to work again]
style B fill:#fee2e2,stroke:#dc2626
style F fill:#dbeafe,stroke:#2563eb
style I fill:#dcfce7,stroke:#16a34a
Was verloren geht
Alle nicht committeten lokalen Änderungen, die nicht zu GitHub gepusht wurden.
Was erhalten bleibt
Alle Commits, die erfolgreich in Ihren Branch gepusht wurden, bleiben auf GitHub erhalten.
Reviewer-Aktionen und ihre Auswirkungen
Reviewer können zwei Aktionen für einen Arbeitsbereich im Review ausführen. Jede hat unterschiedliche Auswirkungen auf die nächste Unterhaltung.
flowchart LR
A[Workspace IN_REVIEW] --> B{Reviewer decision}
B -->|Mark as Merged| C[Status: MERGED]
B -->|Unlock| D[Status: AVAILABLE_FOR_CONVERSATION]
C --> E[Next conversation triggers full setup]
D --> F[Continue working on same branch]
style C fill:#dcfce7,stroke:#16a34a
style D fill:#dbeafe,stroke:#2563eb
Als zusammengeführt markieren
Verwenden, wenn der PR zusammengeführt wurde. Die nächste Unterhaltung startet neu vom aktualisierten main-Branch.
Für Änderungen freigeben
Verwenden, um am selben Branch weiterzuarbeiten. Kein neues Setup erforderlich.
Externe Integrationen
SiteBuilder integriert sich mit GitHub für Versionskontrolle. Einige Operationen sind automatisiert, andere erfordern manuelle Aktionen.
flowchart TB
subgraph SiteBuilder [SiteBuilder Application]
WS[Workspace Management]
CE[Content Editor]
RV[Reviewer Dashboard]
end
subgraph GitHub [GitHub]
REPO[Repository]
BRANCH[Branches]
PR[Pull Requests]
end
WS -->|Clone repository| REPO
WS -->|Create branch| BRANCH
CE -->|Commit and push| BRANCH
CE -->|Create PR| PR
PR -.->|Manual: Merge PR| REPO
PR -.->|Manual: Notify merged| RV
RV -->|Mark as merged| WS
Von SiteBuilder automatisiert
- ✓ Repository-Klonen während der Arbeitsbereichseinrichtung
- ✓ Branch-Erstellung für jeden Arbeitsbereich
- ✓ Committen und Pushen von Änderungen
- ✓ Erstellen von Pull Requests beim Senden zur Überprüfung
Manuell / Extern
- ⚠ Überprüfen und Zusammenführen von Pull Requests auf GitHub
- ⚠ SiteBuilder benachrichtigen, wenn ein PR zusammengeführt wurde (Reviewer-Aktion)
- ⚠ Verwaiste PRs nach Arbeitsbereich-Reset schließen