Este plugin consiste en una nueva solapa del lado del administrador que permitirá administrar las tablas que utilicen otros plugins. En primer lugar se mostrará un link que permite crear / eliminar la tabla asociada a este mismo plugin. Debajo del link (y cuando la tabla esté creada) se mostrará el listado de plugins existentes detallando su nombre, autor, versión, descripción, estatus, cantidad de tablas asociadas y un par de links para agregar y quitar tablas. Adicionalmente, el nombre del plugin tendrá un link que nos mostrará en otra página, el detalle de las tablas asociadas a ese plugin.
El link para crear las tablas dependientes de un plugin mostará un textarea donde se ingresará el script mysql que crea dicha tabla.
El link para eliminar tablas dependientes de un plugin, eliminará todas las tablas asociadas a él.
En la primer versión del plugin se asume que cada plugin tiene tablas propias y que las mismas no son compartidas por otros plugins.
El grado de avance en el desarrollo es del 80% quedando pendiente el código para crear las tablas.
La intención es desarrollar luego una versión "dos" donde se agregue una nueva funcionalidad que permita asociarle a un plugin tablas ya existentes, contemplando así que varios plugins utilicen la misma tabla.
Mmmhhhh... no es por pincharte el globo, pero esta idea no tiene mucho sentido... no existe una clara asociación entre plugins y tablas más que lo que cada plugin sepa. Es decir, vos no podés saber, a priori, a qué plugin pertenece una tabla dada (si es que pertenece a un plugin y no es una tabla genérica del textpattern). Ahora bien, si un plugin necesita una tabla, normalmente la crea él mismo, ya que es más fácil eso que explicarle al pobre usuario que tiene que, primero instalar tu plugin y crear la tabla inicial de tu plugin; después, instalar el plugin en cuestión y activarlo; después volver a la solapa de tu plugin y decirle que cree la tabla; etc...
Por otra parte, termina siendo peligroso si tu plugin se pone a borrar tablas alegremente dada una metida de pata de un usuario descuidado.
Vamos a tener que volver a la idea anterior de versionar plugins o alguna otra cosa... :-(
A lo mejor no lo detallé suficientemente.
Me parece que la idea es buena y el plugin resultaría muy útil porque ya no es necesario estar incorporando la lógica del agregado y quitado de tablas dentro del mismo plugin o ejecutando un script para crearlas desde mysql.
La idea me vino a la mente mientras observaba un plugin que hicieron los chicos del cuatrimestre pasado. En este plugin, se agregaba una solapa más al textpattern simplemente para poder crear o eliminar la tabla que tenía asociada dicho plugin pero en la solapa no había nada más. Si aplicamos el mismo principio a otros plugins, tendríamos un montón de solapas que no sirven para nada ocupando lugar y confundiendo al administrador. De esta manera la lógica que crea las tablas queda independiente del plugin en sí y del mysql.
Si el plugin que se desea instalar tiene una funcionalidad que crea la tabla, ese plugin podría quedar al margen de la administración de tablas o si el usuario lo desea, podría reflejar dicha asociación para que el listado de mi solapa se mantenga actualizado.
Por otra parte quería aclarar que la finalidad de este plugin es mapear las tablas creadas exclusivamene por un plugin que se instaló en textpattern y no involucra a las tablas propias del textpattern.
Podría andar... sin embargo la asociación a cada plugin la tiene que manejar cada plugin, con lo cual, tu plugin debería tener una API que le permita a otro plugin registrar sus tablas deseadas con tu plugin. Esta API debería ser limpita y suficiente para lo que pueda querer un plugin.
Otra cosa... si el plugin llega a tener éxito existe una cierta posibilidad de que tengas que dar soporte al mismo a los programadores de plugins que quieran utilizar tu plugin.
Vemos de charlarlo esta tarde en clase ¿si?
