Na tej stronie:
Każda wtyczka systemu PlusWorkflow może udostępnić małe gadżety ułatwiające dostęp do najczęściej używanych funkcji. Strona ta zawiera informacje na temat rejestrowania gadżetów.
Rejestracja gadżetu
Gadget jest modułem mechanizmu wtyczek. Rejestracja gadżetu odbywa się więc analogicznie jak w przypadku wszystkich innych modułów.
Atrybuty elementu gadget:
Nazwa atrybutu | Wymagany | Opis |
---|---|---|
key | ![]() | Klucz tego modułu. Klucz gadżetu powstaje z połączenia klucza wtyczki i klucza gadżetu np. com.suncode.plugin.test:gadget. Patrz (TODO: link). |
definition | ![]() | Ścieżka do pliku definicji gadżetu. |
Tak wygląda deskryptor wtyczki, która udostępnia tylko 1 gadżet gadget. Zawartość i zachowanie gadżetu odczytywane jest z pliku zdefiniowanego w atrybucie definition.
<?xml version="1.0" encoding="UTF-8"?> <plugin key="${project.groupId}-${project.artifactId}" ...> <!-- ... --> <!-- Rejestracja gadżetu ( definicja znajduje się w ${basedir}/src/main/resources/gadget/gadget.xml )--> <gadget key="gadget" definition="gadget/gadget.xml" /> </plugin>
Rejestracja wielu gadżetów
Wtyczka może zarejestrować dowolną ilość gadżetów. Jedynym wymaganiem jest unikalny klucz gadżetu.
<gadget key="gadget1" definition="gadget/gadget1.xml" /> <gadget key="gadget2" definition="gadget/gadget2.xml" />
Uprawnienia
Jeżeli nasza wtyczka udostępnia funkcjonalność użytkownika oraz administratora, możemy pokusić się o stworzenie gadżetów dla użytkownika oraz dla administratora. Nie chcemy wtedy, aby zwykły użytkownik mógł dodawać gadżety, do których nie powinien mieć uprawnień. Taką funkcjonalność oferują warunki (conditions).
Sprawdzanie uprawnień
Jeżeli użytkownik nie spełnia warunku nałożonego przez gadżet, nie będzie możliwości dodania gadżetu lub wyświetlenia jego zawartości (jeżeli wcześniej został już dodany). Mimo to, uprawnienia powinny być zawsze sprawdzane po stronie serwera.
Przykład definicji 2 gadżetów (przeznaczonych dla użytkowników i administratorów):
<!-- Gadżet dla wszystkich --> <gadget key="usergadget" definition="gadget/user.xml" /> <!-- Gadżet tylko dla administratora --> <gadget key="admingadget" definition="gadget/admin.xml" > <!-- Można zdefiniować wiele warunków, wtedy każdy musi być spełniony --> <condition class="com.suncode.plugin.test.AdminCondition" /> </gadget>
Warunek com.suncode.plugin.test.AdminCondition musi implementować interfejs com.suncode.plugin.framework.support.Condition
Więcej o warunkach: TODO LINK:
Co dalej
Kolejnym krokiem będzie stworzenie definicji gadżetu w pliku XML. Szczegółowy opis znajduje się w rozdziale poświęconym definicji gadżetu.
0 Comments