150 likes | 298 Views
Notes til XPage. Hvordan en standard Notes database kan forvandles til en XPage på 60 minutter …. Jakob Majkilde. Standard Notes database Få forms Felter: Names , Dates, RichText etc. samt validering Mange views Lotus Script Full text søgning. Indledning. OneUI
E N D
Notes til XPage Hvordan en standard Notes database kan forvandles til en XPagepå 60 minutter … Jakob Majkilde
Standard Notes database • Få forms • Felter: Names, Dates, RichText etc. samt validering • Mange views • Lotus Script • Full text søgning Indledning
OneUI • Giver hurtigt et pænt layout • Mulighed for genbrug af OpenNTF komponenter • Extension Library • Fordi det er nemmere end at gøre det selv • Upgrade pack 1 • Supporteret af IBM • Nemmere at installere (end OpenNTF versionen) Beslutninger
Køb bogen: XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components • XpageDebug Toolbar fra OpenNTF installeres • Flyt til bunden med css: div.debugToolbar {position:relative !important;} • Fra OpenNTF versionen af Extensions Library hentes demo basen: XPagesExt.nsf • Chrome eller Firebug er et must • OpenNTFXSnippets Kom godt i gang
Lav et themeog aktivér på Application Properties • <themeextends="oneuiv2.1_blue” • Lav en ‘Layout’ Custom Control og indsæt en ‘Application Layout’ • Enable Drop Target på Middle Column Content Area • Text på Title Bar beregnes: @DbTitle() • Brug CSS – lad være med at ‘hardcode’ logo m.v. Layout
Indsæt en Navigator • Alle links åbner samme XPage • queryString parameter angiver hvilket view der skal vises • Selection er ‘navnet’ på menu punktet – hvis dette matcher Navigation Path, så bliver menupunktet vist som ‘selected’ • På Application Layout • Navigation Path = content.getUrlParameter( ”view” ) Navigering
Ét Dynamic View kan vise alle views i basen, • CustomizerBean retter ‘fejl’ i dynamicviewcontrol: • Åben docs i read mode i stedet for edit mode • Viewname beregnes dynamisk • Collapse all: expandLevel=1 • Pager Cool CustomizerBean Sample: http://frostillic.us/f.nsf/posts/274 Dynamic View
Dynamic View: Open documentusingXPageassociated with documents forms • Der skal laves én XPage per form • Launch properties på eksisterende forms skal ændres • Alternativ: Open documentusing ‘form.xsp’ • På ‘form.xsp’ indsættes en ‘Computet Subform’ Dynamic Form
Basen skal være Full TextIndexeret • Aktiver ‘Search’ på Application Layout • Page name: siden med vores Dynamic View • Query parameter name for url: • view=viewname&query (viewname kan være et ‘all documentsview’ eller evt. beregnes til currentview) • På Dynamic View Data sættes et search filter • <xp:this.search><![CDATA[#{javascript:context.getUrlParameter("query")}]]></xp:this.search> Søgning
Lotus Script kan fint genbruges i en Xpage • Script kode lægges i agenter • Kaldes ved Open/Save • Eller via Ajax kald • Kun backend Lotus Script. UI funktioner skal kodes om i Java Script (Dojo), f.eks. prompt eller dialogbokse • Bedre performance fås dog med Server Side JavaScript eller Managed Beans (Java) • http://xpages.dk/?p=231 Lotus Script
Kald en Lotus Script agent fra QuerySaveDocument eller PostOpenDocument event • Fra Lotus Script agenten: • Set doc = session.DocumentContext var agentName:String = ”My Agent Name"; var agent:NotesAgent = database.getAgent(agentName); if (agent != null) { agent.runWithDocumentContext(currentDocument.getDocument(true)); } Lotus Script Agenter
Ajax kald med Dojo, f.eks. fra en knap • http://dojotoolkit.org/reference-guide/1.6/dojo/xhrGet.html dojo.xhrGet({ url: ”My Agent Name?openagent", preventCache: true, handleAs: "text", load: function(data) { var targetNode = dojo.byId("#{id:My Return Id}"); targetNode.value= data; }, error: function(data) { alert("There has been an error: " + data); } }); Lotus Script via AJAX
Default opsætning giver Full Admin Access til alle Notes developers via SS JavaScript:sessionAsSignerWithFullAccess.getDatabase • Derfor bør XPageaccess begrænses via Server Dokumentet – og alt kode signes inden produktion.
Du får altid svar på Notesnet.dk • Præsentation, links, download af sample applikation på XPages.dk • Du er altid velkommen til at kontakte mig – se hvordan påMajkilde.dk, hvor du også finder Lotus Script tips. Spørgsmål?