These are Tim
Strehle's modules for a digital asset management system
asset database (asset identifiers and metadata including metadata
editing capabilities, and pointers to files)
file storage (locally or in the cloud; this is where image files etc.
reside and where the asset database points to)
image processing engine (creating preview images, and cropping images
for export)
video conversion engine (taking stills from videos, and transcoding
into Web-friendly formats)
file metadata extraction and embedding engine (for IPTC, EXIF, XMP
metadata and office document text contents)
ingestion engine (combining the above engines to process files and
move them into the asset database and file storage)
search engine (fulltext and metadata search across assets)
collections database (where users can organize assets in collections)
rights management database (usage rights and usage tracking for
assets)
controlled vocabulary database (thesaurus, country and keyword lists
etc., with editing capabilities)
workflow database (tracking which assets are in which stages of a
workflow, in which status and assigned to which user - e.g. approval,
rights clearance)
user roles and permissions database (defining which users have which
permissions on assets, using ACLs)
asset publishing engine (adapters for sharing, publishing assets on
Facebook etc.)