Some checks failed
BotServer CI / build (push) Failing after 13s
4.7 KiB
4.7 KiB
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 |
| 492 | ✅ Complete | Compose, folders, HTMX-based |
Detailed Feature Requirements
1. Sheet (Spreadsheet) ✅ COMPLETED
Implemented:
- VirtualGrid class (auto-enable >500 rows)
- importXlsx() →
/api/sheet/import - exportXlsx() →
/api/sheet/export - exportCsv() →
/api/sheet/export?format=csv - AuditLog class
- VersionManager class
- PermissionManager class
- 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:
// 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):
- List/search/load/save documents
- AI features: summarize, expand, improve, simplify, translate
- Export: PDF, DOCX, MD, HTML, TXT
- Import documents
- Comments and replies
- Track changes (enable, accept/reject)
- Table of contents generation
- Templates: blank, meeting, report, letter
Backend: Full implementation ✅
Frontend: Need to verify import/export buttons are wired
4. Paper (AI Writing) ✅ COMPLETE
Features:
- Slash commands (/)
- AI panel integration
- Auto-save
- Word/character count
- Formatting toolbar
Status: Production-ready
5. Mail (Email) ✅ COMPLETE
Features (from partials/mail.html + mail.js):
- Compose email
- Inbox, Sent, Starred, Drafts, Trash folders
- HTMX-based list loading
- Schedule send
- 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
- ✅
botui/ui/suite/sheet/sheet.js- VirtualGrid, xlsx, enterprise classes - ✅
botui/ui/suite/sheet/sheet.html- Import/export buttons - ✅
botui/ui/suite/sheet/sheet.css- Virtual scroll styles - ⏳
botui/ui/suite/slides/slides.js- Needs same features - ⏳
botui/ui/suite/slides/slides.html- Add PPTX buttons
Next Steps
- Start with Slides - Add same features as Sheet
- Test Sheet Virtual Scroll - Verify performance with 10K+ rows
- Test xlsx Import/Export - Verify with real files
- 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