Files
digiserver-v2/old_code_documentation/GROUPS_ANALYSIS.md
Deployment System 49393d9a73 Final: Complete modernization - Option 1 deployment, unified persistence, migration scripts
- 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)
2026-01-17 10:30:42 +02:00

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