docs/Security/PerUserDataAudit2025-12-23/README.md
Last Updated: 2025-12-23
Status: ✅ Current (All data persistence architecture up-to-date)
Scope: Swimlanes, Lists, Cards, Checklists, ChecklistItems - positions, widths, heights, colors, titles
This folder contains the complete, current documentation for Wekan's data persistence architecture as of December 23, 2025.
Key Change: Swimlane height and list width are now per-board (stored in documents, shared with all users), not per-user.
Purpose: Quick status overview of what's been done and what's pending
Read Time: 5 minutes
Contains:
Best For: Getting current status quickly
Purpose: Complete architecture specification
Read Time: 15 minutes
Contains:
Best For: Understanding the complete system
Purpose: Step-by-step implementation instructions
Read Time: 20 minutes
Contains:
Best For: Implementing the remaining phases
Purpose: Verification that schema changes are correct
Read Time: 10 minutes
Contains:
Best For: Verifying all changes are correct
Purpose: Quick reference for key information
Read Time: 3 minutes
Contains:
Best For: Quick lookups and troubleshooting
BEFORE (Mixed/Wrong):
NOW (Correct):
Swimlane:
- title, color, height, sort, archived
List:
- title, color, width, sort, archived, wipLimit, starred
Card:
- title, color, description, swimlaneId, listId, sort, archived
Checklist:
- title, sort, hideCheckedItems, hideAllItems
ChecklistItem:
- title, sort, isFinished
User Preferences:
- collapsedSwimlanes[boardId][swimlaneId] (true/false)
- collapsedLists[boardId][listId] (true/false)
- hideMiniCardLabelText[boardId] (true/false)
Schema Addition
swimlanes.height field (default: -1, range: -1 or 50-2000)lists.width field (default: 272, range: 100-1000)Documentation
Verification
User Model Refactoring (Phase 2)
Data Migration (Phase 3)
UI Integration (Phase 4)
| Data | Current | New |
|---|---|---|
| Swimlane height | ❌ Per-user (wrong) | ✅ Per-board (correct) |
| List width | ❌ Per-user (wrong) | ✅ Per-board (correct) |
| Card position | ✅ Per-board | ✅ Per-board |
| Checklist position | ✅ Per-board | ✅ Per-board |
| ChecklistItem position | ✅ Per-board | ✅ Per-board |
| Data | Current | New |
|---|---|---|
| Collapse swimlane | ✅ Per-user | ✅ Per-user |
| Collapse list | ✅ Per-user | ✅ Per-user |
| Hide label text | ✅ Per-user | ✅ Per-user |
See DATA_PERSISTENCE_ARCHITECTURE.md Section: Data Classification Matrix
See DATA_PERSISTENCE_ARCHITECTURE.md Section: Data Classification Matrix
See IMPLEMENTATION_GUIDE.md Section 4 for migration script template
See CURRENT_STATUS.md Section: Integration Path → Phase 2
No - see IMPLEMENTATION_GUIDE.md Section 7: Rollback Plan
Yes - see DATA_PERSISTENCE_ARCHITECTURE.md Section: Validation Rules
| Document | Last Updated | Next Review |
|---|---|---|
| CURRENT_STATUS.md | 2025-12-23 | After Phase 2 |
| DATA_PERSISTENCE_ARCHITECTURE.md | 2025-12-23 | If architecture changes |
| IMPLEMENTATION_GUIDE.md | 2025-12-23 | After Phase 2 complete |
| SCHEMA_CHANGES_VERIFICATION.md | 2025-12-23 | After Phase 2 complete |
| QUICK_REFERENCE.md | 2025-12-23 | After Phase 3 complete |
✅ Clear Architecture: Swimlane height and list width are now definitively per-board
✅ Schema Validation: Both fields have custom validation functions
✅ Documentation: 5 comprehensive documents covering all aspects
✅ Backward Compatible: Old data preserved, transition safe
✅ Implementation Ready: Code examples and migration scripts provided
✅ Future-Proof: Clear path for remaining phases
All files are in: /home/wekan/repos/wekan/docs/Security/PerUserDataAudit2025-12-23/
PerUserDataAudit2025-12-23/
├── CURRENT_STATUS.md ← Start here
├── DATA_PERSISTENCE_ARCHITECTURE.md ← Complete spec
├── IMPLEMENTATION_GUIDE.md ← How to implement
├── SCHEMA_CHANGES_VERIFICATION.md ← Verification
├── QUICK_REFERENCE.md ← Quick lookup
├── README.md ← This file
├── QUICK_REFERENCE.md ← Previous doc
├── ARCHITECTURE_IMPROVEMENTS.md ← From Phase 1
├── PERSISTENCE_AUDIT.md ← Initial audit
├── IMPLEMENTATION_SUMMARY.md ← Phase 1 summary
├── FIXES_CHECKLIST.md ← Bug fixes
└── Plan.txt ← Original plan
Status: ✅ COMPLETE AND CURRENT
Last Review: 2025-12-23
Next Phase: User Model Refactoring (Phase 2)