Actions

Rendi il tuo plugin compatibile con LS4

From LimeSurvey Manual

Revision as of 14:20, 3 August 2023 by Maren.fritz (talk | contribs) (Created page with "Poiché la base di codice o la struttura di LimeSurvey 4 è cambiata, ci sono molti metodi o funzioni che non vengono più utilizzati. Per risolvere questo problema, devi pri...")


Modifiche tecniche

Il nuovo file di configurazione XML

A partire da LimeSurvey 4.0, i plugin necessitano di un file di configurazione XML per essere eseguiti nell'applicazione.

La ragione di ciò è la possibilità di memorizzare informazioni sui metadati come l'autore del plug-in, l'e-mail di supporto o le informazioni sugli aggiornamenti.

Questo file XML è obbligatorio in LimeSurvey 4. Dovrebbe trovarsi nella directory principale del plugin. Per maggiori informazioni controlla lo sviluppo del plugin plugins

Esempio:

La nuova directory dei plugin

La directory dei plugin è cambiata in LimeSurvey 4. Per motivi di sicurezza, la directory dei plugin si trova ora nella directory di caricamento (/upload/plugins) a causa del nuovo gestore dei plugin (Plugin uploader). Per i caricamenti manuali, si consiglia di caricare i file nella nuova directory per evitare malfunzionamenti del software.

Assicurati di modificare o aggiungere la nuova directory se è hardcoded nel tuo plugin.

Esempio:



I nuovi eventi del plugin

Alcuni eventi plugin di LS3 sono stati deprecati. Usa i nuovi eventi del plugin introdotti in LS4 per sostituire i vecchi eventi del plugin. Per ulteriori informazioni consulta il nostro manuale di sviluppo su plugin events.

Funzioni e metodi deprecati

Poiché la base di codice o la struttura di LimeSurvey 4 è cambiata, ci sono molti metodi o funzioni che non vengono più utilizzati. Per risolvere questo problema, devi prima abilitare la modalità di debug sul file config.php e poi andare alla pagina del plugin. Qualsiasi metodo che non esce più verrà mostrato nella pagina di errore.

Some of the methods are renamed in LS4 or are not used anymore. To be sure that your plugin works for both LS3 & LS4, check the version of LS before calling the method you need.


Example:



Best Practice

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: