mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-12 07:12:54 +01:00
109 lines
3.6 KiB
Markdown
109 lines
3.6 KiB
Markdown
# TASK-002 Changelog: Legacy Project Migration
|
|
|
|
---
|
|
|
|
## [2025-07-12] - Backup System Implementation
|
|
|
|
### Summary
|
|
Analyzed the v1.1.0 template-project and discovered that projects are already at version "4" (the current supported version). Created the project backup utility for safe migrations.
|
|
|
|
### Key Discovery
|
|
**Legacy projects from Noodl v1.1.0 are already at project format version "4"**, which means:
|
|
- No version upgrade is needed for the basic project structure
|
|
- The existing `ProjectPatches/` system handles node-level migrations
|
|
- The `Upgraders` in `projectmodel.ts` already handle format versions 0→1→2→3→4
|
|
|
|
### Files Created
|
|
- `packages/noodl-editor/src/editor/src/utils/projectBackup.ts` - Backup utility with:
|
|
- `createProjectBackup()` - Creates timestamped backup before migration
|
|
- `listProjectBackups()` - Lists all backups for a project
|
|
- `restoreProjectBackup()` - Restores from a backup
|
|
- `getLatestBackup()` - Gets most recent backup
|
|
- `validateBackup()` - Validates backup JSON integrity
|
|
- Automatic cleanup of old backups (default: keeps 5)
|
|
|
|
### Project Format Analysis
|
|
```
|
|
project.json structure:
|
|
├── name: string # Project name
|
|
├── version: "4" # Already at current version!
|
|
├── components: [] # Array of component definitions
|
|
├── settings: {} # Project settings
|
|
├── rootNodeId: string # Root node reference
|
|
├── metadata: {} # Styles, colors, cloud services
|
|
└── variants: [] # UI component variants
|
|
```
|
|
|
|
### Next Steps
|
|
- Integrate backup into project loading flow
|
|
- Add backup trigger before any project upgrades
|
|
- Optionally create CLI tool for batch validation
|
|
|
|
---
|
|
|
|
## [2025-01-XX] - Task Created
|
|
|
|
### Summary
|
|
Task documentation created for legacy project migration and backward compatibility system.
|
|
|
|
### Files Created
|
|
- `dev-docs/tasks/phase-1/TASK-002-legacy-project-migration/README.md` - Full task specification
|
|
- `dev-docs/tasks/phase-1/TASK-002-legacy-project-migration/CHECKLIST.md` - Implementation checklist
|
|
- `dev-docs/tasks/phase-1/TASK-002-legacy-project-migration/CHANGELOG.md` - This file
|
|
- `dev-docs/tasks/phase-1/TASK-002-legacy-project-migration/NOTES.md` - Working notes
|
|
|
|
### Notes
|
|
- This task depends on TASK-001 (Dependency Updates) being complete or in progress
|
|
- Critical for ensuring existing Noodl users can migrate their production projects
|
|
- Scope may be reduced since projects are already at version "4"
|
|
|
|
---
|
|
|
|
## Template for Future Entries
|
|
|
|
```markdown
|
|
## [YYYY-MM-DD] - [Phase/Step Name]
|
|
|
|
### Summary
|
|
[Brief description of what was accomplished]
|
|
|
|
### Files Created
|
|
- `path/to/file.ts` - [Purpose]
|
|
|
|
### Files Modified
|
|
- `path/to/file.ts` - [What changed and why]
|
|
|
|
### Files Deleted
|
|
- `path/to/file.ts` - [Why removed]
|
|
|
|
### Breaking Changes
|
|
- [Any breaking changes and migration path]
|
|
|
|
### Testing Notes
|
|
- [What was tested]
|
|
- [Any edge cases discovered]
|
|
|
|
### Known Issues
|
|
- [Any remaining issues or follow-up needed]
|
|
|
|
### Next Steps
|
|
- [What needs to be done next]
|
|
```
|
|
|
|
---
|
|
|
|
## Progress Summary
|
|
|
|
| Phase | Status | Date Started | Date Completed |
|
|
|-------|--------|--------------|----------------|
|
|
| Phase 1: Research & Discovery | Not Started | - | - |
|
|
| Phase 2: Version Detection | Not Started | - | - |
|
|
| Phase 3: Migration Engine | Not Started | - | - |
|
|
| Phase 4: Individual Migrations | Not Started | - | - |
|
|
| Phase 5: Backup System | Not Started | - | - |
|
|
| Phase 6: CLI Tool | Not Started | - | - |
|
|
| Phase 7: Editor Integration | Not Started | - | - |
|
|
| Phase 8: Validation & Testing | Not Started | - | - |
|
|
| Phase 9: Documentation | Not Started | - | - |
|
|
| Phase 10: Completion | Not Started | - | - |
|