Maak uw plug-in compatibel met LimeSurvey4
From LimeSurvey Manual
Technische wijzigingen
Het nieuwe XML-configuratiebestand
Sinds LimeSurvey 4.0 hebben plug-ins een XML-configuratiebestand nodig om in de applicatie gebruikt te kunnen worden.
De reden hiervoor is de mogelijkheid om metadata-informatie op te slaan, zoals plugin Author, e-mail te ondersteunen en voor updatersinformatie.
Dit XML-bestand is verplicht in LimeSurvey 4. Het moet in de hoofdmap van de plug-in staan. Meer informatie voor het ontwikkelen van plugins
Voorbeeld:
De nieuwe map plugin
De map plug-in is gewijzigd in LimeSurvey 4. Om veiligheidsredenen bevindt de plug-in-map zich nu in de upload-map (/upload/plug-ins) vanwege de nieuwe plug-inbeheerder (Plug-in-uploader). Voor handmatige uploads raden we aan om uw bestanden naar de nieuwe map te uploaden om softwarestoringen te voorkomen.
Zorg ervoor dat u de nieuwe map wijzigt of toevoegt als deze hard gecodeerd is in uw plug-in.
Voorbeeld:
De nieuwe plugin events
Sommige plug-in-events van LS3 zijn verouderd. Gebruik de nieuwe plug-in-events die in LS4 zijn geïntroduceerd om de oude plug-in-events te vervangen. Raadpleeg voor meer informatie onze ontwikkelingshandleiding over plug-in events.
Verouderde functies en methoden
Sinds de codebase / structuur van LimeSurvey 4 is veranderd, zijn er veel methoden of functies die niet meer worden gebruikt. Om dit probleem op te lossen, moet u eerst de foutopsporingsmodus op het bestand config.php inschakelen en vervolgens naar de plug-in-pagina gaan. Elke methode die niet meer bestaat, wordt op de foutpagina weergegeven.
Sommige methoden zijn hernoemd in LS4 of worden niet meer gebruikt. Om er zeker van te zijn dat uw plug-in voor zowel LS3 als LS4 werkt, controleert u de versie van LS voordat u de gewenste methode aanroept.
Voorbeeld:
Voorkeur
Vermijd SVG-bestanden
Om veiligheidsredenen (XSS) is het uploaden van SVG-bestanden niet mogelijk. De plug-in-uploader negeert SVG-bestanden. Vervang ze door PNG- of JPEG-bestanden. Het uploaden van SVG-bestanden is alleen mogelijk als u toegang heeft tot de installatiemap via ftp of andere serverhulpmiddelen (uploaden van bestanden is op eigen risico).
Vermijd globale constanten
Vermijd het gebruik van globale constanten die kunnen storen met variabelen van de kerntoepassing of andere plug-ins zoals "ROOT_PATH". Gebruik in het algemeen geen globale constante voor de ontwikkeling van plug-ins.
Gebruik namespaces
Gebruik de namespace voor een betere organisatie door classes te groeperen die samenwerken om een taak in uw plug-in uit te voeren. Op die manier vermijdt u het gebruik van classes die al in de applicatie worden gebruikt.
Voorbeeld: