Shathe / 101CrawlersWeb

2 stars 2 forks source link

Incoherencia DSL - plugins #51

Closed Shathe closed 8 years ago

Shathe commented 8 years ago

Debido a esto de momento voy a trabajar haciendo que los DSL no contengan plugins.

Hay un pequeño problema que es que si a través de la web me pasan un DSL ahora mismo, tal como butler funciona, en el dsl especificas la ruta de los jar.

Localmente ha funcionado porque en tu máquina local esta ruta coincide donde de verdad están (porque la pones tu). Pero ahora, una vez te dan el dsl (que lo tienes que pasar al servidor) esas rutas de los plugins especificadas en el dsl, no serán las verdadderas una vez el dsl esté en el servidor ya que esas rutas no existirán en el servidor.

Entonces no sé muy bien como resolver esto, si editando butler, si haciendo algun apaño dentro del servidor como, no sé, editando el fichero un poco a pelo la ruta de los jars pooninedo la ruta donde estés copiando los jars que te pasan (para que butler pueda validarlo y generar el docker). Resumiendo sería cómo dará el cliente los plugins (cada plugin puede tener nombre, fichero xml y los jars) y luego una vez los tenga, el servidor los descarga y como resolver el cambio de rutas respecto al Dsl Necesito consejo en este tema ya que es algo delicado.

Shathe commented 8 years ago

Hasta ahora la mejor solución que he pensado ha sido esta: Cambiar el funcionamiento de validación y el DSL en referente a los plugins, en vez de ser

Que se especifique solo una ruta (directorio) donde estarán dentro todos los plugins, que cada uno será una carpeta con su plugin.xml y sus ficheros.jar,

y así lo que se tendria que hacer es copiar todo ese contenido del cliente al servidor, y el servidor lo copiaria en el sistema de ficheros, cambiando el nombre del directorio en el que pone los plugins tanto en el FS como en el DSL.

Si se te ocurre algo mejor, estoy abieto a sugerencias.

De momento sigo sin implementar esto hasta que se resuelva del todo

fjlopez commented 8 years ago

Tengo una solución alternativa: establecer un convenio Asumir que todos los ficheros de plugins están siempre en determinadas posiciones respecto al DSL Imagina que tenemos 2 plugins: pluginA y pluginB, en el DSL habría que declarar en la propiedad correspondiente [“pluginA", “pluginB”] y el sistema los buscaría en una carpeta relativa al DSL en plugins/pluginA y en plugins/pluginB