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 www.sutol.cz Filtrace dat v XPages pohledech Honza Krejcárek, Raiffeisenbank a.s. 11.11. 2014

2 www.sutol.cz Hlavní partneři a prezentátoři

3 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz  Aplikace potřebuje k chodu XPages Extension Library a Bootstrap4XPages (http://www.bootstrap4xpages.com, http://www.openntf.org/main.nsf/project.xsp?r=project/Bo otstrap4XPages)http://www.bootstrap4xpages.com http://www.openntf.org/main.nsf/project.xsp?r=project/Bo otstrap4XPages  Extension Library je součástí Domino 9.0.1  Bootstrap4XPages se instaluje na server pomoc aplikace Update Site  Bootstrap je nově součástí Xpages Extension Library od verze 901v00_10 z listopadu 2014. Implementace vychází z Boostrap4XPages, ale není s ní kompatibilní. Vzorová aplikace

6 www.sutol.cz Vzorová aplikace

7 www.sutol.cz  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 www.sutol.cz  View – nejjednodušší komponenta, napojí se na datový zdroj, vyberou sloupce a je to Rekapitulace: komponenty pro zobrazení dat z pohledu

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

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

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

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

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

14 www.sutol.cz  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 www.sutol.cz  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 8.5.2  Na pozadí používá metodu Java API View.createViewNavFromCategory() Zobrazení dokumentů v určité kategorii

16 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz  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 www.sutol.cz 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 www.sutol.cz 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 www.sutol.cz 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 www.sutol.cz 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 www.sutol.cz Díky za pozornost Jan Krejcárek Twitter:@jan_krejcarek Email:jan.krejcarek@rb.cz


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

Podobné prezentace


Reklamy Google