¿Es WordPress sólo para blogs?
Mi cliente continuó describiéndome los requisitos de su aplicación, mientras yo asentía y tomaba notas.
“Y sólo tenemos un plan de alojamiento Linux para el hosting de esta aplicación, y nos gustaría seguir utilizando este servidor” – concluyó mi cliente.
Mientras revisaba todos mis apuntes, empecé a tener una buena idea de a qué tipo de proyecto software me enfrentaba. Mi cliente necesitaba un gestor de contenidos diseñado a medida, con varios requisitos muy específicos acerca de los tipos de contenido que utilizar, y de cómo formatearlos y listarlos, más ciertas opciones que deberían poder ser configuradas desde el panel de control. La fecha de entrega era también bastante ajustada, sobre todo teniendo en cuenta el equipo disponible y el tamaño del proyecto. Y parecía que íbamos a estar confinados a utilizar un entorno LAMP compartido, con recursos limitados.
“Creo que podemos hacerlo” – le dije. “Si montamos este sistema basándonos en el motor de WordPress, deberíamos tenerlo listo bastante pronto, cumpliendo con los plazos de entrega.”
Ella me miró sorprendida. “¿WordPress? ¿No es eso sólo para blogs?” – me preguntó.
Lo cierto es que la plataforma de WordPress puede ser bastante más potente que eso.
Tras unos pocos días trabajando en su proyecto, le presenté la versión final, junto con las documentación de usuario. La aplicación disponía de múltiples funciones específicas, que le facilitarían a mi cliente su rutina diaria, tanto como puede ser posible.
“Esto funciona perfectamente” – me contaba mi cliente. “¡No puedo creerme que esté hecho con WordPress!”
Yendo bastante más allá de WordPress
Cuando empecé a trabajar con WordPress, de algún modo echaba de menos la estructura organizada que otras plataformas traen consigo (y cuya organización llegan a imponer sobre el código), ya estuvieran también basadas en PHP, o en un escenario ideal, en Java.
Sin embargo, cuando el proyecto queda definido por condiciones restrictivas y específicas, WordPress puede ser una opción razonable, ya que viene con ciertas ventajas que aceleran el proceso de desarrollo.
WordPress cubre funciones básicas de creación de una estructura de navegación, así como de gestión de usuarios, directamente, con una instalación por defecto. Además ofrece múltiples puntos de partida de lo más adecuado para crear la capa de presentación. A causa de esto, WordPress es una buena opción cuando la solución software tiene que instalarse en un entorno compartido LAMP – especialmente cuando el proyecto viene acompañado de recursos escasos y de plazos de entrega ajustados.
Los lenguajes y plataformas de programación son herramientas flexibles que permiten desarrollar soluciones personalizadas. Las buenas prácticas de programación son universales, y pueden (y deben) aplicarse en todo caso.
Una vez que uno se familiariza con las peculiaridades del entorno es cuando se descubren múltiples posibilidades – como sucede con todas las tecnologías con las que he trabajado. Entonces es cuando resulta posible controlar la complejidad inherente a dicha plataforma, y montar sobre ella nuevo código, de forma clara y organizada.
Esto es precisamente lo que hice, creando una estructura de código orientado a objetos, bien organizada, conectando con tantas acciones y filtros de WordPress como fuera posible. De esta manera, mis extensiones del núcleo de WordPress eran tan fáciles de leer, modificables y escasamente acopladas como permitía la plataforma.
Le sorprendería conocer todos los tipos de programas que he construido a partir de la plataforma base de WordPress. Son aplicaciones que van más allá del típico blog, y que están más al nivel de lo que los desarrolladores avanzados de WordPress y sus desarrolladores de Plugin son capaces de crear. Sistemas de comercio electrónico, campañas de márketing interactivo, paneles de control para gestionar el contenido de interfaces basadas en Flash, extranets privadas, plugins para optimización en buscadores, y aplicaciones de formación a distancia, son sólo algunos ejemplos de todo lo que he programado de esta manera.
A veces, resulta incluso difícil reconocer a WorPress en las versiones finales de mis aplicaciones, en el que esta plataforma ha sido fuertemente modificada. Los campos y tipos de contenido personalizados, presentes en el panel de control, permiten a los usuarios finales introducir todos los datos que pretenden mostrar, los cuales aparecen perfectamente formateados en la presentación final.
La asignación de roles personalizados hace que las funciones de edición adecuadas se muestren sólo para los usuarios apropiados, con lo que resultaba posible crear un gestor de contenidos con diferentes permisos de usuario. Gracias a esto se podían programar catálogos de productos en tiendas online, o listas de cursos en sistemas de teleformación que incluyen contenido descargable sólo para usuarios registrados, e incluso tests con corrección automática y almacenamiento de notas, o boletines de noticias vía email que se enviarían sólo a un segmento específico de usuarios finales.
¿Qué funciones debe cumplir su aplicación? Quizá sea una buena candidata para ser construida basándose en la plataforma de WordPress. No dude en contactarme, y encontraremos un entorno de programación adecuado para su proyecto.