Actions

Rendi il tuo plugin compatibile con LS4

From LimeSurvey Manual

This page is a translated version of the page Make your plugin compatible with LS4 and the translation is 100% complete.


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.

Alcuni dei metodi vengono rinominati in LS4 o non vengono più utilizzati. Per essere sicuro che il tuo plugin funzioni sia per LS3 che per LS4, controlla la versione di LS prima di chiamare il metodo che ti serve.


Esempio:



Migliore pratica

Evita i file SVG

Per motivi di sicurezza (XSS), il caricamento di file SVG non è possibile. L'uploader del plugin ignorerà i file SVG. Sostituiscili con file PNG o JPEG. Il caricamento di file SVG è possibile solo se si ha accesso alla directory di installazione tramite ftp o altri strumenti del server (Caricare qualsiasi file a proprio rischio).


Evita costanti globali

Evita l'uso di costanti globali che possono collassare con le variabili dell'applicazione principale o altri plugin come "ROOT_PATH". Non utilizzare la costante globale in generale per lo sviluppo di plug-in.

Usa i namespace

Usa i namespace per una migliore organizzazione raggruppando le classi che lavorano insieme per eseguire un compito nel tuo plugin. In questo modo si evita di utilizzare classi già utilizzate nell'applicazione principale.


Esempio: