Actions

Rendre votre plugin compatible avec LS4

From LimeSurvey Manual

Revision as of 08:54, 27 September 2023 by Maren.fritz (talk | contribs) (Created page with "=Meilleure pratique=")


Modifications techniques

Le nouveau fichier de configuration XML

Depuis LimeSurvey 4.0, les plugins nécessitent un fichier de configuration XML pour être exécutés dans l'application.

La raison en est la possibilité de stocker des informations de métadonnées telles que l'auteur du plugin, l'e-mail d'assistance ou les informations sur les mises à jour.

Ce fichier XML est obligatoire dans LimeSurvey 4. Il doit se trouver dans le répertoire racine du plugin. Pour plus d'informations, consultez le développement du plugin plugins

Exemple:

Le nouveau répertoire du plugin

Le répertoire des plugins est modifié dans LimeSurvey 4. Pour des raisons de sécurité, le répertoire des plugins se trouve désormais dans le répertoire de téléchargement (/upload/plugins) grâce au nouveau gestionnaire de plugins (Plugin uploader). Pour les téléchargements manuels, nous vous recommandons de télécharger vos fichiers dans le nouveau répertoire pour éviter un dysfonctionnement du logiciel.

Assurez-vous de modifier ou d'ajouter le nouveau répertoire s'il est codé en dur dans votre plugin.

Exemple:



Les nouveaux événements du plugin

Certains événements de plugin de LS3 sont obsolètes. Utilisez les nouveaux événements de plugin introduits dans LS4 pour remplacer les anciens événements de plugin. Pour plus d'informations, consultez notre manuel de développement sur les plugin events.

Fonctions et méthodes obsolètes

Depuis que la base de code ou la structure de LimeSurvey 4 a changé, de nombreuses méthodes ou fonctions ne sont plus utilisées. Pour résoudre ce problème, vous devez d'abord activer le mode débogage sur le fichier config.php, puis accéder à la page du plugin. Toute méthode qui ne se termine plus sera affichée sur la page d'erreur.

Certaines méthodes sont renommées dans LS4 ou ne sont plus utilisées. Pour être sûr que votre plugin fonctionne à la fois pour LS3 et LS4, vérifiez la version de LS avant d'appeler la méthode dont vous avez besoin.


Exemple:



Meilleure pratique

Avoid SVG files

For security (XSS) reasons, the upload of SVG Files is not possible. The Plugin uploader will ignore SVG files. Replace them by PNG or JPEG files. The upload of SVG files is possible only if you have access to the installation directory via ftp or other server tools (Upload any files at your own risks).


Avoid global constants

Avoid the use of global constants that can collapse with variables of the core application or other plugins like „ROOT_PATH“. Don‘t use global constant in general for plugin development.

Use Namespaces

Use namespace for better organization by grouping classes that work together to perform a task in your plugin. In that way you avoid using classes that are being used already in the core application.


Example: