Every File, Findable
Photos, documents, downloads, and generated files pile up fast — and if nobody can find them again, they might as well not exist.
The pain it solves: Files scattered across email attachments, local folders, and random cloud drives waste time and risk using outdated or wrong versions.
How it helps:
- A central Digital Asset Management (DAM) library holds every image, document, and download used across your website, app, and communications.
- Files are organized using the same Categories and Tags as the rest of the platform, so there's no separate filing system to learn.
- Assets can be reused across content pages, newsletters, forms, and products — upload once, use everywhere.
- Because it's built into the same platform as content editing, inserting an image or document into a page is a search-and-click, not a file hunt.
The happy workday: Editors find the right file in seconds, and never accidentally publish an outdated version again.
Why This Matters for Your Organization
A shared asset library reduces duplicate uploads, keeps branding consistent (right logo, right version), and shortens the time from "I need this image" to "it's published."
Technical Details
The DAM module is implemented via DamService (ExireNexus.Services/Services/Dam/DamService.cs) operating on the UploadedFile model (ExireNexus.Shared/Models/UploadedFile.cs).
Key implementation points:
UploadedFileis the platform's single media entity — covering images, documents, downloads, and generated files — linked toCategoryandTagentities for organization, consistent with howItem(content) andShopProductare categorized.- File upload/serving is exposed through
FileEndpointinExireNexus.ApiService/Endpoints/FileEndpoint.cs, a Minimal API endpoint returning typed results, keeping upload/download logic out of the Blazor UI layer. - Because assets share the platform's
Categoryhierarchy, the same folder-like organization used for content pages and products applies to files — no separate taxonomy to maintain. - Reuse across modules (content items, newsletters, forms, shop products) is achieved by simply referencing the
UploadedFilerecord's ID rather than duplicating the file, keeping storage and version history centralized.
This keeps the asset library aligned with the platform's core principle of reusing existing organizational entities (Category, Tag) instead of introducing a parallel file-management taxonomy.