Spraw, aby Twoja wtyczka była kompatybilna z LS4
From LimeSurvey Manual
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: