|
|
|
|
@ -1,34 +1,65 @@
|
|
|
|
|
# OTB Cloud |
|
|
|
|
|
|
|
|
|
## v0.2.3 — Recovery + Zip Workflow Phase |
|
|
|
|
## v0.2.5 — Gallery View + Image Preview |
|
|
|
|
**Build Date:** 2026-04-13 |
|
|
|
|
**Backend Port:** 5000 |
|
|
|
|
**Install Location:** /opt/otb_cloud |
|
|
|
|
|
|
|
|
|
### Added |
|
|
|
|
- Gallery view toggle for device file browser |
|
|
|
|
- Inline image serving route for browser previews |
|
|
|
|
- Image thumbnail grid (gallery layout) |
|
|
|
|
- Click-to-preview full image modal |
|
|
|
|
- Gallery cards with: |
|
|
|
|
- checkbox selection |
|
|
|
|
- rename input |
|
|
|
|
- download button |
|
|
|
|
- preview button |
|
|
|
|
|
|
|
|
|
### Improved |
|
|
|
|
- File browsing now supports both: |
|
|
|
|
- list view (file management) |
|
|
|
|
- gallery view (visual browsing) |
|
|
|
|
- Display filename system fully integrated across: |
|
|
|
|
- browser UI |
|
|
|
|
- downloads |
|
|
|
|
- zip staging |
|
|
|
|
- Bulk actions (delete, download, zip) work in both views |
|
|
|
|
|
|
|
|
|
### Notes |
|
|
|
|
- Original uploads remain immutable |
|
|
|
|
- Thumbnails currently use original images (no derived thumbnails yet) |
|
|
|
|
- System ready for future media processing / thumbnail pipeline |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
## v0.2.4 — Display Filename + Rename |
|
|
|
|
**Build Date:** 2026-04-13 |
|
|
|
|
|
|
|
|
|
### Added |
|
|
|
|
- `display_filename` field for customer-defined names |
|
|
|
|
- Inline rename feature in file browser |
|
|
|
|
- Rename affects display only (not physical file) |
|
|
|
|
|
|
|
|
|
### Improved |
|
|
|
|
- Downloads use display filename when present |
|
|
|
|
- Zip workspace uses display filename when present |
|
|
|
|
- Recovery clears display filename to maintain consistency |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
## v0.2.3 — Recovery + Zip Workflow Phase |
|
|
|
|
**Build Date:** 2026-04-13 |
|
|
|
|
|
|
|
|
|
### Added |
|
|
|
|
- Deleted file recovery system |
|
|
|
|
- Files can be restored from `deleted/` → `originals/` |
|
|
|
|
- Automatic rename on recovery: |
|
|
|
|
- `file.png` → `file-recovered.png` |
|
|
|
|
- Recovery updates DB state correctly |
|
|
|
|
- Recovery actions logged in audit system |
|
|
|
|
- Files restored from `deleted/` → `originals/` |
|
|
|
|
- Auto rename on recovery (`-recovered`) |
|
|
|
|
- Recovery audit logging |
|
|
|
|
|
|
|
|
|
### Improved |
|
|
|
|
- Delete → Recover lifecycle now fully reversible (within retention window) |
|
|
|
|
- Storage integrity maintained (originals never overwritten) |
|
|
|
|
- Audit logging extended to include recovery events |
|
|
|
|
|
|
|
|
|
### Current Status |
|
|
|
|
- Upload system complete (multi-file) |
|
|
|
|
- Device-based file browser operational (DB-backed) |
|
|
|
|
- Safe delete system (soft + hard delete) |
|
|
|
|
- 24-hour retention policy active |
|
|
|
|
- Recovery system working end-to-end |
|
|
|
|
|
|
|
|
|
### In Progress |
|
|
|
|
- Zip workflow UX (backend complete, UI remaining) |
|
|
|
|
- staging → zip → export flow functional |
|
|
|
|
- UI controls pending |
|
|
|
|
- Fully reversible delete lifecycle (within retention window) |
|
|
|
|
- Storage integrity maintained |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
@ -36,10 +67,10 @@
|
|
|
|
|
**Build Date:** 2026-04-12 |
|
|
|
|
|
|
|
|
|
### Added |
|
|
|
|
- Soft delete system (moves files to `deleted/`) |
|
|
|
|
- Hard delete option (immediate removal) |
|
|
|
|
- 24-hour retention policy (documented) |
|
|
|
|
- Audit logging for delete actions |
|
|
|
|
- Soft delete (moves to `deleted/`) |
|
|
|
|
- Hard delete option |
|
|
|
|
- 24-hour retention policy |
|
|
|
|
- Audit logging for deletes |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
@ -48,8 +79,8 @@
|
|
|
|
|
|
|
|
|
|
### Added |
|
|
|
|
- DB-backed file listing per device |
|
|
|
|
- File browser UI for each device |
|
|
|
|
- File count and summaries |
|
|
|
|
- File browser UI |
|
|
|
|
- File count + metadata display |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
@ -58,18 +89,18 @@
|
|
|
|
|
|
|
|
|
|
### Added |
|
|
|
|
- Device-based storage structure |
|
|
|
|
- Multi-file upload system |
|
|
|
|
- SHA-256 hashing for uploads |
|
|
|
|
- File metadata stored in database |
|
|
|
|
- Multi-file upload |
|
|
|
|
- SHA-256 hashing |
|
|
|
|
- File metadata in database |
|
|
|
|
- Upload audit logging |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
## Notes |
|
|
|
|
- OTB Cloud is a multi-tenant storage system |
|
|
|
|
- Raw uploads are immutable and stored in `originals/` |
|
|
|
|
- All file operations are logged |
|
|
|
|
- System designed for safe recovery and audit tracking |
|
|
|
|
- Originals are immutable and stored in `originals/` |
|
|
|
|
- File operations are audited |
|
|
|
|
- Designed for safe recovery and structured storage workflows |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
|