SlideShare a Scribd company logo
Access Data from XPages with the Relational Controls 
Tweet about this event 
And mention us: @Teamstudio @TLCCLTD 
@PaulDN 
Nov. 4, 2014
@Teamstudio 
teamstudio.com 
@TLCCLTD 
tlcc.com 
Courtney Carter 
Inbound Marketing Specialist 
Teamstudio
Who We Are 
• Teamstudio’s background is in creating tools for 
collaborative computing in mid-size and large 
enterprises, primarily for IBM Notes 
• Easy-to-use tools for developers and administrators 
• 2300+ active customers, 47 countries 
• Offices in US, UK, and Japan 
• Entered mobile space in 2010 with Unplugged: easy 
mobilization of Notes apps to Blackberry, Android 
and iOS
Teamstudio Unplugged 
• Your mobile Domino server: take your IBM Notes 
apps with you! 
• End-users access Notes applications from mobile 
devices whether online or offline 
• Leverages existing skills and technology – XPages – 
a replication model you already know 
• Unplugged 3.1
Unplugged Templates 
• Continuity – Mobile offline access to 
BCM programs 
• OneView Approvals – Expense 
approvals; anywhere, anytime 
• CustomerView – lightweight CRM 
framework for field sales and field 
service teams 
• Contacts – customer information database 
• Activities – customer activity log 
• Media – mobile offline file storage and access
• Modernization Services promotion: 
o Now through December 15, sign up to learn about our Modernization Services, and 
be automatically entered to win an iPhone 6.
1 
The XPages Relational Controls 
#XPages 
Your Hosts and Presenters Today: 
Howard Greenberg 
TLCC 
@TLCCLtd 
Paul Della-Nebbia 
TLCC 
@PaulDN
How can TLCC Help YOU! 
2 
• Private classes at 
your location or 
virtual 
•XPages Development 
•Support Existing Apps 
•Administration 
• Let us help you 
become an expert 
XPages developer! 
• Delivered via Notes 
• XPages 
• Development 
• Admin 
• User 
Self- 
Paced 
Courses 
Mentoring 
Instructor- 
Led 
Classes 
Application 
Development 
and 
Consulting 
Free 
Demo 
Courses!
Important Fixes 
• New Interim Fixes Available 
– Poodle Attack Fix (TLS 1.0) 
– Mobile Controls on iOS8 
– SHA 2 Certificates 
– 8.5, 9.0, and 9.0.1 
– And more 
• Links: 
– More about Poodle Fix 
– SHA 2 Support 
– 9.0.1 Interim Fix (Mobile Controls on iOS8) 
3
Upcoming and Recorded Webinars 
4 
• December - Tips for Building Your First XPages Java Application 
www.tlcc.com/xpages-webinar 
GoToWebinar will be used 
starting with December’s webinar!!! 
View Previous Webinars 
(use url above)
Asking Questions – Q and A at the end 
5
Agenda 
Introduction and Setup 
• What are the Relational Controls 
• System Requirements 
• Enabling a database to use the relational controls 
Using the Controls 
• The jdbcQuery data source 
• Using Relational Data in a View Panel 
• Using Relational Data in a Repeat 
• Different ways to access data using SQL and joining tables 
• JDBC @Functions 
• Using the JDBC Connection Manager control 
• The jdbcRowSet data source 
• Working with Relational data in a Dojo DataGrid 
Questions and Answers 
6 
#XPages
7 
#XPages 
Paul Della-Nebbia 
TLCC 
@PaulDN
Relational Controls and Tools 
• A new set of controls and tools to access relational data 
• Two New Data Sources – jdbcQuery, jdbcRowSet 
• New @Functions 
– @JdbcDbColumn, @JdbcExecuteQuery 
– @JdbcInsert , @JdbcUpdate , @JdbcDelete 
• New REST Service - jdbcQueryJsonService 
• Two Java Classes - jdbcUtil and DatabaseHelper 
• jdbcConnectionManager control 
8
System Requirements : Install OpenNTF Extension Library 
• Install ExtLib for your release of Domino: 
– Domino 8.5.3 - OpenNTF Extension Library for 8.5.3 
(but not Update Pack 1 from IBM) 
– Domino 9.0.0 - the OpenNTF Extension Library for 9.0.0 
– Domino 9.0.1 - the OpenNTF Extension Library for 9.0.1 
9
System Requirements : Install the JDBC Driver 
• Install the JDBC Driver for your RDBMS: 
– copy drivers to server (jvm/lib/ext directory) 
– copy driver to NSF 
– RECOMMENDED: create a plugin to install the JDBC driver 
• From scratch - see procedure in XPages Extension Library book 
• Using the XPages JDBC Driver Wrapper project from OpenNTF 
• Using Wizard included in the OpenNTF Extension Library 
Release 901v00_07 (release 7 or above) 
10
Optional: Install the XPages RDBMS Enablement project 
11
Enabling an NSF to use Relational Data 
• Create a JDBC Connection file (.jdbc) in 
WebContentWEB-INFjdbc folder in the .nsf 
<jdbc> 
<driver>org.apache.derby.jdbc.EmbeddedDriver</driver> 
<url>jdbc:derby:${rcp.data}derbyBigOak;create=true</url> 
<user>ND9XPG2</user> 
<password>ND9XPG2</password> 
</jdbc> 
• Enable the com.ibm.xsp.extlib.relational.library 
12
DB2sample.jdbc 
• DB2sample.jdbc in WebContentWEB-INFjdbc 
<jdbc> 
<driver>com.ibm.db2.jcc.DB2Driver</driver> 
<url>jdbc:db2://db2srvr.abc.com:50000/SampleDB</url> 
<user>db2admin</user> 
<password>password123</password> 
</jdbc> 
13
Demo – Examine the derby1.jdbc file 
14
15 
#XPages 
Howard Greenberg 
TLCC 
@TLCCLtd
How do we Access the Relational Data? 
• Two new types of data sources 
• jdbcQuery – used for large data sets, read-only 
• jdbcRowSet – used for read-write, cached data set 
– use these with controls like a viewPanel, data view and repeat 
• new @functions 
• New REST Service 
• Standard Java code that references connection 
– two helper classes, JdbcUtil and DatabaseHelper 
– see DBUtil in demo database for examples or page 425-428 of 
the Extension Library book for details (or the source code!) 
16
17 
New Data Sources for Relational Data
18 
New Data Sources - JDBCQuery 
JDBCQuery 
• Use for read only access 
• connectionName - use the name of the .jdbc file 
• Properties to specify the data to retrieve: 
– sqlTable – specify a table 
– sqlQuery – write a SQL query 
– sqlFile – access SQL in a file (stored in WEB-INF) 
• sqlTable overrides other two, sqlQuery overrides sqlFile 
• calculateCount – allows pager to display correct number 
of pages (set to true if using a pager)
19 
Properties for jdbcQuery Data Source
20 
Using a View Panel with Relational Data 
1. Add view panel to page, choose Select Data Source 
later 
2. In the Data tab choose JDBC Query 
3. Enter the query (sqlTable, sqlQuery, or sqlFile) 
4. Choose the view column, go to All Properties and 
enter the columnName (must match field on table) 
5. Append/insert more columns as needed 
6. Set the View Column Header 
7. Optionally set other properties (like letting the user 
change sort order)
21 
View Panel Control
Using Other Container Controls 
• Relational Data Sources also work with: 
– Repeat 
– Data Table 
– Data View 
• Use the Var variable to access row data in the Value 
property 
– SSJS, EL or Custom 
– Examples: 
• SSJS: rowEntry.getColumnValue(“CITY"); 
– com.ibm.xsp.extlib.relational.jdbc.model.JdbcDataBlockAccessor 
• EL: rowEntry.CITY 
• Custom: #{rowVar.CUSTOMER} in #{rowVar.CITY} 
22
SQL!!! 
• Remember, three ways to specify the data set 
– SQL Table 
– SQL Query 
SELECT * FROM CUSTOMERS WHERE REGION LIKE ‘East’ 
– SQL File 
• SQL Query can have parameters 
– “?” is replaced by the parameter in order 
SELECT * FROM CUSTOMERS WHERE REGION LIKE ? 
– sqlParameters specified in data source properties – value 
property 
• Best Practice is to use SQL Parameters 
– Building a Query in code has security issues 
– SQL Injection Attacks 
23
24 
SQL Parameters
More on SQL 
• Join two tables together 
SELECT customers.customer, customers.contact, customers.address, customers.city, 
customers.state, customers.region, regions.salesrep 
FROM customers INNER JOIN regions 
ON customers.region=regions.region 
25
26 
New @Functions 
• @JdbcGetConnection 
• @JdbcExecuteQuery 
• @JdbcDelete 
• @JdbcInsert 
• @JdbcUpdate
27 
@JdbcGetConnection 
• Gets a connection – java.sql.Connection object 
• @JdbcGetConnection(String:connectionname) 
– gets a connection object, can use as first argument in 
other @functions (or can specify the connection name)
28 
@jdbcDbColumn 
• returns a column (Array) from a table 
– can specify a where statement 
– column(s) to order the results by 
@JdbcDbColumn(String:connectionname , String:table , String:column) 
@JdbcDbColumn(String:connectionname , String:table , String:column, String:where) 
@JdbcDbColumn(String:connectionname , String:table , String:column, String:where, 
String:orderBy) 
@JdbcDbColumn(String:connectionname , String:table , String:column, String:where, 
String:orderBy, Array:params) 
var a = @JdbcDbColumn("derby1","regions", "REGION");
29 
@JdbcExecuteQuery 
• @JdbcExecuteQuery - executes a SQL Query and 
returns results (using the java.sql.ResultSet class) 
@JdbcExecuteQuery(String:connectionname , String:sql) 
@JdbcExecuteQuery(String:connectionname , String:sql, Array:params) 
Loop through ResultSet – sample code: 
var region = row.getColumnValue("region"); 
var sql = "SELECT SALESREP FROM regions WHERE REGION LIKE ?"; 
var res = @JdbcExecuteQuery("derby1",sql, region); 
var salesep; 
while (res.next()){ 
salesrep = salesrep + res.getString("SALESREP") + “, “ ; 
} 
return salesrep;
30 
@JdbcDelete 
• Returns integer value with number of rows deleted 
• Immediate Delete 
@JdbcDelete(String:connectionname , String:table , String:where) 
@JdbcDelete(String:connectionname , String:table , String:where , Array:params) 
var sel = getComponent("delCust1").getValue(); 
if (!!sel){ 
var sqlwhere = "customer = ?"; 
dnum = @JdbcDelete("derby1", "customers", sqlwhere , sel); 
@InfoMessage("The number of records deleted is " + dnum); 
}else { 
@ErrorMessage("Select a customer to delete"); 
}
31 
@JdbcInsert 
• Inserts a row 
• Returns integer value with number of rows inserted 
@JdbcInsert(String:connectionname , String:table , values) 
• values can be: 
– an array of just values (same order and number as in 
table) 
– array of name/value pairs 
– Java HashMap 
– JSON object 
var res = @JdbcInsert("derby1", "customers", newRow);
32 
@JdbcUpdate 
• Update a row - @JdbcUpdate 
– returns integer value with number of rows updated 
@JdbcUpdate(String:connectionname , String:table , values) 
@JdbcUpdate(String:connectionname , String:table , values, String:where) 
@JdbcUpdate(String:connectionname , String:table , values, String:where , 
Array:params) 
• values can be: 
– an array of just values (same order and number as in table) 
– array of name/value pairs 
– Java HashMap 
– JSON object 
var wheresql = "customer = ?"; 
var vals = {contact:contactValue}; 
res = @JdbcUpdate("derby1", "customers", vals, wheresql , sel); 
@InfoMessage("The number of records updated is " + res);
33 
jdbcConnectionManager control 
• Manages multiple data sources 
• Set transaction isolation level for 
concurrent operations 
– see table 12-3 in Ext. Lib book for settings 
• Specify the id of the connection 
manager In the data source property 
called connectionManager 
• Use when on the same XPage you have: 
– Multiple transactions to commit at the 
same time 
– Multiple data sources
34 
Properties of the jdbcConnection Manager
Specifying the ConnectionManager in the Data Source 
35
36 
#XPages 
Paul Della-Nebbia 
TLCC 
@PaulDN
JDBC RowSet Data Source 
• Used to read and write data (caches results) 
1. Setup jdbcRowSet data source 
2. Call newRow() method to create a new record 
3. To edit a row - setup row data object using the 
Object Data Source 
• Call getRow() method in createObject property 
• Call saveRow() method in saveObject property 
4. call acceptChanges() method to commit changes to 
database 
37
DemoXPage771 
38
Displaying Relational Data in a Dojo Data Grid 
• Uses the jdbcQueryJsonService REST Service 
39
DemoXPage781 
40
TLCC XPages 2 Course 
41 
4 Day Self-Paced Course 
• The XPages Architecture and Life cycle 
• How to optimize XPages performance 
• The use of Single Copy XPages 
Databases 
• Localize your XPages applications 
• Custom Controls 
• Client-Side JavaScript libraries like XSP 
and Dojo 
• Add charts to your XPages 
• Create an “Xagent” 
• Use the Dojo Data Grid 
• Use the Relational controls 
• And much more!!! 
Includes Instructor Support! 
Special Offer for Attendees, Save $300, get this course for only $599! 
Click here to access the special ordering page to get this offer
Questions???? 
42
Question and Answer Time! 
Upcoming Events: 
DNUG, Nov. 11/12 in Leipzig, Germany 
Social Connections, November 13 in Stockholm 
DanNotes, November 19 in Denmark 
ConnectED, Orlando in January 
Engage, March 30/31 in Ghent, Belgium 
Teamstudio Questions? 
contactus@teamstudio.com 
877-228-6178 
43 
TLCC Questions? 
howardg@tlcc.com paul@tlcc.com 
888-241-8522 or 561-953-0095 
Howard Greenberg 
#XPages 
@TLCCLtd 
@Teamstudio 
@PaulDN 
Paul Della-Nebbia Courtney Carter 
To learn more about the Relational Controls and other advanced topics: 
Special offer for webinar attendees on TLCC’s XPages 2 course

More Related Content

What's hot

What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.x
Ulrich Krause
 
dominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptxdominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptx
Ulrich Krause
 
Overview of new features in Apache Ranger
Overview of new features in Apache RangerOverview of new features in Apache Ranger
Overview of new features in Apache Ranger
DataWorks Summit
 
Daos
DaosDaos
Or2019 DSpace 7 Enhanced submission &amp; workflow
Or2019 DSpace 7 Enhanced submission &amp; workflowOr2019 DSpace 7 Enhanced submission &amp; workflow
Or2019 DSpace 7 Enhanced submission &amp; workflow
4Science
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
Gabriella Davis
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuningelliando dias
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Mike Dirolf
 
DominoMigrationProposal
DominoMigrationProposalDominoMigrationProposal
DominoMigrationProposalLynn Levash
 
From frustration to fascination: dissecting Replication
From frustration to fascination: dissecting ReplicationFrom frustration to fascination: dissecting Replication
From frustration to fascination: dissecting Replication
Benedek Menesi
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema Registry
Pat Patterson
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
Ricardo Santos
 
Integrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data LakesIntegrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data Lakes
DataWorks Summit/Hadoop Summit
 
(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive
Amazon Web Services
 
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
Howard Greenberg
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
OSSCube
 
Understanding and tuning WiredTiger, the new high performance database engine...
Understanding and tuning WiredTiger, the new high performance database engine...Understanding and tuning WiredTiger, the new high performance database engine...
Understanding and tuning WiredTiger, the new high performance database engine...
Ontico
 
Logical Replication in PostgreSQL
Logical Replication in PostgreSQLLogical Replication in PostgreSQL
Logical Replication in PostgreSQL
EDB
 
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
YoungHeon (Roy) Kim
 

What's hot (20)

What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.x
 
dominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptxdominocamp2022.t1s1.dde.pptx
dominocamp2022.t1s1.dde.pptx
 
Overview of new features in Apache Ranger
Overview of new features in Apache RangerOverview of new features in Apache Ranger
Overview of new features in Apache Ranger
 
Daos
DaosDaos
Daos
 
Or2019 DSpace 7 Enhanced submission &amp; workflow
Or2019 DSpace 7 Enhanced submission &amp; workflowOr2019 DSpace 7 Enhanced submission &amp; workflow
Or2019 DSpace 7 Enhanced submission &amp; workflow
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuning
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
DominoMigrationProposal
DominoMigrationProposalDominoMigrationProposal
DominoMigrationProposal
 
From frustration to fascination: dissecting Replication
From frustration to fascination: dissecting ReplicationFrom frustration to fascination: dissecting Replication
From frustration to fascination: dissecting Replication
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema Registry
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
 
Integrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data LakesIntegrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data Lakes
 
(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive(STG402) Amazon EBS Deep Dive
(STG402) Amazon EBS Deep Dive
 
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
 
Understanding and tuning WiredTiger, the new high performance database engine...
Understanding and tuning WiredTiger, the new high performance database engine...Understanding and tuning WiredTiger, the new high performance database engine...
Understanding and tuning WiredTiger, the new high performance database engine...
 
Logical Replication in PostgreSQL
Logical Replication in PostgreSQLLogical Replication in PostgreSQL
Logical Replication in PostgreSQL
 
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
 

Viewers also liked

Java for XPages Development
Java for XPages DevelopmentJava for XPages Development
Java for XPages Development
Teamstudio
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...Stephan H. Wissel
 
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
Teamstudio
 
Keynote apertura Dominopoint Days 2013, #dd13
Keynote apertura Dominopoint Days 2013, #dd13Keynote apertura Dominopoint Days 2013, #dd13
Keynote apertura Dominopoint Days 2013, #dd13
Dominopoint - Italian Lotus User Group
 
SpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPagesSpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPagesBruce Elgort
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Teamstudio
 
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...How to upload a file to an IBM Connections.Cloud Community using the Plugins ...
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...
Gavin Bollard
 
How to share a File using IBM Connections.Cloud
How to share a File using IBM Connections.CloudHow to share a File using IBM Connections.Cloud
How to share a File using IBM Connections.Cloud
Gavin Bollard
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
Teamstudio
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Bruce Elgort
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
Mark Leusink
 
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
 
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...
panagenda
 
xe:objectData
xe:objectDataxe:objectData
xe:objectData
Thimo Jansen
 
IBM Domino Designer: Tips and tricks for maximum productivity
IBM Domino Designer: Tips and tricks for maximum productivityIBM Domino Designer: Tips and tricks for maximum productivity
IBM Domino Designer: Tips and tricks for maximum productivity
SocialBiz UserGroup
 
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile FirstBP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
John Head
 
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTFIBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
Niklas Heidloff
 
Aveedo - Your application framework
Aveedo - Your application frameworkAveedo - Your application framework
Aveedo - Your application frameworkWe4IT Group
 
Webinar: Migration from IBM Domino to IBM Verse
Webinar: Migration from IBM Domino to IBM VerseWebinar: Migration from IBM Domino to IBM Verse
Webinar: Migration from IBM Domino to IBM Verse
MOVE4IDEAS
 
Entwicklercamp responive web design
Entwicklercamp   responive web designEntwicklercamp   responive web design
Entwicklercamp responive web designHenning Schmidt
 

Viewers also liked (20)

Java for XPages Development
Java for XPages DevelopmentJava for XPages Development
Java for XPages Development
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
 
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
 
Keynote apertura Dominopoint Days 2013, #dd13
Keynote apertura Dominopoint Days 2013, #dd13Keynote apertura Dominopoint Days 2013, #dd13
Keynote apertura Dominopoint Days 2013, #dd13
 
SpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPagesSpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPages
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...How to upload a file to an IBM Connections.Cloud Community using the Plugins ...
How to upload a file to an IBM Connections.Cloud Community using the Plugins ...
 
How to share a File using IBM Connections.Cloud
How to share a File using IBM Connections.CloudHow to share a File using IBM Connections.Cloud
How to share a File using IBM Connections.Cloud
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
 
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)
 
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...
BP107: Ten Lines Or Less: Interesting Things You Can Do In Java With Minimal ...
 
xe:objectData
xe:objectDataxe:objectData
xe:objectData
 
IBM Domino Designer: Tips and tricks for maximum productivity
IBM Domino Designer: Tips and tricks for maximum productivityIBM Domino Designer: Tips and tricks for maximum productivity
IBM Domino Designer: Tips and tricks for maximum productivity
 
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile FirstBP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
 
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTFIBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
 
Aveedo - Your application framework
Aveedo - Your application frameworkAveedo - Your application framework
Aveedo - Your application framework
 
Webinar: Migration from IBM Domino to IBM Verse
Webinar: Migration from IBM Domino to IBM VerseWebinar: Migration from IBM Domino to IBM Verse
Webinar: Migration from IBM Domino to IBM Verse
 
Entwicklercamp responive web design
Entwicklercamp   responive web designEntwicklercamp   responive web design
Entwicklercamp responive web design
 

Similar to Access Data from XPages with the Relational Controls

Data Handning with Sqlite for Android
Data Handning with Sqlite for AndroidData Handning with Sqlite for Android
Data Handning with Sqlite for AndroidJakir Hossain
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
Hemo Chella
 
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
MediaMongrels Ltd
 
Sage 300 ERP: Technical Tour of Diagnostic Tools
Sage 300 ERP: Technical Tour of Diagnostic ToolsSage 300 ERP: Technical Tour of Diagnostic Tools
Sage 300 ERP: Technical Tour of Diagnostic Tools
Sage 300 ERP CS
 
Sqlite
SqliteSqlite
Sqlite
Kumar
 
Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)
Lucas Jellema
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
Dave Stokes
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
Mike Broberg
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
Andrei Solntsev
 
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCBI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
Simba Technologies
 
70487.pdf
70487.pdf70487.pdf
70487.pdf
Karen Benoit
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
DAGEOP LTD
 
Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian Malbeuf
CTE Solutions Inc.
 
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft EngineerPLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
Marek Maśko
 
Informatica slides
Informatica slidesInformatica slides
Informatica slides
sureshpaladi12
 
MVC + ORM (with project implementation)
MVC + ORM (with project implementation)MVC + ORM (with project implementation)
MVC + ORM (with project implementation)
Prateek Chauhan
 
JDBC Connectivity Model
JDBC Connectivity ModelJDBC Connectivity Model
JDBC Connectivity Model
kunj desai
 
android sqlite
android sqliteandroid sqlite
android sqliteDeepa Rani
 

Similar to Access Data from XPages with the Relational Controls (20)

Data Handning with Sqlite for Android
Data Handning with Sqlite for AndroidData Handning with Sqlite for Android
Data Handning with Sqlite for Android
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
 
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
 
Sage 300 ERP: Technical Tour of Diagnostic Tools
Sage 300 ERP: Technical Tour of Diagnostic ToolsSage 300 ERP: Technical Tour of Diagnostic Tools
Sage 300 ERP: Technical Tour of Diagnostic Tools
 
Sqlite
SqliteSqlite
Sqlite
 
Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
 
05 entity framework
05 entity framework05 entity framework
05 entity framework
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
 
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCBI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
 
70487.pdf
70487.pdf70487.pdf
70487.pdf
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
 
Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian Malbeuf
 
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft EngineerPLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
 
Informatica slides
Informatica slidesInformatica slides
Informatica slides
 
MVC + ORM (with project implementation)
MVC + ORM (with project implementation)MVC + ORM (with project implementation)
MVC + ORM (with project implementation)
 
JDBC Connectivity Model
JDBC Connectivity ModelJDBC Connectivity Model
JDBC Connectivity Model
 
android sqlite
android sqliteandroid sqlite
android sqlite
 

More from Teamstudio

Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingSearch Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Teamstudio
 
SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!
Teamstudio
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good Server
Teamstudio
 
Understand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationUnderstand Usage with Detailed Access Information
Understand Usage with Detailed Access Information
Teamstudio
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
Teamstudio
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth Dimensionally
Teamstudio
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
Teamstudio
 
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Teamstudio
 
Optimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveOptimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep Dive
Teamstudio
 
Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino API
Teamstudio
 
Understand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorUnderstand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage Auditor
Teamstudio
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
Teamstudio
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
Teamstudio
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
Teamstudio
 
Everything XControls
Everything XControlsEverything XControls
Everything XControls
Teamstudio
 
Move Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast LaneMove Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast Lane
Teamstudio
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
Teamstudio
 
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Teamstudio
 
Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?
Teamstudio
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application Development
Teamstudio
 

More from Teamstudio (20)

Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingSearch Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
 
SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good Server
 
Understand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationUnderstand Usage with Detailed Access Information
Understand Usage with Detailed Access Information
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth Dimensionally
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
 
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
 
Optimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveOptimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep Dive
 
Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino API
 
Understand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorUnderstand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage Auditor
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
Everything XControls
Everything XControlsEverything XControls
Everything XControls
 
Move Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast LaneMove Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast Lane
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
 
Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application Development
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

Access Data from XPages with the Relational Controls

  • 1. Access Data from XPages with the Relational Controls Tweet about this event And mention us: @Teamstudio @TLCCLTD @PaulDN Nov. 4, 2014
  • 2. @Teamstudio teamstudio.com @TLCCLTD tlcc.com Courtney Carter Inbound Marketing Specialist Teamstudio
  • 3. Who We Are • Teamstudio’s background is in creating tools for collaborative computing in mid-size and large enterprises, primarily for IBM Notes • Easy-to-use tools for developers and administrators • 2300+ active customers, 47 countries • Offices in US, UK, and Japan • Entered mobile space in 2010 with Unplugged: easy mobilization of Notes apps to Blackberry, Android and iOS
  • 4. Teamstudio Unplugged • Your mobile Domino server: take your IBM Notes apps with you! • End-users access Notes applications from mobile devices whether online or offline • Leverages existing skills and technology – XPages – a replication model you already know • Unplugged 3.1
  • 5. Unplugged Templates • Continuity – Mobile offline access to BCM programs • OneView Approvals – Expense approvals; anywhere, anytime • CustomerView – lightweight CRM framework for field sales and field service teams • Contacts – customer information database • Activities – customer activity log • Media – mobile offline file storage and access
  • 6. • Modernization Services promotion: o Now through December 15, sign up to learn about our Modernization Services, and be automatically entered to win an iPhone 6.
  • 7. 1 The XPages Relational Controls #XPages Your Hosts and Presenters Today: Howard Greenberg TLCC @TLCCLtd Paul Della-Nebbia TLCC @PaulDN
  • 8. How can TLCC Help YOU! 2 • Private classes at your location or virtual •XPages Development •Support Existing Apps •Administration • Let us help you become an expert XPages developer! • Delivered via Notes • XPages • Development • Admin • User Self- Paced Courses Mentoring Instructor- Led Classes Application Development and Consulting Free Demo Courses!
  • 9. Important Fixes • New Interim Fixes Available – Poodle Attack Fix (TLS 1.0) – Mobile Controls on iOS8 – SHA 2 Certificates – 8.5, 9.0, and 9.0.1 – And more • Links: – More about Poodle Fix – SHA 2 Support – 9.0.1 Interim Fix (Mobile Controls on iOS8) 3
  • 10. Upcoming and Recorded Webinars 4 • December - Tips for Building Your First XPages Java Application www.tlcc.com/xpages-webinar GoToWebinar will be used starting with December’s webinar!!! View Previous Webinars (use url above)
  • 11. Asking Questions – Q and A at the end 5
  • 12. Agenda Introduction and Setup • What are the Relational Controls • System Requirements • Enabling a database to use the relational controls Using the Controls • The jdbcQuery data source • Using Relational Data in a View Panel • Using Relational Data in a Repeat • Different ways to access data using SQL and joining tables • JDBC @Functions • Using the JDBC Connection Manager control • The jdbcRowSet data source • Working with Relational data in a Dojo DataGrid Questions and Answers 6 #XPages
  • 13. 7 #XPages Paul Della-Nebbia TLCC @PaulDN
  • 14. Relational Controls and Tools • A new set of controls and tools to access relational data • Two New Data Sources – jdbcQuery, jdbcRowSet • New @Functions – @JdbcDbColumn, @JdbcExecuteQuery – @JdbcInsert , @JdbcUpdate , @JdbcDelete • New REST Service - jdbcQueryJsonService • Two Java Classes - jdbcUtil and DatabaseHelper • jdbcConnectionManager control 8
  • 15. System Requirements : Install OpenNTF Extension Library • Install ExtLib for your release of Domino: – Domino 8.5.3 - OpenNTF Extension Library for 8.5.3 (but not Update Pack 1 from IBM) – Domino 9.0.0 - the OpenNTF Extension Library for 9.0.0 – Domino 9.0.1 - the OpenNTF Extension Library for 9.0.1 9
  • 16. System Requirements : Install the JDBC Driver • Install the JDBC Driver for your RDBMS: – copy drivers to server (jvm/lib/ext directory) – copy driver to NSF – RECOMMENDED: create a plugin to install the JDBC driver • From scratch - see procedure in XPages Extension Library book • Using the XPages JDBC Driver Wrapper project from OpenNTF • Using Wizard included in the OpenNTF Extension Library Release 901v00_07 (release 7 or above) 10
  • 17. Optional: Install the XPages RDBMS Enablement project 11
  • 18. Enabling an NSF to use Relational Data • Create a JDBC Connection file (.jdbc) in WebContentWEB-INFjdbc folder in the .nsf <jdbc> <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> <url>jdbc:derby:${rcp.data}derbyBigOak;create=true</url> <user>ND9XPG2</user> <password>ND9XPG2</password> </jdbc> • Enable the com.ibm.xsp.extlib.relational.library 12
  • 19. DB2sample.jdbc • DB2sample.jdbc in WebContentWEB-INFjdbc <jdbc> <driver>com.ibm.db2.jcc.DB2Driver</driver> <url>jdbc:db2://db2srvr.abc.com:50000/SampleDB</url> <user>db2admin</user> <password>password123</password> </jdbc> 13
  • 20. Demo – Examine the derby1.jdbc file 14
  • 21. 15 #XPages Howard Greenberg TLCC @TLCCLtd
  • 22. How do we Access the Relational Data? • Two new types of data sources • jdbcQuery – used for large data sets, read-only • jdbcRowSet – used for read-write, cached data set – use these with controls like a viewPanel, data view and repeat • new @functions • New REST Service • Standard Java code that references connection – two helper classes, JdbcUtil and DatabaseHelper – see DBUtil in demo database for examples or page 425-428 of the Extension Library book for details (or the source code!) 16
  • 23. 17 New Data Sources for Relational Data
  • 24. 18 New Data Sources - JDBCQuery JDBCQuery • Use for read only access • connectionName - use the name of the .jdbc file • Properties to specify the data to retrieve: – sqlTable – specify a table – sqlQuery – write a SQL query – sqlFile – access SQL in a file (stored in WEB-INF) • sqlTable overrides other two, sqlQuery overrides sqlFile • calculateCount – allows pager to display correct number of pages (set to true if using a pager)
  • 25. 19 Properties for jdbcQuery Data Source
  • 26. 20 Using a View Panel with Relational Data 1. Add view panel to page, choose Select Data Source later 2. In the Data tab choose JDBC Query 3. Enter the query (sqlTable, sqlQuery, or sqlFile) 4. Choose the view column, go to All Properties and enter the columnName (must match field on table) 5. Append/insert more columns as needed 6. Set the View Column Header 7. Optionally set other properties (like letting the user change sort order)
  • 27. 21 View Panel Control
  • 28. Using Other Container Controls • Relational Data Sources also work with: – Repeat – Data Table – Data View • Use the Var variable to access row data in the Value property – SSJS, EL or Custom – Examples: • SSJS: rowEntry.getColumnValue(“CITY"); – com.ibm.xsp.extlib.relational.jdbc.model.JdbcDataBlockAccessor • EL: rowEntry.CITY • Custom: #{rowVar.CUSTOMER} in #{rowVar.CITY} 22
  • 29. SQL!!! • Remember, three ways to specify the data set – SQL Table – SQL Query SELECT * FROM CUSTOMERS WHERE REGION LIKE ‘East’ – SQL File • SQL Query can have parameters – “?” is replaced by the parameter in order SELECT * FROM CUSTOMERS WHERE REGION LIKE ? – sqlParameters specified in data source properties – value property • Best Practice is to use SQL Parameters – Building a Query in code has security issues – SQL Injection Attacks 23
  • 31. More on SQL • Join two tables together SELECT customers.customer, customers.contact, customers.address, customers.city, customers.state, customers.region, regions.salesrep FROM customers INNER JOIN regions ON customers.region=regions.region 25
  • 32. 26 New @Functions • @JdbcGetConnection • @JdbcExecuteQuery • @JdbcDelete • @JdbcInsert • @JdbcUpdate
  • 33. 27 @JdbcGetConnection • Gets a connection – java.sql.Connection object • @JdbcGetConnection(String:connectionname) – gets a connection object, can use as first argument in other @functions (or can specify the connection name)
  • 34. 28 @jdbcDbColumn • returns a column (Array) from a table – can specify a where statement – column(s) to order the results by @JdbcDbColumn(String:connectionname , String:table , String:column) @JdbcDbColumn(String:connectionname , String:table , String:column, String:where) @JdbcDbColumn(String:connectionname , String:table , String:column, String:where, String:orderBy) @JdbcDbColumn(String:connectionname , String:table , String:column, String:where, String:orderBy, Array:params) var a = @JdbcDbColumn("derby1","regions", "REGION");
  • 35. 29 @JdbcExecuteQuery • @JdbcExecuteQuery - executes a SQL Query and returns results (using the java.sql.ResultSet class) @JdbcExecuteQuery(String:connectionname , String:sql) @JdbcExecuteQuery(String:connectionname , String:sql, Array:params) Loop through ResultSet – sample code: var region = row.getColumnValue("region"); var sql = "SELECT SALESREP FROM regions WHERE REGION LIKE ?"; var res = @JdbcExecuteQuery("derby1",sql, region); var salesep; while (res.next()){ salesrep = salesrep + res.getString("SALESREP") + “, “ ; } return salesrep;
  • 36. 30 @JdbcDelete • Returns integer value with number of rows deleted • Immediate Delete @JdbcDelete(String:connectionname , String:table , String:where) @JdbcDelete(String:connectionname , String:table , String:where , Array:params) var sel = getComponent("delCust1").getValue(); if (!!sel){ var sqlwhere = "customer = ?"; dnum = @JdbcDelete("derby1", "customers", sqlwhere , sel); @InfoMessage("The number of records deleted is " + dnum); }else { @ErrorMessage("Select a customer to delete"); }
  • 37. 31 @JdbcInsert • Inserts a row • Returns integer value with number of rows inserted @JdbcInsert(String:connectionname , String:table , values) • values can be: – an array of just values (same order and number as in table) – array of name/value pairs – Java HashMap – JSON object var res = @JdbcInsert("derby1", "customers", newRow);
  • 38. 32 @JdbcUpdate • Update a row - @JdbcUpdate – returns integer value with number of rows updated @JdbcUpdate(String:connectionname , String:table , values) @JdbcUpdate(String:connectionname , String:table , values, String:where) @JdbcUpdate(String:connectionname , String:table , values, String:where , Array:params) • values can be: – an array of just values (same order and number as in table) – array of name/value pairs – Java HashMap – JSON object var wheresql = "customer = ?"; var vals = {contact:contactValue}; res = @JdbcUpdate("derby1", "customers", vals, wheresql , sel); @InfoMessage("The number of records updated is " + res);
  • 39. 33 jdbcConnectionManager control • Manages multiple data sources • Set transaction isolation level for concurrent operations – see table 12-3 in Ext. Lib book for settings • Specify the id of the connection manager In the data source property called connectionManager • Use when on the same XPage you have: – Multiple transactions to commit at the same time – Multiple data sources
  • 40. 34 Properties of the jdbcConnection Manager
  • 41. Specifying the ConnectionManager in the Data Source 35
  • 42. 36 #XPages Paul Della-Nebbia TLCC @PaulDN
  • 43. JDBC RowSet Data Source • Used to read and write data (caches results) 1. Setup jdbcRowSet data source 2. Call newRow() method to create a new record 3. To edit a row - setup row data object using the Object Data Source • Call getRow() method in createObject property • Call saveRow() method in saveObject property 4. call acceptChanges() method to commit changes to database 37
  • 45. Displaying Relational Data in a Dojo Data Grid • Uses the jdbcQueryJsonService REST Service 39
  • 47. TLCC XPages 2 Course 41 4 Day Self-Paced Course • The XPages Architecture and Life cycle • How to optimize XPages performance • The use of Single Copy XPages Databases • Localize your XPages applications • Custom Controls • Client-Side JavaScript libraries like XSP and Dojo • Add charts to your XPages • Create an “Xagent” • Use the Dojo Data Grid • Use the Relational controls • And much more!!! Includes Instructor Support! Special Offer for Attendees, Save $300, get this course for only $599! Click here to access the special ordering page to get this offer
  • 49. Question and Answer Time! Upcoming Events: DNUG, Nov. 11/12 in Leipzig, Germany Social Connections, November 13 in Stockholm DanNotes, November 19 in Denmark ConnectED, Orlando in January Engage, March 30/31 in Ghent, Belgium Teamstudio Questions? contactus@teamstudio.com 877-228-6178 43 TLCC Questions? howardg@tlcc.com paul@tlcc.com 888-241-8522 or 561-953-0095 Howard Greenberg #XPages @TLCCLtd @Teamstudio @PaulDN Paul Della-Nebbia Courtney Carter To learn more about the Relational Controls and other advanced topics: Special offer for webinar attendees on TLCC’s XPages 2 course