Uploaded image for project: 'Runtime'
  1. Runtime
  2. RUNTIME-157

Plugin.xml : ajouter un attribut optionnel "context-plugin" au niveau des imports de JS

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Invalid
    • Icon: Trivial Trivial
    • 2.8.4
    • None
    • None
    • plugin.xml, extensions avec import fichier JS

      Dans certains cas, on est obligé de dupliquer un JS simplement pour qu'il soit chargé avec le bon nom de plugin.

      Exemple : c'est dans le pages.js du plugin web que sont codés les appels AJAX aux actions d'affectation de contenus. Le code JS est suffisament générique pour n'avoir pas besoin d'être retouché, malheureusement les URL appelées sont liées à la variable JS "plugin"... Pour surcharger les actions, on est donc obligé de dupliquer le JS et de le mettre dans un plugin, parfois fait exprès pour l'occasion.

      Donc il serait bien de pouvoir définir un attribut optionnel "context-plugin" qui, s'il n'est pas spécifié, prenne la même valeur que "plugin". Dans le JS, on se servirait au choix des variables "plugin" ou "context-plugin" suivant qu'on veut obliger à passer certaines URL par le plugin d'origine ou que l'on autorise à ce qu'elles soient envoyées dans d'autres plugins.

      Dans l'exemple précédent, on n'a pour l'instant que deux solutions pour utiliser un JS d'un autre plugin

      1) <File>js/pages.js.i18n</File>

      Mais ça oblige à dupliquer le JS pour l'avoir dans notre plugin.

      2) <File plugin="web">js/pages.js.i18n</File>

      Qui évite de dupliquer mais nous fait perdre le contrôle sur les URL appelées.

      Le but serait maintenant de pouvoir déclarer

      <File plugin="web" context-plugin="mon_plugin">js/pages.js.i18n</File>

      L'attribut "plugin" permet de ne pas dupliquer le JS, l'attribut "context-plugin", qui serait utilisé dans la construction des URL, permettrait de faire appeler les URL définies dans la sitemap.xmap du plugin "mon_plugin".

      Bien entendu, tout comme l'attribut "plugin" est optionnel, "context-plugin" le serait aussi et vaudrait "plugin", par défaut.

            cedric Cédric Damioli
            jczerny Jean Czerny (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: