generated from coulomb/repo-seed
research: Salesforce Quip deep dive (SaaS live docs + embedded objects); UC-80
SHARD-WP-0003 T6. Enterprise document-collab contrast to Notion: a doc + spreadsheet hybrid where a page is prose interleaved with embedded live structured objects (spreadsheets, kanban/calendar live apps), reachable only by REST with HTML import/export (lossy to Markdown), gated by Salesforce identity/ACL. Generalizes external-API mode with an HTML payload-format facet (beside Notion block-JSON, Wiki.js GraphQL); pushes page model toward inline embedded structured objects. UC-80. Enriched UC-57/55/58/36/06. Marks T6 done. Feeds SHARD-WP-0002 T11/T12/T14. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,8 @@ Promoted from `research/260608-c2-wiki-origins/`,
|
||||
`research/260614-wikibase-deep-dive/`, and
|
||||
`research/260614-forge-wikis-deep-dive/`, and
|
||||
`research/260614-tiddlywiki-deep-dive/`, and
|
||||
`research/260614-ikiwiki-deep-dive/`.
|
||||
`research/260614-ikiwiki-deep-dive/`, and
|
||||
`research/260614-quip-deep-dive/`.
|
||||
See InfoTechPrimers on coulomb.social for use-case catalog conventions.
|
||||
|
||||
## Conventions
|
||||
@@ -712,7 +713,12 @@ in-engine host (UC-38/50). Self-hostable variants: **AFFiNE Cloud** / **AppFlowy
|
||||
user's trust boundary (`research/260614-localfirst-workspaces-deep-dive/findings.md` §4,
|
||||
§9) — see also UC-65 (P2P, no single endpoint). **Wiki.js** uses **GraphQL** (typed,
|
||||
introspectable, selective-field) rather than REST — schema discovery + reduced over-fetch,
|
||||
see UC-69 (`research/260614-wikijs-deep-dive/findings.md` §3).
|
||||
see UC-69 (`research/260614-wikijs-deep-dive/findings.md` §3). **Quip** adds a third payload
|
||||
form: REST with an **HTML** import/export payload (vs Notion block-JSON, Wiki.js GraphQL) —
|
||||
**lossy** to Markdown, embedded spreadsheets/live apps degrade, under **Salesforce**
|
||||
enterprise identity (UC-80, `research/260614-quip-deep-dive/findings.md` §2, §3). So the
|
||||
external-API mode carries a **payload-format facet** (block-JSON / GraphQL / HTML) in the
|
||||
adapter profile.
|
||||
**Priority:** Later
|
||||
|
||||
### UC-58 — Attach a typed database with schema, relations, and views
|
||||
@@ -1097,6 +1103,24 @@ the git+Markdown adapter with forge wikis (UC-76). Feeds SHARD-WP-0002 T4 (feder
|
||||
(publish/projection).
|
||||
**Priority:** Later
|
||||
|
||||
### UC-80 — Attach a SaaS live-doc shard with embedded structured objects
|
||||
|
||||
**Actor:** Orchestrator / adapter
|
||||
**Goal:** Attach a **SaaS live-document shard** (Salesforce Quip) whose pages **mix prose
|
||||
with embedded live structured objects** (spreadsheets, live apps) via a **REST API with
|
||||
lossy HTML import/export**, under **enterprise (Salesforce) identity**.
|
||||
**Source:** wikiengines, intent
|
||||
**Notes:** Quip is a closed-SaaS document+spreadsheet hybrid — a page is prose interleaved
|
||||
with **inline spreadsheets/live apps**, reachable only by REST, content crossing as **HTML**
|
||||
(lossy to Markdown; embedded objects degrade) (`research/260614-quip-deep-dive/findings.md`
|
||||
§1, §2). Generalizes the external-API mode (UC-57) with an **HTML payload** variant beside
|
||||
Notion block-JSON and Wiki.js GraphQL, and adds **inline embedded structured objects** to
|
||||
the page model (UC-55/UC-58) — surface them with provenance, never silent-flatten (UC-59).
|
||||
Honor **Salesforce ACL** (UC-06); default to read/projection/overlay given rate limits +
|
||||
lossy export. Feeds SHARD-WP-0002 T11 (payload-format + content-opacity), T12 (inline
|
||||
objects), T14.
|
||||
**Priority:** Later
|
||||
|
||||
---
|
||||
|
||||
## B. Knowledge work and collaboration
|
||||
@@ -1373,6 +1397,7 @@ CamelCase and `[[free links]]`. Markdown-first link semantics TBD.
|
||||
| UC-77 | | | | ⎇ | ✓ |
|
||||
| UC-78 | | | | ⊡ | ✓ |
|
||||
| UC-79 | | | ✓ | ⊟ | ✓ |
|
||||
| UC-80 | | | | ◧ | ✓ |
|
||||
| UC-08 | ✓ | | |
|
||||
| UC-09 | ✓ | | |
|
||||
| UC-10 | ✓ | | |
|
||||
@@ -1931,6 +1956,35 @@ recorded:** never attach the build output as canonical; the pinger is a subscrib
|
||||
(T4/T6/T14): git-replication+ping federation, compile-to-static publish, source-repo attach
|
||||
sharing the git+Markdown adapter.
|
||||
|
||||
### quip mapping
|
||||
|
||||
(◧ UC-80 lineage = the **Quip deep dive**, `research/260614-quip-deep-dive/findings.md`.)
|
||||
|
||||
| Quip mechanism (findings §) | Catalog UC |
|
||||
|-----------------------------|------------|
|
||||
| Closed-SaaS doc + embedded spreadsheets/live apps; REST + HTML import/export (§1, §2) | UC-80 (new) |
|
||||
| External-API mode with **HTML payload** variant (vs Notion block-JSON, Wiki.js GraphQL) (§2) | UC-57 (enriched) |
|
||||
| Inline spreadsheets/live apps = non-Markdown content (§1) | UC-55 (enriched) |
|
||||
| Embedded structured objects within a prose page (§1) | UC-58 (enriched) |
|
||||
| Internal revisions, API-limited (§2) | UC-36 (enriched) |
|
||||
| Salesforce-tied enterprise ACL + SSO (§3) | UC-06 (enriched) |
|
||||
| HTML→Markdown lossy; embedded objects degrade (§2) | links UC-59 |
|
||||
| Section/anchor HTML splice = mid write granularity (§2) | links UC-35 |
|
||||
|
||||
Note: Quip is the **enterprise document-collab** contrast to Notion — a **document +
|
||||
spreadsheet hybrid** where a page is **prose interleaved with embedded live structured
|
||||
objects** (spreadsheets, kanban/calendar "live apps"), reachable **only by REST** with
|
||||
content crossing as **HTML** (lossy to Markdown; embedded objects don't round-trip), gated by
|
||||
**Salesforce identity/ACL**. It generalizes the external-API mode with an **HTML payload**
|
||||
variant (beside Notion block-JSON and Wiki.js GraphQL) and pushes the page model toward
|
||||
**inline embedded structured objects** (not just whole-page-as-record). **Boundary
|
||||
recorded:** surface embedded spreadsheets/apps **as what they are** with provenance and make
|
||||
the HTML→Markdown lossiness explicit (never silent-flatten, UC-59); honor Salesforce ACL;
|
||||
default to read/projection/overlay given rate limits + lossy export. Architecture logged for
|
||||
`SHARD-WP-0002` (T11/T12/T14): external-API payload-format facet + a "proprietary
|
||||
lossy-exportable" content-opacity tier, inline-embedded-object page model, enterprise-ACL
|
||||
binding.
|
||||
|
||||
---
|
||||
|
||||
## Open questions
|
||||
@@ -2005,5 +2059,9 @@ sharing the git+Markdown adapter.
|
||||
**publish the union** as a static site (act as the compiler), or only attach existing
|
||||
source repos — and is the **pinger** modeled as shard-wiki's own subscribe/notify
|
||||
primitive or only recognized when bridging two ikiwiki instances? (ikiwiki dive §8.)
|
||||
28. For a **SaaS live-doc shard** (UC-80), is an **embedded live spreadsheet** a typed
|
||||
sub-object with provenance (preferred) or a flattened static Markdown table — can
|
||||
overlays target a spreadsheet cell or only prose — and given HTML-only lossy interchange,
|
||||
is Quip ever write-through or read/projection/overlay/backup by default? (Quip dive §8.)
|
||||
23. How does shard-wiki **honor/surface a shard's path-based access rules** (UC-06) in a
|
||||
projection without re-implementing its ACL engine? (Wiki.js dive §9.)
|
||||
Reference in New Issue
Block a user