🚀 Crafty Syntax 3.8.0 Modernization Plan

Benchmarking Crafty Syntax against modern live help stacks, introducing the databasefactory adapter, and staging Lupopedia q/a without abandoning legacy installs.

TODO for Crafty Syntax 3.8.0

High Priority

Authentication System

Database vs Config File

The database (auth_providers table) is sufficient for storing:
  • OAuth client credentials
  • Provider configurations
  • Active/Inactive status
  • Security Considerations

  • OAuth/Passwordless Login

  • - [ ] Create admin interface for managing OAuth providers - [ ] Add form to add/edit OAuth providers (Google, GitHub, etc.) - [ ] Include step-by-step instructions with screenshots for each provider - [ ] Add validation for OAuth credentials - [ ] Test OAuth flow with multiple providers - [ ] Add ability to enable/disable authentication methods - [ ] Create backup authentication method if OAuth fails

    Email Login (Magic Link/Passwordless)

  • - [ ] Add email template system for magic links - [ ] Create token generation and validation system - [ ] Add rate limiting for email requests - [ ] Implement "Remember Me" functionality - [ ] Add login attempt logging - [ ] Make it configurable (enable/disable in admin) - [ ] Add IP-based rate limiting - [ ] Add email verification for first-time users - [ ] Support for custom SMTP settings

    Security Considerations

  • Ontology Platform Integration

  • - [ ] Add SOT (Single Source of Truth) tables - [ ] Add Content tables - [ ] Add Network tables - [ ] Add Collection tables - [ ] Ensure backward compatibility with existing data

    Public-Facing Ontology Pages

  • - [ ] questions.php - [ ] content.php - [ ] events.php - [ ] channels.php - [ ] users.php - [ ] collections.php - [ ] Ensure consistent styling and responsive design - [ ] Add proper meta tags and SEO optimization

    Pending Features

    Database Layer

  • - [ ] Test with MySQL - [ ] Test with PostgreSQL - [ ] Update all database queries to use prepared statements - [ ] Add transaction support where needed

    Configuration

  • Security

  • Documentation

  • In Progress

    PDO Integration

  • UTC Time Handling

  • - [ ] Add timezone column to livehelp_users table - [ ] Update user profile/registration to include timezone selection - [ ] Create utility function for timezone conversion (UTC to user's timezone)
  • - [ ] Chat timestamps - [ ] Report generation - [ ] Admin interface - [ ] Any other date/time displays
  • - [ ] Different timezones - [ ] DST transitions - [ ] Cross-timezone chat

    Testing

  • Known Issues

  • None yet
  • Important Notes

  • Crafty Syntax remains fully human-operated - no AI agents are embedded in CSLH
  • All Ontology Platform integration is structural and data-model only
  • Maintain backward compatibility where possible
  • Database migrations should be idempotent
  • Follow PSR-12 coding standards
  • Document all new API endpoints and database schema changes