SlideShare a Scribd company logo
1 of 10
XPages Extension Library:
                 Create an app in 1 hour (almost)




                                               PHL-Consult.dk
                                               info@PHL-Consult.dk

                                               Per Henrik Lausten
April 19, 2012                                 per.lausten.dk/blog/
                                               twitter.com/perlausten
Prerequisites
Lotus Domino 8.5.3
XPages Extension Library from OpenNTF or Upgrade Pack 1
Purpose
From classic:




To modern:




In 1 hour (almost)
Application Layout
OneUI application layout
  <xe:applicationLayout id="applicationLayout1">
       <xe:this.configuration>
                        <xe:oneuiApplication>
  </xe:oneuiApplication>
  </xe:this.configuration>
  </xe:applicationLayout>


Dropdown menu
  <xe:basicContainerNode label="Dropdown menu">
       <xe:this.children>

                  <xe:basicLeafNode label="Choice 1"></xe:basicLeafNode>

            <xe:basicLeafNode label="Choice 2"></xe:basicLeafNode>

             <xe:basicLeafNode label="Choice 3"></xe:basicLeafNode>
       </xe:this.children>
  </xe:basicContainerNode>


NavigationPath custom property and the selection property
Tabs
  <xe:this.titleBarTabs>
Navigator
Menu
  <xe:navigator id="navigator1">
       <xe:this.treeNodes>
             <xe:pageTreeNode label="Index" page="/index.xsp" selection="/Tab1/Index"></xe:pageTreeNode>
             <xe:pageTreeNode label="Page 2" page="/page2.xsp" selection="/Tab1/Page2"></xe:pageTreeNode>
       </xe:this.treeNodes>
  </xe:navigator>


View list
  <xe:dominoViewListTreeNode filter="All.*" submitValue="#{viewEntry.name}" var="viewEntry">
       <xe:this.databaseName><![CDATA[#{javascript:database.getServer() + "!!" +
  "notesnet//forum.nsf"}]]></xe:this.databaseName>
       <xe:this.selected><![CDATA[#{javascript:viewEntry.getName() ==
  sessionScope.clickedView}]]></xe:this.selected>
  </xe:dominoViewListTreeNode>

  <xp:eventHandler event="onItemClick" submit="true" refreshMode="complete">
       <xp:this.action>
         <![CDATA[#{javascript:sessionScope.clickedView = context.getSubmittedValue();
       context.redirectToPage("forumview.xsp");}]]>
       </xp:this.action>
  </xp:eventHandler>
Dynamic View Panel
Dynamic views
   <xe:dynamicViewPanel id="dynamicViewPanel1" pageName="/forumpost.xsp" var="viewEntry">
        <xe:this.data>

        <xp:dominoView var="view1" viewName="#{sessionScope.clickedView}">
        <xe:this.databaseName><![CDATA[#{javascript:database.getServer() + "!!" +
   "notesnet//forum.nsf"}]]></xe:this.databaseName>
        </xp:dominoView>
        </xe:this.data>

        <xp:eventHandler event="onColumnClick" submit="true" refreshMode="complete">
              <xp:this.action><![CDATA[#{javascript:var url="/forumpost.xsp?
   action=openDocument&documentId="+viewEntry.getNoteID();

context.redirectToPage(url);}]]></xp:this.action>
               </xp:eventHandler>
         </xe:dynamicViewPanel>


Customizer Bean
Forms
Form Table, Form Layout Row og Form Layout Column
 <xe:formTable id="formTable1">

      <xe:formRow id="formRow1" label="Subject">

           <xp:inputText id="inputText1" value="#{document1.Subject}"></xp:inputText>
      </xe:formRow>

      <xe:formRow id="formRow2" label="Body">

            <xp:inputRichText id="inputRichText1" value="#{document1.Body}"></xp:inputRichText>
      </xe:formRow>
 </xe:formTable>


Name picker
 <xe:djextNameTextBox id="From" value="#{document1.From}"></xe:djextNameTextBox>

      <xe:namePicker id="namePickerFrom" for="From">
           <xe:this.dataProvider>

      <xe:dominoNABNamePicker addressBookSel="all-public" nameList="people"></xe:dominoNABNamePicker>
      </xe:this.dataProvider>
 </xe:namePicker>
Forms
Value picker
  <xp:inputText id="Categories" value="#{document1.Categories}">

       <xp:typeAhead mode="partial" minChars="1" preventFiltering="true">
       <xp:this.valueList><
  [CDATA[#{javascript:getComponent("valuePickerCategories").getTypeAheadValue(this)}]]>
       </xp:this.valueList>
       </xp:typeAhead>
  </xp:inputText>

  <xe:valuePicker id="valuePickerCategories" for="Categories">
       <xe:this.dataProvider>
             <xe:simpleValuePicker>
                  <xe:this.valueList><![CDATA[#{javascript:DbColumnArray("", "Notesnetforum.nsf",
  "cache", "unique", "sort", "AllByCategory", 2)}]]></xe:this.valueList>
             </xe:simpleValuePicker>
       </xe:this.dataProvider>
  </xe:valuePicker>
Styling
CSS
Demo
http://notesnet.dk/databaser/perlausten/extlibdemo.nsf/

More Related Content

What's hot

Doctype html public
Doctype html publicDoctype html public
Doctype html publicecuapool
 
Java script frame history
Java script frame historyJava script frame history
Java script frame historyH K
 
Form Handling using PHP
Form Handling using PHPForm Handling using PHP
Form Handling using PHPNisa Soomro
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0orestJump
 
Java script form validation
Java script  form validationJava script  form validation
Java script form validationAbhishekMondal42
 
Lecture7 form processing by okello erick
Lecture7 form processing by okello erickLecture7 form processing by okello erick
Lecture7 form processing by okello erickokelloerick
 
Creating simple php contact form
Creating simple php contact formCreating simple php contact form
Creating simple php contact formDaniel Downs
 
Practical file(XHTML)web designing
Practical file(XHTML)web designingPractical file(XHTML)web designing
Practical file(XHTML)web designingArtiSolanki5
 
REST and AJAX Reconciled
REST and AJAX ReconciledREST and AJAX Reconciled
REST and AJAX ReconciledLars Trieloff
 
Web app development_html_02
Web app development_html_02Web app development_html_02
Web app development_html_02Hassen Poreya
 

What's hot (18)

Doctype html public
Doctype html publicDoctype html public
Doctype html public
 
Java script frame history
Java script frame historyJava script frame history
Java script frame history
 
Xml 2
Xml  2 Xml  2
Xml 2
 
Form Handling using PHP
Form Handling using PHPForm Handling using PHP
Form Handling using PHP
 
PHPTAL with CakePHP
PHPTAL with CakePHPPHPTAL with CakePHP
PHPTAL with CakePHP
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0
 
Java script form validation
Java script  form validationJava script  form validation
Java script form validation
 
Lecture7 form processing by okello erick
Lecture7 form processing by okello erickLecture7 form processing by okello erick
Lecture7 form processing by okello erick
 
Creating simple php contact form
Creating simple php contact formCreating simple php contact form
Creating simple php contact form
 
Json
JsonJson
Json
 
Making web forms using php
Making web forms using phpMaking web forms using php
Making web forms using php
 
Practical file(XHTML)web designing
Practical file(XHTML)web designingPractical file(XHTML)web designing
Practical file(XHTML)web designing
 
Html basics
Html basicsHtml basics
Html basics
 
Isomorphic react in real life
Isomorphic react in real lifeIsomorphic react in real life
Isomorphic react in real life
 
REST and AJAX Reconciled
REST and AJAX ReconciledREST and AJAX Reconciled
REST and AJAX Reconciled
 
Web app development_html_02
Web app development_html_02Web app development_html_02
Web app development_html_02
 
03 namespace
03 namespace03 namespace
03 namespace
 
Introhtml 2
Introhtml 2Introhtml 2
Introhtml 2
 

Viewers also liked

Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introductionPer Henrik Lausten
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMixPer Henrik Lausten
 
Connect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User InterfaceConnect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User InterfaceHoward Greenberg
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Mark Leusink
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPagesTeamstudio
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPagesTeamstudio
 

Viewers also liked (8)

Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introduction
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMix
 
Connect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User InterfaceConnect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User Interface
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 

Similar to XPages Extension Library - Create an app in 1 hour (almost)

Building Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows AzureBuilding Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows AzureSupote Phunsakul
 
Microsoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour GenovaMicrosoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour Genovaantimo musone
 
Oracle Endeca Developer's Guide
Oracle Endeca Developer's GuideOracle Endeca Developer's Guide
Oracle Endeca Developer's GuideKeyur Shah
 
网站无障碍阅读知识
网站无障碍阅读知识网站无障碍阅读知识
网站无障碍阅读知识ppanyong
 
网站无障碍阅读知识
网站无障碍阅读知识网站无障碍阅读知识
网站无障碍阅读知识ppanyong
 
Effective Web Scraping with OXPath
Effective Web Scraping with OXPathEffective Web Scraping with OXPath
Effective Web Scraping with OXPathGiovanni Grasso
 
Multi faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & loggingMulti faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & logginglucenerevolution
 
Spring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchEberhard Wolff
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortalJennifer Bourey
 
Portal Site Management
Portal Site ManagementPortal Site Management
Portal Site Managementbettlebrox
 
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложенияCodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложенияCodeFest
 
Your Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckYour Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckAnthony Montalbano
 

Similar to XPages Extension Library - Create an app in 1 hour (almost) (20)

Building Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows AzureBuilding Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows Azure
 
Microsoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour GenovaMicrosoft Accademic Cloud Tour Genova
Microsoft Accademic Cloud Tour Genova
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
 
Oracle Endeca Developer's Guide
Oracle Endeca Developer's GuideOracle Endeca Developer's Guide
Oracle Endeca Developer's Guide
 
网站无障碍阅读知识
网站无障碍阅读知识网站无障碍阅读知识
网站无障碍阅读知识
 
网站无障碍阅读知识
网站无障碍阅读知识网站无障碍阅读知识
网站无障碍阅读知识
 
treeview
treeviewtreeview
treeview
 
treeview
treeviewtreeview
treeview
 
Effective Web Scraping with OXPath
Effective Web Scraping with OXPathEffective Web Scraping with OXPath
Effective Web Scraping with OXPath
 
iWebkit
iWebkitiWebkit
iWebkit
 
Multi faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & loggingMulti faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & logging
 
Spring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring BatchSpring Web Service, Spring Integration and Spring Batch
Spring Web Service, Spring Integration and Spring Batch
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
 
Portal Site Management
Portal Site ManagementPortal Site Management
Portal Site Management
 
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложенияCodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
 
Test upload
Test uploadTest upload
Test upload
 
JSF 2.0 Preview
JSF 2.0 PreviewJSF 2.0 Preview
JSF 2.0 Preview
 
Count to 10 and Say Yes
Count to 10 and Say YesCount to 10 and Say Yes
Count to 10 and Say Yes
 
XML for bioinformatics
XML for bioinformaticsXML for bioinformatics
XML for bioinformatics
 
Your Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckYour Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages Suck
 

More from Per Henrik Lausten

Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014Per Henrik Lausten
 
XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)Per Henrik Lausten
 
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)Per Henrik Lausten
 
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...Per Henrik Lausten
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Per Henrik Lausten
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Per Henrik Lausten
 

More from Per Henrik Lausten (7)

Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014
 
XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)
 
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
 
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
My view on XPages
My view on XPagesMy view on XPages
My view on XPages
 

Recently uploaded

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 

Recently uploaded (20)

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 

XPages Extension Library - Create an app in 1 hour (almost)

  • 1. XPages Extension Library: Create an app in 1 hour (almost) PHL-Consult.dk info@PHL-Consult.dk Per Henrik Lausten April 19, 2012 per.lausten.dk/blog/ twitter.com/perlausten
  • 2. Prerequisites Lotus Domino 8.5.3 XPages Extension Library from OpenNTF or Upgrade Pack 1
  • 4. Application Layout OneUI application layout <xe:applicationLayout id="applicationLayout1"> <xe:this.configuration> <xe:oneuiApplication> </xe:oneuiApplication> </xe:this.configuration> </xe:applicationLayout> Dropdown menu <xe:basicContainerNode label="Dropdown menu"> <xe:this.children> <xe:basicLeafNode label="Choice 1"></xe:basicLeafNode> <xe:basicLeafNode label="Choice 2"></xe:basicLeafNode> <xe:basicLeafNode label="Choice 3"></xe:basicLeafNode> </xe:this.children> </xe:basicContainerNode> NavigationPath custom property and the selection property Tabs <xe:this.titleBarTabs>
  • 5. Navigator Menu <xe:navigator id="navigator1"> <xe:this.treeNodes> <xe:pageTreeNode label="Index" page="/index.xsp" selection="/Tab1/Index"></xe:pageTreeNode> <xe:pageTreeNode label="Page 2" page="/page2.xsp" selection="/Tab1/Page2"></xe:pageTreeNode> </xe:this.treeNodes> </xe:navigator> View list <xe:dominoViewListTreeNode filter="All.*" submitValue="#{viewEntry.name}" var="viewEntry"> <xe:this.databaseName><![CDATA[#{javascript:database.getServer() + "!!" + "notesnet//forum.nsf"}]]></xe:this.databaseName> <xe:this.selected><![CDATA[#{javascript:viewEntry.getName() == sessionScope.clickedView}]]></xe:this.selected> </xe:dominoViewListTreeNode> <xp:eventHandler event="onItemClick" submit="true" refreshMode="complete"> <xp:this.action> <![CDATA[#{javascript:sessionScope.clickedView = context.getSubmittedValue(); context.redirectToPage("forumview.xsp");}]]> </xp:this.action> </xp:eventHandler>
  • 6. Dynamic View Panel Dynamic views <xe:dynamicViewPanel id="dynamicViewPanel1" pageName="/forumpost.xsp" var="viewEntry"> <xe:this.data> <xp:dominoView var="view1" viewName="#{sessionScope.clickedView}"> <xe:this.databaseName><![CDATA[#{javascript:database.getServer() + "!!" + "notesnet//forum.nsf"}]]></xe:this.databaseName> </xp:dominoView> </xe:this.data> <xp:eventHandler event="onColumnClick" submit="true" refreshMode="complete"> <xp:this.action><![CDATA[#{javascript:var url="/forumpost.xsp? action=openDocument&documentId="+viewEntry.getNoteID(); context.redirectToPage(url);}]]></xp:this.action> </xp:eventHandler> </xe:dynamicViewPanel> Customizer Bean
  • 7. Forms Form Table, Form Layout Row og Form Layout Column <xe:formTable id="formTable1"> <xe:formRow id="formRow1" label="Subject"> <xp:inputText id="inputText1" value="#{document1.Subject}"></xp:inputText> </xe:formRow> <xe:formRow id="formRow2" label="Body"> <xp:inputRichText id="inputRichText1" value="#{document1.Body}"></xp:inputRichText> </xe:formRow> </xe:formTable> Name picker <xe:djextNameTextBox id="From" value="#{document1.From}"></xe:djextNameTextBox> <xe:namePicker id="namePickerFrom" for="From"> <xe:this.dataProvider> <xe:dominoNABNamePicker addressBookSel="all-public" nameList="people"></xe:dominoNABNamePicker> </xe:this.dataProvider> </xe:namePicker>
  • 8. Forms Value picker <xp:inputText id="Categories" value="#{document1.Categories}"> <xp:typeAhead mode="partial" minChars="1" preventFiltering="true"> <xp:this.valueList>< [CDATA[#{javascript:getComponent("valuePickerCategories").getTypeAheadValue(this)}]]> </xp:this.valueList> </xp:typeAhead> </xp:inputText> <xe:valuePicker id="valuePickerCategories" for="Categories"> <xe:this.dataProvider> <xe:simpleValuePicker> <xe:this.valueList><![CDATA[#{javascript:DbColumnArray("", "Notesnetforum.nsf", "cache", "unique", "sort", "AllByCategory", 2)}]]></xe:this.valueList> </xe:simpleValuePicker> </xe:this.dataProvider> </xe:valuePicker>