14 KiB
FirstSpirit General Structure and Stores
Overview
FirstSpirit is a content management system built on a fundamental architectural principle: strict separation of layout, content, and structure. This separation enables independent modification of different website aspects while maintaining content reusability across the entire system.
The core philosophy addresses the traditional challenges of website maintenance by allowing editorial teams to manage content without requiring web design expertise, while developers control layout and functionality separately.
Core Architecture: The Six-Store System
FirstSpirit organizes all project data into six distinct, specialized stores. Each store has a specific purpose and is color-coded in the interface for easy identification.
1. Page Store
Purpose: Primary repository for editorial content where content creators work with pages and sections.
Key Characteristics:
- Main editing interface for content creators
- Houses editorial content in a structured format
- Provides standard input elements (text editors, form fields, etc.)
- Enables editors to add pages, sections, and manage existing content
Structure and Components:
The Page Store supports four primary object types:
- Folders - Organizational hierarchy, typically mirroring intended website menu structure
- Pages - Standard content containers that usually correspond to individual website pages
- Sections - Content divisions within pages that map to specific content areas (enabling multi-column layouts)
- Section References - References to existing sections for content reuse across multiple pages
Content Organization:
- One page in the Page Store typically corresponds to one website page
- Each page can contain multiple sections assigned to different content areas
- Sections organize content within pages for layout flexibility
- Content includes text, images, files, and other media inserted using standard input elements
Relationship with Other Stores:
- Pages align with page templates from the Template Store
- Sections align with section templates that define individualized layouts
- Content areas organize sections within pages for complex website designs
2. Data Store
Purpose: Manages highly structured, database-driven content.
Key Characteristics:
- Designed for structured content like product catalogs, address lists, and news databases
- Accommodates custom database structures
- Supports external database integration for frequently-updated information
- Ideal for content requiring database-style querying and organization
Typical Use Cases:
- Product catalogs
- Address directories
- News archives
- Event calendars
- Any content requiring complex relationships and structured data models
3. Site Store
Purpose: Governs the website's physical hierarchy and navigation structure.
Key Characteristics:
- Maps the navigation architecture of the website
- Separates structure from layout, allowing independent modification
- Each folder represents a navigation menu level
- Subfolders automatically create new menu tiers
- Controls menu item ordering and display options
Structural Elements:
The Site Store organizes content through five main components:
- Folders - Each folder represents a menu level in website navigation
- Start folders - Direct links to pages when a menu level lacks a dedicated page
- Page references - Individual pages available for display in navigation
- Start pages - The initial page shown when multiple pages exist at one menu level
- Document groups - Containers that unite multiple page references and menu levels for unified display
Navigation Management:
- Navigation points can be added, modified, or removed at any depth and time
- Automatic menu level creation occurs with each new subfolder
- Link management preserves referential integrity throughout the structure
- Navigation can be implemented through various formats (traditional HTML, JavaScript, Flash)
- Navigation appearance and positioning defined independently from structure
Key Advantage: The separation enables flexible design changes without restructuring the content hierarchy. You can completely change how navigation looks and where it appears without touching the underlying structure.
4. Media Store
Purpose: Central repository for all project media assets.
Key Characteristics:
- Stores all media files used across the website
- Centralized management prevents duplication
- Enables reuse of media across multiple pages and templates
Media Types:
- Images (JPEG, PNG, GIF, SVG, etc.)
- Videos (MP4, WebM, etc.)
- Audio files
- Documents (PDF, Word, Excel, etc.)
- Downloadable files
- Other digital assets
5. Template Store
Purpose: The system's core where layout design and functional specifications reside.
Key Characteristics:
- Contains all templates that define how content is displayed
- Serves as the connector between all other stores
- Integrates content, media, and structure during website generation
- Defines page layouts, section layouts, and format templates
Integration Role: Templates combine elements from multiple stores during generation:
- Content from Page Store and Data Store
- Media from Media Store
- Structure from Site Store
- All unified into complete website presentations
Template Types:
- Page templates (define overall page structure)
- Section templates (define content area layouts)
- Format templates (define specific output formats)
- Link templates (define how links are generated)
6. Global Settings
Purpose: Project-wide configurations and shared content.
Key Characteristics:
- User preferences and permissions
- Project rules and workflows
- URL configuration and SEO optimization
- Reusable content elements for frequently-used page components
- Project languages and multilingual settings
Configuration Areas:
- Editorial permissions (for FirstSpirit users)
- Workflow permissions (specialized editorial access)
- User permissions (for website visitors)
- Application interface locale settings
- Editing languages (for template developers)
- Project languages (for content)
Separation of Content and Layout
The Core Principle
FirstSpirit's fundamental architecture principle states: "strict separation of layout, content and structure."
This separation addresses the inefficiency of traditional website maintenance where changing a single design element required manually updating hundreds or thousands of individual HTML files.
How Separation Works
Content Layer (Page Store, Data Store):
- Editors maintain, change, and create content like newspaper editors
- No web design expertise required
- Focus on information quality and accuracy
- Content exists independently of presentation
Layout Layer (Template Store):
- Developers define templates that control presentation
- Templates can be updated without touching content
- Design changes propagate automatically across all content
- Separation enables design consistency
Structure Layer (Site Store):
- Navigation hierarchy defined independently
- Menu structure can be reorganized without affecting content or layout
- Referential integrity maintained automatically
Benefits of Separation
- Scalability: Bulk updates propagate across multiple dependent pages automatically
- Maintainability: Important changes can be made easily and efficiently
- Specialization: Team members focus on their expertise (content vs. design vs. development)
- Reusability: Content can be reused at any time across different contexts
- Flexibility: Each area can be changed independently of others
Core Concepts and Paradigms
Content-First Approach
FirstSpirit follows a content-first methodology where editorial teams manage information independent of presentation. The system treats editors as content creators rather than technical specialists, enabling them to focus on content quality.
Accessibility for Non-Technical Users
The framework emphasizes accessibility through graphical interfaces, enabling important changes without requiring proficiency in web design. This democratizes content management across organizations.
Multi-User Collaboration
FirstSpirit implements selective locking to prevent conflicts:
Parallel Operations (No Locking Required):
- Creation of new elements
- Deletion of elements
- Copying elements
- Moving elements
Exclusive Operations (Edit Mode Required):
- Editing content
- Release actions
- Any modifications requiring exclusive access
This approach maximizes team productivity while maintaining data integrity.
Multilingual Architecture
The platform supports language at three distinct levels:
- Application Interface Locale: The language of the FirstSpirit interface itself
- Editing Languages: Languages available to template developers
- Project Languages: Languages for content delivery to end users
Language Flexibility:
- Fields can be designated as language-dependent (different content per language)
- Fields can be language-independent (same content across all languages)
- Enables efficient management of multilingual websites
Role-Based Access Control
FirstSpirit implements granular permission framework where "each individual employee has precisely defined tasks." The system distinguishes between three permission categories:
- Editorial Permissions: For FirstSpirit content editors
- Workflow Permissions: Specialized editorial access with approval capabilities
- User Permissions: For website visitors (frontend access control)
Data Preservation and Versioning
FirstSpirit provides three mechanisms to ensure information integrity:
1. Versioning
- Tracks all changes over time
- Enables rollback to previous versions
- Maintains complete change history
- Supports audit trails
2. Historization
- Enables temporal snapshots for generation
- Allows regeneration of website as it appeared at specific points in time
- Supports testing and preview of changes before publication
3. Archiving
- Provides permanent, tamper-proof storage
- Ensures long-term data preservation
- Supports compliance and regulatory requirements
Integration Model: The Generation Process
Templates serve as the integration point during website generation:
- Template Selection: System identifies appropriate template for content
- Content Retrieval: Fetches content from Page Store or Data Store
- Media Integration: Incorporates media from Media Store
- Structure Application: Applies navigation structure from Site Store
- Configuration Application: Applies settings from Global Settings
- Output Generation: Produces final website files (HTML, CSS, JavaScript, etc.)
This process combines all store elements into cohesive, complete website presentations.
Best Practices for Store Organization
Page Store Organization
- Mirror your intended site structure in folder hierarchy
- Use descriptive names for pages and sections
- Leverage section references to avoid content duplication
- Organize content logically for easy editor navigation
Data Store Organization
- Design schemas that match real-world data relationships
- Use appropriate data types for each field
- Consider query performance when designing structure
- Document custom schemas for maintainability
Site Store Organization
- Create intuitive navigation hierarchies
- Use start pages to define default landing pages
- Leverage document groups for complex navigation scenarios
- Plan for future navigation expansion
Media Store Organization
- Use folders to categorize media by type or purpose
- Implement consistent naming conventions
- Consider media lifecycle and archiving strategies
- Optimize media files before upload
Template Store Organization
- Create reusable template components
- Document template functionality for future developers
- Use consistent coding standards
- Separate presentation logic from business logic
Global Settings Management
- Document all project-specific configurations
- Maintain separate settings for development, staging, and production
- Version control reusable content elements
- Regularly review and update permissions
Developer Considerations
Related Concepts to Master
- Language handling within the platform
- Developer tools available (ContentCreator, SiteArchitect)
- Template composition methodologies
- Plugin development capabilities
- API integration patterns
Content Scaling
The system manages content scaling across websites of any size through centralized repositories, allowing bulk updates to propagate across multiple dependent pages—directly addressing the labor-intensive nature of traditional website maintenance.
System Statements
Key architectural statements from FirstSpirit documentation:
"The individual areas can be changed independently of each other and content can be reused at any time."
"A Content Management System simplifies making changes to content by separating a website's content, layout and structure."
"The editor maintains, changes and creates editorial content just like a newspaper editor."
These statements encapsulate FirstSpirit's core philosophy: empowering content creators while maintaining technical flexibility for developers.
Summary
FirstSpirit's six-store architecture provides a robust foundation for enterprise content management:
- Page Store: Editorial content and pages
- Data Store: Structured, database-driven content
- Site Store: Navigation hierarchy and structure
- Media Store: Centralized media assets
- Template Store: Layout and presentation logic
- Global Settings: Project-wide configuration
The strict separation of content, layout, and structure enables:
- Independent modification of different website aspects
- Unlimited content reusability
- Scalable maintenance across large websites
- Team specialization and parallel workflow
- Multilingual content management
- Robust versioning and data preservation
This architecture positions FirstSpirit as an enterprise-grade CMS capable of managing complex, large-scale web projects while remaining accessible to non-technical content creators.