File
A semantic Value Type that attaches a managed, versioned binary asset to a Record without embedding its content.
type: data-model · status: draft · abstraction: instance
What it is
File is a semantic Value Type for attaching a managed binary asset to a Record through a Property. Its durable value identifies an immutable asset version and carries authoritative metadata such as filename, media type, byte size and checksum. It never embeds binary content, storage-provider keys or permanent access URLs in the Record.
A File value belongs to the business Record containing the File Property; uploading a file does not create a separate IMOS Record for that file. Asset and asset-version identities are internal storage entities managed by the platform. A separate Object is appropriate only when the document is itself a business thing with its own Properties and lifecycle, in which case that Record still holds its binary content through a File Property.
A File Property uses the standard Property rules for required, unique and single- or multi-valued data, with additional constraints such as allowed media types and maximum size. Core File Value Type operations prepare and validate uploads, attach references, resolve authorised content and detach or replace values in the context of the owning Record and Property. They use Record, Property and Workspace authorisation rather than a File-management Capability. Optional processing such as deep-zoom rendering, preflight, OCR and conversion is added through Capabilities that consume the immutable file version without changing the File contract.
Why it exists
Manufacturing Records routinely need drawings, certificates, photographs, inspection evidence, invoices and machine exports. Ordinary URLs do not preserve ownership, integrity, permissions, version identity or retention behaviour, while embedding bytes in Records would make normal data operations expensive and unsafe.
File makes attachments first-class typed data without turning every uploaded binary into a business Record. The platform can render appropriate controls, enforce canonical Property constraints, audit access and expose stable references to integrations without making basic file handling dependent on an optional Capability. Immutable version references preserve exactly what was reviewed or approved, while specialist file functionality can grow independently through governed Capabilities.
Relationships
Outgoing
- is an instance of → Value Type (many-to-one)
- references → Asset (one-to-many) — A File value references an Asset to attach it to a Record without placing the binary content inside Record data.
- is scoped by → Workspace (many-to-one) — Files are scoped by the Workspace of the Record carrying the File value; file operations use that Workspace's authorisation context.
Neighbourhood
Stakeholder summaries
- Product — File gives any Property standard upload, download and immutable version behaviour without creating a separate Record for each binary. Documents become Records only when they are genuine business entities with their own Properties and lifecycle.
- Investor — File support brings manufacturing evidence into the canonical object model without inflating it with infrastructure Records. A lean core asset contract supports independent specialist capabilities such as deep zoom and preflight.
- Marketing — Attach drawings, certificates, photographs and other evidence directly to the relevant Record. IMOS keeps each version identifiable and available only to authorised people and processes.
- Engineering — Store asset and immutable-version references as File values on business Records; asset persistence remains internal platform state, not ordinary Object/Record data. Core File operations are authorised against the owning Record, Property and Workspace, while specialist processors are Capabilities.