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.)