gb/gb-suite-plan.md
Rodrigo Rodriguez (Pragmatismo) f3bad05e76
Some checks failed
BotServer CI / build (push) Failing after 13s
Fix LXD socket handling in container mode
2026-03-15 18:19:22 -03:00

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
Mail Email 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

  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