Actions

Make your plugin compatible with LS4/nl: Difference between revisions

From LimeSurvey Manual

(Created page with "Zorg ervoor dat u de nieuwe map wijzigt of toevoegt als deze hard gecodeerd is in uw plug-in.")
No edit summary
 
(16 intermediate revisions by 2 users not shown)
Line 16: Line 16:


<center>[[File:config_xml.png]]</center>
<center>[[File:config_xml.png]]</center>


==De nieuwe map plugin==
==De nieuwe map plugin==
Line 25: Line 24:
Zorg ervoor dat u de nieuwe map wijzigt of toevoegt als deze hard gecodeerd is in uw plug-in.  
Zorg ervoor dat u de nieuwe map wijzigt of toevoegt als deze hard gecodeerd is in uw plug-in.  


'''Example:'''
'''Voorbeeld:'''




Line 31: Line 30:




==The new plugin events==
==De nieuwe plugin events==
 




Some plugin events from LS3 were deprecated. Use the new plugin events introduced in LS4 to replace the old plugin events.
For more information check our development manual on plugin events at https://manual.limesurvey.org/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 [[Plugin_events|plug-in events]].


==Deprecated functions and methods==
==Verouderde functies en methoden==




Since the code base or structure of LimeSurvey 4 changed, there are a lot of methods or functions that are not used anymore.  
Sinds de codebase / structuur van LimeSurvey 4 is veranderd, zijn er veel methoden of functies die niet meer worden gebruikt.
To fix this problem, you need to enable the debug mode on the config.php file first and then go to the plugin page. Any method that does not exit anymore will be shown on the error page.  
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.  


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.  
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.  




'''Example:'''
'''Voorbeeld:'''




Line 54: Line 52:




=Best Practice=
=Voorkeur=






==Avoid SVG files==
==Vermijd SVG-bestanden==






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.  
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.
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).
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).




==Avoid global constants==
==Vermijd globale constanten==






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.  
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.  


==Use Namespaces==
==Gebruik 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.
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.




'''Example:'''
'''Voorbeeld:'''





Latest revision as of 17:53, 20 March 2021


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: