From da29a1fe3eea9ad65ce5496c3c5cb7d77889416a Mon Sep 17 00:00:00 2001 From: rafa Date: Mon, 25 May 2026 15:38:56 -0400 Subject: [PATCH] wiki: documentar modelo cats derivado de cartas + script regenerar (#42) --- Carta-de-la-semana.md | 16 +++++++++++++++ Categorias-y-terminos.md | 43 +++++++++++++++++++++++++++++++--------- Scripts-de-migracion.md | 19 ++++++++++++++++++ 3 files changed, 69 insertions(+), 9 deletions(-) diff --git a/Carta-de-la-semana.md b/Carta-de-la-semana.md index 264d042..a3a90c5 100644 --- a/Carta-de-la-semana.md +++ b/Carta-de-la-semana.md @@ -30,6 +30,22 @@ Sección editorial principal del sitio. Cada semana se publica una "carta" + un Ver [Categorías y términos](Categorias-y-terminos). +## Las cartas son la fuente de clasificación de los posts + +Cada carta es un post HTML con secciones encabezadas (Evangelio, Artículos, Eucaristía, Multimedia, EFFA…). Los links bajo cada encabezado **definen la cat** de los posts enlazados: + +- Sección "Evangelio y comentarios al Evangelio" → cat `1647 comentarios-al-evangelio` +- Sección "Artículos seleccionados para la semana" → cat `1650 articulos` +- Sección "Material multimedia" → cat `1649 multimedia` +- Sección "Para unas eucaristías más participativas" → cat `1648 eucaristia` +- Sección "Escuela EFFA" → cats EFFA + +Las cats WP `1645–1652` NO existen en Joomla y NO son inventos del importador FG. Son derivadas del análisis de las ~740 cartas históricas. Detalle en [Categorías y términos](Categorias-y-terminos#cats-derivadas-de-cartas-1645-1652). + +Mecanismo runtime: mu-plugin [fea-carta-portada.php](../src/branch/main/wordpress/wp-content/mu-plugins/fea-carta-portada.php) que parsea la carta actual y alimenta los shortcodes de portada — ver [#38](../issues/38) y [Portada y shortcodes](Portada-y-shortcodes). + +Script de regeneración del CSV de clasificación: `scripts/regenerar_clasificacion_csv.py` — ver [Scripts de migración](Scripts-de-migracion) y [#42](../issues/42). + ## Procedimiento semanal manual (proceso editorial) > Tras la decisión del [#38](../issues/38) en 2026-05-25, el cambio semanal **no se automatiza** — se hace a mano con esta receta. Limpieza histórica de duplicados ya aplicada. diff --git a/Categorias-y-terminos.md b/Categorias-y-terminos.md index e3bfa47..c18db29 100644 --- a/Categorias-y-terminos.md +++ b/Categorias-y-terminos.md @@ -6,18 +6,43 @@ Listado de `term_id`s y slugs relevantes para el código y para operaciones de m | term_id | Slug | Nombre / uso | |---|---|---| -| 6 | `cartasemana` | Carta de la semana (categoría principal de cartas) | -| 21 | (revisar) | Carta semana pasada | -| 22 | (revisar) | Carta semana pasada | +| 6 | `cartasemana` | **Carta de esta semana** (exactamente 1 post — ver [Carta de la semana](Carta-de-la-semana)) | +| 22 | `carta-semana-pasada` | **Carta de la semana anterior** (exactamente 1 post) | +| 21 | `cartas-de-otras-semanas` | Archivo histórico (~738 cartas) | | 28 | `evangelios-y-comentarios` | Posts de los 4 evangelios (`Jn/Lc/Mt/Mc`) | | 63 | `effa` | EFFA (categoría padre) | | 64 | `proyecat` | Artículos del hub EFFA (8 items) | -| 1645 | (revisar) | Lecturas bíblicas | -| 1646 | (revisar) | Comentario editorial (primer comentario no-lectura por carta) | -| 1647 | (revisar) | Comentarios al evangelio (los que renderiza `[fea_citas_evangelio]`) | -| 1648 | `eucaristia` | Eucaristía | -| 1649 | `multimedia` | Multimedia | -| 1650 | `articulos` | Artículos | +| 71 | `feadulta` | Categoría-autor por defecto de Feadulta (todos los posts editoriales) | +| **1645–1652** | (cats derivadas) | Ver sección "Cats derivadas de cartas" más abajo | + +## Cats derivadas de cartas (1645–1652) + +Estas categorías **no vienen de Joomla** (donde casi todo el contenido vive en la única cat 29 "Feadulta"). Se **derivan automáticamente** del análisis de las cartas semanales históricas: cuando el editor enlaza un post bajo cierto encabezado en una carta, ese post adquiere la cat correspondiente. + +| term_id | Slug | Sección en la carta que la genera | +|---|---|---| +| 1645 | `lecturas-biblicas` | Lecturas bíblicas (subgrupo dentro de eucaristía) | +| 1646 | `comentario-editorial` | Comentario editorial (primer comentario no-lectura por carta) | +| 1647 | `comentarios-al-evangelio` | "Evangelio y comentarios al Evangelio" | +| 1648 | `eucaristia` | "Para unas eucaristías más participativas y actuales" | +| 1649 | `multimedia` | "Material multimedia" | +| 1650 | `articulos` | "Artículos seleccionados para la semana" | +| 1651 | `noticias` | (subgrupo poco usado) | +| 1652 | `otros` | catch-all | + +### Fuente de verdad + +`clasificacion_articulos.csv` en la raíz del repo (16.921 filas, marzo 2026). Columnas: `post_id, post_title, categoria_propuesta, seccion_original, carta_id, carta_titulo, carta_fecha`. + +### Multipertenencia legítima + +Un post puede tener varias de estas cats si ha sido linkado bajo distintos encabezados en distintas cartas a lo largo de los años. Ejemplo: `gracias-padre-por-el-espiritu` (WP id 5027) está en `1647` Y `1648` porque aparece 3 veces como eucaristía (2017, 2020, 2023) y 1 vez como comentario (Pentecostés 2014). **No es un error.** + +### Regeneración + +`scripts/regenerar_clasificacion_csv.py` (ver [Scripts de migración](Scripts-de-migracion)) reproduce el modelo procesando todas las cartas + resolviendo links a WP post_id. Cobertura: 5 secciones core (comentario, articulo, eucaristia, multimedia, effa). Cobertura ampliada (lectura, comentario_editorial, otro, noticia, fiestas especiales) requiere extender el mapping del script. + +Issue de diseño: [#42](../issues/42). Mecanismo de portada que consume estos datos en runtime: mu-plugin `fea-carta-portada.php` ([#38](../issues/38), wiki [Portada y shortcodes](Portada-y-shortcodes)). ## Subcategorías EFFA diff --git a/Scripts-de-migracion.md b/Scripts-de-migracion.md index e890a88..ed54062 100644 --- a/Scripts-de-migracion.md +++ b/Scripts-de-migracion.md @@ -84,6 +84,25 @@ Si no, MySQL rechaza el INSERT con strict mode. | `setup-wordpress.sh` | Setup inicial del WP local | | `test_5articles.py` | Test smoke de 5 artículos | | `cutover_feadulta_com.sh` | **Cutover DNS** — ver [Cutover DNS](Cutover-DNS) | +| `fix_image_paths.php` | ✅ 2026-05-25: reescribe `images/...` → `/fea/wp-content/uploads/...` (458+124 posts, [#34](../issues/34)+[#36](../issues/36)) | +| `import_avatars.php` | ✅ 2026-05-25: 736 avatares user_meta `foto_perfil` desde Joomla ([#39](../issues/39)) | +| `face_crop_avatar.py` | ✅ 2026-05-25: face-crop con OpenCV de 724 col_*.png antes de import ([#39](../issues/39)) | +| `regen_avatars.php` | ✅ 2026-05-25: regenera thumbnails WP de attachments cropped ([#39](../issues/39)) | + +### Regeneración de la clasificación + +| Script | Notas | +|---|---| +| `regenerar_clasificacion_csv.py` | Reproduce `clasificacion_articulos.csv` recorriendo todas las cartas (cat 6+21+22) y extrayendo links agrupados por encabezado. Paridad con `mu-plugins/fea-carta-portada.php` ([#38](../issues/38)). Cubre 5 secciones core (comentario, articulo, eucaristia, multimedia, effa). NO cubre granularidad fina del CSV histórico (lectura, comentario_editorial, otro, noticia) ni encabezados de fiestas especiales. Usa `pymysql` para evitar problemas de parsing del CLI con HTML multilínea. Ver [#42](../issues/42). | + +```bash +# Regenerar y comparar contra el CSV de marzo 2026 +python3 scripts/regenerar_clasificacion_csv.py \ + --out /tmp/clasif_new.csv \ + --diff clasificacion_articulos.csv +``` + +Output diff típico tras una pasada (2026-05-25): 8.655 posts con mismas cats, 1.599 con cats distintas (mayoría son granularidad: viejo distingue `lectura`/`comentario_editorial`, nuevo agrupa todo en `comentario`). ### Templates / mu-plugins