← Casos Plugins 15–16 oct 2026 · PageBrick 1.6.0, 1.7.0 y 1.7.1

Del pedido de un cliente a la versión publicada

El equipo de un sitio de cliente abría la misma pantalla todos los días, y estaba escondida detrás del icono de Plugins. Pedida el 15 de octubre, publicada el 16 de octubre, de una forma que no cambió nada para ningún otro sitio.

  • 27 / 27comprobaciones al actualizar de la 1.6.0 a la 1.7.0 en un navegador real, con la vuelta atrás
  • 2argumentos opcionales añadidos a una función; todo plugin escrito antes funciona como funcionaba
  • 0cosas eliminadas o cambiadas en la API pública
  • 6versiones publicadas el 16 de octubre por esto: tres de PageBrick y tres de plugins

El problema

El sitio de un cliente usaba un plugin que una agencia hizo para los avisos del día a día. El equipo lo usaba todos los días, pero estaba detrás del icono de Plugins, en una lista con ajustes y actualizaciones. También querían saber cuándo alguien enviaba un mensaje por el formulario de contacto, sin abrir el panel para averiguarlo.

La decisión

El pedido era de un cliente, y nada específico de un cliente entra en PageBrick. La forma general fue esta: la pantalla de un plugin puede pedir quedar en la lista de Contenido del menú, con un icono propio (pb_add_admin_page() ganó dos argumentos opcionales al final), y los plugins pueden poner un número junto a su elemento del menú y una línea en la campana (dos filtros nuevos).

La promesa de compatibilidad decidió la forma. Una función puede ganar argumentos opcionales, pero nunca perder ni cambiar uno, así que todo plugin escrito antes sigue en su lugar; y un plugin que pasa los argumentos nuevos a un PageBrick más antiguo simplemente aparece donde siempre apareció, porque PHP ignora los argumentos de más. Salió como versión menor, anunciada en el panel y nunca instalada sola. El Blog y el formulario de contacto, los plugins oficiales, se actualizaron para usarlo, y llegan a los sitios por el catálogo, no por la actualización del núcleo.

La prueba

La actualización de la 1.6.0 a la 1.7.0 se ejecutó en un navegador real, en un sitio hecho a partir de la 1.6.0 publicada: el anuncio, ninguna instalación automática, la actualización con sus pasos en vivo, todas las páginas públicas y pantallas del panel, la vuelta atrás y la actualización otra vez, 27 de 27 comprobaciones. Una copia congelada de la API pública se compara en cada ejecución de las pruebas, así que la promesa la cumple una prueba y no la buena voluntad.

El resultado

El equipo del cliente ahora encuentra las pantallas que usa todos los días en la lista de Contenido; aparece un número junto a Mensajes cuando llega algo, y la campana avisa. Los sitios que no usan nada de esto no cambiaron. El 16 de octubre el mismo trabajo salió como PageBrick 1.6.0, 1.7.0 y 1.7.1, Blog 1.1.0 y 1.2.0 y Formulario de contacto 1.2.0.

Qué quedó

Dile que sí al cliente convirtiendo el pedido en una función general, y deja que la promesa hecha a todos los demás sitios decida su forma.