generated from coulomb/repo-seed
Deep dive into TWiki as the file-based Perl counterpoint to XWiki: flat-file + RCS store (data/<Web>/<Topic>.txt), Webs/Topics, TWiki Forms storing fields as %META% in the topic text, TWikiML/variables, TWiki::Func API; the plugin handler callback surface (initPlugin, commonTagsHandler, before/afterSaveHandler, afterRenameHandler, REST handlers) and package types (Plugin/Skin/AddOn/Contrib); per-topic ALLOW/DENY access control (origin of yawex's model); Foswiki fork. Catalog (now 41 UCs): - UC-40 attach a file-backed engine's on-disk store directly (dual-path attach) - UC-41 import an engine's native file history (RCS .txt,v) into the journal - enrich UC-06 (TWiki per-topic ACL lineage), UC-34 (file-embedded %META%), UC-36 (RCS-import vs DB-supplement), UC-38 (TWiki handlers as adapter host) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
# 260613 — TWiki deep dive (implementation, plugin API, ecosystem)
|
|
|
|
Date: 2026-06-13
|
|
|
|
## What this is
|
|
|
|
A focused study of **TWiki** — the original "structured enterprise wiki / wiki
|
|
application platform" (Peter Thoeny, ~1998), and the **file-based Perl counterpoint**
|
|
to XWiki's Java/DB platform. Covers TWiki's **implementation** (Perl + flat-file +
|
|
RCS store, Webs/Topics, TWiki Forms, TWikiML/variables), the **plugin API and
|
|
handler callbacks** that extend the core, the **extension package types** (Plugin /
|
|
Skin / AddOn / Contrib) and repository, and TWiki's **per-topic access control**
|
|
(the prior art behind yawex's `AccessControl`).
|
|
|
|
Read through shard-wiki's lens, paired with the XWiki dive: TWiki shows the same
|
|
"wiki-as-application-platform" goal reached with **text files + RCS** instead of a
|
|
database — which changes the adapter story (direct on-disk attach, git-convertible
|
|
history).
|
|
|
|
Complements:
|
|
- `research/260613-xwiki-deep-dive/` — the DB/Java app-platform sibling
|
|
- `research/260608-wikiengines-overview/` — the landscape scan
|
|
- `research/260608-yawex-prior-art/` — yawex borrowed TWiki's per-topic AccessControl
|
|
|
|
Note: most of TWiki's community forked to **Foswiki** in Oct 2008 (from TWiki
|
|
4.2.4); findings flag where TWiki/Foswiki differ.
|
|
|
|
## Contents
|
|
|
|
| Path | Role |
|
|
|------|------|
|
|
| `findings.md` | Architecture, plugin-handler API, ecosystem, capability profile, INTENT mapping, UC seeds, sources |
|
|
|
|
## Status
|
|
|
|
Initial deep dive complete. Two new use cases promoted to
|
|
`spec/UseCaseCatalog.md` (UC-40, UC-41); UC-06/34/36/38/39 enriched with TWiki
|
|
specifics. Adapter-contract implications feed
|
|
`workplans/SHARD-WP-0002-federation-architecture.md`.
|