wiki: documentar modelo cats derivado de cartas + script regenerar (#42)
@@ -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.
|
||||
|
||||
+34
-9
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user