piątek, 15 marca 2013

Jak wybrać tylko właściwe elementy?

Ostatnio od kilku różnych osób dostałem zapytania dotyczące odfiltrowania tylko wybranych elementów do raportu RTF. Pytania te dotyczyły na przykład umieszczenia w raporcie elementów o określonym statusie lub przypisanych do określonej fazy. Pisałem już o tym w artykule Generowanie raportów RTF w EA, jednak postanowiłem bardziej przybliżyć temat pisząc o mechanizmie Element filters. Ta sama funkcja dotycząca filtrowania elementów została zastosowana w dwóch miejscach w EA:
  • Model Search - alternatywnie do budowania zapytań SQL możliwe jest wyszukiwanie elementów (i nie tylko) w oparciu o filtry.
  • Dokumentacja - filtry można zastosować w odniesieniu do definicji całego dokumentu (dostępnej z poziomu okna Resources --> Documents --> RTF Documents lub w odniesieniu do pojedynczych szablonów RTF.
Dalej skupię się na zastosowaniu Element Filters dla raportów RTF. 


Możliwość definiowania filtrów dostępna jest w formie zakładki w oknie Document Options. Okno to można wywołać w kontekście całego dokumentu (menu kontekstowe Documentation --> Rich Text Format (RTF) Report... lub w kontekście konkretnego szablonu RTF (File --> Document Options). 

Okno Element Filters
Filtry można dodawać po kliknięciu na przycisk Add Filter. Testowanie poprawności definicji filtrów może być czasochłonne, gdyż po każdej zmianie konieczne jest wygenerowanie raportu i przejrzenie jego zawartości, aby się upewnić, czy filtr jest prawidłowy. W przypadku zastosowania bardziej skomplikowanych filtrów pewnym ułatwieniem może być zdefiniowania takiego filtra w oknie Model Search, gdzie po naciśnięciu przycisku Run otrzymujemy od razu wyniki, a następnie zaimportowanie takiego searcha do raportu poprzez naciśnięcie przycisku Import Search --> From EA

Po naciśnięciu przycisku Add Filter otwiera się nowe okno.

W oknie tym mamy możliwość wybrania określonych pól elementów, których wartości mają podlegać przeszukaniu. 
Jako przykład przyjmijmy, że chcemy wyszukać tylko elementy:
  • typu Requirement,
  • o statusie Zatwierdzony,
  • przypisane do fazy "2".
W przypadku każdego pola mamy do wyboru następujące warunki (kolumna Condition):
  • Contains - w przypadku, gdy pole powinno zawierać określoną frazę,
  • Equal To - w przypadku, gdy pole powinno mieć dokładnie taką wartość,
  • Not Equals - w przypadku, gdy pole powinno być różne od wybranej wartości,
  • One of.. - w przypadku, gdy pole może mieć jedną z wymienionych wartości,
  • After - dostępny dla pól zawierających datę, oznacza datę początkową,
  • Before - dostępny dla pól zawierających datę, oznacza datę końcową.
W kolumnie Value należy określić wartość dla warunku. Należy poszukiwaną wartość wpisać w tym miejscu. Choć w przypadku warunku typu One of.. jest łatwiej, bo po naciśnięciu przycisku oznaczonego trzykropkiem możemy skorzystać z okna Include, w którym wystarczy zaznaczyć właściwe wartości. W tym przykładzie możliwe jest wybranie jednego lub wielu statusu elementu.
Podobnie w przypadku warunku After oraz Before można się posłużyć kalendarzykiem, aby wybrać datę w poprawnym formacie.

Aby wybrać elementy o statusie Zatwierdzone oraz z przypisaną fazą 2 należy określić warunki jak na poniższym rysunku.
filtr elementów: status: Zatwierdzony, phase: 2

W zaproponowanym przeze mnie przypadku wyszukane miały być tylko wymagania, czyli elementy typu Requirement. Wśród dostępnych filtrów brakuje atrybutu Type, który byłby tu niezbędny.

W celu zawężenia wyboru elementów do określonego typu należy przejść do zakładki Document Options, wybrać wszystkie pozycje w liście Exclude details for naciskając przycisk All, a potem odznaczyć pozycję Requirement.

Uważny czytelnik zauważy z pewnością, że w tej zakładce można również ustawić filtr na status elementu (With element status) lub fazę (Where Package Phase). Można stworzyć filtr korzystając z tego miejsca, ale trzeba poprawnie wpisać samemu wartości w polu.

Wracając jednak do okna Element Filters chciałbym jeszcze dodać informacje o kolumnie Required. Jeśli w wierszu filtra nie jest zaznaczony checkbox Required, wówczas program traktuje warunki (o ile jest ich więcej niż jeden) jako OR. Oznacza to, że bez zaznaczenia tych checkboxów możemy się zdziwić, gdy raport będzie zawierać więcej elementów niż się spodziewaliśmy. W niniejszym przykładzie bez zaznaczenia Required raport będzie zawierać wymagania, które należą do fazy 2 lub mają status Zatwierdzone.

Dodatkowo warto wspomnieć, że filtry mogą być rozbudowywane o dodatkowe features (atrybuty) elementów po wybraniu dowolnej cechy z listy rozwijalnej Search On.
element filters - inne atrybuty elementu
Dzięki temu możliwe jest na przykład wybranie elementów, które zawierają tylko określone atrybuty, metody, do których zgłoszono jakieś problemy (Issue, Defect) i tak dalej.

Podsumowując, zakładanie filtrów może nie być intuicyjne i może wymagać kilku cyklów prób i nanoszenia poprawek. Jednak po nabraniu wprawy można efektywnie sterować zakresem prezentowanych treści w raporcie.
Mechanizm Element Filters pozwala na stworzenie wielu raportów opartych o ten sam pakiet (lub drzewo pakietów) zawierających odmienną treść w zależności od zastosowanych filtrów.

Brak komentarzy:

Prześlij komentarz