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