Převod LN aplikace do xPages Josef Kadlčík, Greenpoint
Potřebné nástroje Porovnání LN a xPages / JSF Ukázka převáděné LN aplikace Komponenty Extension Library Ukázka převodu jednotlivých funkčností Debugging a logování chyb Ukázka xPage demo aplikací Zdroje další dokumentace Agenda
Domino a Lotus Designer Extension library ( Instalace na server i do klienta Dojo (součást Domino 8.5.2) Ukázka registrovaných součástí na serveru Oneuiv2 Mozila Firefox IE 8 – pozor na compatibility view Potřebné nástroje
Komponenty LN aplikace Data Form View Profilové dokumenty Subform Agent Script library Page Frameset Shared actions Outline
Evidence přijatých faktur Formulář s přílohou Různé pohledy Číselník dodavatelů Schvalování – LS knihovna, subform Evidence platby k faktuře DEMO Demo aplikace
xPages JSF framework MVC model Javascript – business logika EJB – business logika Front end – Dojo Form = pouze data View = indexovaná data xPage Custom control Extension control - component
$$Return $ViewTemplate WebQuerySave (wwwagentxyz) v pohledech $Body …. www v Lotus Notes MVC Java JavaScript XML CSS JSF Komponenty Datasources JavaBeans Ajax Dojo
JSF cyklus
Datová reprezentace HTTP „requestu“ Konverze „string“ hodnot komponent do objektů- komponent stromu Cyklus pořadí zpracování - MVC Render-kit zajistí překlad stromu – response Dojo toolkit – komponenty pro tenkého klienta view - strom komponent JSF
JSF cyklus x LN cyklus Události LN Konverze Validace QueryOpen QuerySave PostOpen PostSave Akce Události JSF View rebuild Konverze Validace Update model –Datasource události Akce Render response
SS javascript 172 nepodporovaných formulí Možno doplnit jako funkce js do knihoven Možno používat balíčky Java Javascript – Client a Server Není přímý přístup do LS LS a Javascript
Vyvíjená open source komunitou Dostupný source kód Možnost psát vlastní komponenty Možnost kupovat komponenty Extension Library API Extension library
Původní komponenty
Extlib komponenty
JSF metody uložení dat a komponent Scope variables –applicationScope –sessionScope –requestScope –viewScope EL expressions Data binding Java Beans context facesContext view getComponent
Layout a navigator (Frameset a outline) Pohledy Editace v pohledu Vyhledávání Dialog Picklist Aktualizace hodnot formuláře Práce s Upload a Download prvky Form – webQuerySave, webPostSave Shrnutí funkčností
Application Layout - Vložit „custom XSP markup“ Vytvořit callback facety – Použít Layout – rozvržení Aplikace
– Navigátory
JSF komunikuje s úložišti dat pomocí tzv. datasource –dominoView –dominoDocument –… do budoucna i RDBMS restService – store pro komponenty UI –JSON –XML Data
Převod pomocí datasource „Dominoview“ Standardní komponenta Nově pro ExtLib Hodně nastavení v 1.pohledy – datasource dominoview a)xe:dynamicViewPanel b)xp:viewPanel c)xp:repeat d)xe:djxDataGrid - Restservice 2.linky a formulář 3.datasource dominodocument View
Umožňuje zpracovat externí data Ukázka editace profilu Ukázka Tooltip dialog – editace dodavatele a Dialog
Vytvoření datasource Přenesení datových polí a vytvoření struktury Action bar – Uložit, Zrušit Vytvoření CustomControl pro webQueryOpen webQuerySave Computeonform Profil – nutno přidat „“ do volání getProfileDocument In-memory document Formulář „faktura“
Convertory a Validátory Práce s attachmenty –Upload a Download komponenta Volání agentů a existující LS logiky v událostech datasource Dojo toolkit Další vlastnosti
Prozatím nelze trasovat JavaScript Používat try {} catch (e) {e.printstacktrace()} Pro uživatele var ex:com.ibm.xsp.exception.EvaluationExceptionEx = requestScope.error ex.getErrorText(); ex.getMessage(); ex.getErrorPropertyId() Jak na debugging
Videa na Demo aplikace Demonstration Application for XPages in IBM Lotus Notes Domino R8.5.2 XPages Extension Library Demo Další zdroje informací