Konservation
Konservation (Creative Content & Cultural Preservation) — sub‑module under Kreative.
Implements five core services with named code‑functions, backed by dedicated models and frozen parameters.
1) Functional Services (and expected files)
Code‑names follow the v14 inventory and map 1:1 to service modules.
| Display name | Code name / service | Purpose / behavior | Likely file or module |
|---|---|---|---|
| Digital Archives | digital_archive_management |
Ingest, store, and retrieve digitized artworks and heritage media; handle provenance and rights metadata. | kreative/services/digital_archive.py |
| Virtual Exhibitions | virtual_exhibition |
Build interactive online galleries/VR rooms from curated sets; enforce per‑room capacity; publish exhibits. | kreative/services/virtual_exhibition.py |
| Documentation Base | archive_documentation |
Manage bios, provenance notes, and supplemental documents attached to artworks/galleries. | kreative/services/archive_documentation.py |
| AI‑Enriched Catalogue | ai_enriched_catalogue |
Auto‑classify artworks, generate tags/labels and fill style/medium using ML; writes to tagging/metadata. | kreative/services/catalogue_ai.py and kreative/tasks/ai_enrichment.py |
| Cultural Partners Integration | cultural_partner_integration |
Import/sync collections from partner museums/heritage systems; map external metadata to local schema. | kreative/services/partner_integration.py and kreative/tasks/partner_ingest.py |
Mapping guidance (“each code name maps to a service module”) per the Functional Code‑Name Inventory.
2) Backend Functionalities
-
Artwork & media lifecycle. Upload, validate, and persist artworks; generate multiple image renditions for fast delivery; enforce upload size and allowed media types.
-
Curation & exhibitions. Curators assemble Galleries (ordered sets) and publish Virtual Exhibitions with capacity limits per room.
-
Tagging & discovery. Global Tag vocabulary with many‑to‑many mapping to artworks; AI service can propose tags and styles.
-
Heritage submissions. Community submits TraditionEntry items (media + description + region) to the archive; moderator approval workflow.
-
Rights, privacy, and moderation. NSFW flag on upload; shared moderation policies across modules; provenance and creator attribution preserved.
-
API & stack. Exposed via Django REST Framework to the Next.js frontend; object storage for media; background workers for image/AI pipelines.
3) Database Models (OLTP)
Canonical tables for Konservation content and curation.
| Table / Model | Purpose | Key fields (excerpt) |
|---|---|---|
KreativeArtwork |
A single artwork or creative work (image/video/audio/other). | id, artist (FK User), title, description, media_file, media_type (ENUM), year, medium, style |
Tag |
Global tagging vocabulary reused by artworks (and other content). | id, name (unique) |
ArtworkTag |
Join table linking artworks ↔ tags (M2M; unique per pair). | id, artwork (FK), tag (FK) |
Gallery |
Curated collection or exhibition container. | id, title, description, created_by (FK User, nullable), theme, created_at |
GalleryArtwork |
Through‑table to place artworks in a gallery with order. | id, gallery (FK), artwork (FK), order |
TraditionEntry |
Cultural heritage submission for long‑term archive. | id, title, description, region, media_file, submitted_by (FK, nullable), submitted_at, approved (bool), approved_by (FK, nullable), approved_at |
Models live under the Kreative app (e.g., kreative/models/artwork.py, gallery.py, tradition.py).
4) Supporting Configuration (frozen)
Operational parameters and invariants affecting Konservation features.
-
ARTWORK_MAX_IMAGE_MB: 50 MB — upload limit for image media.
-
ARTWORK_RESOLUTIONS: [256, 1024, 2048] px — renditions generated on ingest.
-
VIRTUAL_GALLERY_CAPACITY: 24 artworks / room — enforced by
virtual_exhibition. -
NSFW_FLAG_REQUIRED: boolean (default False) — surfaced in upload form and display gates.
-
MEDIA_ROOT:
/app/media/— single bucket mount for all modules (shared invariant).
5) Routes & Ownership (UI)
Top‑level navigation and page ownership for this sub‑module.
-
/kreative — Creativity Hub (tabs: Gallery, Incubator, Virtual Exhibitions).
-
/art/[id] — Artwork Sheet (details, comments, metadata).
-
/archive — Konservation Archive (Heritage, Partners).
6) DevOps & Tasks
-
Image pipeline. Celery task generates
ARTWORK_RESOLUTIONSon upload; stores renditions alongside originals in object storage. -
AI enrichment. Scheduled worker applies
ai_enriched_catalogueto new/updated artworks (tags, style/medium suggestions). -
Partner ingest. Periodic sync jobs fetch external collections and map metadata via
cultural_partner_integration. -
Publishing. Exhibition build step compiles gallery selections into front‑end consumables (JSON descriptors / assets), respecting capacity limits.
Summary
Konservation provides digital archiving, virtual exhibitions, documentation, AI‑assisted cataloguing, and partner integrations via the five services above, grounded in the KreativeArtwork, Gallery, Tag/ArtworkTag, and TraditionEntry models and governed by fixed upload, rendition, and exhibition parameters.