Lo reconozco, soy un poco irascible y pocas cosas me sulfuran más que encontrarme con uno de los plugins de WordPress de calidad pésima (por desgracia bastantes, y lo digo por experiencia). A lo mejor alguien opina lo mismo de los nuestros (ya sabéis, eso de qué quién esté libre de culpa que tire la primera piedra) pero la verdad es que hacemos lo posible para cuidar su diseño y codificación.
De entre todos los posibles «pecados» de los plugins, el que para mi es más grave es el de tocar lo que no se debería, en especial las tablas de la base de datos de WordPress. Todos los demás componentes WordPress asumen que tu base de datos no ha sido modificada (al menos no las tablas que componen el núcleo de WordPress) con lo cualquier modificación por pequeña que sea pone en riesgo las actualizaciones futuras de WordPress, los backups automáticos que tengas definidos, los migraciones a otro servidor y un largo etcétera.
Es por esto que te pido, apreciado desarrollador de plugins WordPress, que te atengas a las siguientes reglas de diseño al crear tu plugin:
- No modificarás las tablas del núcleo de WordPress (cambiando tipos de datos de las columnas, añadiendo restricciones adicionales como claves foráneas, …).
- No extenderás las tablas del núcleo de WordPress con campos adicionales que sean obligatorios (NOT NULL, en terminología de base de datos). Esto haría que automáticamente cualquier otra función que estuviera añadiendo datos a esa misma tabla fallase inmediatamente.
- No extenderás las tablas del núcleo de WordPress con campos adicionales aunque sean opcionales o tengan valor por defecto. Si quieres añadir información adicional sobre las entradas o usuarios, utiliza las tablas
wp_postmeta
ywp_usermeta
, respectivamente. Si quieres guardar información genérica, utiliza la tablawp_options
. - No crearás nuevas tablas que no utilicen el prefijo definido por defecto en la instalación WordPress para los nombres de las tablas (típicamente el «wp_»). De este modo, por lo menos podemos identificar rápidamente que estas nuevas tablas son también parte del sitio WordPress.
- No crearás nuevas tablas.
Sé que esperar que sigas las cinco es mucho pedir pero para mi las cuatro primeras son de obligado cumplimiento y sólo en caso necesario aceptaría que rompieras la quinta, eso sí, minimizando el número de tablas. Al menos de esta forma el núcleo se mantiene y el usuario podrá identificar claramente las nuevas tablas y reconfigurar así sus estrategias de copia de seguridad, optimización, y similares.
Soy consciente de qué para ti es más fácil crear nuevas tablas que se ajusten perfectamente a lo que necesitas que aprovechar las opciones que ya te ofrece WordPress para conseguir el mismo resultado. Pero piensa en nosotros (los usuarios), te lo agradeceremos de corazón. En el futuro, tened en cuenta esta petición para los desarrolladores de plugins.
¿Añadirías alguna regla más? ¿Os parezco un exagerado? ¿Os viene a la cabeza algún plugin especialmente desastroso en este sentido?
Deja una respuesta