🚀 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
- None yet
- 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
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 failsEmail 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 settingsSecurity 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 dataPublic-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 optimizationPending Features
Database Layer
- [ ] Test with MySQL - [ ] Test with PostgreSQL - [ ] Update all database queries to use prepared statements - [ ] Add transaction support where neededConfiguration
Security
Documentation
In Progress
PDO Integration
UTC Time Handling
- [ ] Add timezone column tolivehelp_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