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

3.0 KiB

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