GS: Google Sheets integration project

オープン
#398 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
typescript
領域
web-dev

調査の方向性

docs/design/google-sheets/README.md の設計カタログから始め、実装前に #397 を確認してください。#399 から #405 までの依存関係の順序に従い、OAuth、Picker、スナップショットのエクスポートから着手してください。完了とは、障害発生時にも安全な refresh、capability によって制御される append モード、カタログの対応する更新を含め、列挙された受け入れ基準を満たすことです。

索引モデルが issue の本文から書いたものです。

説明

cool feature

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.

主要言語
TypeScript
スター
8
フォーク
2
平均マージ
1時間 34分
マージ済み PR(30日)
6

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Altinity/altinity-sql-browser のほかの issue

Altinity/altinity-sql-browser の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。