Por qué Apple me llevó a Odoo 19
it-guy.ai funcionaba como un sitio estático de Astro. El App Store exige una URL de privacidad por aplicación, y en los idiomas en los que se vende la aplicación. Desde hoy, Odoo 19 lo resuelve.
En App Store Connect hay un campo obligatorio para la URL de privacidad
Por aplicación. Y quien ofrece su aplicación no solo en Alemania, también necesita la página detrás en los idiomas en los que se vende.
Con DevPreview, esto se hacía manualmente: una página, versión alemana e inglesa una debajo de la otra, enlace registrado en App Store Connect, hecho. Luego llegó la segunda aplicación, y de una sola página surgió una tabla de multiplicación: aplicaciones por idiomas por documentos. En un proyecto de Astro, cada celda de esta tabla es un archivo propio en el repositorio. Si cambio un plazo, lo actualizo en todas partes. En la tercera ocasión, olvido uno, y entonces en la versión inglesa aparece un plazo que en la alemana ya es totalmente diferente.
Odoo adjunta las traducciones al mismo registro que el original. Redacto un texto, cambio el idioma y traduzco los párrafos que han cambiado. Sin segundo árbol de directorios, sin archivo que se salga de control.
El efecto secundario que subestimé
Un error tipográfico en la página de inicio significaba hasta ahora: activar el editor, buscar el archivo, modificarlo, confirmar, empujar, esperar la compilación y desplegar. Por una palabra.
Astro no tiene la culpa, el generador funciona de forma limpia. Pero cada cambio pasa por la misma cadena, ya sea que intercambie una letra o construya una página completa. Ahora me conecto, hago clic en el texto, guardo y listo.
Para los artículos más largos sigo escribiendo en Markdown; en un editor WYSIWYG no escribo voluntariamente 1.200 palabras. El camino a la base de datos lo cubre mi módulo eq_website_markdown_import: el título, el resumen, las etiquetas, la fecha de publicación y los campos de SEO aparecen como encabezados YAML en el archivo, las imágenes están como ZIP al lado y el módulo conecta ambos en una publicación terminada.
Si falta el título, se paga el precio inmediatamente: Sin title: en el frontmatter, el importador toma el nombre del archivo como título del artículo y entonces aparece sobre el artículo una construcción de fecha y guiones. Dos minutos ahorrados, diez minutos de trabajo posterior.
Las diversidades también han llegado
En la página hay algunos pequeños juegos de JavaScript y trucos que he construido con el tiempo. Esos eran exactamente los que consideraba la parte crítica de la migración, porque esperaba que Odoo me estorbara al incluir scripts propios.
No lo tiene. Los juegos no dependen de ningún framework, son puro Vanilla-JS y por lo tanto es cuestión de archivos en el directorio de assets más una página con un bloque HTML. Esfuerzo: una tarde, y la mayor parte se dedicó a limpiar rutas que había configurado rígidamente hace años.
La medición de alcance permanece internamente.
No Google Analytics, no servicio de terceros. La medición se ejecuta mediante un módulo Odoo propio en mi propio servidor en Hetzner, y he establecido los plazos de retención en lugar de usar la configuración predeterminada:
- Registros del servidor: 7 días
- Medición de alcance: 12 meses
- Solicitudes de formulario de contacto: 24 meses
Desde la mudanza, estos datos y los contenidos sobre los que se recaban están en la misma base de datos. Una solicitud de información según el Art. 15 RGPD la respondo a través de un registro de contacto en lugar de dos sistemas y una buena memoria.
Lo que me he fijado
Un archivo HTML entregado estático es más rápido que una página detrás de la cual hay un proceso Python y una consulta a la base de datos. La primera carga de la página es más lenta desde hoy, y ningún ajuste fino cambia lo fundamental.
Lo que ayuda es poco espectacular: activar paquetes de activos, establecer encabezados de caché correctamente, entregar imágenes en el tamaño en que se muestran y no apilar fragmentos que nadie necesita. Así la página queda en un rango que basta para una tarjeta de visita de desarrollador con dos apps en la App Store. Quien opera un sitio de noticias con cifras de acceso de seis cifras toma una decisión diferente.
Y quien mantenga una página de contenido pura, sin formularios, sin datos de clientes, sin documentos legalmente vinculantes en cinco idiomas, tiene en sus manos la mejor herramienta con Astro. Para mí, el cambio valió la pena porque, de todos modos, uso Odoo a diario y escribo los módulos que me faltan. Sin esta premisa, la mudanza no habría sido una ganancia, sino un segundo proyecto junto a las aplicaciones.