Altinity / Altinity/altinity-sql-browser

GS: Google Sheets integration project

Offen
#398 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

cool feature
Vorherrschende Sprache
TypeScript
Sterne
8
Forks
2
Ø Merge
1 Std. 34 Min.
Gemergte PRs (30 T.)
6

Beschreibung

Summary

Implement the browser-only Google Sheets integration defined by the repository design catalog introduced in #397.

Design entry point:

Product scope

  • One-time snapshot export.
  • Create or attach a linked spreadsheet.
  • Manual refresh through a hyperlink that launches the ClickHouse-hosted SPA.
  • Failure-safe full refresh through staging.
  • Large-result streaming and quota handling.
  • Append-only refresh for validated ClickHouse 26.8+ MergeTree-family sources using per-partition _block_number / _block_offset checkpoints.
  • Refresh history, repair, and unlink workflows.

Non-goals

  • Scheduled/background refresh.
  • Refresh while SQL Browser is closed.
  • SELECT ... STREAM.
  • Updates/deletes/upserts in append mode.
  • Google Docs, Apps Script, service accounts, or an application backend.
  • Strict distributed locking between collaborators.

Project acceptance criteria

  • Existing behavior is unchanged when Google Sheets configuration is absent.
  • Google and ClickHouse authorization remain independent and browser-only.
  • Linked refresh preserves previous committed data on every pre-publication failure.
  • No silent truncation or silent append-to-full fallback occurs.
  • Managed resources are identified by stable IDs and metadata, not names.
  • Append mode is capability-gated and invalidates safely.
  • Design changes are updated in the catalog in the same PR as implementation changes.

Implementation sequence

  • #399 — Google OAuth, Picker, and snapshot export
  • #400 — Linked-sheet resource and ClickHouse binding storage
  • #401 — Managed spreadsheet layout and manual refresh route
  • #402 — Failure-safe full refresh and large-result transfer
  • #403 — ClickHouse 26.8+ commit-cursor append refresh
  • #404 — Refresh history, repair, and unlink workflows
  • #405 — End-to-end Google Sheets integration test suite

Dependency outline

#399
  ↓
#400
  ↓
#401
  ↓
#402
  ├──→ #403
  └──→ #404
          ↓
        #405

Design baseline

#397 is documentation-only and should be reviewed before feature implementation begins.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem Designkatalog in docs/design/google-sheets/README.md und prüfe vor der Implementierung #397. Folge der Abhängigkeitsreihenfolge von #399 bis #405 und beginne mit OAuth, Picker und dem Snapshot-Export. Erledigt bedeutet, dass die aufgeführten Akzeptanzkriterien erfüllt sind, einschließlich eines ausfallsicheren Refreshs, eines durch Capabilities gesteuerten Append-Modus und übereinstimmender Katalogaktualisierungen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
web-dev
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.