Feature Flag Strategy
Why Feature Flag?
Component Structure
content/webapp/
├── contexts/
│ ├── ItemViewerContext/ # LEGACY - unchanged
│ │ └── index.tsx
│ └── ItemViewerContextV2/ # NEW - refactored version
│ ├── index.tsx
│ ├── ItemViewerContextV2.test.tsx
│ └── test-utils.ts
│
├── views/pages/works/work/IIIFViewer/
├── index.tsx # Wrapper - loads old OR new based on flag
├── IIIFViewer.legacy.tsx # Uses ItemViewerContext (old)
├── IIIFViewer.refactored.tsx # Uses ItemViewerContextV2 (new)
├── ViewerTopBar.legacy.tsx
├── ViewerTopBar.refactored.tsx
├── ZoomedImage.legacy.tsx
├── ZoomedImage.refactored.tsx
└── ...Usage Pattern
Flag Configuration
Rollout Plan
Phase 1: Development
Phase 2: Internal Testing
Phase 3: Default to ON
Phase 4: Cleanup
Last updated