6.7 KiB
6.7 KiB
Episode Management in Project Settings
Overview
Episode management has been moved to the Project Settings page to provide a centralized location for coordinators to create and manage episodes before creating shots.
Requirements Added
New Requirement 3: Episode Management in Project Settings
User Story: As a coordinator, I want to create and manage episodes within the project settings, so that I can organize shots into logical production units before creating shots.
Acceptance Criteria
- THE VFX_System SHALL provide episode management functionality within the project settings page
- WHEN a coordinator accesses project settings, THE VFX_System SHALL display an episodes management section
- THE VFX_System SHALL allow coordinators to create new episodes with name, episode number, and status
- THE VFX_System SHALL allow coordinators to edit existing episode details including name, episode number, description, and status
- THE VFX_System SHALL allow coordinators to delete episodes that have no associated shots
- THE VFX_System SHALL prevent deletion of episodes that contain shots and display an appropriate error message
- THE VFX_System SHALL display a list of all episodes for the project with their current status and shot count
- THE VFX_System SHALL support the following episode statuses: planning, in_progress, on_hold, completed, cancelled
- THE VFX_System SHALL sort episodes by episode number in ascending order by default
Task Updates
Task 12.5: Implement project settings interface with episode management
Updated to include:
- Episode management section within project settings
- Episode list display with episode number, name, status, and shot count
- Episode creation form with all required fields
- Episode edit functionality with validation
- Episode deletion with protection for episodes containing shots
- Tabbed interface for different settings sections
Design Rationale
Why Move Episode Management to Settings?
- Logical Organization: Episodes are project-level configuration that should be set up before creating shots
- Coordinator Workflow: Coordinators typically set up project structure (including episodes) before production begins
- Centralized Management: All project configuration in one place makes it easier to manage
- Prevents Errors: Creating episodes first ensures shots are always associated with valid episodes
- Better UX: Separates setup/configuration from day-to-day production work
User Flow
-
Project Setup Phase:
- Coordinator creates project
- Coordinator goes to Project Settings
- Coordinator creates episodes (Episode 1, Episode 2, etc.)
- Episodes are now available for shot creation
-
Production Phase:
- Coordinator goes to Shots tab
- Selects episode from dropdown
- Creates shots for that episode
- Episode dropdown shows all episodes created in settings
Implementation Plan
Backend (Already Exists)
- ✅ Episode model with all required fields
- ✅ Episode CRUD API endpoints
- ✅ Episode-shot relationship
- ✅ Shot count calculation
Frontend (To Be Implemented)
-
Project Settings Page Enhancement
- Add tabbed interface for different settings sections
- Create "Episodes" tab
-
Episode Management Components
EpisodeManagementPanel.vue- Main episode management interfaceEpisodeTable.vue- List of episodes with actionsEpisodeFormDialog.vue- Create/edit episode formEpisodeDeleteConfirmDialog.vue- Deletion confirmation with shot count check
-
Episode Management Features
- Display episodes in sortable table
- Show episode number, name, status, shot count
- Create new episode button
- Edit episode inline or in dialog
- Delete episode with validation
- Status badge with color coding
-
Integration
- Update
ProjectSettingsView.vueto include episode management - Connect to existing episode service and store
- Add toast notifications for success/error feedback
- Update
UI Mockup
┌─────────────────────────────────────────────────────────┐
│ Project Settings │
├─────────────────────────────────────────────────────────┤
│ [General] [Members] [Episodes] [Technical Specs] │
├─────────────────────────────────────────────────────────┤
│ │
│ Episodes [+ New Episode] │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ # │ Name │ Status │ Shots │ Actions │ │
│ ├───┼───────────┼─────────────┼───────┼─────────────┤ │
│ │ 1 │ Episode 1 │ In Progress │ 12 │ [Edit][Del] │ │
│ │ 2 │ Episode 2 │ Planning │ 0 │ [Edit][Del] │ │
│ │ 3 │ Episode 3 │ Planning │ 0 │ [Edit][Del] │ │
│ └────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
Benefits
- Better Organization: Episodes are managed in a dedicated settings area
- Clearer Workflow: Setup phase (settings) vs production phase (shots tab)
- Prevents Errors: Can't create shots without episodes
- Easier Management: All episodes visible and editable in one place
- Consistent UX: Follows pattern of other project settings (members, technical specs)
Migration Notes
- Existing episode functionality remains unchanged
- Episode dropdown in Shots tab continues to work
- No database changes required
- Only frontend UI organization changes
Next Steps
- Implement episode management panel in project settings
- Add episode table with CRUD operations
- Create episode form dialog
- Add validation and error handling
- Test episode creation and deletion workflows
- Update user documentation