generated from coulomb/repo-seed
Deep dive into Foswiki focused on its deltas from TWiki (not the shared lineage): the pluggable Foswiki::Store backend (RcsWrap/RcsLite/PlainFile) behind a versioned interface via Foswiki::Meta, the OO/MVC core rewrite, Foswiki::Func + registerTagHandler, DataForms + MetaDataPlugin multi-record, and WysiwygPlugin TML<->HTML round-trip. The store abstraction is logged as prior art for shard-wiki's own adapter contract (SHARD-WP-0002). Catalog (now 43 UCs): - UC-42 read/write a non-Markdown shard via lossless syntax translation (Markdown-first for prose; Foswiki WysiwygPlugin is proof) - UC-43 tolerate a shard's storage-backend swap (RCS<->PlainFile) under a stable identity - enrich UC-39 (multi-record metadata) and UC-40 (PlainFile direct-attach) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# 260613 — Foswiki deep dive (store abstraction, extension API, ecosystem)
|
|
|
|
Date: 2026-06-13
|
|
|
|
## What this is
|
|
|
|
A focused study of **Foswiki** — the community fork of TWiki (2008, from TWiki
|
|
4.2.x) — concentrating on **what Foswiki changed**, not the lineage it shares with
|
|
TWiki. The distinctive material: a **pluggable `Foswiki::Store` backend**
|
|
(RcsWrap / RcsLite / **PlainFileStoreContrib**) behind a versioned interface, the
|
|
`Foswiki::Meta` topic-object indirection, the OO/MVC core rewrite, the cleaner
|
|
`Foswiki::Func` + `registerTagHandler` extension API, **DataForms** (+ MetaDataPlugin,
|
|
FlexFormPlugin), and the **WysiwygPlugin** TML↔HTML round-trip.
|
|
|
|
Read through shard-wiki's lens: Foswiki is the engine that **already separates its
|
|
store backend from its core via a versioned interface** — i.e. it is concrete prior
|
|
art for shard-wiki's own *shard adapter contract* and *capability-aware adapters*.
|
|
|
|
Pairs with — and deliberately does not repeat — the shared TWiki material:
|
|
- `research/260613-twiki-deep-dive/` — flat-file/RCS store, Webs/Topics, plugin
|
|
handler callbacks, per-topic ACL (all inherited; read there for the shared parts)
|
|
- `research/260613-xwiki-deep-dive/` — the Java/DB app-platform sibling
|
|
- `research/260608-wikiengines-overview/` — landscape scan
|
|
|
|
## Contents
|
|
|
|
| Path | Role |
|
|
|------|------|
|
|
| `findings.md` | Distinctives vs TWiki, store abstraction, extension API, DataForms, capability profile, INTENT mapping, UC seeds, sources |
|
|
|
|
## Status
|
|
|
|
Initial deep dive complete. Two new use cases promoted to
|
|
`spec/UseCaseCatalog.md` (UC-42, UC-43); UC-34/39/40 enriched. The
|
|
`Foswiki::Store`/`Foswiki::Meta` abstraction is logged as adapter-contract prior art
|
|
for `workplans/SHARD-WP-0002-federation-architecture.md`.
|