Baza_menu to raport RDL z rodziny raportów diagnostycznych StudioSystem, eksportujący pełną strukturę menu skonfigurowaną w konfiguratorze platformy - grupy, pozycje menu i submenu, wraz z przypisaną rolą, transakcją docelową, parametrami wywołania oraz ustawieniami wizualnymi kafla.
Czym jest raport Baza_menu
Tak jak pozostałe raporty tej rodziny - Baza_sql i Baza_widok - Baza_menu to plik RDL edytowalny w Microsoft Report Builder 3.x, którego zadaniem jest dokumentacja konfiguracji platformy, a nie prezentacja danych biznesowych. W tym konkretnym przypadku przedmiotem eksportu jest struktura menu - czyli to, co użytkownik widzi na co dzień jako przyciski, kafle i rozwijane listy poleceń w interfejsie.
Menu w StudioSystem nie jest zaszyte na stałe w kodzie aplikacji. Każdy element - od głównego kafla na panelu startowym po pozycję w rozwijanym podmenu - to osobny wiersz konfiguracji, który można dodać, edytować albo usunąć bez modyfikacji strony. Raport Baza_menu pozwala zobaczyć całość tej konfiguracji na raz, zamiast klikać przez konfigurator pozycja po pozycji.
To podejście - konfiguracja zamiast kodu - jest spójne z pozostałymi mechanizmami platformy opisanymi w rodzinie raportów diagnostycznych. Tak samo jak widok danych nie wymaga napisania strony wyświetlającej wynik, tak pozycja menu nie wymaga napisania przycisku uruchamiającego transakcję. Oba mechanizmy spotykają się zresztą w jednym miejscu: pozycja menu wskazuje transakcję, a ta transakcja może odwoływać się do widoku skonfigurowanego niezależnie, w zupełnie innej części systemu.
Struktura menu - Grupy, Pozycje, SUBMENU
Struktura menu składa się z trzech poziomów. Na samej górze znajdują się Grupy, grupujące tematycznie powiązane polecenia. Wewnątrz grupy znajdują się Pozycje MENU - pojedyncze kafle lub przyciski widoczne w interfejsie. Tam, gdzie dla jednej tabeli istnieje kilka różnych poleceń - na przykład kilka wariantów wydruku dokumentu - pozycję menu można rozbudować o SUBMENU, czyli rozwijaną listę aktywującą się po kliknięciu głównego przycisku.
Ten prosty, trzypoziomowy podział sprawdza się zarówno przy niewielkim, prostym interfejsie z kilkoma zaledwie poleceniami, jak i przy dużych, rozbudowanych wdrożeniach z dziesiątkami dokumentów i wariantów wydruku - zamiast zapychać ekran długą listą pojedynczych przycisków, powiązane polecenia chowają się w jednym rozwijanym podmenu, a użytkownik trafia do właściwej opcji zaledwie dwoma kliknięciami, zamiast przewijania jednej bardzo długiej listy poleceń.

Trzy poziomy, jedno miejsce konfiguracji
Grupy, pozycje i podmenu konfiguruje się z tego samego paska poleceń, bez przełączania się między różnymi ekranami administracyjnymi.
Pola pojedynczej pozycji menu
Formularz edycji pozycji menu wiąże ze sobą kilka niezależnych ustawień, które razem decydują o tym, gdzie i dla kogo dany przycisk się pojawi oraz co dokładnie zrobi po kliknięciu:
| Pole | Znaczenie |
|---|---|
| Rola | Rola użytkownika, dla której pozycja menu jest widoczna |
| Grupa | Grupa nadrzędna, do której należy pozycja |
| Transakcja | Plik aspx uruchamiany po kliknięciu pozycji menu |
| Parametry | Zestaw parametrów przekazywanych do transakcji przy uruchomieniu |
| Ikona | Grafika wyświetlana na kaflu pozycji menu |
| Kolor kafla | Kolor tła kafla widoczny w interfejsie użytkownika |
Pole „Parametry” jest tu szczególnie istotne, bo to właśnie ono łączy konfigurator z mechanizmami opisanymi w innych raportach diagnostycznych platformy - ten sam przycisk menu może na przykład uruchamiać transakcję raporty.aspx z gotowym zestawem parametrów wskazujących konkretny raport RDL, zamiast wymagać od użytkownika ręcznego wpisania adresu URL.
Pole „Rola” działa jak filtr widoczności - ta sama grupa może zawierać pozycje przypisane do różnych ról, a użytkownik zobaczy wyłącznie te, do których jego rola ma dostęp. Dzięki temu jedno drzewo menu obsługuje wielu różnych użytkowników jednocześnie, każdemu pokazując wyłącznie funkcje, do których faktycznie ma uprawnienia - bez konieczności utrzymywania osobnej struktury menu dla każdej roli z osobna.
Pasek poleceń nad tabelą konfiguracji
Zarządzanie strukturą menu odbywa się z poziomu paska poleceń złożonego z sześciu sekcji: MENU, WIDOKI, INFORMACJE, TERMINAL, USTAWIENIA i ZARZĄDZANIE. Każda z nich daje dostęp do innego aspektu konfiguracji, wszystko bez opuszczania widoku zestawienia:
- MENU - konfiguracja grup, pozycji menu i submenu.
- WIDOKI - powiązane zestawienia danych, opisane osobno w materiale o raporcie Baza_widok.
- INFORMACJE - dodatkowe opisy i podpowiedzi widoczne dla użytkownika końcowego.
- TERMINAL - ustawienia dotyczące pracy z urządzeniami mobilnymi, ważne przy integracji z aplikacją Android korzystającą z tej samej struktury ról co przeglądarka.
- USTAWIENIA - parametry ogólne konfiguracji danej pozycji.
- ZARZĄDZANIE - operacje porządkowe, takie jak kopiowanie czy przenoszenie pozycji między grupami.
Moduł menu obsługuje też prezentację w formie siatki lub listy oraz wizualizację całej struktury w formie drzewka - przydatną zwłaszcza przy rozbudowanym menu, gdzie samo zrozumienie hierarchii grup i podmenu bywa trudniejsze niż konfiguracja pojedynczej pozycji.
Kto konfiguruje menu
Konfiguracja menu, toolbara i tabel nie jest dostępna dla każdego użytkownika. Wymaga rozbudowanej roli uprawnień określanej jako SuperVisor, przyznawanej z poziomu modułu administratora. Pozostali użytkownicy pracują już na gotowym, wcześniej skonfigurowanym interfejsie i nie mają dostępu do samego mechanizmu konfiguracji.
Takie rozdzielenie ról ma sens organizacyjny: osoba odpowiedzialna za kształt interfejsu i osoba korzystająca z niego na co dzień to zwykle różne role w firmie, a przypadkowa zmiana struktury menu przez użytkownika bez odpowiedniego przeszkolenia mogłaby zakłócić pracę całego zespołu. Ograniczenie dostępu do konfiguracji wyłącznie do roli SuperVisor eliminuje to ryzyko, jednocześnie nie utrudniając codziennej pracy pozostałym użytkownikom.
W praktyce konfiguracja menu bywa pracą jednorazową, wykonywaną przy wdrożeniu platformy albo przy większej zmianie procesu biznesowego, a nie codzienną czynnością operacyjną. Dlatego raport Baza_menu, dający pełny przegląd tej konfiguracji na raz, przydaje się głównie w tych właśnie momentach - a nie jako narzędzie do codziennej pracy administratora.
Jak uruchomić raport
Baza_menu uruchamia się tak samo jak pozostałe raporty RDL platformy - transakcją raporty.aspx z parametrem raport wskazującym ścieżkę pliku na serwerze raportów, na przykład raport=/Firma_SoftwareStudio/Baza_menu. Domyślnie wynikiem jest podgląd na stronie, a opcjonalny parametr save pozwala zapisać wynik jako plik pdf albo xls. Ogólny mechanizm raportów i podstawianych do nich zmiennych sesyjnych opisano w materiale o Reporting Services w StudioSystem.
Praktyczne zastosowania
Raport Baza_menu przydaje się wszędzie tam, gdzie potrzebny jest pełny obraz interfejsu platformy bez ręcznego przeklikiwania się przez konfigurator:
- Audyt uprawnień przed przekazaniem systemu - szybkie sprawdzenie, które pozycje menu są widoczne dla której roli, przed przekazaniem dostępu nowej osobie.
- Porządkowanie menu po latach rozbudowy - z czasem przybywa pozycji tworzonych na bieżące potrzeby, a eksport ułatwia znalezienie nieużywanych albo zduplikowanych przycisków.
- Migracja konfiguracji między środowiskami - porównanie struktury menu środowiska testowego i produkcyjnego przed wdrożeniem zmian.
- Dokumentacja dla nowego administratora - jeden dokument pokazujący całą strukturę interfejsu zamiast konieczności samodzielnego jej odkrywania.
Szczególnie wartościowy jest ten raport przy przejmowaniu utrzymania systemu po innej firmie wdrożeniowej albo po odejściu wcześniejszego administratora. Struktura menu bywa wtedy jedynym śladem decyzji projektowych podjętych na etapie wdrożenia - dlaczego akurat te funkcje trafiły do jednej grupy, dlaczego niektóre role widzą więcej pozycji niż inne. Pełny eksport pozwala odtworzyć tę logikę szybciej niż przeklikiwanie się przez interfejs w poszukiwaniu odpowiedzi, a przy okazji ujawnia pozycje, których nikt już nie pamięta, dlaczego zostały dodane.
Podsumowanie
Raport Baza_menu eksportuje pełną strukturę menu platformy - grupy, pozycje i submenu - wraz z rolą, transakcją, parametrami oraz ustawieniami wizualnymi każdego kafla. Konfiguracja tej struktury dostępna jest wyłącznie dla użytkowników z rolą SuperVisor i zwykle wykonywana jest jednorazowo, przy wdrożeniu lub większej zmianie procesu.
Razem z raportami Baza_sql i Baza_widok tworzy komplet dokumentacji technicznej konfiguracji platformy - od zapytań SQL, przez widoki danych, aż po samo menu, w którym te widoki są ostatecznie udostępniane użytkownikowi końcowemu, niezależnie od tego, z jakiego urządzenia korzysta.