- Implement Docker image-based deployment (Option 1) * Code immutable in image, no volume override * Eliminated init-data.sh manual step * Simplified deployment process - Unified persistence in data/ folder * Moved nginx.conf and nginx-custom-domains.conf to data/ * All runtime configs and data in single location * Clear separation: repo (source) vs data/ (runtime) - Archive legacy features * Groups blueprint and templates removed * Legacy playlist routes redirected to content area * Organized in old_code_documentation/ - Added network migration support * New migrate_network.sh script for IP changes * Regenerates SSL certs for new IP * Updates database configuration * Tested workflow: clone → deploy → migrate - Enhanced deploy.sh * Creates data directories * Copies nginx configs from repo to data/ * Validates file existence before deployment * Prevents incomplete deployments - Updated documentation * QUICK_DEPLOYMENT.md shows 4-step workflow * Complete deployment workflow documented * Migration procedures included - Production ready deployment workflow: 1. Clone & setup (.env configuration) 2. Deploy (./deploy.sh) 3. Migrate network (./migrate_network.sh if needed) 4. Normal operations (docker compose restart)
97 lines
3.0 KiB
Markdown
97 lines
3.0 KiB
Markdown
# Groups Feature - Archived
|
|
|
|
**Status: ARCHIVED AND REMOVED ✅**
|
|
|
|
**Archive Date:** January 17, 2026
|
|
|
|
## What Was Done
|
|
|
|
### 1. **Files Archived**
|
|
- `/app/templates/groups/` → `/old_code_documentation/templates_groups/`
|
|
- `/app/blueprints/groups.py` → `/old_code_documentation/blueprint_groups.py`
|
|
|
|
### 2. **Code Removed**
|
|
- Removed groups blueprint import from `app/app.py`
|
|
- Removed groups blueprint registration from `register_blueprints()` function
|
|
- Removed Group import from `app/blueprints/admin.py` (unused)
|
|
- Removed Group import from `app/blueprints/api.py` (unused)
|
|
- Commented out `/api/groups` endpoint in API
|
|
|
|
### 3. **What Remained in Code**
|
|
- **NOT removed:** Group model in `app/models/group.py`
|
|
- Kept for database backward compatibility
|
|
- No imports or references to it now
|
|
- Database table is orphaned but safe to keep
|
|
|
|
- **NOT removed:** `app/utils/group_player_management.py`
|
|
- Contains utility functions that may be referenced
|
|
- Can be archived later if confirmed unused
|
|
|
|
## Summary
|
|
|
|
✅ Groups feature is now completely **unavailable in the UI and app logic**
|
|
✅ No routes, blueprints, or navigation links to groups
|
|
✅ Application loads cleanly without groups
|
|
✅ Database tables preserved for backward compatibility
|
|
|
|
## Why Groups Was Removed
|
|
|
|
1. **Functionality replaced by Playlists**
|
|
- Groups: "Organize content into categories"
|
|
- Playlists: "Organize content into collections assigned to players"
|
|
|
|
2. **Never used in the current workflow**
|
|
- Dashboard: Players → Playlists → Content
|
|
- No mention of groups in any UI navigation
|
|
- Players have NO relationship to groups
|
|
|
|
3. **Redundant architecture**
|
|
- Playlists provide superior functionality
|
|
- Players directly assign to playlists
|
|
- No need for intermediate grouping layer
|
|
|
|
## Original Purpose (Deprecated)
|
|
|
|
- Groups were designed to organize content
|
|
- Could contain multiple content items
|
|
- Players could be assigned to groups
|
|
- **BUT:** Player model never implemented group relationship
|
|
- **Result:** Feature was incomplete and unused
|
|
|
|
## Current Workflow (Active) ✅
|
|
|
|
```
|
|
1. Create Playlist (organize content)
|
|
2. Upload Media (add files)
|
|
3. Add Content to Playlist (manage items)
|
|
4. Add Player (register device)
|
|
5. Assign Playlist to Player (connect directly)
|
|
6. Players auto-download and display
|
|
```
|
|
|
|
## If Groups Data Exists
|
|
|
|
The `group` and `group_content` database tables still exist but are orphaned:
|
|
- No code references them
|
|
- No migrations to drop them
|
|
- Safe to keep or drop as needed
|
|
|
|
## Future Cleanup
|
|
|
|
When ready, can be removed completely:
|
|
- `app/models/group.py` - Drop Group model
|
|
- Database migrations to drop `group` and `group_content` tables
|
|
- Remove utility functions from `app/utils/group_player_management.py`
|
|
- Clean up any remaining imports
|
|
|
|
## References
|
|
|
|
- **Archive date:** January 17, 2026
|
|
- **Related:** See `LEGACY_PLAYLIST_ROUTES.md` for similar cleanup
|
|
- **Similar action:** Playlist templates also archived as legacy
|
|
|
|
---
|
|
|
|
**Status:** ✅ Complete - Groups feature successfully archived and removed from active codebase
|
|
|