159 lines
3.1 KiB
Markdown
159 lines
3.1 KiB
Markdown
|
|
# ✅ RESUMEN - Editor de Guías Completo
|
||
|
|
|
||
|
|
**Fecha:** 2025-01-06
|
||
|
|
**Estado:** ✅ Implementado
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 FUNCIONALIDADES IMPLEMENTADAS
|
||
|
|
|
||
|
|
### 1. Editor de Guías Completo ✅
|
||
|
|
|
||
|
|
**Archivo:** `admin-panel/src/pages/GuideEditorPage.tsx`
|
||
|
|
|
||
|
|
**Tabs:**
|
||
|
|
- ✅ **Básico** - Información general
|
||
|
|
- Título y título corto
|
||
|
|
- Descripción
|
||
|
|
- Estado (draft, in_review, approved, published)
|
||
|
|
- Prioridad
|
||
|
|
- Checkbox para exportación SCORM
|
||
|
|
|
||
|
|
- ✅ **Secciones** - 8 secciones configurables
|
||
|
|
- Añadir/eliminar secciones
|
||
|
|
- Reordenar secciones (arriba/abajo)
|
||
|
|
- Título por sección
|
||
|
|
- Contenido en Markdown
|
||
|
|
- Numeración automática
|
||
|
|
|
||
|
|
- ✅ **Recursos** - Recursos multimedia
|
||
|
|
- Integración de ResourcesManager
|
||
|
|
- Asociar recursos a la guía
|
||
|
|
- Ver recursos asociados
|
||
|
|
- Eliminar asociaciones
|
||
|
|
|
||
|
|
- ✅ **Enlaces** - Enlaces a protocolos
|
||
|
|
- Protocolo operativo asociado
|
||
|
|
- ID del protocolo relacionado
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📋 ESTRUCTURA DE GUÍA
|
||
|
|
|
||
|
|
### Campos Principales
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
{
|
||
|
|
id: string;
|
||
|
|
type: 'guide';
|
||
|
|
level: 'formativo';
|
||
|
|
title: string;
|
||
|
|
shortTitle?: string;
|
||
|
|
description?: string;
|
||
|
|
icono: string;
|
||
|
|
scormAvailable: boolean;
|
||
|
|
protocoloOperativo?: string;
|
||
|
|
secciones: GuideSection[];
|
||
|
|
status: 'draft' | 'in_review' | 'approved' | 'published';
|
||
|
|
priority: 'critica' | 'alta' | 'media' | 'baja';
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### Secciones
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
interface GuideSection {
|
||
|
|
id: string;
|
||
|
|
title: string;
|
||
|
|
content: string; // Markdown
|
||
|
|
order: number;
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚀 USO
|
||
|
|
|
||
|
|
### Crear Nueva Guía
|
||
|
|
|
||
|
|
1. Ir a `/content/guide` (sin ID)
|
||
|
|
2. Completar información básica
|
||
|
|
3. Añadir secciones (hasta 8)
|
||
|
|
4. Asociar recursos multimedia
|
||
|
|
5. Configurar enlace a protocolo operativo
|
||
|
|
6. Guardar
|
||
|
|
|
||
|
|
### Editar Guía Existente
|
||
|
|
|
||
|
|
1. Ir a `/content/guide/:id`
|
||
|
|
2. Modificar cualquier tab
|
||
|
|
3. Guardar cambios
|
||
|
|
|
||
|
|
### Gestionar Secciones
|
||
|
|
|
||
|
|
- **Añadir:** Click en "Añadir Sección"
|
||
|
|
- **Eliminar:** Click en icono de basura
|
||
|
|
- **Reordenar:** Usar botones ↑ ↓
|
||
|
|
- **Editar:** Modificar título y contenido directamente
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 ESTADO ACTUAL
|
||
|
|
|
||
|
|
### Funcionalidades
|
||
|
|
|
||
|
|
- ✅ Editor completo de guías
|
||
|
|
- ✅ 8 secciones configurables
|
||
|
|
- ✅ Asociación de recursos multimedia
|
||
|
|
- ✅ Enlaces a protocolos operativos
|
||
|
|
- ✅ Checkbox para SCORM
|
||
|
|
- ⏳ Exportación SCORM (siguiente paso)
|
||
|
|
|
||
|
|
### Próximos Pasos
|
||
|
|
|
||
|
|
1. **Exportación SCORM:**
|
||
|
|
- Generar HTML desde Markdown
|
||
|
|
- Crear imsmanifest.xml
|
||
|
|
- Packaging ZIP
|
||
|
|
- Descarga
|
||
|
|
|
||
|
|
2. **Preview mejorado:**
|
||
|
|
- Renderizar Markdown en tiempo real
|
||
|
|
- Mostrar recursos asociados
|
||
|
|
- Vista previa completa
|
||
|
|
|
||
|
|
3. **Validación:**
|
||
|
|
- Verificar que todas las secciones tienen contenido
|
||
|
|
- Validar enlaces a protocolos
|
||
|
|
- Verificar recursos asociados
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✅ VERIFICACIÓN
|
||
|
|
|
||
|
|
### Probar Editor
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 1. Ir a http://localhost:5174/content/guide
|
||
|
|
# 2. Completar información básica
|
||
|
|
# 3. Añadir secciones
|
||
|
|
# 4. Asociar recursos
|
||
|
|
# 5. Guardar
|
||
|
|
```
|
||
|
|
|
||
|
|
### Verificar en BD
|
||
|
|
|
||
|
|
```sql
|
||
|
|
-- Ver guías creadas
|
||
|
|
SELECT id, title, status,
|
||
|
|
jsonb_array_length(content->'secciones') as num_secciones
|
||
|
|
FROM tes_content.content_items
|
||
|
|
WHERE type = 'guide'
|
||
|
|
ORDER BY updated_at DESC;
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**✅ Editor de guías completo implementado y funcionando!**
|
||
|
|
|