Actions

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

From LimeSurvey Manual

(Created page with "==Veraltete Funktionen und Methoden==")
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 11: Line 11:
Der Grund dafür ist die Möglichkeit, Metadateninformationen wie Plugin-Autor, Support-E-Mail-Adresse oder Updater-Informationen zu speichern.  
Der Grund dafür ist die Möglichkeit, Metadateninformationen wie Plugin-Autor, Support-E-Mail-Adresse oder Updater-Informationen zu speichern.  


Diese XML-Datei ist in LimeSurvey 4 obligatorisch. Sie sollte sich im Stammverzeichnis des Plugins befinden. Weitere Informationen finden Sie in der Plugin-Entwicklung [[Plugins_-_advanced#Available_plugins|plugins]]
Diese XML-Datei ist in LimeSurvey 4 obligatorisch. Sie sollte sich im Stammverzeichnis des Plugins befinden. Weitere Informationen finden Sie in der Plugin-Entwicklung [[Plugins_-_advanced#Available_plugins|plugins]].


'''Beispiel:'''
'''Beispiel:'''
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.  
Da sich die Codebasis oder Struktur von LimeSurvey 4 geändert hat, gibt es viele Methoden oder Funktionen, die nicht mehr verwendet werden.  
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.  
Um dieses Problem zu beheben, müssen Sie zuerst den Debug-Modus in der Datei config.php aktivieren und dann zur Plugin-Seite gehen. Jede Methode, die nicht mehr beendet wird, wird auf der Fehlerseite angezeigt.  


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.  
Einige der Methoden werden in LS4 umbenannt oder nicht mehr verwendet. Um sicherzustellen, dass Ihr Plugin sowohl für LS3 als auch für LS4 funktioniert, überprüfen Sie die Version von LS, bevor Sie die benötigte Methode aufrufen.  




'''Example:'''
'''Beispiel:'''




Line 56: Line 56:




==Avoid SVG files==
==SVG-Dateien vermeiden==






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.  
Aus Sicherheitsgründen (XSS) ist das Hochladen von SVG-Dateien nicht möglich. Der Plugin-Uploader ignoriert SVG-Dateien. Ersetzen Sie sie durch PNG- oder JPEG-Dateien.  
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).
Das Hochladen von SVG-Dateien ist nur möglich, wenn Sie über FTP oder andere Server-Tools Zugriff auf das Installationsverzeichnis haben (das Hochladen aller Dateien erfolgt auf eigene Gefahr).




==Avoid global constants==
==Globale Konstanten vermeiden==






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.  
Vermeiden Sie die Verwendung globaler Konstanten, die mit Variablen der Kernanwendung oder anderen Plugins wie „ROOT_PATH“ kollidieren können. Verwenden Sie im Allgemeinen keine globalen Konstanten für die Plugin-Entwicklung.  


==Use Namespaces==
==Namespaces verwenden==
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.
Verwenden Sie Namespaces für eine bessere Organisation, indem Sie Klassen gruppieren, die zusammenarbeiten, um eine Aufgabe in Ihrem Plugin auszuführen. Auf diese Weise vermeiden Sie die Verwendung von Klassen, die bereits in der Kernanwendung verwendet werden.




'''Example:'''
'''Beispiel:'''





Latest revision as of 10:37, 28 March 2024


Technische Änderungen

Die neue XML-Konfigurationsdatei

Seit LimeSurvey 4.0 benötigen Plugins eine XML-Konfigurationsdatei, um in der Anwendung ausgeführt zu werden.

Der Grund dafür ist die Möglichkeit, Metadateninformationen wie Plugin-Autor, Support-E-Mail-Adresse oder Updater-Informationen zu speichern.

Diese XML-Datei ist in LimeSurvey 4 obligatorisch. Sie sollte sich im Stammverzeichnis des Plugins befinden. Weitere Informationen finden Sie in der Plugin-Entwicklung plugins.

Beispiel:

Das neue Plugin-Verzeichnis

Das Plugin-Verzeichnis wurde in LimeSurvey 4 geändert. Aus Sicherheitsgründen befindet sich das Plugin-Verzeichnis aufgrund des neuen Plugin-Managers (Plugin-Uploader) jetzt im Upload-Verzeichnis (/upload/plugins). Bei manuellen Uploads empfehlen wir, Ihre Dateien in das neue Verzeichnis hochzuladen, um Fehlfunktionen der Software zu vermeiden.

Stellen Sie sicher, dass Sie das neue Verzeichnis ändern oder hinzufügen, wenn es in Ihrem Plugin fest codiert ist.

Beispiel:



Die neuen Plugin-Ereignisse

Einige Plugin-Ereignisse von LS3 waren veraltet. Verwenden Sie die in LS4 eingeführten neuen Plugin-Ereignisse, um die alten Plugin-Ereignisse zu ersetzen. Weitere Informationen finden Sie in unserem Entwicklungshandbuch zu plugin events.

Veraltete Funktionen und Methoden

Da sich die Codebasis oder Struktur von LimeSurvey 4 geändert hat, gibt es viele Methoden oder Funktionen, die nicht mehr verwendet werden. Um dieses Problem zu beheben, müssen Sie zuerst den Debug-Modus in der Datei config.php aktivieren und dann zur Plugin-Seite gehen. Jede Methode, die nicht mehr beendet wird, wird auf der Fehlerseite angezeigt.

Einige der Methoden werden in LS4 umbenannt oder nicht mehr verwendet. Um sicherzustellen, dass Ihr Plugin sowohl für LS3 als auch für LS4 funktioniert, überprüfen Sie die Version von LS, bevor Sie die benötigte Methode aufrufen.


Beispiel:



Best Practice

SVG-Dateien vermeiden

Aus Sicherheitsgründen (XSS) ist das Hochladen von SVG-Dateien nicht möglich. Der Plugin-Uploader ignoriert SVG-Dateien. Ersetzen Sie sie durch PNG- oder JPEG-Dateien. Das Hochladen von SVG-Dateien ist nur möglich, wenn Sie über FTP oder andere Server-Tools Zugriff auf das Installationsverzeichnis haben (das Hochladen aller Dateien erfolgt auf eigene Gefahr).


Globale Konstanten vermeiden

Vermeiden Sie die Verwendung globaler Konstanten, die mit Variablen der Kernanwendung oder anderen Plugins wie „ROOT_PATH“ kollidieren können. Verwenden Sie im Allgemeinen keine globalen Konstanten für die Plugin-Entwicklung.

Namespaces verwenden

Verwenden Sie Namespaces für eine bessere Organisation, indem Sie Klassen gruppieren, die zusammenarbeiten, um eine Aufgabe in Ihrem Plugin auszuführen. Auf diese Weise vermeiden Sie die Verwendung von Klassen, die bereits in der Kernanwendung verwendet werden.


Beispiel: