Antecedentes de su arquitectura
A finales de 2001 empecé a preparar una web para un servidor de juegos. Por aquel entonces lo mejor que encontré era PHP-Nuke, muy difÃcil de configurar para mà en aquellos dÃas, y PostNuke, que tenÃa bastante más ayuda.
Para las estadÃsticas del juego y varias cosillas empecé a adentrarme en la programación en el contexto de ese CMS. Con el tiempo, y después de hacer muchas extensiones, obtuve una idea bastante clara de cómo era el funcionamiento interno de aquel PostNuke, lo que me permitió indagar PHP-Nuke.
Años más tarde, por motivos de cambio de trabajo, empecé a programar un CMS desde cero. PSFCMS, pese a que la idea original era hacerlo público, nunca llego a serlo y cuando encontré trabajo de nuevo vendà los derechos no exclusivos de explotación y modificación a la nueva empresa. No me pareció ético publicar el código después de eso. Esto paso a finales de 2006, desde entonces y hasta ahora, Diciembre de 2009, trabajo sobre el código de PSFCMS, pero combinado con otro código con una arquitectura muy similar: WebFlash + Main.swf. Ambas aplicaciones, aún viviendo en contextos muy distintos, están basadas en la misma forma de trabajar, aquella que aprendà de PostNuke.
Versiones anteriores
A mediados de 2002 abrà una tienda UPI, y pocas semanas antes empecé a desarrollar un programa para usarlo en la caja registradora. Era RUPI, escrito en Visual Basic 6, ofrecÃa unas herramientas de trabajo muy cómodas y se trabajaba muy rápido con él. Conectado a una base de datos MS Access permitÃa conectar dos, o más, cajas si era necesario, pero a veces perdÃa información trabajando de este modo. Trabaje durante 4 años con él y sobre él, manejando un catalogo de productos de más de 6000 referencias, con sus fotografÃas, descripciones, cálculos de precios en automático por categorÃa y/o referencia, y mil cosas más.
En 2004, empecé a desarrollar RUPI 2.0, en un principio escribà software de servidor creando una arquitectura distribuida, con seguridad de usuarios, y algunas cosillas más. Intentaba superar las limitaciones del dúo Visual Basic y MS Access, con ayuda únicamente de Visual Basic .NET 1. Por desgracia para mi, y haciendo memoria por suerte, me robaron la maquina donde estaba trabajando y perdà todo el código fuente. DecÃa que por suerte porque un año más tarde empecé a desarrollar un nuevo acercamiento a RUPI 2, pero esta vez basado en MySQL como software central de servidor. Por eso PSFGeneric usa MySQL, de hecho, usa una versión actualizada de las clases que desarrolle para conectar el nuevo RUPI 2 a MySQL. Por varios motivos, y muchos problemas personales, a mediados de 2006 deje de desarrollar RUPI 2.
PSFGeneric
A principios de 2008 comencé a escribir una aplicación de gestión que aprovechaba parte del código de RUPI 2, concretamente muchas de sus clases de soporte y toda la interfaz de usuario. Cuando termine la aplicación empecé a estudiar un código que encontré paseando por internet para cargar de forma dinámica extensiones en una aplicación NET. Si le sumamos los conocimientos de PHP y AS2/AS3, que permiten la carga dinámica y sin control, en el caso de PHP, de código tenemos la base de PSFGeneric. La arquitectura del modelo PostNuke era ya posible en Visual Studio NET.