Wstęp
Wtyczka umożliwia zarządzanie konfiguracjami (plikami konfiguracyjnymi) wtyczek zainstalowanych w systemie. Zamiast tworzenia dedykowanej zakładki do wgrywania/zmiany plików konfiguracyjnych dla każdej wtyczki z osobna, można zintegrować ją z PCM, która umożliwi użytkownikowi zmianę plików konfiguracyjnych dla wszystkich wtyczek w jednym miejscu.
Integracja z wtyczką
Aby zintegrować dowolną wtyczkę z PCM, należy dodać znacznik plugin-configuration w deskryptorze wtyczki - plik suncode-plugin.xml.
Przykładowy wpis w deskryptorze wtyczki:
<plugin-configuration key="plugin-configuration"
template-provider="com.suncode.plugin.somepluginid.TemplateProviderImpl"
change-listener="com.suncode.plugin.somepluginid.ChangeListenerImpl"
allow-file-management="false"/>
<!-- key jest wymagany przez mechanizm modułów wtyczek. Nie ma związku z działaniem tej funkcjonalności -->
Atrybuty:
- template-provider (opcjonalny) - nazwa klasy implementującej interfejs ConfigurationFileTemplateProvider. Pozwala to na załadowanie szablonu pliku konfiguracyjnego w widoku edycji konfiguracji wtyczek. Wtyczka przez interfejs podaje własny szablon.
- change-listener (opcjonalny) - nazwa klasy implementującej interfejs ConfigurationFileChangeListener. Umożliwia obsługę reagowania na zdarzenie, gdy plik konfiguracyjny zostanie zmieniony (np. w celu cache'owania konfiguracji).
- allow-file-management (opcjonalny) - wartośc true/false (domyślnie true). Flaga określająca, czy użytkownik może zarządzać plikami konfiguracyjnymi wtyczki (dodawanie, usuwanie, modyfikacjia identyfikatorów/typów plików).
Widok konfiguracji wtyczek
Po uruchomieniu wtyczki w zakładce Administracja -> Konfiguracja systemu pojawi się nowa zakładka Konfiguracja wtyczek.
Po lewej stronie wyświetlana jest lista obsługiwanych wtyczek. Po zaznaczeniu wtyczki pojawia się widok konfiguracji zależny od tego, czy jest typu manual czy predefined.
Każdy plik składa się z:
- identyfikator pliku - identyfikator, po którym wtyczka może pobrać zawartość pliku konfiguracyjnego przez API
- typ pliku - typ/rozszerzenie pliku. Dostępne JSON, XML i pozostałe. Wszystkie typy oprócz "pozostałych" są walidowane przy zapisie
- zawartość pliku - tekstowa zawartość pliku
We wtyczce aby odczytać plik, należy użyć interfejsu ConfigurationFileService.


