# Import MindManager (.mmap) Files to Drawnix Tính năng này cho phép bạn import file MindManager (.mmap) vào Drawnix và chuyển đổi chúng thành các phần tử vẽ (geometries và lines). ## Cách sử dụng 1. Nhấp vào biểu tượng **Menu** (☰) ở góc trên bên trái 2. Chọn **Open** > **Import MindManager (.mmap)** 3. Chọn file .mmap từ máy tính của bạn 4. File sẽ được giải nén (unzip), parse XML và chuyển đổi thành mind map trên canvas ## Lưu ý kỹ thuật File .mmap thực chất là một **ZIP archive** chứa nhiều file bên trong: - `Document.xml` - Chứa cấu trúc mind map chính (được sử dụng) - `Preview.png` - Hình ảnh preview - Các binary files khác cho attachments, icons, etc. Ứng dụng sẽ: 1. Unzip file .mmap bằng JSZip library 2. Extract file `Document.xml` 3. Parse XML để lấy topics và cấu trúc 4. Chuyển đổi sang Drawnix elements ## Tính năng được hỗ trợ ### Được chuyển đổi: - ✅ Text của topics - ✅ Cấu trúc phân cấp (parent-child relationships) - ✅ Màu fill (background) - ✅ Màu stroke (border) - ✅ Font styling (bold, size, font name) - ✅ Tạo kết nối tự động giữa parent và child topics ### Chưa được chuyển đổi: - ❌ Icons/Markers - ❌ Attachments (files đính kèm) - ❌ Notes (ghi chú chi tiết) - ❌ Task information (priority, completion, dates) - ❌ Relationships (liên kết ngang giữa topics) - ❌ Boundaries - ❌ Images nhúng trong topics ## Cấu trúc file được tạo Mỗi topic trong MindManager sẽ được chuyển thành: - 1 rectangle (hình chữ nhật) với text - Các line (đường kẻ) nối từ parent đến children ## Ví dụ File XML từ MindManager (.mmap): ```xml ``` Sẽ được chuyển thành: - 1 rectangle "Kế hoạch dự án" (ở vị trí trung tâm) - 2 rectangles "Giai đoạn 1" và "Giai đoạn 2" (ở bên phải) - 2 lines kết nối từ "Kế hoạch dự án" đến các giai đoạn ## Xử lý lỗi Nếu file không thể import, bạn sẽ nhận được thông báo lỗi. Các nguyên nhân có thể: - File không phải là XML hợp lệ - File không phải là định dạng MindManager - File bị hỏng hoặc không đọc được ## Files liên quan - `packages/drawnix/src/data/mmap.ts` - Parser, ZIP extractor và converter - `packages/drawnix/src/components/toolbar/app-toolbar/app-menu-items.tsx` - Menu item - `packages/drawnix/src/constants.ts` - MIME type definition ## Dependencies - **jszip** - Để giải nén file .mmap (là ZIP archive) ## Phát triển trong tương lai Có thể mở rộng để hỗ trợ: - Export từ Drawnix sang MindManager - Giữ thêm metadata (notes, icons, etc.) - Sử dụng PlaitMind elements thay vì geometry elements để có trải nghiệm mind map tốt hơn - Hỗ trợ các định dạng mind map khác (XMind, FreeMind, etc.)