Esta noche el feed de WordPress nos avisa de la existencia de un nuevo plugin para WordPress, cuya finalidad es la de ayudarnos a desinstalar otros plugins. Algo que realmente parece ser demasiado molesto para la mayoría de usuarios.
El plugin integra una sección bajo cada plugin instalado donde nos dá la opción de desinstalar nuestro plugin. La idea es realmente buena y necesaria, ya que, como era de esperar requiere que el desarrollador prevea esta posibilidad y adapte su plugin para facilitar la tarea de desinstalación.
Desinstalar plugins
Generalmente los plugins simplemente suelen ser un fichero, o una serie de ellos, que se encargan de aportar la funcionalidad a nuestro blog. Desinstalar estos plugins suelen ser, en gran parte de la mayoría de ellos, simplemente eliminar esos ficheros directamente del FTP, aunque podemos encontrarnos casos en los que el plugin requieran una serie de tablas en la base de datos que al eliminar los ficheros del FTP no serán eliminadas y rara vez usadas.
En la mayoría de casos en los que desinstalamos un plugin que requiere interacción con la base de datos, debemos recurrir a herramientas como phpMyAdmin para eliminar las tablas directamente desde alli. Esto suele ser un poco laborioso para los más experimentados, no quiero imaginar lo que les debe costar a los usuarios que ni siquiera saben que és phpMyAdmin, o incluso lo que es una base de datos.
Por ese motivo, un sistema que facilite esto, es ideal para todo el mundo.
Preparar nuestros plugins para que sean desinstalados
Como desarrolladores que somos, debemos recordar el famoso uninstall de las aplicaciones Windows, encargadas de borrar todo ( o casi todo) lo que nuestras aplicaciones han dejado desperdigado por nuestro sistema operativo. Siguiendo esa filosofía deberíamos preveer que nuestros usuarios quieran deshacerse completamente de lo que una a ellos, así que tendremos que seguir unos consejos para integrarnos con este plugin y facilitar la desinstalación.
La integración es realmente sencilla, ya que simplemente tendremos que añadir un fichero llamado exactamente igual a nuestro plugin que se encargue de realizar la limpieza, este fichero tendrá _uninstaller, pegado al nombre de nuestro plugin.
Ejemplo
Akismet.php
Akismet_uninstaller.php //Desinstalador
El plugin se encargará de lanzar la petición correspondiente al fichero que contendrá las peticiones necesarias para eliminar los rastros que nuestros plugins hayan dejado dentro de nuestra base de datos.
Esto me parece muy delicado a primera vista, aunque no debemos caer en el mal vicio de mal pensarnos, pero imaginemos un desarrollador vengativo enfadado por que puedas desinstalar sus plugins, y decida que todo aquel que quiera desinstalar sus plugins, recibirá una sorpresa en forma de limpieza total de la base de datos, dejandoló sin datos, posts, comentarios, … Me parece algo muy delicado como para delegarlo a un plugin,… quizas haga falta un sistema más complejo que el propuesto.
Sistema de desinstalación perfecto
En mi opinión el sistema perfecto para estos casos, sería que el propio WordPress, guardara una relación interna de los cambios producidos por el plugin a la hora de activarse, osea que tengamos algo así:
Akismet
- FILES
- Akismet/Akismet.php
- Akismet/OtroFichero.php
- Akismet/...
- BD
- Akismet_Table
- Otra_Akismet_Table
- OPTIONS
- Akismet_active
- Akismet_API_key
- ....
Por ejemplo, que se encargue de facilitar la tarea de desinstalación futura. Quizas alguien quiera dedicarle el tiempo que no tengo para desarrollar un plugin capaz de capturar todos los eventos producidos por la instalación de un plugin. Seguro que la comunidad WP, lo recibiría con los brazos bien abiertos!!! 😀
3 comentarios, 0 referencias
+
#