MoonDragon Plugins

From MoonDragon Wiki

Jump to: navigation, search

El sistema de creación de plugins o extensiones es una de las razones del éxito de muchos programas destacados en el mundo del software libre. También es un componente esencial en muchos CMS y nuestra intención no es quedarnos atrás.

Utilizando el modelo de diseño de MoonDragon podemos permitir que el código desarrollado por programadores independientes, basado en el framework de MoonDragon, sea incorporado al CMS principal.

Framework de desarrollo para plugins

MoonDragon es un sistema versátil y puede aprovecharse su mismo sistema para desarrollar un framework de desarrollo de plugins

Las características de este sistema serían las siguientes:

  • Un acceso total al framework de MoonDragon, que comprende una serie de herramientas útiles para el desarrollo de un sitio web, muchas de las cuales podrán ser útiles para el desarrollo de plugins.
  • Herramientas de prueba y depuración. La capacidad de previsualizar fácilmente el resultado del plugin y una consola de errores pueden sonar complicados, pero no requieren una gran cantidad de trabajo para funcionar adecuadamente. Lo importante es tomar un enfoque hacia lo simple, tanto desde el punto de vista del desarrollador de plugins como desde la programación de las aplicaciones.
  • Herramienta de empaquetación. El programador independiente debe enfocarse en el desarrollo de su plugin y no debe preocuparse de detalles de configuración o empaquetamiento. El framework debe contar con un empaquetador sencillo que genere el archivo final del plugin, tentativamente un archivo comprimido en zip.

Características del sistema de plugins

El sistema de plugins debe ser parte esencial del sistema base y para esto requiere de ciertas normas para su correcto funcionamiento. Las sugerencias para el sistema son:

  • Los plugin se distribuirán como archivos comprimidos en formato zip.
  • El sistema contará con un sistema de instalación de plugins. El usuario solamente deberá subir el archivo del plugin correspondiente y el programa se encargará de la instalación, sin necesidad de acceso por FTP ni procedimientos complicados.
  • El sistema mantendrá una cache de los plugin instalados y los archivos relacionados. Cada plugin podrá desinstalarse fácilmente desde el panel de administración, y la desinstalación debe ejecutarse sin errores.
  • Los plugins podrán ser activados y desactivados. El sistema deberá de llevar un registro de aquellos plugins activos y no se permitirá el uso de aquellos plugin que no se encuentren activados.
  • Cada plugin estará compuesto por los siguientes archivos para su correcto funcionamiento:
    • Un script de funcionamiento que se incluirá en la carpeta acciones, y será el script que se asociará para utilizar el plugin. Deberá cumplir los estándares de desarrollo de script de acción de MoonDragon.
    • Una plantilla o en su defecto carpeta de plantillas que deberán cumplir con los estándares de diseño de plantillas de MoonDragon.
    • Una carpeta con scripts adicionales que será incluida en la carpeta acciones. Cada uno de estos scripts deberán cumplir con los mismos estándares del script principal. ( opcional )
    • Clases o funciones adicionales necesarias para el correcto funcionamiento del plugin. No se permitirá redefinir ningún elemento del framework principal de MoonDragon. ( opcional )
    • Un archivo de configuración que ejecutará todos las inicializaciones necesarias para el funcionamiento del plugin. ( opcional )
Todos estos archivos serán creados en el framework de desarrollo para los plugin y serán "instalados" en sus carpetas correspondientes mediante el programa de instalación del plugins de MoonDragon.
  • Si el plugin necesitara un panel de control especial, este se agregaría al panel de control principal del CMS a través del archivo de configuración del plugin.

Los plugins tendrán plena libertad de agregar todo tipo de nuevas funcionalidades a MoonDragon, siempre y cuando respeten los estándares de desarrollo establecidos.

Odin 00:00 19 abr 2008 (UTC)

Personal tools