Actions

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

From LimeSurvey Manual

(Created page with "<center>File:config_xml.png</center>")
(Created page with "'''Przykład:'''")
 
(10 intermediate revisions by the same user not shown)
Line 19: Line 19:
==Nowy katalog wtyczek==
==Nowy katalog wtyczek==


The plugin directory is changed in LimeSurvey 4. For security reasons, the plugin directory is now located in the upload directory (/upload/plugins) due to the new plugin manager (Plugin uploader).  
Katalog wtyczek został zmieniony w LimeSurvey 4. Ze względów bezpieczeństwa katalog wtyczek znajduje się teraz w katalogu przesyłania (/upload/plugins) ze względu na nowego menedżera wtyczek (Plugin uploader).  
For manual uploads, we recommend to upload your files to the new directory to avoid software malfunctioning.  
W przypadku przesyłania ręcznego zalecamy przesłanie plików do nowego katalogu, aby uniknąć nieprawidłowego działania oprogramowania.  


Make sure to change or add the new directory if it is hard-coded in your plugin.  
Pamiętaj, aby zmienić lub dodać nowy katalog, jeśli jest on zakodowany na stałe w Twojej wtyczce.  


'''Example:'''
'''Przykład:'''




Line 30: Line 30:




==The new plugin events==
==Nowe wydarzenia dotyczące wtyczek==






Some plugin events from LS3 were deprecated. Use the new plugin events introduced in LS4 to replace the old plugin events.  
Niektóre zdarzenia wtyczek z LS3 zostały uznane za przestarzałe. Użyj nowych zdarzeń wtyczek wprowadzonych w LS4, aby zastąpić stare zdarzenia wtyczek.  
For more information check our development manual on [[Plugin_events|plugin events]].
Więcej informacji znajdziesz w naszym podręczniku programowania na [[Plugin_events|wydarzenia wtyczek]].


==Deprecated functions and methods==
==Przestarzałe funkcje i metody==




Since the code base or structure of LimeSurvey 4 changed, there are a lot of methods or functions that are not used anymore.  
Ponieważ baza kodu lub struktura LimeSurvey 4 uległa zmianie, istnieje wiele metod i funkcji, które nie są już używane.  
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.  
Aby rozwiązać ten problem, musisz najpierw włączyć tryb debugowania w pliku config.php, a następnie przejść do strony wtyczki. Każda metoda, która nie zakończy się już, zostanie wyświetlona na stronie błędu.  


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.  
Niektóre metody zostały przemianowane w LS4 lub nie są już używane. Aby mieć pewność, że Twoja wtyczka działa zarówno dla LS3, jak i LS4, sprawdź wersję LS przed wywołaniem potrzebnej metody.  




'''Example:'''
'''Przykład:'''




Line 52: Line 52:




=Best Practice=
=Najlepsza praktyka=






==Avoid SVG files==
==Unikaj plików SVG==






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.  
Ze względów bezpieczeństwa (XSS) przesyłanie plików SVG nie jest możliwe. Osoba przesyłająca wtyczkę zignoruje pliki SVG. Zastąp je plikami PNG lub JPEG.  
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).
Przesyłanie plików SVG jest możliwe tylko wtedy, gdy masz dostęp do katalogu instalacyjnego za pośrednictwem FTP lub innych narzędzi serwerowych (przesyłanie plików na własne ryzyko).




==Avoid global constants==
==Unikaj stałych globalnych==






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.  
Unikaj używania stałych globalnych, które mogą zostać zwinięte w przypadku zmiennych podstawowej aplikacji lub innych wtyczek, takich jak „ROOT_PATH”. Nie używaj ogólnie stałej globalnej do tworzenia wtyczek.  


==Use Namespaces==
==Użyj przestrzeni nazw==
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.
Użyj przestrzeni nazw dla lepszej organizacji, grupując klasy, które współpracują w celu wykonania zadania we wtyczce. W ten sposób unikasz używania klas, które są już używane w podstawowej aplikacji.




'''Example:'''
'''Przykład:'''





Latest revision as of 16:13, 12 September 2023


Zmiany techniczne

Nowy plik konfiguracyjny XML

Od wersji LimeSurvey 4.0 wtyczki wymagają pliku konfiguracyjnego XML, aby mogły zostać uruchomione w aplikacji.

Powodem tego jest możliwość przechowywania informacji o metadanych, takich jak autor wtyczki, adres e-mail pomocy technicznej lub informacje o aktualizatorach.

Ten plik XML jest obowiązkowy w LimeSurvey 4. Powinien znajdować się w katalogu głównym wtyczki. Aby uzyskać więcej informacji, sprawdź rozwój wtyczki plugins

Przykład:

Nowy katalog wtyczek

Katalog wtyczek został zmieniony w LimeSurvey 4. Ze względów bezpieczeństwa katalog wtyczek znajduje się teraz w katalogu przesyłania (/upload/plugins) ze względu na nowego menedżera wtyczek (Plugin uploader). W przypadku przesyłania ręcznego zalecamy przesłanie plików do nowego katalogu, aby uniknąć nieprawidłowego działania oprogramowania.

Pamiętaj, aby zmienić lub dodać nowy katalog, jeśli jest on zakodowany na stałe w Twojej wtyczce.

Przykład:



Nowe wydarzenia dotyczące wtyczek

Niektóre zdarzenia wtyczek z LS3 zostały uznane za przestarzałe. Użyj nowych zdarzeń wtyczek wprowadzonych w LS4, aby zastąpić stare zdarzenia wtyczek. Więcej informacji znajdziesz w naszym podręczniku programowania na wydarzenia wtyczek.

Przestarzałe funkcje i metody

Ponieważ baza kodu lub struktura LimeSurvey 4 uległa zmianie, istnieje wiele metod i funkcji, które nie są już używane. Aby rozwiązać ten problem, musisz najpierw włączyć tryb debugowania w pliku config.php, a następnie przejść do strony wtyczki. Każda metoda, która nie zakończy się już, zostanie wyświetlona na stronie błędu.

Niektóre metody zostały przemianowane w LS4 lub nie są już używane. Aby mieć pewność, że Twoja wtyczka działa zarówno dla LS3, jak i LS4, sprawdź wersję LS przed wywołaniem potrzebnej metody.


Przykład:



Najlepsza praktyka

Unikaj plików SVG

Ze względów bezpieczeństwa (XSS) przesyłanie plików SVG nie jest możliwe. Osoba przesyłająca wtyczkę zignoruje pliki SVG. Zastąp je plikami PNG lub JPEG.

Przesyłanie plików SVG jest możliwe tylko wtedy, gdy masz dostęp do katalogu instalacyjnego za pośrednictwem FTP lub innych narzędzi serwerowych (przesyłanie plików na własne ryzyko).


Unikaj stałych globalnych

Unikaj używania stałych globalnych, które mogą zostać zwinięte w przypadku zmiennych podstawowej aplikacji lub innych wtyczek, takich jak „ROOT_PATH”. Nie używaj ogólnie stałej globalnej do tworzenia wtyczek.

Użyj przestrzeni nazw

Użyj przestrzeni nazw dla lepszej organizacji, grupując klasy, które współpracują w celu wykonania zadania we wtyczce. W ten sposób unikasz używania klas, które są już używane w podstawowej aplikacji.


Przykład: