Przejdź do końca metadanych
Przejdź do początku metadanych

Poniższa dokumentacja jest kierowana dla użytkowników systemu od wersji 1.72.0

Jeśli masz wersję serwera 1.71.x dokumentacja konfiguracji filtrów jest dostępna tutaj.

 

W chwili obecnej dane w SowaSQL można filtrować na podstawie agendy lub inwentarza do jakiego przypisany jest dany egzemplarz (należący do sprawdzanego rekordu).

Filtry są definiowane przy pomocy parametrów. Podczas ich tworzenia konieczne jest zachowanie pewnych zasad.

  1. Najpierw tworzymy grupę główną filtrów 

     

    P# core.filter.NAZWA_GRUPY.description Nazwa grupy
  2. Następnie dodajemy pojedyncze filtry tak: 

    P# core.filter.NAZWA_GRUPY.items.NAZWA_FILTRU.description Opis nazwy konkretnego filtru
    P# core.filter.NAZWA_GUPPY.items.NAZWA_FILTRU.fql WYRAŻENIE_FILTRUJĄCE

Wyrażenia filtrujące używają podstawowych operatorów logicznych AND, OR, znaków +, - oraz nawiasów. W wyrażeniach można użyć zdefiniowane wcześniej w danej grupie filtry (F:NAZWA_FILTRU).

Przykłady wyrażeń: 

+A00 AND +A01 - rekord musi mieć egzemplarze znajdujące się w agendzie 00 i 01
-A00 AND +A03 - rekord nie może mieć egzemplarzy w agendzie 00 i musi mieć z agendy 03
-(I100 OR I200) AND A50 OR A30 - rekord nie może należeć do inwentarzy 100 lub 200, natomiast musi należeć do agendy 50 lub 30

Przykład ustawień z gotowymi filtrami: 

P# core.filter.placowki.description Placówki
P# core.filter.placowki.items.dzieci.description Oddział dla dzieci
P# core.filter.placowki.items.dorosli.description Oddział dla dorosłych
P# core.filter.placowki.items.dzieci.fql +A00 OR A10 AND -I500
P# core.filter.placowki.items.dorosli.fql -F:dzieci

Wszystkie zmiany w filtrach, są odzwierciedlane w sposób dynamiczny. Zmiana parametru spowoduje iż kolejne pytanie, które użyje zmienionego filtru otrzyma poprawnie przefiltrowaną zawartość.

W chwili obecnej filtry są dostępne wyłącznie dla klienta WWW.

Parametry w których używamy już istniejące filtry ustawiamy następująco:

P# core.filter.placowki.items.dorosli.fql -F:dzieci

Jeśli jednak wyświetlimy ten parametr uzyskamy:

P? core.filter.placowki.items.dorosli.fql
-F:placowki.items.dzieci

Nazwa grupy jest doklejana AUTOMATYCZNIE podczas ustawiania parametru i próba jej podania ręcznie zaowocuje komunikatem błędu.

Przykład pełnej konfiguracji filtrów
P# core.filter.placowki.description Placówki biblioteczne
P# core.filter.placowki.items.wg.description Wypożyczalnia główna
P# core.filter.placowki.items.wg.fql +A00
P# core.filter.placowki.items.wc.description Czytelnia główna
P# core.filter.placowki.items.wc.fql +A51
P# core.filter.placowki.items.wd.description Wyp. dla dzieci
P# core.filter.placowki.items.wd.fql +A01
P# core.filter.placowki.items.za.description Zbiory audiowizualne
P# core.filter.placowki.items.za.fql +A40 or +A90
P# core.filter.placowki.items.filia1.description Filia 1
P# core.filter.placowki.items.filia1.fql +A10 OR +A60
P# core.filter.placowki.items.filia2.description Filia 2
P# core.filter.placowki.items.filia2.fql +A20 OR +A70
P# core.filter.placowki.items.filia3.description Filia 3
P# core.filter.placowki.items.filia3.fql +A30 OR +A80

Jeśli to możliwe należy unikać w zapytaniach operatorów - i AND, ponieważ każde ich użycie powoduje wygenerowanie kolejnego podzapytania co oczywiście spowalnia filtrowanie.

  • No labels