1 / 15

Notes til XPage

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

draco
Download Presentation

Notes til XPage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Notes til XPage Hvordan en standard Notes database kan forvandles til en XPagepå 60 minutter … Jakob Majkilde

  2. Standard Notes database • Få forms • Felter: Names, Dates, RichText etc. samt validering • Mange views • Lotus Script • Full text søgning Indledning

  3. 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

  4. 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

  5. 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

  6. 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

  7. Navigering

  8. É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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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.

  15. 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?

More Related