
José
Co-founder | CTO Software Engineer
Más melómano que geek, aunque más de crear software que de otras muchas cosas
Ejecutando pruebas de integración sobre un determinado formulario de Polaris con un montón de campos y atributos, nos percatamos de que al realizar el guardado sólo una parte de esos atributos se modificaban, quedando los restantes intactos. Es más, observamos que el proceso siempre «cortaba» en el mismo campo.
Investigando más en profundidad, descubrimos que para ese mismo campo algunos de sus atributos no estaban «llegando» en la petición al servidor. ¿Qué estaba ocurriendo?
Analizando una traza de la petición haciendo uso de la maravillosa consola de Google Chrome descubrimos que, de los ochenta y pico campos del formulario, sólo se estaban enviando sesenta y algo (!!!!) y que, encima, del último ni siquiera todos sus atributos. ¿Pero esto qué es? La respuesta no estaba en el viento, sino en nuestro querido FastCGI Process Manager (FPM).
MAX_INPUT_VARS
Max Input Vars es la propiedad de configuración que determina el número máximo de variables que el servidor puede manejar en una sola petición (a nivel GET/POST/Cookies). Por defecto, la propiedad se establece a 1000. Nuestro formulario evidentemente superaba dicho límite, por lo que la información enviada se truncaba.
Solución: editar el fichero php.ini y establecer un valor superior sobre dicha propiedad. Para los despistados, dicho fichero suele encontrarse en la siguiente ruta (hablo de Ubuntu):
/etc/php/7.1/fpm/php.ini
Tras ello, no olvides reiniciar el servicio FPM. De lo contrario, los cambios no tomarán efecto
sudo service php7.1-fpm restart
Autoescalado de cluster con Kubernetes
¿Qué pasa con nuestra plataforma si tenemos un día de mucha carga? Para ello podemos usar HPA (Horizontal Pod Autoscaler) o VPA (Vertical Pod Autoscaler) junto con CA (Cluster Autoscaler) bajo Kubernetes.
Alfresco y el punto de unión entre JavaScriptAPI y Spring
Alfresco ofrece una diversidad de APIs para el acceso a toda la funcionalidad que atesora. Cada una la solemos elegir para según que tarea y en base diferentes factores.
Personalizar claims JWT en Laravel Passport
Laravel Passport es el módulo oficial de Laravel que nos ayuda a la implementación de servicios de autenticación haciendo uso del protocolo OAuth2.