Core Spotlight Concepts and Models
mainUnderstanding the primary abstractions in Spotlight:
- Exhibits (
Spotlight::Exhibit): The main organizational container for content. - Pages (
Spotlight::Page/Spotlight::HomePage): Curated pages within an exhibit, using Sir Trevor for rich text editing. - Custom Fields (
Spotlight::CustomField): Admin-defined fields (e.g., multivalued text, read-only metadata) added to exhibit items. - Sidecars (
Spotlight::SolrDocumentSidecar): Database-backed extensions to Solr documents that allow exhibit-specific metadata to persist locally. - Resources (
Spotlight::Resource): External or uploaded content that is converted into Solr documents.
Frontend Architecture:
- Source JavaScript is located in
app/javascript/spotlight/. - Core orchestration happens in
app/javascript/spotlight/index.js, which listens for page loads and instantiates class components (e.g.,new AddAnother().connect()).