Czy podczas budowania aplikacji Qlik Sense, zdarzyło Ci się kiedyś natrafić na punkt, w którym zdajesz sobie sprawę, że standardowe obiekty Qlik Sense nie są w stanie zwizualizować Twoich danych lub funkcjonalność o której myślałeś nie istnieje? W takich przypadkach pomocne są rozszerzenia (extensions), które są tworzone zarówno przez firmy jak i społeczność Qlik’a. Na szczęście większość z nich jest bezpłatna, a kod źródłowy jest dostępny dla każdego. Deweloperzy rozszerzeń sami zachęcają do dołączenia do danego projektu, w celu jego rozwijania.
Sam Qlik Sense jest zbudowany z wykorzystaniem wielu technologii oraz gotowych bibliotek udostępnianych za darmo, których utrzymywaniem zajmuje się m.in. społeczność Qlik. Sprawdź sam klikając w Hub’ie przycisk About.
Każdy może tworzyć własne rozszerzenia Qlik Sense. Aby to zrobić konieczna jest co najmniej minimalna wiedza z zakresu tworzenia kodu HTML, CSS, JavaScript, a znajomość AngularJS czy RequireJS jest dodatkowym atutem.
Pierwsze extension możesz stworzyć samodzielnie wchodząc do Dev-Hub’a na swojej aplikacjie Qlik Sense Enterprise lub Desktop.
Rozwój rozszerzeń lepiej jest jednak prowadzić z pomocą bardziej profesjonalnego oprogramowania. Ja osobiście używam Microsoft Visual Studio Code – darmowego programu z ogromną ilością rozszerzeń. Nadaje się do programowania praktycznie w każdym języku. Polecam go każdemu użytkownikowi niezależnie od tego czy korzysta z systemu Windows, MacOS czy Linux. Do kontroli wersji stosuję Git’a.
Qlik udostępnia bardzo rozbudowane API oraz obszerną dokumentację, pozwalającą tworzyć rozszerzenia, widgety i mashupy. Nieocenioną pomocą na początku przygody z rozszerzeniami są przykłady na stronie Qlik’a dla deweloperów oraz posty na Qlik Community. W projekcie możemy wykorzystać praktycznie dowolną bibliotekę dostępną w Internecie. Część ograniczeń jest nałożonych przez Qlik’a ze względu na sposób działania i wybrane technologie, jednakże po dostosowaniu się lub zastosowaniu pewnych obejść możemy uzyskać praktycznie dowolny efekt.
Niestandardowy sposób wizualizacji? Przycisk otwierający okno w Twoim firmowym systemie? Zapis do bazy danych z poziomu raportu? To wszystko można zrealizować z pomocą rozszerzeń!
Zgodnie z powiedzeniem „potrzeba matką wynalazków” stworzyłem rozszerzenie AppTaskReload. Jako konsultant Qlik Sense w wielu przypadkach pracuję zarówno na warstwie wizualizacyjnej jak i przy strukturze danych źródłowych (poza skryptem). Ciągłe przeładowywanie aplikacji z poziomu serwera czy z poziomu skryptu aplikacji zabiera dodatkowy czas. Pomyślałem, że z pomocą prostego przycisku możnaby przeładowywać aplikację bezpośrednio z warstwy wizualizacyjnej. Przycisk powstał w kilkanaście minut i od początku zaczął spełniać swoje zadanie.
Po pewnym czasie zadałem sobie pytanie – co w przypadku gdy aplikację przeładowuje ustawiony na serwerze task lub kilka połączonych tasków? Zaimplementowałem tą funkcjonalność i w tym momencie uznałem, że to proste i skuteczne rozwiązanie można udostępnić społeczności, od której tak dużo czerpię. Może być ono przydatne dla deweloperów takich jak ja lub osób, które chcą mieć możliwość przeładowania aplikacji na żądanie. Przygotowałem odpowiednią paczkę plików źródłowych i dystrybucyjnych w sposób, w jaki robi to większość deweloperów. Kod źródłowy dostępny jest na GitHub’ie oraz jest opublikowany na Qlik Branch’u. Wszystko na licencji MIT – dostęp i modyfikacje dla każdego za darmo.
Możesz je zobaczyć tutaj:
Wiele osób zadaje sobie pytania nt. wsparcia rozszerzeń w codziennej pracy. Wszystko zależy od danego dewelopera, który m.in. w zależności od popularności swojego rozwiązania oraz wsparcia społeczności decyduje się na ciągły rozwój projektu. Część z projektów jest przekazywana innym osobom, które chcą je rozwijać dalej lub użyć jako część własnej pracy. Faktem jest, że API udostępniane przez Qlik’a jest bardzo stabilne i w większości przypadków upgrade do kolejnej wersji Qlik Sense’a nie powoduje problemów z działaniem rozszerzeń.
Dla osób, które oczekują bardziej przewidywalnej sytuacji Qlik w 2018 roku uruchomił Trusted Extension Developer Program, dzięki któremu dedykowany zespół Qlik’a rygorystycznie sprawdza działanie danego rozszerzenia pod kątem jego właściwego wykonania, bezpieczeństwa i jakości. Certyfikowane rozszerzenia są wspierane bezpośrednio przez ich deweloperów, którzy aby utrzymać ten status poprawiają zgłoszone błędy działania, tworzą nowe wersje oraz prowadzą wsparcie klienta.
Rozszerzenia bardzo pomagają w osiągnięciu efektu, który chcemy uzyskać rozwijając nasze aplikacje w Qlik Sense. Całe środowisko jest otwarte na wdrażanie nowych rozwiązań, dzięki czemu nie jesteśmy ograniczeni do tego co kupiliśmy z licencjami Qlik Sense. Jeżeli nawet nie istnieje extension, który spełniłby nasze wymagania, możemy go samodzielnie stworzyć lub zlecić jego wykonanie. Dzięki społeczności, możemy tworzyć rzeczy, których osiągnięcie nie byłoby możliwe w pojedynkę.
Qlik Branch: https://developer.qlik.com
Dokumentacja dla deweloperów: https://help.qlik.com/en-US/sense-developer/November2018/Content/Sense_Helpsites/Home-developer.htm