UNPKG

adpa-enterprise-framework-automation

Version:

Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe

167 lines (136 loc) 5.56 kB
# Template System Migration Plan ## Executive Summary Migrate from static hardcoded templates to a dynamic database-backed template management system while preserving existing document generation standards and improving extensibility. ## Current State Analysis ### Static Template System (Current) - **Location**: `src/modules/documentGenerator/generationTasks.ts` - **Count**: 105+ PMBOK-compliant templates - **Structure**: Hardcoded TypeScript arrays - **Strengths**: Proven, stable, PMBOK-compliant - **Weaknesses**: Inflexible, maintenance-heavy ### API Template System (Emerging) - **Location**: `src/api/routes/templates.ts` - **Status**: Basic CRUD operations implemented - **Storage**: Currently mocked data - **Potential**: Full dynamic template management ## Migration Strategy ### Phase 1: Database Schema Design ✅ ```sql -- Templates table CREATE TABLE templates ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name VARCHAR(255) NOT NULL, description TEXT, category VARCHAR(100) NOT NULL, template_type VARCHAR(50) DEFAULT 'pmbok', ai_instructions TEXT, prompt_template TEXT, generation_function VARCHAR(255), metadata JSONB, version INTEGER DEFAULT 1, is_active BOOLEAN DEFAULT true, is_system BOOLEAN DEFAULT false, created_by VARCHAR(255), created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW() ); -- Template versions for change tracking CREATE TABLE template_versions ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), template_id UUID REFERENCES templates(id), version INTEGER NOT NULL, changes JSONB, created_by VARCHAR(255), created_at TIMESTAMP DEFAULT NOW() ); -- Categories for organization CREATE TABLE template_categories ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name VARCHAR(100) UNIQUE NOT NULL, description TEXT, parent_category_id UUID REFERENCES template_categories(id), sort_order INTEGER DEFAULT 0 ); ``` ### Phase 2: Seed Database with Existing Templates ⭐ 1. Create migration script to convert `GENERATION_TASKS` to database records 2. Mark all existing templates as `is_system = true` 3. Preserve all existing functionality and standards 4. Maintain backward compatibility ### Phase 3: Enhanced API Layer 🚀 1. Implement full CRUD operations with validation 2. Add search, filtering, and categorization 3. Version management and rollback capabilities 4. AI instruction storage and retrieval ### Phase 4: CLI Integration 🔧 1. Update CLI to use database-backed templates 2. Maintain existing command compatibility 3. Add new commands for template management 4. Provide migration tools ### Phase 5: Advanced Features 🌟 1. Template sharing and marketplace 2. AI-powered template suggestions 3. Performance analytics 4. Multi-tenant support ## Implementation Details ### Database Integration ```typescript // New TemplateRepository class export class TemplateRepository { async getSystemTemplates(): Promise<Template[]> async getUserTemplates(userId: string): Promise<Template[]> async createTemplate(template: CreateTemplateRequest): Promise<Template> async updateTemplate(id: string, updates: UpdateTemplateRequest): Promise<Template> async deleteTemplate(id: string): Promise<void> async searchTemplates(query: TemplateSearchQuery): Promise<Template[]> } ``` ### Backward Compatibility ```typescript // Legacy adapter to maintain CLI compatibility export class LegacyTemplateAdapter { async convertStaticToDatabase(): Promise<void> async getGenerationTasks(): Promise<GenerationTask[]> async maintainCliCompatibility(): Promise<void> } ``` ## Benefits Realization ### Immediate Benefits - ✅ Preserve all existing 105+ PMBOK templates - ✅ Maintain current CLI functionality - ✅ Add dynamic template creation via API ### Medium-term Benefits - 🔄 Template versioning and change management - 🔍 Advanced search and categorization - 👥 Multi-user template sharing - 📊 Usage analytics and optimization ### Long-term Benefits - 🤖 AI-powered template generation - 🏢 Enterprise multi-tenant deployment - 🌐 Template marketplace ecosystem - 📈 Continuous improvement through usage data ## Risk Mitigation ### Data Integrity - All existing templates preserved as system templates - Comprehensive migration testing - Rollback procedures documented ### Performance - Database indexing strategy - Caching layer for frequently used templates - Lazy loading for large template sets ### Compatibility - Legacy API endpoints maintained - CLI command structure preserved - Gradual migration path ## Success Metrics 1. **Migration Success**: 100% of existing templates migrated successfully 2. **Performance**: Template retrieval < 100ms 3. **User Adoption**: 50% of new templates created via API within 3 months 4. **Quality**: PMBOK compliance maintained at 95%+ ## Timeline - **Week 1-2**: Database schema and migration scripts - **Week 3-4**: Enhanced API implementation - **Week 5-6**: CLI integration and testing - **Week 7-8**: Documentation and deployment ## Conclusion This migration preserves your proven PMBOK standards while unlocking powerful new capabilities for template management, AI integration, and user customization. The database-backed approach is definitely more efficient and positions the system for enterprise-scale growth.