SlideShare uma empresa Scribd logo
1 de 189
Modern Domino 
Nathan Freeman 
Peter Presnell 
Red Pill Development
Peter Presnell 
CEO 
Nathan Freeman 
Chief Architect
IBM Business 
Partner 
Based In 
Atlanta, GA 
IBM 
Champions 
Average 20 
Years 
Experience 
IBM Notes 
Speakers 
Bloggers 
Presenters 
Member 
OpenNTF 
(Co-Founder) 
Modernizing 
Notes 
Application
Modern Domino 
A Quick Start Guide to Modern Web Development 
Java Graph Databases REST Services Data Visualization 
Native Applications Bootstrap Mobile Controls SSJS
Modern Domino 
Related Sessions 
Wednesday 
• 1:00 - Modern Domino (Nathan Freeman, Peter Presnell) 
• 3:00 - Build A Bean Workshop (Devin Olson, Mike McGarel) 
Thursday 
• 1:00 - Don't Put the Cart Before the Source: Tips for Building Your First XPages Java Application 
(Mike McGarel, Graham Acres) 
• 4:30 - ATLUG Comes To You (Nathan Freeman, Devin Olson, Peter Presnell) 
Friday 
• 10:15 - Take a REST (Brian Moore) 
• 11:30 - The XPages Mobile Controls: What's New In Notes 9.0.1 (Graham Acres) 
• 1:30 - Building a Structured App With XPages Scaffolding (Jesse Gallagher) 
• 3:00 - Write once, run anywhere - Angular.js in XPages (Mark Roden)
Modern Domino: The Magazine
nathantfreeman.wordpress.com
For LotusScript 
Developers
Libraries & Namespaces
Libraries & Namespaces 
Use “com.redpilldevelopment.utilities” package com.redpilldevelopment.utilities.portal; 
import com.redpilldevelopment.utilities.*;
Declaratives
Data Types 
• Boolean (0 or -1) 
• Byte (0 to 255) 
• Integer (-32,768 to 32,767) 
• Long 
• n/a 
• Single 
• Double 
• String 
• Currency 
• boolean 
• byte 
• short 
• int 
• long 
• float 
• double 
• char 
• n/a
Primatives versus Objects 
boolean 
byte 
short 
int 
long 
float 
double 
Char 
Boolean 
Byte 
Short 
Integer 
Long 
Float 
Double 
Character
Declarations 
Dim i As Integer 
i = 10 
int i; 
int i = 10;
Classes
Class 
Public Class MyClass 
… 
End Class 
public class MyClass { 
… 
}
Constructor 
Class MyClass 
Sub New() 
… 
End Sub 
End Class 
* Assumes Option Public 
class MyClass { 
public MyClass() { 
… 
} 
}
Class Declaration 
Dim class1 As New MyClass() MyClass class1 = new MyClass();
Properties
Properties 
Property Get A As String 
Property Set A As String 
Property Get A As Boolean 
public String getA() 
public void setA(String a) 
public boolean isA ()
Methods
Methods 
Sub A() 
Function A() As Boolean 
A = true 
End Function 
Function B(p1 As String) As String 
public void A() 
public boolean A() { 
return true; 
} 
Public String B(String p1)
Conditionals
If Statement 
If (condition) Then 
… 
Else 
… 
End If 
if (condition) { 
… 
} 
else { 
}
Select Statement 
Select Case (Month) 
Case 1: MonthString = “January” 
Case 2: MonthString = “February” 
Case Else: MonthString = “Invalid” 
End Select 
switch (month) { 
case 1: monthString = “January”; 
break; 
case 2: monthString=“February; 
break; 
default: monthString = “Invalid”; 
break; 
}
Looping
For Statement 
Dim i As Integer 
For i = 1 To 10 
Print "Count is: ”,i 
Next i 
for (int i=1;i<=10;i++) { 
System.out.println(“Count is: “ + i); 
}
Document Looping 
Dim Doc As NotesDocument 
Set Doc = View.getFirstDocument() 
While (Not Doc Is Nothing) 
… 
Set Doc = View.GetNextDocument(Doc) 
Wend 
for (Document doc: view.getAllDocuments()) { 
… 
}
Error Handling
Error Handling 
On Error GoTo err 
… 
err: 
… 
try { 
… 
} catch (Exception e) { 
… 
}
Some Important Differences
Gotchas 
Casing Ignored 
Automatic garbage collection 
Statements end with EOL 
Code blocked by End statement 
Variables global to Sub 
Object variable not set 
Case Sensitive 
Recycle required* 
Statements end with ; 
Code blocked by { and } 
Variables scoped to code block 
Null pointer exception 
* Handled by OpenNTF Domino API
OF 
THE 
RISE GRAPH 
Keith Strickland 
Red Pill Development
What is 
a graph?
Not This!
Any storage system providing index-free 
adjacency
Part of NoSQL Revolution
Part of the NoSQL Revolution
Node
Nodes
Relationship (Edge) 
*ID: 1 
Model: T- 
850 
*ID: 2 
*ID: 3 Model: T-X 
Label: Encountered 
Date: 07-24-2004
Graph 
Protects 
Protects 
Hunts 
Hunts 
Encounters 
Hunts 
Encounters
Show Me!
Oscar Nominations
Brand Analysis
Entertainment Connections
London Underground
Who’s Using Graphs?
Explain The Advantages?
Big Data 
The volume of business data 
doubles every 1.2 years
Big Data 
Walmart handles 1 MILLION 
customer transactions an hour
Big Data 
30 BILLION pieces of content 
shared on facebook every month
Big Data 
5 EXABYTES of new data is created 
every 10 minutes
Big Data 
Data volumes collected by Skynet 
in 2025 measured in brontobytes
Query Performance
2 Levels Deep (~2,500 results) 
0.16 
0.10 
RDMS Graph
3 Levels Deep (~110,000 results) 
30.27 
0.17 
RDMS Graph
4 Levels Deep (~600,000 results) 
1,544 
1 
RDMS Graph
5 Levels Deep (~800,000 results) 
unfinished 
2 
RDMS Graph
Relational Doesn’t Scale
So what 
about 
Notes?
Domino API
Why Is It Important?
Application Analysis
Understanding Application Design
Who’s creating content?
Actions Taken
Usage Over Time
The era of the GRAPH is rising
Getting some REST 
with Representational State Transfer 
REST 
ReadViewEntries 
Domino Data Service 
XPages REST Service
What is 
REST?
Developed in 
2000 
by Roy Fielding 
A group of stateless developers protest against the oppression of the SOAP regime
REST is not a Standard
REST is an architectural 
Some of the growing population of Notes developers now programming in style with REST 
STYLE
Simple, 
Stateless 
API 
for the Internet 
A group of stateless developers protest against the oppression of the SOAP regime
Stateless 
A client-server model in which the client must 
provide all context in the request to the server
Get 
Retrieve data from the server
Post 
Update data on the server
Put 
Create data on the server
Delete 
Remove data from the server
DataTypes
REST Status 
2xx == all good 
4xx == client encountered a problem 
5xx == server encountered a problem
Why use 
REST?
Data-Driven UI 
Sencha Touch Native Mobile Apps XPages Mobile
?ReadViewEntries 
Now with primitive REST services 
A division of Lotus Development
http://scanline/Training/CatalogNew.nsf/ 
Applications?ReadViewEntries 
http://scanline/Training/CatalogNew.nsf/Applications 
?ReadViewEntries&outputformat=json
DominoData Service 
Notes 8.5.3 
The growing importance of legal in our company can be observed by the amount of space we now devote to the following message….
Server Enablement Database Enablement
View Enablement 
http://scanline/Training/CatalogNew.nsf/a 
pi/data/collections/name/Applications
XPages Rest Services 
Notes 8.5.3
xe:restService
xe:restService
http://scanline/Training/catalogNew.nsf/Services.xsp/applications
Additional Information 
Because the journey doesn’t end here
BP204 Take a REST and put your data 
to work with APIs 
Craig Schumann | Inner Ring Solutions 
© 2013 IBM Corporation
http://www.openntf.org/Projects/pmt.nsf/36B7CD129ED7357A86257AC6005523E7/%24file/Ext 
ension%20Library%20REST%20Services.pdf
Getting some REST 
with Representational State Transfer 
REST 
ReadViewEntries 
Domino Data Service 
XPages REST Service
Visual Power with D3
What is D3.js?
4
JavaScript Library
Helper Functions 
Date/Time Arrays Scales Layouts Min/Max
Parsers 
JSON TSV CSV XML
Code Examples
D3.select 
var table = d3.select(“#someElementId”) 
.append("table") 
.attr("class","table table-bordered"); 
var tableHead = table.append("thead"); 
var tableBody = table.append("tbody");
D3.selectAll 
tableBody.selectAll("tr") 
.data(tableData.viewentry) 
.enter() 
.append("tr")
Examples
Downsides
Steep learning curve 
Javascript 
SVG
Large datasets
If you’re looping through data… 
You’re doing it wrong
Additional Reading 
D3.js d3js.org 
Thinking with Joins bost.ocks.org/mike/join 
Towards Reusable Charts bost.ocks.org/mike/chart 
How Selections Work bost.ocks.org/mike/selection 
Dashing D3 www.dashingd3js.com 
Stack Overflow tackoverflow.com/questions/tagged/d3.js 
Gapminder World www.gapminder.org/world
Bootstrapping 
with Twitter Bootstrap 
Responsive Layouts 
CSS 
Components 
JavaScript 
Font Awesome 
Select2 
Themes 
Bootstrap4XPages
What is Bootstrap?
Developed by Twitter
Responsive 
The most popular front-end framework for developing responsive, mobile first 
projects on the web.
Grid Based
Open Source
Depends on jQuery
Mobile First
Responsive? 
What Is Responsive?
What’s In Bootstrap? 
CSS Components Javascript
CSSCascading Style Sheets 
Global CSS settings, fundamental HTML elements styled and 
enhanced with extensible classes, and an advanced grid system.
Fluid Grids 
Large(large monitor) 
Medium (small monitor) 
Small (tablet) 
Extra-Small (phone)
Contextual Backgrounds
Buttons
Components 
Over a dozen reusable components built to provide iconography, 
dropdowns, input groups, navigation, alerts, and much more.
Glyphicons
Dropdowns
Navbars
Badges
Javascript 
Bring Bootstrap's components to life with over a dozen custom 
jQuery plugins. Easily include them all, or one by one.
transition.js
modal.js
scrollspy.js
carousel.js
Bootstrap Themes 
Because not every Notes developer is the world’s greatest graphic designer!
free
$12
$17
$25
$75
Font Awesome 
The iconic font designed for Bootstrap
Select2 
jQuery based replacement for select boxes
Select2 Example
Bootstrap4XPages
Bootstrapping 
with Twitter Bootstrap 
Responsive Layouts 
CSS 
Components 
JavaScript 
Font Awesome 
Select2 
Themes 
Bootstrap4XPages
Mobile Controls 
Modern Domino: Gaining Control with XPages Mobile 
Single Page Application 
Application Page 
Page Heading 
Data View 
Form Table 
Form Layout Row
Single Page Application 
<xe:singlePageApp> 
Property Description 
id Unique identifier 
selectedPageName The initial mobile page to be displayed (Required)
Application Page 
<xe:appPage> 
Property Description 
id Unique identifier 
pageName The name used to identify the page 
resetContent True: Page content is recreated each time the page is displayed
Application Page 
Examples
Application Page 
Code
Page Heading 
<xe:djxmHeading> 
Property Description 
label Text to be displayed in header 
back Text to be displayed in the back button 
moveTo Application page to navigate to when back button is pressed
Page Heading 
Examples
Page Heading 
Code
Data View 
<xe:dataView> 
Property Description 
data Datasource used to provide data for the view 
pageName Page used to open the document when the summary label is selected 
summaryColumn Defines the column used for the summary label
Data View 
Example
Data View 
Code
Form Table 
<xe:formTable>
Form Layout Row 
<xe:formRow> 
Property Description 
for Id of input control used to edit the data 
label Label to be associated with the input control
Form Table 
Example
Form Table 
Code
Mobile Controls 
Modern Domino: Gaining Control with XPages Mobile 
Single Page Application 
Application Page 
Page Heading 
Data View 
Form Table 
Form Layout Row
SSJS 
The Mini-Evil in Xpages Development
A brief history of com.ibm.jscript 
Began life 
as Trilog’s 
FlowBuilder 
Internally, variable types are prefixed 
with ‘FBS’ which is “FlowBuilderScript” 
Acquired by IBM 
to become the 
foundation of 
XPages
14 Year Legacy! 
“All in this file are in conformance 
with ECMAScript Language 
Specification Edition 3 24-Mar- 
00”
What’s new in SSJS? 
1. var foo:NotesDocument
What’s new in javascript? 
• 1.4: instanceof Operator 
• 1.5: const, Number.toFixed(), multiple catches, if clause 
functions 
• 1.6: Array functions, Array generics, String generics, E4X 
• 1.7: yield, iterators, generators, 
• 1.8: Array.reduce(), expression closures, array destructuring 
• 1.8.1: Native JSON, .getPrototypeOf() 
• 1.8.5: Object prototype, Array.isArray(), strict mode 
• Next: function (x) {return y+z;} becomes x => y+z; for of loops
Not really 
OO
Ah! .prototype? 
• Hazardous 
• Prototype changes are SERVER-WIDE, 
even if they originate from a single custom 
control 
• Prototype functions can be used carelessly 
or maliciously to redefine language features
Type declaration? 
• :NotesDocument and :java.util.Map are just 
EDITOR instructions 
• Incorrect usage can create accidental 
block-level vars
When do you see errors? 
When you build? 
When you run? 
When your users do?
But Javascript is popular! 
• Modern Javascript is popular 
• node.js, jQuery, Angular.js, Backbone, 
Marionette, Sencha, Mongo, Rx 
• All require JS 1.7+ 
• SSJS was written for the Netscape era
What is it really? 
Proprietary 
Closed 
Frozen 
Outdated 
Buggy
Just stick with Lotusscript!

Mais conteúdo relacionado

Mais procurados

Driverless AI Hands-on Focused on Machine Learning Interpretability - H2O.ai
Driverless AI Hands-on Focused on Machine Learning Interpretability - H2O.aiDriverless AI Hands-on Focused on Machine Learning Interpretability - H2O.ai
Driverless AI Hands-on Focused on Machine Learning Interpretability - H2O.aiSri Ambati
 
Machine Learning with GraphLab Create
Machine Learning with GraphLab CreateMachine Learning with GraphLab Create
Machine Learning with GraphLab CreateTuri, Inc.
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsTuri, Inc.
 
Democratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.ai
Democratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.aiDemocratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.ai
Democratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.aiSri Ambati
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systemsXavier Amatriain
 
Pm.ais ummit 180917 final
Pm.ais ummit 180917 finalPm.ais ummit 180917 final
Pm.ais ummit 180917 finalNisha Talagala
 
ETL & Machine Learning
ETL & Machine LearningETL & Machine Learning
ETL & Machine LearningLuthfi Hariz
 
The State of Artificial Intelligence in 2018: A Good Old Fashioned Report
The State of Artificial Intelligence in 2018: A Good Old Fashioned ReportThe State of Artificial Intelligence in 2018: A Good Old Fashioned Report
The State of Artificial Intelligence in 2018: A Good Old Fashioned ReportNathan Benaich
 
BBBT Watson Data Platform Presentation
BBBT Watson Data Platform PresentationBBBT Watson Data Platform Presentation
BBBT Watson Data Platform PresentationRitika Gunnar
 
Dataiku productive application to production - pap is may 2015
Dataiku    productive application to production - pap is may 2015 Dataiku    productive application to production - pap is may 2015
Dataiku productive application to production - pap is may 2015 Dataiku
 

Mais procurados (10)

Driverless AI Hands-on Focused on Machine Learning Interpretability - H2O.ai
Driverless AI Hands-on Focused on Machine Learning Interpretability - H2O.aiDriverless AI Hands-on Focused on Machine Learning Interpretability - H2O.ai
Driverless AI Hands-on Focused on Machine Learning Interpretability - H2O.ai
 
Machine Learning with GraphLab Create
Machine Learning with GraphLab CreateMachine Learning with GraphLab Create
Machine Learning with GraphLab Create
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
 
Democratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.ai
Democratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.aiDemocratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.ai
Democratizing Intelligence - Sri Ambati, CEO & Co-Founder, H2O.ai
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems
 
Pm.ais ummit 180917 final
Pm.ais ummit 180917 finalPm.ais ummit 180917 final
Pm.ais ummit 180917 final
 
ETL & Machine Learning
ETL & Machine LearningETL & Machine Learning
ETL & Machine Learning
 
The State of Artificial Intelligence in 2018: A Good Old Fashioned Report
The State of Artificial Intelligence in 2018: A Good Old Fashioned ReportThe State of Artificial Intelligence in 2018: A Good Old Fashioned Report
The State of Artificial Intelligence in 2018: A Good Old Fashioned Report
 
BBBT Watson Data Platform Presentation
BBBT Watson Data Platform PresentationBBBT Watson Data Platform Presentation
BBBT Watson Data Platform Presentation
 
Dataiku productive application to production - pap is may 2015
Dataiku    productive application to production - pap is may 2015 Dataiku    productive application to production - pap is may 2015
Dataiku productive application to production - pap is may 2015
 

Semelhante a MWLUG 2014: Modern Domino (workshop)

Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2bdemchak
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-upDerek Lakin
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patternsukdpe
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overviewukdpe
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsDave Allen
 
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...Ramon Tebar
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010Satish Verma
 
Social media analytics using Azure Technologies
Social media analytics using Azure TechnologiesSocial media analytics using Azure Technologies
Social media analytics using Azure TechnologiesKoray Kocabas
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in actionMilan Vukoje
 
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Marco Parenzan
 
DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)Steve Upton
 
DSR microservices
DSR microservicesDSR microservices
DSR microservicesSteve Upton
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Bruce Johnson
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkBob German
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Pythongturnquist
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowKaxil Naik
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 

Semelhante a MWLUG 2014: Modern Domino (workshop) (20)

Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
 
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
Dynamics 365 Saturday - London 2018 - New Features and Deprecations with Dyna...
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Social media analytics using Azure Technologies
Social media analytics using Azure TechnologiesSocial media analytics using Azure Technologies
Social media analytics using Azure Technologies
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
 
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
Azure Functions e Azure Logics Apps: i tuoi coltellini svizzeri per gestire i...
 
DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)
 
DSR microservices
DSR microservicesDSR microservices
DSR microservices
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 

Mais de Peter Presnell

Lotus Notes: Simplicity
Lotus Notes: SimplicityLotus Notes: Simplicity
Lotus Notes: SimplicityPeter Presnell
 
Asymetric Modernization
Asymetric ModernizationAsymetric Modernization
Asymetric ModernizationPeter Presnell
 
MWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed SponsoringMWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed SponsoringPeter Presnell
 
Modern Notes: Databases
Modern Notes: DatabasesModern Notes: Databases
Modern Notes: DatabasesPeter Presnell
 
Future Proofing Notes Client Applications
Future Proofing Notes Client ApplicationsFuture Proofing Notes Client Applications
Future Proofing Notes Client ApplicationsPeter Presnell
 
Lotus Notes: Live Long and Prosper
Lotus Notes: Live Long and ProsperLotus Notes: Live Long and Prosper
Lotus Notes: Live Long and ProsperPeter Presnell
 
ATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern DominoATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern DominoPeter Presnell
 
The History of Lotus Notes
The History of Lotus NotesThe History of Lotus Notes
The History of Lotus NotesPeter Presnell
 
Modern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 SummaryModern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 SummaryPeter Presnell
 
Modern Domino: IBM Connect 2014 Preview
Modern Domino:  IBM Connect 2014 PreviewModern Domino:  IBM Connect 2014 Preview
Modern Domino: IBM Connect 2014 PreviewPeter Presnell
 
Modern Domino: Booleans
Modern Domino: BooleansModern Domino: Booleans
Modern Domino: BooleansPeter Presnell
 
Modern Domino: Android 4.4 (KitKat)
Modern Domino:   Android 4.4 (KitKat)Modern Domino:   Android 4.4 (KitKat)
Modern Domino: Android 4.4 (KitKat)Peter Presnell
 
Modern Domino: Domino 9.0.1
Modern Domino: Domino 9.0.1Modern Domino: Domino 9.0.1
Modern Domino: Domino 9.0.1Peter Presnell
 

Mais de Peter Presnell (20)

Lotus Notes: Simplicity
Lotus Notes: SimplicityLotus Notes: Simplicity
Lotus Notes: Simplicity
 
Big Data With Graphs
Big Data With GraphsBig Data With Graphs
Big Data With Graphs
 
Asymetric Modernization
Asymetric ModernizationAsymetric Modernization
Asymetric Modernization
 
Modernization Math
Modernization MathModernization Math
Modernization Math
 
MWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed SponsoringMWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed Sponsoring
 
Modern Notes: Databases
Modern Notes: DatabasesModern Notes: Databases
Modern Notes: Databases
 
Future Proofing Notes Client Applications
Future Proofing Notes Client ApplicationsFuture Proofing Notes Client Applications
Future Proofing Notes Client Applications
 
Lotus Notes: Live Long and Prosper
Lotus Notes: Live Long and ProsperLotus Notes: Live Long and Prosper
Lotus Notes: Live Long and Prosper
 
ATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern DominoATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern Domino
 
Where's Domino?
Where's Domino?Where's Domino?
Where's Domino?
 
The History of Lotus Notes
The History of Lotus NotesThe History of Lotus Notes
The History of Lotus Notes
 
Lotusphere
LotusphereLotusphere
Lotusphere
 
The Mobile World
The Mobile WorldThe Mobile World
The Mobile World
 
Modern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 SummaryModern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 Summary
 
Modern Domino: IBM Connect 2014 Preview
Modern Domino:  IBM Connect 2014 PreviewModern Domino:  IBM Connect 2014 Preview
Modern Domino: IBM Connect 2014 Preview
 
redpill Now
redpill Nowredpill Now
redpill Now
 
Modern Domino: Booleans
Modern Domino: BooleansModern Domino: Booleans
Modern Domino: Booleans
 
Modern Domino: Icons
Modern Domino: IconsModern Domino: Icons
Modern Domino: Icons
 
Modern Domino: Android 4.4 (KitKat)
Modern Domino:   Android 4.4 (KitKat)Modern Domino:   Android 4.4 (KitKat)
Modern Domino: Android 4.4 (KitKat)
 
Modern Domino: Domino 9.0.1
Modern Domino: Domino 9.0.1Modern Domino: Domino 9.0.1
Modern Domino: Domino 9.0.1
 

Último

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: 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
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
[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
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
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
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 

Último (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: 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
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
[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
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
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
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 

MWLUG 2014: Modern Domino (workshop)

Notas do Editor

  1. When building an application that uses the mobile controls you will typically be using an Xpage that has a Single Application Page control. Within this single application page we are going to create one or more Mobile page controls. This is what allows the seamless transition between pages that is a common design aspect of many mobile applications and mirrors the way native mobile applications are built.. It is necessary to nominate one of these Mobile Pages to be the initial page displayed when the XPage is opened.
  2. The first, and most important aspect of building a mobile application is deciding the number of Mobile pages that are going to be used and how the navigation will occur between these pages. Each Mobile Page is assigned a pageName. These must be unique in order to prevent potential navigation problems. By default the content of each page is loaded as part of a partial refresh when the page is navigated to for the first time. If you look at the HTML sent to your browser you will normally see the content of all other pages as an empty div. The load strategy can be controlled using the autocreate and resetContent properties of each page. If the content of a page is dynamic based upon actions the user has (or will take) it is a good idea to cause the content to be recreated each time the page is displayed. Be careful though… This strategy can cause issues when the page is refreshed or is navigated back to from subsequent pages. Document data sources may have been recycled which is why it is often a good strategy to bind pages to Object Data Sources that link to beans.
  3. The first, and most important aspect of building a mobile application is deciding the number of Mobile pages that are going to be used and how the navigation will occur between these pages. Each Mobile Page is assigned a pageName. These must be unique in order to prevent potential navigation problems. By default the content of each page is loaded as part of a partial refresh when the page is navigated to for the first time. If you look at the HTML sent to your browser you will normally see the content of all other pages as an empty div. The load strategy can be controlled using the autocreate and resetContent properties of each page. If the content of a page is dynamic based upon actions the user has (or will take) it is a good idea to cause the content to be recreated each time the page is displayed. Be careful though… This strategy can cause issues when the page is refreshed or is navigated back to from subsequent pages. Document data sources may have been recycled which is why it is often a good strategy to bind pages to Object Data Sources that link to beans.
  4. The first, and most important aspect of building a mobile application is deciding the number of Mobile pages that are going to be used and how the navigation will occur between these pages. Each Mobile Page is assigned a pageName. These must be unique in order to prevent potential navigation problems. By default the content of each page is loaded as part of a partial refresh when the page is navigated to for the first time. If you look at the HTML sent to your browser you will normally see the content of all other pages as an empty div. The load strategy can be controlled using the autocreate and resetContent properties of each page. If the content of a page is dynamic based upon actions the user has (or will take) it is a good idea to cause the content to be recreated each time the page is displayed. Be careful though… This strategy can cause issues when the page is refreshed or is navigated back to from subsequent pages. Document data sources may have been recycled which is why it is often a good strategy to bind pages to Object Data Sources that link to beans.
  5. The label psroperty defines the text to appear in the heading while the back property is used to defined the text for a back button. The moveTo property is used to define the Mobile page to naviagate to when the back button is pressed. The type of transition can be defined for the back button. A facet (actionFacet) is used to populate one or more additional actions on the right of the heading. Notes: An onShow event was available in beta but was removed in the official (non-OpenNTF) version that was eventually released as part of 8.5.3 UP1.
  6. The label psroperty defines the text to appear in the heading while the back property is used to defined the text for a back button. The moveTo property is used to define the Mobile page to naviagate to when the back button is pressed. The type of transition can be defined for the back button. A facet (actionFacet) is used to populate one or more additional actions on the right of the heading. Notes: An onShow event was available in beta but was removed in the official (non-OpenNTF) version that was eventually released as part of 8.5.3 UP1.
  7. The label psroperty defines the text to appear in the heading while the back property is used to defined the text for a back button. The moveTo property is used to define the Mobile page to naviagate to when the back button is pressed. The type of transition can be defined for the back button. A facet (actionFacet) is used to populate one or more additional actions on the right of the heading. Notes: An onShow event was available in beta but was removed in the official (non-OpenNTF) version that was eventually released as part of 8.5.3 UP1.
  8. Here are some of the properties that can be specified for a dataview Many other properties are available, but most of the ones not shown here do not apply to the mobile theme
  9. Here are some of the properties that can be specified for a dataview Many other properties are available, but most of the ones not shown here do not apply to the mobile theme
  10. Here are some of the properties that can be specified for a dataview Many other properties are available, but most of the ones not shown here do not apply to the mobile theme
  11. The Form table is a little like the basic HTML table. It has a Form Table outer control along with rows and columns. We will not be covering FormColumns in this session as they are not well suited for use with mobile applications We can assign a title to the table using the formTitle property FormDescription can be used to add extra information which is displayed below the title. We can disable to use of Required Marks fieldHelp and labelPosition are not fully supported in a mobile device so only use those in conjunction with the standard XPages themes.
  12. With a Form Table we will usually add one or more rows. Label is used to assign the label text for the content of the row. For is used to designate the id of the input control. This is largely used with Accesibility features within the browser. labelPosition is ignored by the mobile theme, so again only use to affect the display in standard Xpages themes. After we have define the table row we will usually add an input control to display the data from our Notes document and (optionally) allow for its content to be edited.
  13. The Form table is a little like the basic HTML table. It has a Form Table outer control along with rows and columns. We will not be covering FormColumns in this session as they are not well suited for use with mobile applications We can assign a title to the table using the formTitle property FormDescription can be used to add extra information which is displayed below the title. We can disable to use of Required Marks fieldHelp and labelPosition are not fully supported in a mobile device so only use those in conjunction with the standard XPages themes.
  14. The Form table is a little like the basic HTML table. It has a Form Table outer control along with rows and columns. We will not be covering FormColumns in this session as they are not well suited for use with mobile applications We can assign a title to the table using the formTitle property FormDescription can be used to add extra information which is displayed below the title. We can disable to use of Required Marks fieldHelp and labelPosition are not fully supported in a mobile device so only use those in conjunction with the standard XPages themes.