Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Www.sutol.cz Filtrace dat v XPages pohledech Honza Krejcárek, Raiffeisenbank a.s. 11.11. 2014.

Podobné prezentace


Prezentace na téma: "Www.sutol.cz Filtrace dat v XPages pohledech Honza Krejcárek, Raiffeisenbank a.s. 11.11. 2014."— Transkript prezentace:

1 Filtrace dat v XPages pohledech Honza Krejcárek, Raiffeisenbank a.s

2 Hlavní partneři a prezentátoři

3  Notesový klient nabízí možnosti, jak rychle něco najít pomocí  Rychlého vyhledávání  Snadné práce s kategoriemi  Fulltextového vyhledávání  Na webu nic takového není, vývojář musí zajistit, aby uživatel rychle a pohodlně našel, co hledá Proč vůbec filtrovat data v XPages

4  Při ukázkách pracujeme se vzorovou aplikací vytvořenou pro tuto prezentaci  Kód se nachází nejblíže probírané tematice, ne v knihovnách nebo Javových třídách jako v produkčních aplikacích, jak je běžné  Aplikace zobrazuje údaje o ubytovacích zařízeních dostupných na stránkách Českého statistického úřadu (http://apl.czso.cz/huz/index.jsp)http://apl.czso.cz/huz/index.jsp  Každý záznam obsahuje název zařízení, adresu, kategorii (Hotel, Kemp, Penzion), kapacitu (10 a méně, 11 až 50 apod.) a provoz (celoroční, letní, zimní)  Nová data lze načíst v Notes pomocí menu Actions - Import Vzorová aplikace

5  Aplikace potřebuje k chodu XPages Extension Library a Bootstrap4XPages (http://www.bootstrap4xpages.com, otstrap4XPages)http://www.bootstrap4xpages.com otstrap4XPages  Extension Library je součástí Domino  Bootstrap4XPages se instaluje na server pomoc aplikace Update Site  Bootstrap je nově součástí Xpages Extension Library od verze 901v00_10 z listopadu Implementace vychází z Boostrap4XPages, ale není s ní kompatibilní. Vzorová aplikace

6 Vzorová aplikace

7  Typicky XPage obsahuje datový zdroj typu Domino View.  Na tento datový zdroj je napojena komponenta, která zobrazuje data a zajišťuje stránkování, kategorizování apod.  Filtrování se vždy provádí na datovém zdroji bez ohledu na použitou komponentu, která data zobrazuje. Rekapitulace: jak jsou pohledy zobrazeny na XPage

8  View – nejjednodušší komponenta, napojí se na datový zdroj, vyberou sloupce a je to Rekapitulace: komponenty pro zobrazení dat z pohledu

9  XPage v aplikaci: jednoduche.xsp  Custom Control: vJednoduchyPohled Demo: komponenta View

10  XPage v aplikaci: kategorizovano.xsp  Custom Control: vKategorizovanyPohled  Kategorizování sloupců zajistí komponenta sama podle sloupce Demo: komponenta View – kategorizovaný pohled

11  DataView – více možností než View, umí se renderovat na mobilním zařízení Rekapitulace: komponenty pro zobrazení dat z pohledu

12  XPage: kategorizovanoDataView  Custom Control: vKategorizovanyPohledDataView  Vývojář říká, které sloupce jsou kategorizované Demo: komponenta DataView

13  Repeat – nejflexibilnější, záleží jen na vás, jak bude výpis dokumentů vypadat Rekapitulace: komponenty pro zobrazení dat z pohledu

14  Vlastnosti datového zdroje, které ovlivňují, jaké dokumenty se zobrazí:  categoryFilter – zobrazení dokumentů v určené kategorii  search a searchList – fulltextové vyhledávání  keys – zobrazení dokumentů podle seřazeného sloupce  parentId – response dokumenty určeného dokumentu Filtrování dokumentů

15  Datový zdroj je napojený na kategorizovaný pohled  Vlastnost categoryFilter pak zobrazí jen dokumenty v určené kategorii  Obsahuje-li pohled vnořené kategorie, lze je určit oddělené zpětným lomítkem, např. „Praha\Čimice“  Funguje od verze  Na pozadí používá metodu Java API View.createViewNavFromCategory() Zobrazení dokumentů v určité kategorii

16  XPage: filtrKategorie.xsp  Custom Control: vFiltrKategorie  Komponenty pro výběr jsou napojené na viewScope proměnné  Datový zdroj ve vlastnosti categoryFilter načítá tyto proměnné a sestaví hodnotu pro filtr  Lze vyzkoušet i přímo v URL /filtrKategorie.xsp?categoryFilter=Praha\Kobylisy Demo: zobrazení dokumentů v určité kategorii

17  Rychlé, flexibilní, umožňuje poměrně přesně určit, co se má zobrazit  Vyžaduje fulltextový index  Nemusí zobrazit všechny dokumenty, pokud je výsledků vyhledávání příliš mnoho  Datový zdroj Domino View obsahuje dvě vlastnosti (search a searchList), kterými lze zadat fulltextový dotaz Fulltextové vyhledávání

18  search  Výraz pro fulltextové vyhledávání. Je stejný jaký se zadává do IBM Notes – Search This View panelu  Může být jednoduchý – uživatelem zadané slovo – nebo složitý, určující v jakých polích se má vyhledávat, např: [Okres]=„Brno" AND [Kategorie]="Hotel 5" Způsoby fulltextového vyhledávání

19  XPage: filtrVyhledavani.xsp  Custom Control: vFiltrKategorieVyhledavani  Kód u vlastnosti search vytvoří dotaz pro fulltextové vyhledávání podle hodnot zadaných nebo vybraných v panelu Vyhledávání. Uživatel tak může blíže určit co hledá a nemusí procházet irelevantní výsledky jako při zadání do pole v pravém horním rohu  Pole pro výběr jsou napojené na viewScope proměnné a při změně aktualizují část stránky s pohledem  Lze vyzkoušet i v URL: filtrVyhledavani.xsp?search=troja Demo: fulltextové vyhledávání pomocí search

20  searchList  Umožňuje vyhledat pomocí více výrazů najednou. Budou zobrazeny výsledky odpovídající všem z určených výrazů  Parametr musí vrátit proměnnou typu java.util.Vector, kód např. načte parametr URL, rozdělí ho podle určeného znaku, např. čárky na jednotlivé hodnoty a ty vloží do java.util.Vector if (param.searchValue != null) { var args = param.searchValue.split(","); var v:java.util.Vector = new java.util.Vector(); for (var i = 0; i < args.length; i++) { v.add(args[i]); } return v; } Způsoby fulltextového vyhledávání

21  Datový zdroj obsahuje další vlastnosti, kterými lze ovlivnit výsledky vyhledávání:  searchExactMatch  výsledky musí odpovídat přesně zadání co se týče velikosti písma  FullTextový index musí být vytvořený s parametrem Enable case-sensitive searches  searchVariants  Vyhledá i slova podobného tvaru  searchFuzzy  Vyhledá i nesrovnalosti v zadaném výrazu Např. „hilton town“ najde „Hilton Prague Old Town“ Parametry pro fulltextové vyhledávání

22  Vlastnost parentId u datového zdroje umožňuje zobrazení podřízených (response) dokumentů  Vlastnost musí vrátit UNID nebo Note ID  Pokud se dokument s daným ID nachází v pohledu, zobrazí pohled všechny jeho podřízené dokumenty  Vhodné při zobrazení XPage s dokumentem, kdy jsou současně vidět i podřízené dokumenty, např. zobrazení objednávky a seznamu položek na objednávce. Filtrování pomocí „parentId“

23 Filtrování pomocí „keys“  Umožňuje filtrovat pohled podle více sloupců najednou  Vlastnost keys programujete tak, aby vrátila java.util.Vector. Každému prvku ve Vectoru odpovídá jeden seřazený sloupec v pohledu  Jsou zobrazeny dokumenty, které odpovídají všem hodnotám ve Vectoru var keys:java.util.Vector = new java.util.Vector(); keys.addElement(doc.getItemValueString("Mesto")); keys.addElement(doc.getItemValueString("Kategorie")); return keys

24 Parametry pro filtrování pomocí „keys“  Vlastnost keysExactMatch určuje, jestli dokumenty mají souhlasit plnně nebo částečně. Nastavuje se true nebo false, výchozí hodnotou je false.

25 Demo: filtrování pomocí „keys“  XPage: filtrKlice.xsp  Custom Control: vFiltrKlice  Výběrová pole jsou napojena na viewScope proměnné, vlastnost keys načítá tyto proměnné a vloží do objektu typu java.util.Vector  Při výběru je třeba postupovat zleva doprava, v produkční aplikaci by další výběr v pořadí byl nedostupný při absenci výběru předchozího (výběr pro město by nebyl dostupný, kdyby nebyl vybrán okres).

26 Demo 2: filtrování pomocí „keys“  XPage: jednoducheKlice.xsp  Custom Control: vJednoduchyPohledKlice  Demo funguje podobně jako rychlé vyhledávání v Notesech, kdy aplikace zobrazí záznamy, které začínají na zadaný text  Textové pole je napojené na requestScope proměnnou, datový zdroj hodnotu beze změny načítá

27 Díky za pozornost Jan Krejcárek


Stáhnout ppt "Www.sutol.cz Filtrace dat v XPages pohledech Honza Krejcárek, Raiffeisenbank a.s. 11.11. 2014."

Podobné prezentace


Reklamy Google