Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Aby zintegrować dowolną wtyczkę z PCM, należy dodać odpowiednie znaczniki znacznik plugin-configuration w deskryptorze wtyczki - plik suncode-plugin.xml. Dostępne są 2 znaczniki:

  • manual-plugin-configuration - umożliwia ręczne zarządzanie konfiguracjami wtyczek przez użytkownika. Przydatne dla wtyczek, które mogą mieć wiele plików konfiguracyjnych (np. przy uruchomieniu pewnej funkcjonalności wtyczki należy podać plik konfiguracyjny, który ma być brany pod uwagę)
  • predefined-plugin-configuration - umożliwia zmienianie jedynie pojedynczego pliku konfiguracyjnego wtyczki. Przydatne dla wtyczek, które opierają swoje działanie na podstawie jednego globalnego pliku konfiguracyjnego.

Manual

Przykładowy wpis w deskryptorze wtyczki:

Code Block
languagexml
<manual<plugin-plugin-configuration key="manual-plugin-configuration"/>
<!-- key jest wymagany przez mechanizm modułów wtyczek. Nie ma związku z działaniem tej funkcjonalności -->

Predefined

Przykładowy wpis w deskryptorze wtyczki:

Code Block
languagexml
<predefined-plugin-configuration key="predefined-plugin-configuration        template-provider="com.suncode.plugin.somepluginid.TemplateProviderImpl"
                      change-listener="com.suncode.plugin.somepluginid.ChangeListenerImpl"
          path-provider="com.suncode.plugin.somepluginid.ConfigurationFilePathProvider            allow-file-management="false"/>
<!-- key jest wymagany przez mechanizm modułów wtyczek. Nie ma związku z działaniem tej funkcjonalności -->

Atrybuty:

  • pathtemplate-provider (wymaganyopcjonalny) - nazwa klasy implementująca interfejscom.suncode.plugin.pluginconfigurationmanager.configuration.predefined.provider.PluginConfigurationFilePathProvider. Należy zaimplementować metodę zwracającą ścieżkę do pliku konfiguracyjnego. Implementacja interfejsu musi byc beanem Springa.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 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.

Manual

W typie manual możliwe jest ręczne dodawanie konfiguracji, na które 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 com.suncode.plugin.pluginconfigurationmanager.configuration.manual.service.PublicFileConfigurationService

Predefined

W typie predefined można edytować tylko jeden plik. Nie można dodawać nowych konfiguracji, usuwać ich itd. Nie można również zmienić typu pliku.

Image Removed

ConfigurationFileService.