[P2606] WebServer NGINX: plan actualizado, ficha nodo, HTTPS operativo
- P2606: Plan v1.1 EN EJECUCIÓN. Fases 1-3 completadas. - Ficha nodo srvv-nginx-rm.md. P2606 en adn/07_proyectos.md. - Incluye cambios acumulados de sesiones anteriores.
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# P2604.06.05 - Plan: Herencia Automática de Modo de Jornada
|
||||
|
||||
## Objetivo
|
||||
Eliminar la fricción de especificar manualmente el modo (`[P]`, `[R]`, `[S]`) en cada evento. El modo se define una sola vez al iniciar la jornada y se hereda automáticamente.
|
||||
|
||||
## Problema Identificado
|
||||
- Fricción actual: Registrar modo en cada evento es repetitivo y propenso a errores
|
||||
- 4 eventos corregidos hoy (1186, 1210, 1211, 1213) por modo incorrecto
|
||||
- El modo debería ser contexto de jornada, no dato por evento
|
||||
|
||||
## Diseño Propuesto
|
||||
|
||||
### Concepto: Jornada Define el Modo
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ JORNADA PRESENCIAL (8:00-13:00) │
|
||||
│ ├── Evento 1: 08:00-09:00 → [P] automático │
|
||||
│ ├── Evento 2: 09:00-10:00 → [P] automático │
|
||||
│ ├── Evento 3: 11:00-12:00 → [R] override manual │
|
||||
│ └── Evento 4: 13:00-18:00 → [R] automático (fuera horario) │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ JORNADA REMOTA │
|
||||
│ └── Todos los eventos → [R] automático │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### Reglas de Herencia
|
||||
1. **Modo de jornada**: Definido al iniciar (`jornada --iniciar --modo presencial`)
|
||||
2. **Heredar por defecto**: Todo evento nuevo usa el modo de la jornada
|
||||
3. **Override manual**: Si se especifica `--modo` explícitamente, se usa ese
|
||||
4. **Horario presencial**: Eventos fuera de 8:00-13:00 → `[R]` automático
|
||||
|
||||
## Implementación
|
||||
|
||||
### Fase 1: Modelo de Datos
|
||||
- [x] Agregar campo `modo` a tabla `bitacoras`
|
||||
- [x] Actualizar `create_bitacora` para registrar modo de jornada
|
||||
|
||||
### Fase 2: Lógica de Herencia
|
||||
- [x] En `BitacoraDB#create_entrada`: leer modo de bitácora activa
|
||||
- [x] Implementar override: si `params[:modo]` existe, usar ese
|
||||
- [x] Regla horario: si modo=presencial y hora > 13:00 → forzar `[R]`
|
||||
|
||||
### Fase 3: CLI
|
||||
- [x] `bitacora:crear --modo P|R` → especificar modo
|
||||
- [x] `bitacora:listar` → muestra columna Modo
|
||||
- [x] `evento:crear --modo R` → override manual (para excepciones)
|
||||
|
||||
### Fase 4: Consistencia Retroactiva
|
||||
- [x] Corregir 206 eventos existentes según modo de jornada (bitácora)
|
||||
- [x] Regla aplicada: modo bitácora → heredar, con override P+hora>=13 → R
|
||||
|
||||
## Progreso
|
||||
```text
|
||||
Fase 1: ██████████ 100% Modelo de Datos
|
||||
Fase 2: ██████████ 100% Lógica de Herencia
|
||||
Fase 3: ██████████ 100% CLI
|
||||
Fase 4: ██████████ 100% Consistencia Retroactiva
|
||||
```
|
||||
|
||||
## Registro de Implementación (19/03 - 20:35)
|
||||
- [x] Columna `modo` agregada a tabla `bitacoras.bitacoras`
|
||||
- [x] `create_bitacora` acepta parámetro `--modo`
|
||||
- [x] `list_bitacoras` muestra columna Modo
|
||||
- [x] `create_entrada` hereda modo desde bitácora
|
||||
- [x] Regla implementada: jornada presencial + hora > 13:00 → [R] automático
|
||||
- [x] CLI actualizado: `--modo` en `bitacora:crear`
|
||||
- [x] Test 1: Herencia automática (1218)
|
||||
- [x] Test 2: Herencia automática (1219)
|
||||
- [x] Implementada herencia automática (1220)
|
||||
- [x] Consistencia retroactiva: 206 entradas corregidas según modo de bitácora (1221)
|
||||
|
||||
## Beneficios Esperados
|
||||
- **Menos fricción**: 0 errores de modo por descuido
|
||||
- **Trazabilidad**: Un lugar donde se define el contexto de trabajo
|
||||
- **Menos es más**: Elimina dato redundante de cada evento
|
||||
Reference in New Issue
Block a user