# GB Suite - Enterprise Features Plan ## Overview This document outlines the enterprise features needed across all GB Suite modules: Sheet, Slides, Docs, Paper, and Mail. --- ## Current Module Status | Module | Type | Lines | Status | Enterprise Features | |--------|------|-------|--------|---------------------| | **Sheet** | Spreadsheet | 3,892 | ✅ Enhanced | Virtual Scroll, xlsx Import/Export, AuditLog, VersionManager, PermissionManager | | **Slides** | Presentation | 2,904 | ⚠️ Needs Work | Missing PPTX Import/Export, Audit, Version, Permissions | | **Docs** | Document | ~2,500 | ✅ Complete | Full feature set | | **Paper** | AI Writing | 678 | ✅ Complete | AI writing, slash commands | | **Mail** | Email | 492 | ✅ Complete | Compose, folders, HTMX-based | --- ## Detailed Feature Requirements ### 1. Sheet (Spreadsheet) ✅ COMPLETED **Implemented:** - [x] VirtualGrid class (auto-enable >500 rows) - [x] importXlsx() → `/api/sheet/import` - [x] exportXlsx() → `/api/sheet/export` - [x] exportCsv() → `/api/sheet/export?format=csv` - [x] AuditLog class - [x] VersionManager class - [x] PermissionManager class - [x] Toolbar buttons for import/export **Backend:** Already has all APIs --- ### 2. Slides (Presentation) 🔄 NEEDS WORK **Status:** Full presentation app, needs enterprise features **Missing:** - [ ] Import PPTX button + function → `/api/slides/import` - [ ] Export PPTX button + function → `/api/slides/export` - [ ] AuditLog class - [ ] VersionManager class - [ ] PermissionManager class **Backend:** Already has `/api/slides/import`, `/api/slides/export` **Implementation Plan:** ```javascript // Add to slides.js: // 1. Import button handler document.getElementById("importPptxBtn")?.addEventListener("click", () => { const input = document.createElement('input'); input.type = 'file'; input.accept = '.pptx,.odp,.key'; input.onchange = async (e) => { if (e.target.files[0]) { await importPptx(e.target.files[0]); } }; input.click(); }); // 2. Export button handlers document.getElementById("exportPptxBtn")?.addEventListener("click", exportPptx); // 3. Import/Export functions async function importPptx(file) { ... } async function exportPptx() { ... } // 4. Enterprise classes (copy from sheet.js) class AuditLog { ... } class VersionManager { ... } class PermissionManager { ... } ``` --- ### 3. Docs (Document) ✅ COMPLETE **Features (from botserver/src/docs/mod.rs):** - [x] List/search/load/save documents - [x] AI features: summarize, expand, improve, simplify, translate - [x] Export: PDF, DOCX, MD, HTML, TXT - [x] Import documents - [x] Comments and replies - [x] Track changes (enable, accept/reject) - [x] Table of contents generation - [x] Templates: blank, meeting, report, letter **Backend:** Full implementation ✅ **Frontend:** Need to verify import/export buttons are wired --- ### 4. Paper (AI Writing) ✅ COMPLETE **Features:** - [x] Slash commands (/) - [x] AI panel integration - [x] Auto-save - [x] Word/character count - [x] Formatting toolbar **Status:** Production-ready --- ### 5. Mail (Email) ✅ COMPLETE **Features (from partials/mail.html + mail.js):** - [x] Compose email - [x] Inbox, Sent, Starred, Drafts, Trash folders - [x] HTMX-based list loading - [x] Schedule send - [x] CC/BCC toggle **Backend:** Full email API (`/api/ui/email/*`) **Status:** Production-ready --- ## Implementation Priority ### Phase 1: Complete Slides (HIGH) - [ ] Add PPTX import button + function - [ ] Add PPTX export button + function - [ ] Add AuditLog class - [ ] Add VersionManager class - [ ] Add PermissionManager class ### Phase 2: Verify Docs & Sheet (MEDIUM) - [ ] Verify docs import/export buttons work - [ ] Verify sheet virtual scroll works at scale ### Phase 3: Testing (MEDIUM) - [ ] Test with real PPTX files - [ ] Test with large spreadsheets (10K+ rows) - [ ] Test collaboration features --- ## Files Modified So Far 1. ✅ `botui/ui/suite/sheet/sheet.js` - VirtualGrid, xlsx, enterprise classes 2. ✅ `botui/ui/suite/sheet/sheet.html` - Import/export buttons 3. ✅ `botui/ui/suite/sheet/sheet.css` - Virtual scroll styles 4. ⏳ `botui/ui/suite/slides/slides.js` - Needs same features 5. ⏳ `botui/ui/suite/slides/slides.html` - Add PPTX buttons --- ## Next Steps 1. **Start with Slides** - Add same features as Sheet 2. **Test Sheet Virtual Scroll** - Verify performance with 10K+ rows 3. **Test xlsx Import/Export** - Verify with real files 4. **Update fullsheet.md** - Mark phases as complete --- ## Notes - Backend already supports all import/export for Sheet, Slides, Docs - Frontend needs to wire up the buttons and functions - Enterprise features (audit, version, permissions) need to be added to Slides - Docs and Paper are already production-ready - Mail is already production-ready