SlideShare una empresa de Scribd logo
1 de 28
Get the best out of
Bootstrap
with
Bootstrap4XPages
Mark Leusink, LinQed
Agenda
 Bootstrap; the world's most popular UI framework
 Bring Bootstrap to XPages with Bootstrap4XPages
 “Bootstrapping” your XPages Application
 Insights on the library
 And demos!
Speaker introduction
 Freelance consultant/ developer
 Web, XPages, Java, mobile
 OpenNTF board member and
contributor
 IBM Champion
 Creator of www.bootstrap4xpages.com
Why a design framework?
 Users are demanding a sleek and polished UI
 But we're developers, not designers...
 Consistent UI makes your applications easier to use
 Develop for mobile
 Responsive design
 Standardized look for all applications
 Deal with cross browser issues
 Remember: IBM OneUI, as implemented in the
Extension Library, is also a UI framework
What is Bootstrap?
 A set of UI elements available to web
applications
 Very (very) popular in the web developers
community
 Empowering front-end developers to kickstart
projects more efficiently and effectively
 Version 3 built from the ground up
 Mobile first
 Released in 2013
 Responsive by default (optional in earlier versions)
6#engageug
Source: http://trends.builtwith.com/docinfo/Twitter-Bootstrap
What is Bootstrap?
 Carefully crafted CSS styles for
 Typography
 Navigation
 Common controls (buttons, input controls, tables)
 Layouts and grids
 With responsive features
 Icons
 Using the Glyphicon font
 JavaScript components
 Relies on jQuery
 Tabs, dialogs, tooltips, drop down buttons/menus
7#engageug
What is Bootstrap?
Many add-ons available
 Free and paid
 Custom themes
 New controls
 Code snippets
Support for IE8+
Available for free at http://getbootstrap.com/
What is Bootstrap?
9#engageug
Introducing Bootstrap4XPages
Introducing Bootstrap4XPages
 Bootstrap rendering for all existing XPages
components
 Core and Extension Library
 Including the Dojo controls
 Provides the easiest Bootstrap integration
mechanism to XPages
 Change the theme and your application is enabled
 Get all the resources (CSS, JavaScript, fonts) served
from the core runtime
 No resources have to be added within the NSF
 Participate in the XPages resource file aggregation
Introducing Bootstrap4XPages
Support for multiple versions of Bootstrap
 2.3.1, 2.3.2, 3.0.0 and 3.1.1
 Focus now on Bootstrap 3.x, but 2.3.2 is kept for
compatibility
Make it easy to create new Bootstrap specific
components
12#engageug
Installing Bootstrap4XPages
 Get the Bootstrap4XPages (OSGi) plugin from OpenNTF
 Compiled version available from the OpenNTF web site
 Source code available on GitHub
 Part of the OpenNTF Essentials
Deploy the plugin:
 On the Domino server (and Notes Client)
 Use an update site database (preferred) or copy the OSGi plug-
in to the server
 In Domino Designer
 File > Application > Install > import the update site
Installation using the OpenNTF Essentials
 Download OpenNTF essentials
 http://essentials.openntf.org/
 The install procedure is the same
 The OpenNTF Essentials NSF contains
Bootstrap4XPages as one of its components
 More on the OpenNTF Essentials in the October
2013 webinar
Two steps to enable Bootstrap in you app
1. Enable the necessary XPages libraries
[x] com.ibm.xsp.extlib.library
[x] org.openntf.xsp.bootstrap.library
2. Set the application theme
bootstrapv3.1.1 (bootstrapv3.1.1_3d)
bootstrapv3.0.0 (bootstrapv3.0.0_3d)
bootstrapv2.3.2 (bootstrap2.3.2r)
Best practices using Bootstrap4XPages
Avoid hard coding style classes/ styles in your
pages
 Might (will) break third party themes
 Use the components as they render as much as
possible
 Use a custom theme when you want to assign
specific styles to components
Leverage the extension library components
instead of straight Bootstrap/ jQuery
 Dialogs, as they are optimized and well tested
with the JSF lifecycle
Best practices using Bootstrap4XPages
Use the build from OpenNTF, not the source
code, in production
 The build has its own resources
(CSS, JavaScript), thus provides better
performance
 You can use the resources from the plugin
without using the theme(s)
 But that's not advised
What does Bootstrap4XPages give you?
Global resources served by a single URL
Theme files that include these resources and
define the components properties
 Directly sets classes/ styles on controls when
sufficient
Custom JSF renderer for more complex cases
 Organized in an hierarchy, (relatively) easy to
inherit/ customize
Bootstrap4XPages: provided resources
Several versions of Bootstrap
 2.3.1, 2.3.2, 3.0.0 and 3.1.1
 Older will be deprecated/removed over
time, new ones will be added
jQuery 1.8.2
No longer in use, but still bundled:
 DBootstrap
 Dojo Bootstrap
Demo: build an app with Bootstrap4XPages
20#engageug
Demo
Designing a responsive application
Responsive design: the approach that suggests
that design and development should respond to
the user’s behaviour and environment based on
screen size, platform and orientation.
(http://coding.smashingmagazine.com/2011/01/12/guidelines-
for-responsive-web-design/)
Bootstrap 3 is responsive by default
Supported by Bootstrap4XPages in Banner
and Menu
Demo
Third party plugins in the library
Select2
Value picker with support for
 Search
 Multi-value select (easier to use than a
combobox)
 Remote data sources
 Templates
Demo
Using custom themes
Create a theme using the Bootstrap web site
 http://getbootstrap.com/customize/
 http://stylebootstrap.info
Get a pre-built theme from the Internet
 https://wrapbootstrap.com/
 http://bootswatch.com
Demo
Understanding the library implementation
 Feels intimidating at the first glance, but it is not that
hard once the development environment is installed and
the XPages/ JSF concepts known
 Remember: you don’t have to start from scratch
 More details in the OpenNTF Webinar: Bootstrap for
XPages
 Quick walkthrough
 Windows, Designer & Domino on a single (virtual) machine
 Install Eclipse RCP (just get the latest version)
 Install the Eclipse SDK for XPages and Domino Debug Plugin
 Get them from OpenNTF
 Get the plugin source from GitHub
Wrapping up
Don't reinvent the wheel but rather consume the
project
 It is more efficient than throwing Bootstrap within an
NSF
 It is more manageable than copying the files into
domino/data/html
Want to help?
 The project is missing some features: feel free to
help and contribute
 Fully open source, and accepts external
contributors
 There are many ways to help, depending on your
skills
 Add new XPages components
 Implement new Bootstrap releases
 Create, integrate and distribute themes
 Write documentation
 Help testing
References
 Bootstrap4XPages project on OpenNTF
 http://bootstrap4xpages.openntf.org/
 Bootstrap4XPages source code on GitHub
 https://github.com/OpenNTF/Bootstrap4XPages
 Webinar on Bootstrap4XPages
 http://www.youtube.com/watch?v=uAff5uNwhn0
 http://www.slideshare.net/philipperiand/bootstrap4-x-pages
 OpenNTF Essentials
 http://essentials.openntf.org
 http://www.youtube.com/watch?feature=player_embedded&v=EUrLfJ
cCQhY#t=12m00s
 Bootstrap4XPages – the site
 Source of information on using Bootstrap with XPages
 http://bootstrap4xpages.com/
Thank you!
28#engageug

Más contenido relacionado

La actualidad más candente

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
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedHoward Greenberg
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020Howard Greenberg
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesJesse Gallagher
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxldominion
 
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
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereKevin Pettitt
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience NeededKathy Brown
 
Git and Github - a 90 Minute interactive workshop
Git and Github - a 90 Minute interactive workshopGit and Github - a 90 Minute interactive workshop
Git and Github - a 90 Minute interactive workshopBram Luyten
 
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
 
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
 
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)Howard Greenberg
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021Howard Greenberg
 
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 UsabilityTeamstudio
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitHoward Greenberg
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages ExpertsTeamstudio
 

La actualidad más candente (20)

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
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020
 
Using Features
Using FeaturesUsing Features
Using Features
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPages
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
 
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
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates Everywhere
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
Git and Github - a 90 Minute interactive workshop
Git and Github - a 90 Minute interactive workshopGit and Github - a 90 Minute interactive workshop
Git and Github - a 90 Minute interactive workshop
 
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
 
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...
 
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021
 
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
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 

Similar a Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014

Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pagesConnect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pagesPhilippe Riand
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introductionPer Henrik Lausten
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
 
CONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMCONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMANAND PRAKASH
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkOmkarsoft Bangalore
 
Analyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative studyAnalyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative studyIJECEIAES
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressNathaniel Taintor
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorialRohit Jagtap
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4Kyle Ledbetter
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and DrupalJim Birch
 
Bootstrap seminar presentation
Bootstrap seminar presentationBootstrap seminar presentation
Bootstrap seminar presentationPratikDoiphode1
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended ResourcesGreg Sohl
 

Similar a Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014 (20)

Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pagesConnect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
 
Bootstrap Fundamentals
Bootstrap FundamentalsBootstrap Fundamentals
Bootstrap Fundamentals
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introduction
 
Bootstrap By Shafeeq
Bootstrap By Shafeeq Bootstrap By Shafeeq
Bootstrap By Shafeeq
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
CONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMCONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEM
 
FAT.Seminar.FOSS_Joomla!
FAT.Seminar.FOSS_Joomla!FAT.Seminar.FOSS_Joomla!
FAT.Seminar.FOSS_Joomla!
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css framework
 
Analyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative studyAnalyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative study
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPress
 
LVPHP.org
LVPHP.orgLVPHP.org
LVPHP.org
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorial
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
 
Bootstrap seminar presentation
Bootstrap seminar presentationBootstrap seminar presentation
Bootstrap seminar presentation
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
Flask
FlaskFlask
Flask
 

Más de Mark Leusink

Now what can you really build with DQL and web components?
Now what can you really build with DQL and web components?Now what can you really build with DQL and web components?
Now what can you really build with DQL and web components?Mark Leusink
 
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSMark Leusink
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Mark Leusink
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
 
A 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developersA 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developersMark Leusink
 
Introduction to Bootstrap (with XPages)
Introduction to Bootstrap (with XPages)Introduction to Bootstrap (with XPages)
Introduction to Bootstrap (with XPages)Mark Leusink
 
Stop (de)bugging me - ICON UK 2013
Stop (de)bugging me - ICON UK 2013Stop (de)bugging me - ICON UK 2013
Stop (de)bugging me - ICON UK 2013Mark Leusink
 
Stop (de)bugging me!
Stop (de)bugging me!Stop (de)bugging me!
Stop (de)bugging me!Mark Leusink
 

Más de Mark Leusink (9)

Now what can you really build with DQL and web components?
Now what can you really build with DQL and web components?Now what can you really build with DQL and web components?
Now what can you really build with DQL and web components?
 
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
 
A 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developersA 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developers
 
Introduction to Bootstrap (with XPages)
Introduction to Bootstrap (with XPages)Introduction to Bootstrap (with XPages)
Introduction to Bootstrap (with XPages)
 
Stop (de)bugging me - ICON UK 2013
Stop (de)bugging me - ICON UK 2013Stop (de)bugging me - ICON UK 2013
Stop (de)bugging me - ICON UK 2013
 
Stop (de)bugging me!
Stop (de)bugging me!Stop (de)bugging me!
Stop (de)bugging me!
 

Último

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014

  • 1. Get the best out of Bootstrap with Bootstrap4XPages Mark Leusink, LinQed
  • 2. Agenda  Bootstrap; the world's most popular UI framework  Bring Bootstrap to XPages with Bootstrap4XPages  “Bootstrapping” your XPages Application  Insights on the library  And demos!
  • 3. Speaker introduction  Freelance consultant/ developer  Web, XPages, Java, mobile  OpenNTF board member and contributor  IBM Champion  Creator of www.bootstrap4xpages.com
  • 4. Why a design framework?  Users are demanding a sleek and polished UI  But we're developers, not designers...  Consistent UI makes your applications easier to use  Develop for mobile  Responsive design  Standardized look for all applications  Deal with cross browser issues  Remember: IBM OneUI, as implemented in the Extension Library, is also a UI framework
  • 5. What is Bootstrap?  A set of UI elements available to web applications  Very (very) popular in the web developers community  Empowering front-end developers to kickstart projects more efficiently and effectively  Version 3 built from the ground up  Mobile first  Released in 2013  Responsive by default (optional in earlier versions)
  • 7. What is Bootstrap?  Carefully crafted CSS styles for  Typography  Navigation  Common controls (buttons, input controls, tables)  Layouts and grids  With responsive features  Icons  Using the Glyphicon font  JavaScript components  Relies on jQuery  Tabs, dialogs, tooltips, drop down buttons/menus 7#engageug
  • 8. What is Bootstrap? Many add-ons available  Free and paid  Custom themes  New controls  Code snippets Support for IE8+ Available for free at http://getbootstrap.com/
  • 11. Introducing Bootstrap4XPages  Bootstrap rendering for all existing XPages components  Core and Extension Library  Including the Dojo controls  Provides the easiest Bootstrap integration mechanism to XPages  Change the theme and your application is enabled  Get all the resources (CSS, JavaScript, fonts) served from the core runtime  No resources have to be added within the NSF  Participate in the XPages resource file aggregation
  • 12. Introducing Bootstrap4XPages Support for multiple versions of Bootstrap  2.3.1, 2.3.2, 3.0.0 and 3.1.1  Focus now on Bootstrap 3.x, but 2.3.2 is kept for compatibility Make it easy to create new Bootstrap specific components 12#engageug
  • 13. Installing Bootstrap4XPages  Get the Bootstrap4XPages (OSGi) plugin from OpenNTF  Compiled version available from the OpenNTF web site  Source code available on GitHub  Part of the OpenNTF Essentials Deploy the plugin:  On the Domino server (and Notes Client)  Use an update site database (preferred) or copy the OSGi plug- in to the server  In Domino Designer  File > Application > Install > import the update site
  • 14. Installation using the OpenNTF Essentials  Download OpenNTF essentials  http://essentials.openntf.org/  The install procedure is the same  The OpenNTF Essentials NSF contains Bootstrap4XPages as one of its components  More on the OpenNTF Essentials in the October 2013 webinar
  • 15. Two steps to enable Bootstrap in you app 1. Enable the necessary XPages libraries [x] com.ibm.xsp.extlib.library [x] org.openntf.xsp.bootstrap.library 2. Set the application theme bootstrapv3.1.1 (bootstrapv3.1.1_3d) bootstrapv3.0.0 (bootstrapv3.0.0_3d) bootstrapv2.3.2 (bootstrap2.3.2r)
  • 16. Best practices using Bootstrap4XPages Avoid hard coding style classes/ styles in your pages  Might (will) break third party themes  Use the components as they render as much as possible  Use a custom theme when you want to assign specific styles to components Leverage the extension library components instead of straight Bootstrap/ jQuery  Dialogs, as they are optimized and well tested with the JSF lifecycle
  • 17. Best practices using Bootstrap4XPages Use the build from OpenNTF, not the source code, in production  The build has its own resources (CSS, JavaScript), thus provides better performance  You can use the resources from the plugin without using the theme(s)  But that's not advised
  • 18. What does Bootstrap4XPages give you? Global resources served by a single URL Theme files that include these resources and define the components properties  Directly sets classes/ styles on controls when sufficient Custom JSF renderer for more complex cases  Organized in an hierarchy, (relatively) easy to inherit/ customize
  • 19. Bootstrap4XPages: provided resources Several versions of Bootstrap  2.3.1, 2.3.2, 3.0.0 and 3.1.1  Older will be deprecated/removed over time, new ones will be added jQuery 1.8.2 No longer in use, but still bundled:  DBootstrap  Dojo Bootstrap
  • 20. Demo: build an app with Bootstrap4XPages 20#engageug Demo
  • 21. Designing a responsive application Responsive design: the approach that suggests that design and development should respond to the user’s behaviour and environment based on screen size, platform and orientation. (http://coding.smashingmagazine.com/2011/01/12/guidelines- for-responsive-web-design/) Bootstrap 3 is responsive by default Supported by Bootstrap4XPages in Banner and Menu Demo
  • 22. Third party plugins in the library Select2 Value picker with support for  Search  Multi-value select (easier to use than a combobox)  Remote data sources  Templates Demo
  • 23. Using custom themes Create a theme using the Bootstrap web site  http://getbootstrap.com/customize/  http://stylebootstrap.info Get a pre-built theme from the Internet  https://wrapbootstrap.com/  http://bootswatch.com Demo
  • 24. Understanding the library implementation  Feels intimidating at the first glance, but it is not that hard once the development environment is installed and the XPages/ JSF concepts known  Remember: you don’t have to start from scratch  More details in the OpenNTF Webinar: Bootstrap for XPages  Quick walkthrough  Windows, Designer & Domino on a single (virtual) machine  Install Eclipse RCP (just get the latest version)  Install the Eclipse SDK for XPages and Domino Debug Plugin  Get them from OpenNTF  Get the plugin source from GitHub
  • 25. Wrapping up Don't reinvent the wheel but rather consume the project  It is more efficient than throwing Bootstrap within an NSF  It is more manageable than copying the files into domino/data/html
  • 26. Want to help?  The project is missing some features: feel free to help and contribute  Fully open source, and accepts external contributors  There are many ways to help, depending on your skills  Add new XPages components  Implement new Bootstrap releases  Create, integrate and distribute themes  Write documentation  Help testing
  • 27. References  Bootstrap4XPages project on OpenNTF  http://bootstrap4xpages.openntf.org/  Bootstrap4XPages source code on GitHub  https://github.com/OpenNTF/Bootstrap4XPages  Webinar on Bootstrap4XPages  http://www.youtube.com/watch?v=uAff5uNwhn0  http://www.slideshare.net/philipperiand/bootstrap4-x-pages  OpenNTF Essentials  http://essentials.openntf.org  http://www.youtube.com/watch?feature=player_embedded&v=EUrLfJ cCQhY#t=12m00s  Bootstrap4XPages – the site  Source of information on using Bootstrap with XPages  http://bootstrap4xpages.com/