# CIIM Core Feature List

- [x] Highly scalable, proven to handle >80 million records (responsible for over 150 million resources worldwide)
- [x] Fully automated, schedulable and extensible ingest framework
- [x] Integrates with over 30 major collection, archive, library and digital asset management systems - as well as collections related systems (e.g. diary, special collections access)
- [x] Completely schemaless model, no data gets excluded - ie all fields available for searching/filtering
- [x] Represents any type of metadata - examples range from GLAM metadata to archival TT race, course and rider data, human skeleton and skeletal pathology and theatrical productions.
- [x] Unify multiple collections in optimised for search and retrieval whilst retaining the full richness of all of the source data (i.e. no lowest common denominator model)
- [x] Rule-based augmentation and editing of records
- [x] Validation of data integrity / quality and record conformance with both predefined and customisable rules
- [x] Graph representation of relationships
- [x] Suite of AI integrations for media and metadata
    - [x] Target specific fields for specific services
    - [x] Automatically re-analyse changed fields/records
    - [x] Automatically analyse new records which match defined rule sets
- [x] Graduated publication rules for internal and external delivery
- [x] Write-back to source systems (e.g. collections metadata to DAMS)
- [x] Automatic media asset generation/resolution, including creating pyramid tiffs for deep zoom/IIIF
    - [x] Optional watermarking
    - [x] Optional metadata embedding
- [x] Automated publication processes to multiple ecosystems and endpoints (e.g. Elasticsearch, media server, SOLR, triple store, graph data store)
- [x] Full auditing of record processing lifecycle
- [x] Full auditing of what was extracted/processed when and where it was published to.
- [x] Handle cross system references using arbitrary metadata fields.
- [x] Not just ‘object’ centric - manages authority and media data and all relationships to ensure combined records (in for example Es index)  are updated in response to related graph changes at both relationship and metadata level
- [x] Internal audit of all extraction, processing and publication operations to ensure data integrity
- [x] Manage hierarchy integrity for hierarchies of many millions of records
    - [x] Flag cyclical hierarchies
- [x] All CIIM core functions available/controllable via internal API
- [x] Author new records through submission to internal API
- [x] Analytics integration
- [x] Full data change history
- [x] Add additional information to enrich searchable data (additional vocabularies, Tags, search hints) to aid retrieval/increase search precision. Keep this in sync with any new records that match the defined searches and remove from any records that no longer match
