Artículos sobre desarrollo de software y tecnologías de la información.

Mejorar el rendimiento de Symfony Cmf Dynamic Routing utilizando la opción de configuración uriFilterRegexp

5 de julio de 2017

He estado trabajando por un tiempo con Symfony Cmf (SfCmf) y he desarrollado algunos sitios con él. Además he creado algunos bundles extras para implementar mis propias ideas sobre SfCmf. El resultado ha sido lo que yo llamo Positibe Project. Positibe Project es un grupo de bundles y librerías que me ayudan a mí y a mi equipo a mejor mi trabajo con este CMF y además poderlo integrar fácilmente con otras librerías como Doctrine ORM, Sylius ResourceBundle, Gedmo Doctrine Extension, Lunetics LocaleBundle entre otras más. Usándolo intentamos crear sistemas webs con sistema de gestión de contenidos de forma sencilla.

Una de nuestras metas es nuestras aplicaciones es el rendimiento, y algunas mejoras al componente Symfony Routing me han hecho pensar en si SfCmf pudiera tener algunos trucos para mejorar su costoso comportamiento. No podemos usar Blackfire por disímiles razones así que hice un chequeo manual a todo el proceso, y encontré una línea donde el Dynamic Router chequea una expresi...

Leer más ...

Mejorando la experiencia de desarrollar aplicaciones Symfony con Flex

22 de mayo de 2017

Después de algún tiempo de espera tras anunciar Flex, ya se encuentra disponible y público lo que será el nuevo juguetito de los desarrolladores Symfony. Symfony Flex promete ser una herramienta básica para el desarrollo de aplicaciones Symfony, aunque Fabien asegura que no es necesario cambiar la forma en que desarrollas aplicaciones en este maravilloso framework.

Symfony Flex está actualmente en su estado beta y aseguran que habrá cambios desde ahora hasta su versión 1 oficial que será lanzada junto con Symfony 4. Esta última versión de Symfony parece ser desarrollada exclusivamente para aumentar la productividad de las aplicaciones que desarrolla y estará estrechamente ligada a Flex.

La serie de artículos de Fabien, Potenciar sobre Symfony 4, muestra como desarrollar una aplicación con Flex y Symfony. Todo muy “cool”, pero... Yendo un poco más profundo, ¿estaremos todos listos para el cambio?.

Uno de los grandes impactos de Symfony sobre la comunidad PHP es...

Leer más ...

IMPRESIONES DEL SEGUNDO ENCUENTRO DE DESARROLLADORES HABANA.

1 de julio de 2015

Hace solo algunos días que conozco este grupo de entusiastas y emprendedores que se comunican mediante Google Group bajo el nombre de Desarrolladores Habana. Aunque no sabía nada de su proyecto enseguida me puse a compartir mis ideas sobre lo que pudiera ser una comunidad de desarrollos en Cuba y ellos me dijeron de qué iba su proyecto y coincidimos en muchos intereses necesarios para el desarrollo en Cuba. Muy de acuerdos todos conmigo y viceversa me propusieron unirme a esta comunidad y asistir al evento mensual que realizan para compartir y hablar un poco de desarrollo en Cuba. Luego de asistir a este segundo encuentro y pasar un buen rato en compañía de muchos compañeros de profesión con intereses afines, aquí les dejo mis impresiones.

Asistentes

Es realmente hermosos cuando vemos que se convoca a un evento para nada político o cultural y las personas asistan con tan buena fe. La gran mayoría llegó a tiempo al encuentro citado en el centro Vasco en 3ra y 4 con muchas ganas de...

Leer más ...

Introducción al control de acceso basado en roles de Sylius

16 de junio de 2015

Como siempre el proyecto Sylius nos sorprende con magníficas funcionalidades que podemos usar en nuestras aplicaciones. En este caso hablaremos de una de las últimas funcionalidades agregada en la versión 0.14 de Sylius, el sistema jerárquico de control de acceso basado en roles (Hierarchical Role-Based-Access-Control o RBAC).

Este sistema permite definir árboles de permisos y roles para ser asignados a usuarios específicos. De esta forma se puede restringir el acceso a secciones específicas del sitio web o la administración. Es muy fácil introducir nuestros propios permisos y el sistema es bastante flexible. Y como todo en Sylius, está disponible para usar en cualquier aplicación Symfony como un bundle independiente.

¿Por qué RBAC?


Las aplicaciones grandes tienen muchos Permisos que gestionar.
Los Permisos están conectados con los Roles, y no con los Usuarios directamente.
Los Roles de los Usuarios en un sistema pueden cambiar, sus Permisos deben cambiar también de for...

Leer más ...

FosUserBundle - Part 2. Personalizando

26 de mayo de 2015

En un artículo anterior daba una introducción al FOSUserBundle. Después de ver lo útil que resulta este al ofrecer una clase usuario lista para desarrollar en nuestras aplicaciones Symfony 2, ahora toca personalizar estas funcionalidades adaptándolas a nuestro proyectos reales.

2.1 Sobreescribiendo plantillas

El primer paso que casi todos damos al utilizar funcionalidades de terceros en nuestras aplicaciones, es que no se note que es de tercero sino que se mescle en nuestro sistema como si siempre hubiece estado ahí. De ahí que, la interfaz de usuario es el punto crítico en este sentido. Siendo necesario que todos los componentes sigan un mismo diseño gráfico y maquetación.

El bundle nos provee con las plantillas que necesitamos para cada una de sus funcionalidades, sin embargo estas no se adaptan directamente en nuestros diseños por lo general. Pero que no cunda el pánico. Utilizando los propios mecanismos de Symfony 2 se pueden sobreescribir estas plantillas.

La documenta...

Leer más ...

¿Cómo resolver el problema de full-height en jxqSplitter

28 de abril de 2015

Hace algún tiempo estuve viendo como usar un splitter para crear un panel vertical con un grupo de funcionalidades y herramientas muy largo. Después de probar varios splitters, el que mejor vi por el soporte que prestenta es el jxqSplitter. Ahora, este al igual que los demás son un dolor de cabeza para lo que quiero porque trabajan mucho con los anchos y los altos. Eso hace que los paneles con contenido variables y muy largos no se vean dentro del splitter o cuando más tengas que usar el scroll. Las soluciones son varias pero no se ven muy profesionales y no resulven de a fondo el problema. Todos queremos web dinámicas y adaptativas con altos y anchos que puedan ajustarse a todos los dispositivos, además casi siempre usamos Bootstrap o algún tema html con montones de css.

No voy a entrar en detalles de como funciona el splitter por dentro porque de hecho no lo domino del todo, pero si vamos a analizar la solución Fluid que los desarrolladores dan. La del tanto en el body como en el...

Leer más ...

Proyectos RAD en Symfony2

14 de abril de 2015

Cuando formamos parte de un equipo que desarrolla habitualmente aplicaciones Symfony buscamos una manera de crear estándares fijos para agilizar el desarrollo de nuevos proyectos. Por lo general creamos un proyecto base con todos atajos necesario para que el equipo de desarrollo comience a desarrollar cuanto antes y lo más rápido posible. A este tipo de proyecto se le denomina proyectos RAD (Rapid Application Develoment).

Como siempre sucede podemos encontrar algunas buenas soluciones en el ecosistema de Symfony. La mejor solución que he encontrado es Symfony2 RAD Edition de KnpLabs. Esta ofrece excelentes facilidades para el desarrollo. En su sitio web muestra una extensa documentación de todo lo que puedes hacer con este proyecto. Destacar el poder de simplicidad que le da a los proyectos. La verdad es que debes leer bien la documentación y acatarte a sus prácticas pero aun así lograr un incremento de la productividad considerable.

Los creadores de unos de mis bundles favoritos...

Leer más ...

FosUserBundle - Part 1. Instalación y configuración

10 de abril de 2015

El FOSUserBundle agrega soporte para un sistema de respaldado de usuarios en la base de datos Symfony. Proporciona un marco flexible para la gestión de usuarios que tiene como objetivo manejar tareas comunes tales como el registro de usuarios y de recuperación de contraseña.

Incluye las características:


Soporte para almacenar los usuario mediante Doctrine ORM, MongoDB/CouchDB ODM o Propel.
Soporte para el registro y envió de confirmación por email.
Soporte para el reseteo de contraseña
Pruebas unitarias


Nota: Es importante aclarar que el bundle no provee de un mecanísmo propio de autenticación, pero si un User Provide para ser usado por Symfony.

1.1 Introducción

La idea detras de este bundle es darnos un usuario base listo para trabajar en nuestras aplicaciones. Agrega funcionalidades básicas para comenzar con el trabajo de usuarios asegurando recursos públicos y privados, centrándote en tu propio negocio.

La clase FOS\UserBundle\Model\User provee de varios...

Leer más ...

Estamos creado la organización PositibeLabs

21 de enero de 2015

El día de hoy estamos creando la organización PositibeLabs para el desarrollo de soluciones para la web. Somos un equipo de desarrolladores especializados en la web.

Pronto publicaremos un catálogo con todas nuestras ofertas.

Leer más ...

ARTÍCULOS
Mejorar el rendimiento de Symfony Cmf Dynamic Routing utilizando la opción de configuración uriFilterRegexp

He estado trabajando por un tiempo con Symfony Cmf (SfCmf) y he desarrollado algunos sitios con él. Además he creado algunos bundles extras para imple...


Mejorando la experiencia de desarrollar aplicaciones Symfony con Flex

Después de algún tiempo de espera tras anunciar Flex, ya se encuentra disponible y público lo que será el nuevo juguetito de los desarrolladores Symfo...


IMPRESIONES DEL SEGUNDO ENCUENTRO DE DESARROLLADORES HABANA.

Hace solo algunos días que conozco este grupo de entusiastas y emprendedores que se comunican mediante Google Group bajo el nombre de Desarrolladores...