Tee lisäosastasi yhteensopiva LS4:n kanssa
From LimeSurvey Manual
Tekniset muutokset
Uusi XML-määritystiedosto
LimeSurvey 4.0:sta alkaen lisäosat tarvitsevat XML-määritystiedoston, jotta ne voidaan suorittaa sovelluksessa.
Syynä tähän on mahdollisuus tallentaa metatietoja, kuten lisäosan tekijä, tuen sähköpostiosoite tai päivitystiedot.
Tämä XML-tiedosto on pakollinen LimeSurvey 4:ssä. Sen tulee sijaita lisäosan juurihakemistossa. Lisätietoja saat lisäosien kehitysohjeesta: Lisäosat
Esimerkki:

Uusi lisäosahakemisto
Lisäosahakemisto on muuttunut LimeSurvey 4:ssä. Turvallisuussyistä lisäosahakemisto sijaitsee nyt lataushakemistossa (/upload/plugins) uuden lisäosien hallinnan (lisäosien lataaja) vuoksi. Manuaalisissa latauksissa suosittelemme lataamaan tiedostot uuteen hakemistoon, jotta ohjelmisto toimii oikein.
Muista vaihtaa tai lisätä uusi hakemisto, jos se on kovakoodattu lisäosaasi.
Esimerkki:

Uudet lisäosatapahtumat
Jotkin LS3:n lisäosatapahtumat on poistettu käytöstä. Korvaa vanhat lisäosatapahtumat LS4:ssä esitellyillä uusilla lisäosatapahtumilla. Lisätietoja saat kehitysoppaastamme: lisäosatapahtumat.
Vanhentuneet funktiot ja metodit
Koska LimeSurvey 4:n koodipohja ja rakenne ovat muuttuneet, monia metodeja tai funktioita ei enää käytetä. Korjataksesi tämän ota ensin virheenjäljitystila käyttöön config.php-tiedostossa ja siirry sitten lisäosasivulle. Kaikki metodit, joita ei enää ole, näytetään virhesivulla.
Jotkin metodit on nimetty uudelleen LS4:ssä tai niitä ei enää käytetä. Varmistaaksesi, että lisäosasi toimii sekä LS3:ssa että LS4:ssä, tarkista LS:n versio ennen tarvitsemasi metodin kutsumista.
Esimerkki:

Parhaat käytännöt
Vältä SVG-tiedostoja
Turvallisuussyistä (XSS) SVG-tiedostojen lataaminen ei ole mahdollista. Lisäosien lataaja ohittaa SVG-tiedostot. Korvaa ne PNG- tai JPEG-tiedostoilla. SVG-tiedostojen lataaminen on mahdollista vain, jos sinulla on pääsy asennushakemistoon FTP:n tai muiden palvelintyökalujen kautta (lataa tiedostoja omalla vastuullasi).
Vältä globaaleja vakioita
Vältä sellaisten globaalien vakioiden käyttöä, jotka voivat olla ristiriidassa ydinsovelluksen tai muiden lisäosien muuttujien kanssa, kuten „ROOT_PATH“. Älä yleensäkään käytä globaaleja vakioita lisäosien kehityksessä.
Käytä nimiavaruuksia
Käytä nimiavaruutta selkeämmän jäsentelyn vuoksi ryhmittelemällä yhdessä toimivat luokat, jotka suorittavat tehtävän lisäosassasi. Näin vältät sellaisten luokkien käyttämisen, jotka ovat jo käytössä ydinsovelluksessa.
Esimerkki:

