Gjør tillegget ditt kompatibelt med LS4
From LimeSurvey Manual
Tekniske endringer
Den nye XML-konfigurasjonsfilen
Siden LimeSurvey 4.0 trenger tillegg en XML-konfigurasjonsfil for å kunne kjøre i applikasjonen.
Årsaken er muligheten til å lagre metadata, for eksempel tilleggets forfatter, e-postadresse for støtte eller informasjon om oppdateringer.
Denne XML-filen er obligatorisk i LimeSurvey 4. Den skal ligge i rotmappen til tillegget. For mer informasjon, se utviklingsdokumentasjonen for tillegg
Eksempel:

Den nye mappen for tillegg
Mappen for tillegg er endret i LimeSurvey 4. Av sikkerhetshensyn ligger mappen for tillegg nå i opplastingsmappen (/upload/plugins) på grunn av den nye tilleggsbehandleren (Plugin uploader). Ved manuell opplasting anbefaler vi at du laster opp filene dine til den nye mappen for å unngå feil i programvaren.
Pass på å endre eller legge til den nye mappen hvis den er hardkodet i tillegget ditt.
Eksempel:

De nye tilleggshendelsene
Noen tilleggshendelser fra LS3 er utfasede. Bruk de nye tilleggshendelsene som ble introdusert i LS4 i stedet for de gamle. For mer informasjon, se utviklerhåndboken vår om tilleggshendelser.
Utfasede funksjoner og metoder
Siden kodebasen og strukturen i LimeSurvey 4 er endret, er det mange metoder og funksjoner som ikke lenger brukes. For å løse dette problemet må du først aktivere feilsøkingsmodus i filen config.php og deretter gå til siden for tillegg. Alle metoder som ikke lenger finnes, vises på feilsiden.
Noen av metodene er omdøpt i LS4 eller brukes ikke lenger. For å sikre at tillegget ditt fungerer i både LS3 og LS4, sjekk versjonen av LS før du kaller metoden du trenger.
Eksempel:

Beste praksis
Unngå SVG-filer
Av sikkerhetshensyn (XSS) er det ikke mulig å laste opp SVG-filer. Tilleggsopplasteren ignorerer SVG-filer. Erstatt dem med PNG- eller JPEG-filer. Opplasting av SVG-filer er bare mulig hvis du har tilgang til installasjonsmappen via FTP eller andre serververktøy (last opp filer på eget ansvar).
Unngå globale konstanter
Unngå bruk av globale konstanter som kan komme i konflikt med variabler i kjerneapplikasjonen eller andre tillegg, som „ROOT_PATH“. Bruk generelt ikke globale konstanter i utvikling av tillegg.
Bruk navnerom for bedre organisering ved å gruppere klasser som jobber sammen om en oppgave i tillegget ditt. På den måten unngår du å bruke klasser som allerede brukes i kjerneapplikasjonen.
Eksempel:

