Contenido

Fun with Uninstallation, un plugin para desinstalar plugins

10 ene

+ 3

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. 

Fun with Uninstallation

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!!! :D

  • Me parece q este tipo de programas son muy importantes y fundamentales para wordpress.

    Es necesario preservar nuestra instalación siempre limpia como el primer día para evitar conflictos no deseados y lograr la maxima performance.

    Creo q es d tal importancia que deberia ser tomado como un tema oficial en el equipo de desarrolo

    Saludos! y espero que alguien se ponga las pilas con este tema.

  • sí que presenta dudas de seguridad pero no muchas más que cuando decides instalar un plugin sin saber quién le ha hecho y sin mirar el código del mismo. Por suerte ahí tenemos el código para saber lo que hacen y si no sabes pues busca una fuente confiable de plugins como por ejemplo la página oficial (algo se te puede colar pero es más difícil).
    Me parece una buena iniciativa, integrarlo en WP no sería nada complicado aunque el trabajo mayor está en los plugins por desarrollar pero sobre todo en los ya desarrollados

  • ¿Y cómo se desinstala “Fun with uninstalation”? :P

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.