Files
thrillwiki_django_no_react/memory-bank/decisions/django_wiki_evaluation.md

3.2 KiB

Django-Wiki Transformation Evaluation

Current System State

  • Early stage project with minimal existing data
  • Complex custom implementation for content management
  • Multiple specialized apps that may be overkill for current needs
  • HTMX + AlpineJS + Tailwind CSS frontend

Django-Wiki Analysis

Core Features Provided

  1. Content Management

    • Wiki pages and hierarchies
    • Version control
    • Markdown support
    • Built-in editor
    • Permission system
  2. Extension System

    • Plugins available
    • Customizable templates
    • API hooks
    • Custom storage backends

Transformation Benefits

  1. Simplified Architecture

    • Replace custom content management
    • Built-in versioning and history
    • Standard wiki conventions
    • Reduced code maintenance
  2. Feature Alignment

    • Core park/ride pages as wiki articles
    • Categories for organization
    • Rich text editing
    • User contributions
    • Content moderation
  3. Development Efficiency

    • Proven, maintained codebase
    • Active community
    • Documentation available
    • Security updates

Transformation Strategy

Phase 1: Core Setup

  1. Remove unnecessary apps:

    • history/history_tracking (use wiki history)
    • core (migrate needed parts)
    • designers (convert to wiki pages)
    • media (use wiki attachments)
  2. Keep Essential Apps:

    • accounts (user management)
    • location (geographic features)
    • moderation (adapt for wiki)
  3. Install Django-Wiki:

    • Core installation
    • Configure settings
    • Setup templates
    • Migrate database

Phase 2: UI Integration

  1. Wiki Template Customization

    • Apply Tailwind CSS
    • Integrate AlpineJS
    • Add HTMX enhancements
    • Match site design
  2. Feature Implementation

    • Park pages as articles
    • Ride information sections
    • Location integration
    • Review system
    • Media handling

Phase 3: Enhanced Features

  1. Custom Extensions

    • Park metadata plugin
    • Location visualization
    • Review integration
    • Media gallery
  2. User Experience

    • Navigation structure
    • Search optimization
    • Mobile responsiveness
    • Performance tuning

Technical Requirements

Core Dependencies

  • django-wiki
  • django-mptt (tree structure)
  • django-nyt (notifications)
  • Markdown processing
  • Pillow (images)
  • Sorl-thumbnail (thumbnails)

Frontend Integration

  • Custom templates
  • Tailwind CSS setup
  • AlpineJS components
  • HTMX interactions

Authentication

  • Retain current auth system
  • Integrate with wiki permissions
  • Role-based access
  • Moderation workflow

Risks and Mitigations

  1. Data Migration

    • Risk: Minimal (little existing data)
    • Action: Simple manual migration
  2. Feature Parity

    • Risk: Some custom features needed
    • Action: Implement as wiki plugins
  3. Performance

    • Risk: Standard wiki performance
    • Action: Implement caching

Next Steps

  1. Initial Setup

    • Remove unnecessary apps
    • Install django-wiki
    • Configure basic settings
    • Setup authentication
  2. UI Development

    • Create base templates
    • Apply styling
    • Add interactivity
    • Test responsive design
  3. Custom Features

    • Develop needed plugins
    • Integrate location services
    • Setup moderation
    • Configure search