Add the experience service with sites through analytics/AI hooks, migrations through 0011, and phase docs/manifests marking the track complete. Co-authored-by: Cursor <cursoragent@cursor.com>
78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
# Phase: Experience Sites & Page Resources (11.1)
|
|
|
|
| Field | Value |
|
|
| --- | --- |
|
|
| Identifier | `experience-11.1` |
|
|
| Status | Complete |
|
|
| Owner | Platform |
|
|
| Module(s) | Sites, Pages, Site Domains |
|
|
| Service(s) | `experience` (Torbat Pages) |
|
|
| Depends On | `experience-11.0` |
|
|
| ADR(s) | [ADR-016](architecture/adr/ADR-016.md) |
|
|
| Manifest | [phase-manifest.yaml](ai-framework/phase-manifest.yaml) |
|
|
|
|
## Objective
|
|
|
|
Scaffold sites/pages/domains on `experience_db` with typed page resources and draft/publish/archive lifecycle — without page-builder, theme, or template engines.
|
|
|
|
## Scope
|
|
|
|
### In Scope
|
|
|
|
- `ExperienceSite`, `ExperiencePage`, `ExperienceSiteDomain`
|
|
- Page types: landing, mini site, portfolio, restaurant/cafe, menus/catalogs, QR, bio link, blog, campaign, knowledge, SEO, public profile, …
|
|
- Site/page publish lifecycle: draft → published → archived
|
|
- Domain/subdomain binding refs (DNS/SSL remain Core/Nginx)
|
|
- Permissions, events, APIs, Alembic `0002_phase_111_sites_pages`
|
|
- Tenant isolation tests
|
|
|
|
### Out of Scope
|
|
|
|
- Dynamic page builder (sections/rows/columns/blocks) — Phase 11.2
|
|
- Theme / design system — Phase 11.3
|
|
- CMS articles/collections — later phases per manifest
|
|
- Forms engine, SEO engine, AI content
|
|
|
|
### Models
|
|
|
|
| Entity | Soft delete | Audit | Tenant |
|
|
| --- | --- | --- | --- |
|
|
| ExperienceSite | Yes | Yes | Yes |
|
|
| ExperiencePage | Yes | Yes | Yes |
|
|
| ExperienceSiteDomain | Yes | Yes | Yes |
|
|
|
|
### Permissions
|
|
|
|
`experience.sites.*`, `experience.pages.*`, `experience.domains.*`
|
|
|
|
### Events
|
|
|
|
`experience.site.*`, `experience.page.*`, `experience.site_domain.*`
|
|
|
|
### APIs
|
|
|
|
| Method | Path |
|
|
| --- | --- |
|
|
| * | `/api/v1/sites` (+ publish/unpublish/archive) |
|
|
| * | `/api/v1/pages` (+ publish/unpublish/archive) |
|
|
| * | `/api/v1/site-domains` |
|
|
|
|
### Tests
|
|
|
|
- [x] Architecture / permission / dependency
|
|
- [x] API + tenant isolation + publish/archive rules
|
|
- [x] Migration / docs
|
|
|
|
## Completion Criteria
|
|
|
|
- [x] Site and page resource APIs + validators + tests green
|
|
- [x] No component versioning / theme / template engines
|
|
- [x] Docs / manifests / handover updated
|
|
|
|
## Related Documents
|
|
|
|
- [Handover](phase-handover/phase-11-1.md)
|
|
- [Phase 11.0](experience-phase-11-0.md)
|
|
- [Experience Roadmap](experience-roadmap.md)
|
|
- [ADR-016](architecture/adr/ADR-016.md)
|