SlideShare a Scribd company logo
1 of 67
Download to read offline
OPENNTF WEBINARS
October Webinar - XPages Flexible View Control with
Michael G. Smith
AGENDA
• Welcome – Howard Greenberg
• Michael Smith
• Questions – Graham Acres
ASKING QUESTIONS
• First Question – Will this be recorded?
• Yes, view on YouTube!!!
• https://www.youtube.com/user/OpenNTF
• Use the Questions Pane in GoToWebinar
• We will get to your questions at the end of
the webinar
• The speakers will respond to your questions
verbally
• (not in the Questions pane)
• Please keep all questions related to the
topics that our speakers are discussing!!!
• Unrelated Question => post at:
• http://openntf.slack.com/
THANKS TO THE OPENNTF SPONSORS
• HCL made a significant contribution to help our
organization
• Funds these webinars!
• Contests like Hackathons
• Running the organization
• Prominic donates all IT related services
• Cloud Hosting for OpenNTF
• Infrastructure management for HCL Domino and Atlassian
Servers
• System Administration for day-to-day operation
THIS IS OUR COMMUNITY
• Join us and get involved!
• We are all volunteers
• No effort is too small
• If your idea is bigger than you can do on your own, we
can connect you to a team to work on it
• Test or help or modify an existing project
• Write guides or documentation
• Add reviews on projects / stars on Snippets
Flexible View
Control for XPages
OpenNTF Webinar
Michael G. Smith
October 22nd, 2020
HELLO!
I am Michael G. Smith
Senior Developer/Analyst
Mutual Boiler Re
Blog: Xpage.me
Twitter: @michaelgsmith
Email: smithmg@gmail.com
LinkedIn: linkedin.com/in/smithmichaelgarrett
2
What problem
are we trying
to solve?
3
“The Flexible View Control
was born out of frustration
with the out-of-the-box
tools available in XPages
for displaying View data.
4
Goals for creating a new View control:
▪ Streamline View creation in Xpages
▪ Adding View data shouldn’t be a painful experience!
▪ Drag n Drop and point to data (Low Code)
▪ Provide a rich experience for the user
▪ Move View management out of the design
▪ Views should act as simple tables of back-end data
▪ No need to format columns
5
Goals for creating a new View control:
▪ Separate logic and data
▪ Shouldn’t have to rebuild app to make changes
▪ Minimize back-end View creation
▪ No more single-use Views!
▪ Be creative with indexes
6
Goals for creating a new View control:
▪ Which JavaScript table framework to use?
▪ Had started using DataTables and was very impressed
with the range of functionality
▪ Which UI framework to use?
▫ Try to keep it as generic as possible
7
The Flexible View
Control for XPages
is the result.
8
9
Turn this …
10
Into this …
11
Or this …
12
Or this …
13
Or this …
Getting Started
What is The Flexible View Control?
Flexible View Control Architecture
So, what is it exactly?
▪ A re-usable custom control (and companion
resources) that can be dropped into ANY XPage
application
▪ Use as a View, embedded View, Picklist
▪ Built on jQuery and DataTables
▪ Extremely versatile and configurable
▪ Has evolved over the course of about 5 years
▪ Used in Production everyday!
16
How To Get The Code
▪ Download from GitHub
▫ https://github.com/michaelgsmith/datatables-xpages
▪ Import the project (ODP) into Domino Designer
▪ Several good tutorials online for this
▪ Theme includes jQuery and DataTables links to
CDN
▫ Download source and add to your app
▪ Theme includes commented out link to
Bootstrap CDN
17
What’s In the Box?
18
CustomControls
ccRestView
Script Libraries
csjsCCRestView.js
ssjsCCRestView.jss
enable_amd.js
disable_amd.js
Stylesheets
ccRestView.css
Themes
ccRestView.theme
Xpages
restServices.xsp
Views
vwAdminViewDefinitions
▪ Design elements needed for functionality
What’s In the Box?
19
XPages
adminConfig.xsp
adminViewDefinitionDoc.xsp
adminViewDefintion.xsp
Forms
adminViewDefinition
configDocument
Views
vwConfig
▪ Design elements needed for configuration
CustomControls
ccNav
Configuration
Import project into Designer and setup
the configuration parameters
Configuration
21
▪ ODP/AppProperties/database.properties
Note: If you have previously downloaded the project and imported into your
workspace you need to update a few files first.
Configuration
22
▪ ODP/.project
Note: If you have previously downloaded the project and imported into your
workspace you need to update a few files first.
Configuration
23
▪ In Navigator tab right-click and select Import.
Configuration
24
▪ Select General .. Existing Projects into Workspace.
Configuration
25
▪ Find your downloaded and unzipped project.
Configuration
26
▪ Click the Finish
button to import
the project into
your workspace.
Configuration
27
▪ Once the project is imported you need to create an
actual NSF.
Configuration
28
▪ Now that the NSF is created….
▫ Update the ACL
▫ Build the project
▫ Open adminConfig.xsp in your browser
▫ THIS MUST BE DONE 1st !!!
▫ Create the first View Definition (view-definitions)
▫ THIS MUST BE DONE 2nd !!!
Configuration
29
NOTE: The control will not work until this step is complete
Configuration
30
▪ adminConfig.xsp
▫ Rest Service Path:
▫ this is the path (<dir>/<database.nsf>) where you will
create rest services to retrieve data.
▫ Servers:
▫ Tells adminViewDefinitionDoc.xsp where to look for View
designs.
▫ Databases:
▫ Tells adminViewDefinitionDoc.xsp which Views are
available to interrogate
▪ There can be only one config doc (like the Highlander)
Configuration
31
▪ adminConfig.xsp
▫ Save the Configuration
Configuration
32
▪ adminConfig.xsp
▫ Click Save … nothing will happen and that’s ok.
▫ Verify the config doc was created
▫ Click Create View Definition
▫ THIS HAS TO BE DONE 2nd !!!
Configuration
33
▪ adminConfig.xsp
▫ Click Create View Definition (THIS HAS TO BE DONE 2nd !!!)
Configuration
34
▪ adminViewDefinitionDoc.xsp
View Definitions
Put the “Flexible” in Flexible View Control
“View Definitions act as the
“wiring” for the Flexible
View Control, instructing it
where to retrieve data
from and how that data
should be formatted and
displayed.
36
View Definitions provide the wiring
37
View Definitions provide the wiring.
Domino
View
View
Def
View
Def
View
Def
One View can be represented multiple times with different column orders,
sorting and categorization
Any time a View is displayed with the Flexible View Control it needs to point
to a View Definition
FVC
FVC
FVC
Creating the first View Definition
39
Before creating View Definitions
that point to your data, we need to
create the View Definition that
displays the list of all View
Definitions.
Creating the first View Definition
40
▪ Make sure the field are as below
Creating the first View Definition
41
▪ We now have a fully functional Flexible View Control!
About the UI
About the UI
43
▪ Out-of-the-box UI left intentionally generic to
make it easier to integrate into existing apps
▪ Uses the “default” DataTables styling
▫ See DataTables.net for other styling options
▪ Easy to integrate with Bootstrap 3
▫ Commented out links to CDN in theme
▪ Easy to incorporate Font Awesome
About the UI
44
▪ For the Demos we create today I am going to use
Bootstrap 3.4
About the UI
45
▪ Using Flexbox to create a layout
About the UI
46
▪ Using Flexbox to create a layout
▫ For a deeper dive into this topic see my blog
post:
https://xpage.me/2020/04/15/a-flexible-view-control-
for-xpages-part-8-putting-the-flex-in-flexible/
How Does It Work?
How does it work?
How does it work?
Create the “View” Object The View object is the in-
memory client-side
representation of the
Flexible View Control.
The “build” function is
where the magic
happens. This is where
DataTables is initialized
and configured.
How does it work?
“View” Object
“build” Function
DataTables Initialization
Data retrieved
from Domino
REST Services
or XAgents
Retreive REST Data
initComplete Callback
Bind Events
• Data full loaded.
• Adjust layout
(header, footer, filter,
info)
• Categories, totals,
averages.
Add click/double-
click events
DataTables Primer
DataTables Primer
52
▪ Similar to Xpages, DataTables has a “lifecyle” of
callbacks
DataTables Primer
53
DataTables Primer
54
▪ The Flexible View Control makes it easy to add
custom callback functions to a View control.
DataTables Primer
55
▪ The Flexible View Control makes it easy to add
custom callback functions to a View control.
Let’s Build Some Demos!
… and work with some real data
Future Plans
57
▪ Retrieve non-Domino data
▪ Add renderer function to View Def column
▪ Ability to make individual columns non-sortable
▪ Ability to sort by more than two columns and more
than two levels of categorization
▪ Custom columns
▪ Squash bugs!
Future Plans
58
▪ What would you like to see?
THANKS!
Any questions?
You can find me at:
Twitter: @michaelgsmith
Email: smithmg@gmail.com
LinkedIn: linkedin.com/in/smithmichaelgarrett
59
NEXT WEBINAR
• TBD
• Will be announced at https://openntf.org/webinars
UPCOMING EVENTS
• Collabsphere – October 27-29
• https://collabsphere.org/ug/cs2020.nsf/index.html
• DNUG – monthly online events
• https://dnug.de/en/dnug47online-2/
• HCL Digital Week – November 9-13 (APG is 12/1-4)
• https://www.hcltechsw.com/events/digital-week
QUESTIONS?
Use the GoToWebinar Questions Pane
Please keep all questions related to the
topics that our speakers are discussing!!!
Unrelated Question => post at:
http://openntf.slack.com/

More Related Content

What's hot

OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1Howard Greenberg
 
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoJuly OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoHoward Greenberg
 
OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020Graham Acres
 
February OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for NewbiesFebruary OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for NewbiesHoward Greenberg
 
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!Howard Greenberg
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1Teamstudio
 
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax PluginsHnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax Pluginsdominion
 
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
 
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 Implementing Certificate Based Authentication for HCL Traveler Access - Enga... Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...Milan Matejic
 
Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications Paul Withers
 
Dev112 let's calendar that
Dev112   let's calendar thatDev112   let's calendar that
Dev112 let's calendar thatHoward Greenberg
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thingBelsoft
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and PantheonPantheon
 
Enterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private RegistryEnterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private RegistryChris Riley ☁
 
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Mark Leusink
 
Collaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationCollaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationAnne Gentle
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Kim Frehe
 
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
 
Collaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationCollaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationAnne Gentle
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Pantheon
 

What's hot (20)

OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
 
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoJuly OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
 
OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020
 
February OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for NewbiesFebruary OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for Newbies
 
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
 
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax PluginsHnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
 
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...
 
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 Implementing Certificate Based Authentication for HCL Traveler Access - Enga... Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 
Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications
 
Dev112 let's calendar that
Dev112   let's calendar thatDev112   let's calendar that
Dev112 let's calendar that
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
Enterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private RegistryEnterprise Docker Requires a Private Registry
Enterprise Docker Requires a Private Registry
 
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
 
Collaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationCollaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source Documentation
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015
 
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
 
Collaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationCollaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source Documentation
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development
 

Similar to OpenNTF Webinar, October 2020

Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, INJust the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, INPaul Della-Nebbia
 
Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013balassaitis
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Hanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcHanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcdenemedeniz
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKJitendra Soni
 
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014Kathy Brown
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
Just the Facets, Ma'am
Just the Facets, Ma'amJust the Facets, Ma'am
Just the Facets, Ma'amTeamstudio
 
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business ToolsSUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business ToolsAnindita Bhattacharya
 
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity  and Performance Comparison AnalysisSOA Knowledge Kit, Developer Productivity  and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity and Performance Comparison AnalysisClever Moe
 
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Senturus
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
 
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...bmx269
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyRightScale
 
Build Your First Android App Session #1
Build Your First Android App Session #1Build Your First Android App Session #1
Build Your First Android App Session #1Troy Miles
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPSeanHolmesby1
 
Verndale - Sitecore User Group Los Angeles Presentation
Verndale - Sitecore User Group Los Angeles PresentationVerndale - Sitecore User Group Los Angeles Presentation
Verndale - Sitecore User Group Los Angeles PresentationDavid Brown
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flowVincent Biret
 

Similar to OpenNTF Webinar, October 2020 (20)

Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, INJust the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
 
Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Hanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcHanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvc
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
 
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
 
Sitecore mvc
Sitecore mvcSitecore mvc
Sitecore mvc
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
Just the Facets, Ma'am
Just the Facets, Ma'amJust the Facets, Ma'am
Just the Facets, Ma'am
 
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business ToolsSUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
SUG Bangalore - Extending Sitecore Experience Commerce 9 Business Tools
 
Mvc summary
Mvc summaryMvc summary
Mvc summary
 
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity  and Performance Comparison AnalysisSOA Knowledge Kit, Developer Productivity  and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
 
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
 
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
Making you, and your Clients Happy, by Using Reusable Components to Build Dru...
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 
Build Your First Android App Session #1
Build Your First Android App Session #1Build Your First Android App Session #1
Build Your First Android App Session #1
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XP
 
Verndale - Sitecore User Group Los Angeles Presentation
Verndale - Sitecore User Group Los Angeles PresentationVerndale - Sitecore User Group Los Angeles Presentation
Verndale - Sitecore User Group Los Angeles Presentation
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 

More from Howard Greenberg

January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12Howard Greenberg
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerHoward Greenberg
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesHoward Greenberg
 
Bp101-Can Domino Be Hacked
Bp101-Can Domino Be HackedBp101-Can Domino Be Hacked
Bp101-Can Domino Be HackedHoward Greenberg
 
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...Howard Greenberg
 
Connect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneConnect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneHoward Greenberg
 
Webinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationWebinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationHoward Greenberg
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Howard Greenberg
 
Connect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User InterfaceConnect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User InterfaceHoward Greenberg
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Howard Greenberg
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Howard Greenberg
 

More from Howard Greenberg (15)

January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
 
BRPA November Meeting
BRPA November MeetingBRPA November Meeting
BRPA November Meeting
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
 
Open ntf 2020-jun
Open ntf 2020-junOpen ntf 2020-jun
Open ntf 2020-jun
 
Bp101-Can Domino Be Hacked
Bp101-Can Domino Be HackedBp101-Can Domino Be Hacked
Bp101-Can Domino Be Hacked
 
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
 
Connect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneConnect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast Lane
 
May 2014-webinar
May 2014-webinarMay 2014-webinar
May 2014-webinar
 
Webinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationWebinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting Replication
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
 
Connect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User InterfaceConnect 2014 - JMP102: Creating a Great XPages User Interface
Connect 2014 - JMP102: Creating a Great XPages User Interface
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 

Recently uploaded

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 

Recently uploaded (20)

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 

OpenNTF Webinar, October 2020

  • 1. OPENNTF WEBINARS October Webinar - XPages Flexible View Control with Michael G. Smith
  • 2. AGENDA • Welcome – Howard Greenberg • Michael Smith • Questions – Graham Acres
  • 3. ASKING QUESTIONS • First Question – Will this be recorded? • Yes, view on YouTube!!! • https://www.youtube.com/user/OpenNTF • Use the Questions Pane in GoToWebinar • We will get to your questions at the end of the webinar • The speakers will respond to your questions verbally • (not in the Questions pane) • Please keep all questions related to the topics that our speakers are discussing!!! • Unrelated Question => post at: • http://openntf.slack.com/
  • 4. THANKS TO THE OPENNTF SPONSORS • HCL made a significant contribution to help our organization • Funds these webinars! • Contests like Hackathons • Running the organization • Prominic donates all IT related services • Cloud Hosting for OpenNTF • Infrastructure management for HCL Domino and Atlassian Servers • System Administration for day-to-day operation
  • 5. THIS IS OUR COMMUNITY • Join us and get involved! • We are all volunteers • No effort is too small • If your idea is bigger than you can do on your own, we can connect you to a team to work on it • Test or help or modify an existing project • Write guides or documentation • Add reviews on projects / stars on Snippets
  • 6. Flexible View Control for XPages OpenNTF Webinar Michael G. Smith October 22nd, 2020
  • 7. HELLO! I am Michael G. Smith Senior Developer/Analyst Mutual Boiler Re Blog: Xpage.me Twitter: @michaelgsmith Email: smithmg@gmail.com LinkedIn: linkedin.com/in/smithmichaelgarrett 2
  • 8. What problem are we trying to solve? 3
  • 9. “The Flexible View Control was born out of frustration with the out-of-the-box tools available in XPages for displaying View data. 4
  • 10. Goals for creating a new View control: ▪ Streamline View creation in Xpages ▪ Adding View data shouldn’t be a painful experience! ▪ Drag n Drop and point to data (Low Code) ▪ Provide a rich experience for the user ▪ Move View management out of the design ▪ Views should act as simple tables of back-end data ▪ No need to format columns 5
  • 11. Goals for creating a new View control: ▪ Separate logic and data ▪ Shouldn’t have to rebuild app to make changes ▪ Minimize back-end View creation ▪ No more single-use Views! ▪ Be creative with indexes 6
  • 12. Goals for creating a new View control: ▪ Which JavaScript table framework to use? ▪ Had started using DataTables and was very impressed with the range of functionality ▪ Which UI framework to use? ▫ Try to keep it as generic as possible 7
  • 13. The Flexible View Control for XPages is the result. 8
  • 19. Getting Started What is The Flexible View Control?
  • 20. Flexible View Control Architecture
  • 21. So, what is it exactly? ▪ A re-usable custom control (and companion resources) that can be dropped into ANY XPage application ▪ Use as a View, embedded View, Picklist ▪ Built on jQuery and DataTables ▪ Extremely versatile and configurable ▪ Has evolved over the course of about 5 years ▪ Used in Production everyday! 16
  • 22. How To Get The Code ▪ Download from GitHub ▫ https://github.com/michaelgsmith/datatables-xpages ▪ Import the project (ODP) into Domino Designer ▪ Several good tutorials online for this ▪ Theme includes jQuery and DataTables links to CDN ▫ Download source and add to your app ▪ Theme includes commented out link to Bootstrap CDN 17
  • 23. What’s In the Box? 18 CustomControls ccRestView Script Libraries csjsCCRestView.js ssjsCCRestView.jss enable_amd.js disable_amd.js Stylesheets ccRestView.css Themes ccRestView.theme Xpages restServices.xsp Views vwAdminViewDefinitions ▪ Design elements needed for functionality
  • 24. What’s In the Box? 19 XPages adminConfig.xsp adminViewDefinitionDoc.xsp adminViewDefintion.xsp Forms adminViewDefinition configDocument Views vwConfig ▪ Design elements needed for configuration CustomControls ccNav
  • 25. Configuration Import project into Designer and setup the configuration parameters
  • 26. Configuration 21 ▪ ODP/AppProperties/database.properties Note: If you have previously downloaded the project and imported into your workspace you need to update a few files first.
  • 27. Configuration 22 ▪ ODP/.project Note: If you have previously downloaded the project and imported into your workspace you need to update a few files first.
  • 28. Configuration 23 ▪ In Navigator tab right-click and select Import.
  • 29. Configuration 24 ▪ Select General .. Existing Projects into Workspace.
  • 30. Configuration 25 ▪ Find your downloaded and unzipped project.
  • 31. Configuration 26 ▪ Click the Finish button to import the project into your workspace.
  • 32. Configuration 27 ▪ Once the project is imported you need to create an actual NSF.
  • 33. Configuration 28 ▪ Now that the NSF is created…. ▫ Update the ACL ▫ Build the project ▫ Open adminConfig.xsp in your browser ▫ THIS MUST BE DONE 1st !!! ▫ Create the first View Definition (view-definitions) ▫ THIS MUST BE DONE 2nd !!!
  • 34. Configuration 29 NOTE: The control will not work until this step is complete
  • 35. Configuration 30 ▪ adminConfig.xsp ▫ Rest Service Path: ▫ this is the path (<dir>/<database.nsf>) where you will create rest services to retrieve data. ▫ Servers: ▫ Tells adminViewDefinitionDoc.xsp where to look for View designs. ▫ Databases: ▫ Tells adminViewDefinitionDoc.xsp which Views are available to interrogate ▪ There can be only one config doc (like the Highlander)
  • 37. Configuration 32 ▪ adminConfig.xsp ▫ Click Save … nothing will happen and that’s ok. ▫ Verify the config doc was created ▫ Click Create View Definition ▫ THIS HAS TO BE DONE 2nd !!!
  • 38. Configuration 33 ▪ adminConfig.xsp ▫ Click Create View Definition (THIS HAS TO BE DONE 2nd !!!)
  • 40. View Definitions Put the “Flexible” in Flexible View Control
  • 41. “View Definitions act as the “wiring” for the Flexible View Control, instructing it where to retrieve data from and how that data should be formatted and displayed. 36
  • 42. View Definitions provide the wiring 37
  • 43. View Definitions provide the wiring. Domino View View Def View Def View Def One View can be represented multiple times with different column orders, sorting and categorization Any time a View is displayed with the Flexible View Control it needs to point to a View Definition FVC FVC FVC
  • 44. Creating the first View Definition 39 Before creating View Definitions that point to your data, we need to create the View Definition that displays the list of all View Definitions.
  • 45. Creating the first View Definition 40 ▪ Make sure the field are as below
  • 46. Creating the first View Definition 41 ▪ We now have a fully functional Flexible View Control!
  • 48. About the UI 43 ▪ Out-of-the-box UI left intentionally generic to make it easier to integrate into existing apps ▪ Uses the “default” DataTables styling ▫ See DataTables.net for other styling options ▪ Easy to integrate with Bootstrap 3 ▫ Commented out links to CDN in theme ▪ Easy to incorporate Font Awesome
  • 49. About the UI 44 ▪ For the Demos we create today I am going to use Bootstrap 3.4
  • 50. About the UI 45 ▪ Using Flexbox to create a layout
  • 51. About the UI 46 ▪ Using Flexbox to create a layout ▫ For a deeper dive into this topic see my blog post: https://xpage.me/2020/04/15/a-flexible-view-control- for-xpages-part-8-putting-the-flex-in-flexible/
  • 52. How Does It Work?
  • 53. How does it work?
  • 54. How does it work? Create the “View” Object The View object is the in- memory client-side representation of the Flexible View Control. The “build” function is where the magic happens. This is where DataTables is initialized and configured.
  • 55. How does it work? “View” Object “build” Function DataTables Initialization Data retrieved from Domino REST Services or XAgents Retreive REST Data initComplete Callback Bind Events • Data full loaded. • Adjust layout (header, footer, filter, info) • Categories, totals, averages. Add click/double- click events
  • 57. DataTables Primer 52 ▪ Similar to Xpages, DataTables has a “lifecyle” of callbacks
  • 59. DataTables Primer 54 ▪ The Flexible View Control makes it easy to add custom callback functions to a View control.
  • 60. DataTables Primer 55 ▪ The Flexible View Control makes it easy to add custom callback functions to a View control.
  • 61. Let’s Build Some Demos! … and work with some real data
  • 62. Future Plans 57 ▪ Retrieve non-Domino data ▪ Add renderer function to View Def column ▪ Ability to make individual columns non-sortable ▪ Ability to sort by more than two columns and more than two levels of categorization ▪ Custom columns ▪ Squash bugs!
  • 63. Future Plans 58 ▪ What would you like to see?
  • 64. THANKS! Any questions? You can find me at: Twitter: @michaelgsmith Email: smithmg@gmail.com LinkedIn: linkedin.com/in/smithmichaelgarrett 59
  • 65. NEXT WEBINAR • TBD • Will be announced at https://openntf.org/webinars
  • 66. UPCOMING EVENTS • Collabsphere – October 27-29 • https://collabsphere.org/ug/cs2020.nsf/index.html • DNUG – monthly online events • https://dnug.de/en/dnug47online-2/ • HCL Digital Week – November 9-13 (APG is 12/1-4) • https://www.hcltechsw.com/events/digital-week
  • 67. QUESTIONS? Use the GoToWebinar Questions Pane Please keep all questions related to the topics that our speakers are discussing!!! Unrelated Question => post at: http://openntf.slack.com/