Documentar flujo recurrente de carta semanal nueva
@@ -0,0 +1,57 @@
|
||||
# Ciclo por cada carta semanal nueva
|
||||
|
||||
Flujo recurrente que se dispara cuando se publica una **carta nueva** en Joomla (`feadulta.com`, `ew4r_content` catid 27/40/41, `state=1`).
|
||||
|
||||
Repo: `/home/rafa/joomla-migration/`. WP local: contenedores Docker `wordpress-web` / `wordpress-mysql`.
|
||||
|
||||
## Pasos
|
||||
|
||||
### 1. Migrar el delta a WP local (carta + sus artículos K2)
|
||||
- `python3 scripts/import_new_k2_items.py` — artículos (`LAST_K2_ID` y `wp_id` dinámicos, sin offset).
|
||||
- `python3 scripts/import_new_cartas.py` — carta + `_carta_id` por fecha, detección dinámica de `wp_id`.
|
||||
- Scripts corregidos 2026-06-17: eliminado el offset fijo +26040, `LAST_*` dinámicos, `LAST_INSERT_ID()`→`MAX(ID)`, pass SSH actualizada, `mysql --skip-ssl`. `fix_imported_k2_metas.py` es redundante (no usar).
|
||||
|
||||
### 2. Revisión en local
|
||||
Revisar antes de tocar producción.
|
||||
|
||||
### 3. Desplegar el delta ES a prod
|
||||
Con el OK de la revisión.
|
||||
|
||||
### 4. Traducción (EN/FR/IT/PT) del contenido nuevo
|
||||
|
||||
**Para carta nueva: usar Haiku directo (rápido + calidad), NO Gemma.**
|
||||
|
||||
```bash
|
||||
FEA_ENGINE=haiku python3 scripts/translate_post.py --carta <ID> --langs en,fr,it,pt --status draft
|
||||
```
|
||||
|
||||
- El flag `FEA_ENGINE=haiku` (añadido a `translate_post.py` el 2026-06-17) enruta a `translate_haiku.translate()`, envía el artículo entero sin trocear (contexto 200k) y registra el modelo `claude-haiku-4-5`.
|
||||
- API key en `/home/rafa/portfolio-tracker/.env`.
|
||||
- Idempotente (state en `/tmp/feadulta-translate-state.json`), salta posts no-ES y traducciones ya existentes.
|
||||
- Coste ~0.6–0.8 € por carta (~60 traducciones).
|
||||
- Artículos que ya vienen en varios idiomas desde Joomla se importan como posts sueltos **sin** enlace Polylang → hay que enlazarlos como grupo de traducción (`pll_save_post_translations`).
|
||||
|
||||
#### 4b. OBLIGATORIO tras traducir: arreglar enlaces internos de la carta
|
||||
El cuerpo de la carta trae enlaces Joomla legacy **relativos** `es/buscadoravanzado/item/<k2_id>-<slug>.html` que **no funcionan** (al verlos en `/fea/en/...` el navegador los resuelve como relativos y redirige a `/fea/en`). Están rotos también en la ES.
|
||||
|
||||
`fix_carta_links.php` **NO** sirve para esto (ignora `.html` y solo toca posts con `localhost:8081`). Usar:
|
||||
|
||||
```bash
|
||||
# dry-run
|
||||
docker exec -e CARTA=<id> wordpress-web php /tmp/fix_carta_joomla_links.php
|
||||
# aplicar (backup en /tmp/fix_carta_links_bak/)
|
||||
docker exec -e APPLY=1 -e CARTA=<id> wordpress-web php /tmp/fix_carta_joomla_links.php
|
||||
```
|
||||
|
||||
`scripts/fix_carta_joomla_links.php` (creado 2026-06-17) mapea cada `item/<id>` por la meta `_fgj2wp_old_k2_id` → permalink WP del artículo en el idioma de **cada** carta (la ES + sus 4 traducciones, vía `pll_get_post_translations`). Quedan sin mapear los enlaces a contenido no migrado (secciones `tablon-de-anuncios`/`noticias-de-alcance`, ítems fuera del delta, multimedia) — se dejan intactos.
|
||||
|
||||
### 5. TTS (audio voz Nico, MiniMax HD)
|
||||
**Con prioridad sobre el contenido antiguo del gap:** locutar primero la carta nueva y sus artículos antes de seguir vaciando la cola histórica. Requiere ajustar el orden de cola en `scripts/tts_produce.py` (hoy tiene el gap hardcodeado). Enlazar `fea_audio_url` / `fea_audio_done` y subir el mp3 a prod.
|
||||
|
||||
## Notas operativas
|
||||
- **TTS**: el plan MiniMax rinde ~6 audios por ventana de cuota (`rc=2056` al agotarse, se resetea en horas); `rc=1039` = rate TPM por minuto (mitigado con pausa de 35s entre trozos de cartas largas, `FEA_CHUNK_PAUSE`). Para acelerar de verdad: comprar créditos MiniMax.
|
||||
- Artículos de evangelio nuevos: les falta `_cita_evangelio` (shortcodes de evangelio) — asignar si procede.
|
||||
- Los IDs ES coinciden local↔prod (clave para el sync de traducciones).
|
||||
|
||||
## Historial
|
||||
- **2026-06-17** — Carta 46956 «Entre todos»: delta migrado, carta publicada (issue #87, era timezone `future`), cluster multiidioma 46951–46955 enlazado, 60 traducciones Haiku en draft (0 errores), 100 enlaces internos arreglados en las 5 cartas.
|
||||
Reference in New Issue
Block a user