CAML – nie taki straszny jak go malują

Facebooktwitterpinterestlinkedinmail
dotyczy wersji: 8.3.x; autor: Kamil Nędza

 

Listy SharePoint i CAML:

 

Podczas pracy z WEBCON BPS, istnieje możliwość skonfigurowania wielu różnego rodzaju źródeł danych. Jednym z najbardziej powszechnych i łatwych w implementacji są Listy SharePoint. Utworzenie listy na witrynie oraz konfiguracja jej w BPS Designer Studio jest  błyskawiczna i pozwala niemalże natychmiast na wykorzystywanie jej jako słownik na formularzu obiegu dokumentów.

W produkcyjnych zastosowaniach z biegiem czasu listy się rozrastają, a potrzeby biznesowe rosną. W pewnym momencie okazuje się, że ilość zwracanych wyników jest zbyt i nieuporządkowana. Niezbędne jest wtedy wykorzystanie zawężenie danych z listy SharePoint względem kilku warunków logicznych. Do tego celu wykorzystywany jest język zapytań CAML – język programowania oparty o strukturę XML.

Każdy kto musiał ręcznie przygotować kawałek kodu CAML, wie ile pracy to kosztuje oraz jak łatwo się pomylić w gąszczu znaczników. Tutaj z pomocą przychodzi darmowe narzędzie U2U CAML Builder, za którego pomocą można „wyklikać” odpowiednie zapytanie, pozwalające na odpowiednie filtrowanie wyników.

W poniższym artykule przedstawione zostanie krok po kroku jak w podstawowym zakresie posługiwać się tym narzędziem.

 

Przypadek użycia:

 

W obiegu zgłoszeń od klientów wykorzystywana jest lista SharePoint, która zawiera dane na temat pracowników. Na liście znajduje się informacja w jakiej lokalizacji pracuje pracownik oraz za jaki sprzęt odpowiada. Dzięki temu na obiegu dokumentów po wybraniu odpowiedniego sprzętu i lokalizacji podpowiadani będą wyłącznie pracownicy, którzy będą w stanie pomóc. Atrybut „Pracownik” ma zwracać login pracownika, który odpowiada za dany sprzęt i pracuje w danej lokalizacji lub pracownika, który odpowiada za dany sprzęt i pracuje zdalnie (Remote). Lista ma następującą strukturę:

caml_p1

Instrukcja krok po kroku:

 

  • W pierwszej kolejności na środowisku, które ma dostęp do witryny SharePoint z listą, z której będziemy korzystać instalujemy oprogramowanie znajdujące się na stronie http://u2u.be/Software
  • Uruchamiamy program. Wpisujemy dokładny adres witryny, na której znajduje się lista. Wybieramy sposób uwierzytelnienia.

caml_p2

  • Po zalogowaniu widoczne jest okno programu, w którym należy zaznaczyć listę SharePoint i kliknąć „New query”

caml_p3

  • Następnie, za pomocą dostępnych opcji utwórz filtr, który ma zostać zastosowany. Przy projektowaniu filtru użyj przykładowych danych – pozwoli to w łatwy sposób przetestować zapytanie. Zapytanie filtrujące może zostać przetestowane poprzez kliknięcie w zakładkę „Result.”

caml_p4

  • Po upewnieniu się, że query jest już odpowiednie, skopiuj je z zakładki „Editor” i wklej w okienku „Zapytanie SQL lub CAML” atrybutu wyboru w WEBCON Designer Studio. Pamiętaj aby przykładowe dane wybrane podczas tworzenia zapytania zastąpić tagami dostępnymi w BPS Designer Studio. Nasz przykład wygląda następująco:
    caml_p5
  • Skonfiguruj atrybut, aby wyświetlane były żądane wartości i zapisz proces. Pamiętaj, żeby atrybuty, których tagi użyte zostały w zapytaniu CAML miały ustawioną opcję „Generuj postback po zmianie wartości” (w naszym wypadku są to atrybuty „Category” i „Location”).

 

Weryfikacja działania:

 

Przejdź na formularz, aby zweryfikować działanie funkcjonalności. Na poniższym zrzucie ekranu widać, że po wyborze kategorii „PC” oraz Lokalizacji „Cracow” zwracane są pożądane przez nas wartości, czyli pracowników, którzy są odpowiedzialni za sprzęt PC i pracują w Krakowie lub zdalnie:

caml_p6