id: https://nde.nl/ontology/hc/class/CMS name: cms_class title: CMS Class prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ schema: http://schema.org/ prov: http://www.w3.org/ns/prov# doap: http://usefulinc.com/ns/doap# imports: - linkml:types - ../slots/has_or_had_label - ../slots/has_or_had_type - ../slots/has_or_had_version default_prefix: hc classes: CMS: class_uri: schema:SoftwareApplication description: | A detected Content Management System (CMS) on a digital platform. **Purpose**: Represents a CMS instance detected through automated discovery or manual identification. Used when a platform is_or_was_based_on a CMS. **Distinction from CollectionManagementSystem**: - **CMS**: Lightweight detection record (what CMS was found) - **CollectionManagementSystem**: Full institutional CMS deployment profile (configuration, collections managed, custodian relationships) **Detection Methods** (from original cms_detected documentation): - HTTP response headers (X-Powered-By, Server) - HTML meta tags (generator) - URL patterns (e.g., /providence/, /omeka/) - JavaScript libraries or framework signatures - Admin panel detection **Use Cases**: 1. "What CMS powers this auxiliary platform?" → Check is_or_was_based_on 2. Technical survey: Identify platforms by CMS type 3. Migration planning: Prioritize platforms by CMS technology **Example**: ```yaml AuxiliaryDigitalPlatform: platform_name: Heritage Blog is_or_was_based_on: - cms_name: WordPress cms_version: "6.4.2" cms_type: CustomCMS detected_at: "2026-01-19T12:00:00Z" detection_method: HTTP_HEADER ``` **Migration Note**: Created 2026-01-19 per slot_fixes.yaml (Rule 53). Supports migration from boolean cms_detected to structured CMS reference. exact_mappings: - schema:SoftwareApplication close_mappings: - doap:Project slots: - cms_name - has_or_had_version - has_or_had_type - detected_at - detection_method slot_usage: cms_name: # range: string required: true examples: - value: WordPress - value: Omeka S - value: CollectiveAccess has_or_had_version: # range: string required: false examples: - value: "6.4.2" - value: "4.0.1" has_or_had_type: range: CMSType required: false examples: - value: MuseumCMS - value: ArchiveCMS detected_at: range: datetime required: false examples: - value: "2026-01-19T12:00:00Z" detection_method: # range: string required: false examples: - value: HTTP_HEADER - value: META_TAG - value: URL_PATTERN - value: MANUAL annotations: custodian_types: '["D"]' custodian_types_rationale: Digital platforms (D) are the primary users of CMS detection specificity_score: 0.70 specificity_rationale: Specific to digital platform CMS detection context slots: cms_name: slot_uri: schema:name description: Name of the Content Management System # range: string close_mappings: - schema:name - doap:name detected_at: slot_uri: prov:generatedAtTime description: Timestamp when the CMS was detected range: datetime close_mappings: - prov:generatedAtTime detection_method: slot_uri: prov:wasGeneratedBy description: Method used to detect the CMS (HTTP_HEADER, META_TAG, URL_PATTERN, MANUAL) # range: string