x

Hovedkapitler

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Hurtig startguide
  3. LimeSurvey CE - Installation
  4. Sådan designes en god undersøgelse (guide)
  5. Kom godt i gang
  6. LimeSurvey konfiguration
  7. Introduktion - Undersøgelser
  8. Se undersøgelsesindstillinger
  9. Se undersøgelsesmenuen
  10. Se undersøgelsens struktur
  11. Introduktion - Spørgsmål
  12. Introduktion - Spørgegrupper
  13. Introduktion - Undersøgelser - Ledelse
  14. Indstillinger for undersøgelsesværktøjslinje
  15. Flersproget undersøgelse
  16. Hurtig startguide - ExpressionScript
  17. Avancerede egenskaber
  18. Generelle FAQ
  19. Fejlfinding
  20. Løsninger
  21. Licens
  22. Versionsændringslog
  23. Plugins - Avanceret
 Actions

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

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "Nogle plugin-begivenheder fra LS3 blev forældet. Brug de nye plugin-begivenheder introduceret i LS4 til at erstatte de gamle plugin-begivenheder. For mere information se vor..."
Maren.fritz (talk | contribs)
Created page with "==Brug navnerum== Brug navnerum til bedre organisering ved at gruppere klasser, der arbejder sammen om at udføre en opgave i dit plugin. På den måde undgår du at bruge kla..."
 
(6 intermediate revisions by the same user not shown)
Line 40: Line 40:




Since the code base or structure of LimeSurvey 4 changed, there are a lot of methods or functions that are not used anymore.  
Siden kodebasen eller strukturen af LimeSurvey 4 ændrede sig, er der en masse metoder eller funktioner, der ikke bruges længere.  
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.  
For at løse dette problem skal du først aktivere debug-tilstanden på filen config.php og derefter gå til plugin-siden. Enhver metode, der ikke afsluttes længere, vil blive vist på fejlsiden.  


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.  
Nogle af metoderne er omdøbt i LS4 eller bruges ikke længere. For at være sikker på, at dit plugin fungerer til både LS3 og LS4, skal du tjekke versionen af LS, før du kalder den metode, du har brug for.  




'''Example:'''
'''Eksempel:'''




Line 52: Line 52:




=Best Practice=
=Bedste praksis=






==Avoid SVG files==
==Undgå SVG-filer==






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.  
Af sikkerhedshensyn (XSS) er upload af SVG-filer ikke muligt. Plugin-uploaderen ignorerer SVG-filer. Erstat dem med PNG- eller JPEG-filer.  
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).
Upload af SVG-filer er kun mulig, hvis du har adgang til installationsmappen via ftp eller andre serverværktøjer (Upload alle filer på egen risiko).




==Avoid global constants==
==Undgå globale konstanter==






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.  
Undgå brugen af globale konstanter, der kan kollapse med variabler i kerneapplikationen eller andre plugins som "ROOT_PATH". Brug ikke global konstant generelt til plugin-udvikling.  


==Use Namespaces==
==Brug navnerum==
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.
Brug navnerum til bedre organisering ved at gruppere klasser, der arbejder sammen om at udføre en opgave i dit plugin. På den måde undgår du at bruge klasser, der allerede bruges i kerneapplikationen.




'''Example:'''
'''Eksempel:'''





Latest revision as of 12:44, 29 December 2023


Tekniske ændringer

Den nye XML-konfigurationsfil

Siden LimeSurvey 4.0 har plugins brug for en XML-konfigurationsfil for at blive kørt i applikationen.

Årsagen til dette er muligheden for at gemme metadataoplysninger såsom plugin-forfatter, support-e-mail eller opdateringsoplysninger.

Denne XML-fil er obligatorisk i LimeSurvey 4. Den skal være placeret i pluginnets rodbibliotek. For mere information se plugin-udviklingen plugins

Eksempel:

Den nye plugin-mappe

Plugin-mappen er ændret i LimeSurvey 4. Af sikkerhedsmæssige årsager er plugin-mappen nu placeret i upload-mappen (/upload/plugins) på grund af den nye plugin-manager (Plugin-uploader). For manuelle uploads anbefaler vi at uploade dine filer til den nye mappe for at undgå softwarefejl.

Sørg for at ændre eller tilføje den nye mappe, hvis den er hårdkodet i dit plugin.

Eksempel:



De nye plugin-begivenheder

Nogle plugin-begivenheder fra LS3 blev forældet. Brug de nye plugin-begivenheder introduceret i LS4 til at erstatte de gamle plugin-begivenheder. For mere information se vores udviklingsmanual om plugin begivenheder.

Udgåede funktioner og metoder

Siden kodebasen eller strukturen af LimeSurvey 4 ændrede sig, er der en masse metoder eller funktioner, der ikke bruges længere. For at løse dette problem skal du først aktivere debug-tilstanden på filen config.php og derefter gå til plugin-siden. Enhver metode, der ikke afsluttes længere, vil blive vist på fejlsiden.

Nogle af metoderne er omdøbt i LS4 eller bruges ikke længere. For at være sikker på, at dit plugin fungerer til både LS3 og LS4, skal du tjekke versionen af LS, før du kalder den metode, du har brug for.


Eksempel:



Bedste praksis

Undgå SVG-filer

Af sikkerhedshensyn (XSS) er upload af SVG-filer ikke muligt. Plugin-uploaderen ignorerer SVG-filer. Erstat dem med PNG- eller JPEG-filer. Upload af SVG-filer er kun mulig, hvis du har adgang til installationsmappen via ftp eller andre serverværktøjer (Upload alle filer på egen risiko).


Undgå globale konstanter

Undgå brugen af globale konstanter, der kan kollapse med variabler i kerneapplikationen eller andre plugins som "ROOT_PATH". Brug ikke global konstant generelt til plugin-udvikling.

Brug navnerum

Brug navnerum til bedre organisering ved at gruppere klasser, der arbejder sammen om at udføre en opgave i dit plugin. På den måde undgår du at bruge klasser, der allerede bruges i kerneapplikationen.


Eksempel: