SlideShare ist ein Scribd-Unternehmen logo
1 von 40
BOOTSTRAP4XPAGES WEBINAR
JUNE 17, 2014
MARK LEUSINK
Agenda
 Bootstrap; the world's most popular UI framework
 Bring Bootstrap to XPages with Bootstrap4XPages
 Installation, configuration & getting started
 Using Bootstrap4XPages
 Custom themes & plugins
 And demos!
Speaker intro
 Freelance consultant/ developer
 Web, XPages, Java, mobile, Unplugged
 OpenNTF board member and contributor
 IBM Champion
 Creator of www.bootstrap4xpages.com
 Collaborator on Bootstrap4XPages
 Original author: Phil Riand/ IBM
Oh… and I’m from Holland
(a.k.a. The Netherlands)
4
What is Bootstrap?
 A set of UI elements available to (mobile) web
applications
 Empowers you, as a front-end developer, to
kickstart projects more efficiently and effective
 Makes your apps look good
What is Bootstrap? - popular
 Very popular in the web
developers community
 Number 1 project on GitHub
 68,000+ stars
 25,000+ forks
6
Source: http://trends.builtwith.com/docinfo/Twitter-Bootstrap
What is Bootstrap? - in the box
 Carefully crafted CSS styles for
 Typography and navigation
 Common controls (buttons, input controls, tables)
 Layouts and grids
 With responsive features
 Icons
 Using the Glyphicon font
 JavaScript components
 Tabs, dialogs, tooltips, dropdown buttons/ menus
7
What is Bootstrap? - under the hood
8
What is Bootstrap?
 Relies on jQuery
 Support for IE8+
 Many add-ons available
 Custom themes
 New controls
 Code snippets (tip: http://bootsnipp.com for inspiration)
 Free & paid
 Version 3 built from the ground up
 Released in 2013
 Mobile first
 Responsive by default (optional in earlier versions)
 Available for free at http://getbootstrap.com/
Why use Bootstrap?
 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
How do we get Bootstrap in XPages?
 Download Bootstrap
 Download jQuery (1.x)
 Add the files to your application (nsf)
 Create an XPage theme referencing all Bootstrap files &
jQuery
 And deal with the issues
 
11
Introducing Bootstrap4XPages
 (OSGi) Plugin to install once on your server / Designer client
 Bootstrap rendering for all 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
 Demo
Introducing Bootstrap4XPages
 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
14
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
 jQuery 1.8.2
 No longer in use, but still bundled:
 DBootstrap
 Dojo Bootstrap
15
Installation – get the plugin
 Get the Bootstrap4XPages (OSGi) plugin from OpenNTF
 http://bootstrap4xpages.openntf.org
 Source code available on GitHub
 Or get the OpenNTF Essentials
 A set of ‘essential’ projects to be used for XPage development
 Bootstrap4XPages is part of the OpenNTF Essentials
 http://essentials.openntf.org/
 Delivered as an update site database
Installation – install the plugin
Deploy the plugin:
 On the Domino server (and Notes Client)
 Use an update site database (preferred) or copy the plug-in to the server
 Add the update site path to the notes.ini:
OSGI_HTTP_DYNAMIC_BUNDLES=updatesite.nsf
 In Domino Designer
 File > Application > Install > import the update site
 Make sure “Enable Eclipse plug-in install” is enabled in the preferences
Installation – local web preview
 Additional step needed to use Bootstrap4XPages with Local Web
Preview:
 Copy features/ plugins folder from:
<notesdata>/workspace/applications/eclipse
to:
<notesdata>/domino/workspace/applications/eclipse
 See “Implementing the XPage Extension Library” by Paul Calhoun
 http://www.slideshare.net/dominion/implementing-xpages-extension-
library
(I don’t like the local web preview: get a local dev server instead)
18
Post-installation
 Check if the plugin was installed and loaded:
tell http osgi ss org.openntf
v
v
Demo: installation
20
Two steps to enable Bootstrap
1. Enable the required XPage Libraries
[x] com.ibm.xsp.extlib.library
[x] org.openntf.xsp.bootstrap.library
2. Set the application theme
 bootstrapv3.1.1 (or bootstrapv3.1.1_3d)
 bootstrapv3.0.0 (or bootstrapv3.0.0_3d)
 bootstrapv2.3.2 (or bootstrap2.3.2r)
Important: these themes do NOT show up in the
dropdown, you’ll have to enter them yourself.
And a third…
 Set the DocType of your app to HTML5
 Not required, but recommended by Bootstrap for best compatibility
 Xsp Properties > Page Generation Properties
22
Demo: first use
23
Create your app: layout
 Bootstrap4XPages comes with it’s own
configuration object for the application
layout control
 Adds new configuration options:
 navbarInverted
 navbarFixed *
 pageWidth (full, fixed, fluid) *
 Demo
* Coming soon
24
Create your app: navigation
 Use xe:navigator to generate a
Bootstrap-style menu
 Demo
25
Create your app: view
 Standard (data) view controls add Bootstrap rendering to
your views automatically
 Demo
26
Create your app: dialog
 xe:dialog from the Extension Library
uses a custom renderer in
Bootstrap4XPages
 Changes HTML output, classes,
JavaScript
 But you can still use the xe:dialog –
just as you are used too
 Demo
27
Create your app: responsive features
Responsive design: the approach that suggests that design and development
should respond to the user’s behavior 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 (top navbar) and left column
 Configure using Bootstrap application layout config:
 collapseLeftColumn
 collapseLeftMenuLabel *
 collapseLeftTo *
 Demo
Best practices
 Avoid hard coding style classes/ styles in your pages
 Might 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
 Good example are Dialogs, as they are optimized and well tested
with the JSF lifecycle
Best practices
 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
Plugins: Select2
 Built-in to Bootstrap4XPages
 Adds 2 new controls to Designer:
 Select2 Picker for Combo-/ListBox
 Select2 Picker
 Value picker with support for
 Search
 Multi-value select (easier to use than a combobox)
 Remote data sources
 Templates
 Demo
Custom themes
 Bootstrap can be fully customized
to your own look & feel
 Change colors, fonts, sizes,
margins, etc
32
Custom themes – using LESS/ SASS
 Uses LESS (and SASS)
 ‘CSS preprocessor’
 Think of it as ‘using variables in CSS’
 Not only: link color = red
 But also: primary color is red, automatically create gradient to a 30% darker color in the
navbar
 Using LESS (or SASS) is the proper way to customize
 Not a find and replace in the CSS
 Bootstrap source comes with the LESS/ SASS source files
 And a task-runner config that can automatically compile yourCSS files
 See https://github.com/twbs/bootstrap#compiling-css-and-javascript
 Demo
33
Custom themes - alternatives
 Get a pre-built theme from the Internet
 http://bootswatch.com
 Create a theme using a Bootstrap theme-roller web site
 http://getbootstrap.com/customize/ (no preview)
 http://stylebootstrap.info
 http://bootswatchr.com
 Demo using pre-build theme
Coming soon
 New release is currently being tested
 Hopefully released this/ next week
 New features
 Set page width model to use (fixed/ fluid/ full)
 Set label and position of collapsed left menu
 Added option to make the navbar static
 New base themes to be used with custom Bootstrap themes
 bootstrapv3_base, bootstrapv2_base
 jQuery upgraded to 1.11, Select2 upgraded to 3.4.6
 Improved picker layouts
 Fixes
35
What’s next?
 Bootstrap 3.2 announced
 Scheduled for June 2014
 Support will be added to Bootstrap4XPages
 Ideas
 Support for more standard controls
 Integration of plugins (FontAwesome, pNotify, jQuery File Upload)
 But…
36
We need your help!
 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 or demos
 Help testing
 Videos and slides on how to setup a dev environment:
 http://www.openntf.org/main.nsf/blog.xsp?permaLink=NHEF-9BF94B
Wrapping up
 Don't reinvent the wheel but rather consume the project
 It is more efficient than throwing Bootstrap in every NSF
 It is more manageable than copying the files into domino/data/html
 It takes the pain out of getting Bootstrap to work with XPage
 If you don’t like how the plugin handles it: you can always
override yourself using standard Bootstrap classes
<xp:button styleClass=“btn btn-primary btn-xs” />
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=EUrLfJcCQhY#t=12m00s
 Bootstrap4XPages – the site, not the plugin
 Source of information on using Bootstrap with XPages
 http://bootstrap4xpages.com/
THANK YOU!
@markleusink
http://linqed.eu

Weitere ähnliche Inhalte

Was ist angesagt?

Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPagesTeamstudio
 
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
 
XPages Workshop: Customizing OneUI
XPages Workshop: Customizing OneUIXPages Workshop: Customizing OneUI
XPages Workshop: Customizing OneUIMichael McGarel
 
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowJMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowRussell Maher
 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityTony McGuckin
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsTeamstudio
 
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
 
Zimmertwins Presentation
Zimmertwins PresentationZimmertwins Presentation
Zimmertwins PresentationAshok Modi
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages ExpertsTeamstudio
 
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesIBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesbeglee
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience NeededKathy Brown
 
Whats new in joomla 3.5 & whats coming in future
Whats new in joomla 3.5 & whats coming in futureWhats new in joomla 3.5 & whats coming in future
Whats new in joomla 3.5 & whats coming in futureTim Plummer
 
Rapid application development for WordPress using AWF
Rapid application development for WordPress using AWFRapid application development for WordPress using AWF
Rapid application development for WordPress using AWFTim Plummer
 
State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014Tim Plummer
 
Extension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with JoomlaExtension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with JoomlaTim Plummer
 
Cross CMS plugin development using AWF
Cross CMS plugin development using AWFCross CMS plugin development using AWF
Cross CMS plugin development using AWFTim Plummer
 
XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)Per Henrik Lausten
 
2011-11 Chennai Social Media Summit Keynote
2011-11 Chennai Social Media Summit Keynote2011-11 Chennai Social Media Summit Keynote
2011-11 Chennai Social Media Summit KeynoteGillian Muessig
 
Best Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteBest Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteAcquia
 

Was ist angesagt? (20)

Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
XPages Workshop: Customizing OneUI
XPages Workshop: Customizing OneUIXPages Workshop: Customizing OneUI
XPages Workshop: Customizing OneUI
 
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowJMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
 
JMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages ScalabilityJMP401: Masterclass: XPages Scalability
JMP401: Masterclass: XPages Scalability
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
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
 
Zimmertwins Presentation
Zimmertwins PresentationZimmertwins Presentation
Zimmertwins Presentation
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesIBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
Whats new in joomla 3.5 & whats coming in future
Whats new in joomla 3.5 & whats coming in futureWhats new in joomla 3.5 & whats coming in future
Whats new in joomla 3.5 & whats coming in future
 
Rapid application development for WordPress using AWF
Rapid application development for WordPress using AWFRapid application development for WordPress using AWF
Rapid application development for WordPress using AWF
 
State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014State of play for Joomla - Nov 2014
State of play for Joomla - Nov 2014
 
Extension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with JoomlaExtension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with Joomla
 
Cross CMS plugin development using AWF
Cross CMS plugin development using AWFCross CMS plugin development using AWF
Cross CMS plugin development using AWF
 
XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)
 
2011-11 Chennai Social Media Summit Keynote
2011-11 Chennai Social Media Summit Keynote2011-11 Chennai Social Media Summit Keynote
2011-11 Chennai Social Media Summit Keynote
 
Best Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal WebsiteBest Practice Checklist for Building a Drupal Website
Best Practice Checklist for Building a Drupal Website
 

Ähnlich wie Bootstrap4XPages webinar

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
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and DrupalJim Birch
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityAshok Modi
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
CONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMCONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMANAND PRAKASH
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressNathaniel Taintor
 
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
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4Kyle Ledbetter
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introductionPer Henrik Lausten
 
Implementation of gui framework part2
Implementation of gui framework part2Implementation of gui framework part2
Implementation of gui framework part2masahiroookubo
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvcbgrynko
 
Bootstrap seminar presentation
Bootstrap seminar presentationBootstrap seminar presentation
Bootstrap seminar presentationPratikDoiphode1
 
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
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMSJonathan Smith
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorialRohit Jagtap
 

Ähnlich wie Bootstrap4XPages webinar (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
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
Bootstrap Fundamentals
Bootstrap FundamentalsBootstrap Fundamentals
Bootstrap Fundamentals
 
CONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMCONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEM
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPress
 
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
 
Joomla Day Austin Part 4
Joomla Day Austin Part 4Joomla Day Austin Part 4
Joomla Day Austin Part 4
 
Bootstrap By Shafeeq
Bootstrap By Shafeeq Bootstrap By Shafeeq
Bootstrap By Shafeeq
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introduction
 
Implementation of gui framework part2
Implementation of gui framework part2Implementation of gui framework part2
Implementation of gui framework part2
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Bootstrap seminar presentation
Bootstrap seminar presentationBootstrap seminar presentation
Bootstrap seminar presentation
 
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...
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMS
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorial
 

Mehr von 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
 

Mehr von 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!
 

Kürzlich hochgeladen

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Kürzlich hochgeladen (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Bootstrap4XPages webinar

  • 2. Agenda  Bootstrap; the world's most popular UI framework  Bring Bootstrap to XPages with Bootstrap4XPages  Installation, configuration & getting started  Using Bootstrap4XPages  Custom themes & plugins  And demos!
  • 3. Speaker intro  Freelance consultant/ developer  Web, XPages, Java, mobile, Unplugged  OpenNTF board member and contributor  IBM Champion  Creator of www.bootstrap4xpages.com  Collaborator on Bootstrap4XPages  Original author: Phil Riand/ IBM
  • 4. Oh… and I’m from Holland (a.k.a. The Netherlands) 4
  • 5. What is Bootstrap?  A set of UI elements available to (mobile) web applications  Empowers you, as a front-end developer, to kickstart projects more efficiently and effective  Makes your apps look good
  • 6. What is Bootstrap? - popular  Very popular in the web developers community  Number 1 project on GitHub  68,000+ stars  25,000+ forks 6 Source: http://trends.builtwith.com/docinfo/Twitter-Bootstrap
  • 7. What is Bootstrap? - in the box  Carefully crafted CSS styles for  Typography and navigation  Common controls (buttons, input controls, tables)  Layouts and grids  With responsive features  Icons  Using the Glyphicon font  JavaScript components  Tabs, dialogs, tooltips, dropdown buttons/ menus 7
  • 8. What is Bootstrap? - under the hood 8
  • 9. What is Bootstrap?  Relies on jQuery  Support for IE8+  Many add-ons available  Custom themes  New controls  Code snippets (tip: http://bootsnipp.com for inspiration)  Free & paid  Version 3 built from the ground up  Released in 2013  Mobile first  Responsive by default (optional in earlier versions)  Available for free at http://getbootstrap.com/
  • 10. Why use Bootstrap?  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
  • 11. How do we get Bootstrap in XPages?  Download Bootstrap  Download jQuery (1.x)  Add the files to your application (nsf)  Create an XPage theme referencing all Bootstrap files & jQuery  And deal with the issues   11
  • 12. Introducing Bootstrap4XPages  (OSGi) Plugin to install once on your server / Designer client  Bootstrap rendering for all 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
  • 14. Introducing Bootstrap4XPages  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 14
  • 15. 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  jQuery 1.8.2  No longer in use, but still bundled:  DBootstrap  Dojo Bootstrap 15
  • 16. Installation – get the plugin  Get the Bootstrap4XPages (OSGi) plugin from OpenNTF  http://bootstrap4xpages.openntf.org  Source code available on GitHub  Or get the OpenNTF Essentials  A set of ‘essential’ projects to be used for XPage development  Bootstrap4XPages is part of the OpenNTF Essentials  http://essentials.openntf.org/  Delivered as an update site database
  • 17. Installation – install the plugin Deploy the plugin:  On the Domino server (and Notes Client)  Use an update site database (preferred) or copy the plug-in to the server  Add the update site path to the notes.ini: OSGI_HTTP_DYNAMIC_BUNDLES=updatesite.nsf  In Domino Designer  File > Application > Install > import the update site  Make sure “Enable Eclipse plug-in install” is enabled in the preferences
  • 18. Installation – local web preview  Additional step needed to use Bootstrap4XPages with Local Web Preview:  Copy features/ plugins folder from: <notesdata>/workspace/applications/eclipse to: <notesdata>/domino/workspace/applications/eclipse  See “Implementing the XPage Extension Library” by Paul Calhoun  http://www.slideshare.net/dominion/implementing-xpages-extension- library (I don’t like the local web preview: get a local dev server instead) 18
  • 19. Post-installation  Check if the plugin was installed and loaded: tell http osgi ss org.openntf v v
  • 21. Two steps to enable Bootstrap 1. Enable the required XPage Libraries [x] com.ibm.xsp.extlib.library [x] org.openntf.xsp.bootstrap.library 2. Set the application theme  bootstrapv3.1.1 (or bootstrapv3.1.1_3d)  bootstrapv3.0.0 (or bootstrapv3.0.0_3d)  bootstrapv2.3.2 (or bootstrap2.3.2r) Important: these themes do NOT show up in the dropdown, you’ll have to enter them yourself.
  • 22. And a third…  Set the DocType of your app to HTML5  Not required, but recommended by Bootstrap for best compatibility  Xsp Properties > Page Generation Properties 22
  • 24. Create your app: layout  Bootstrap4XPages comes with it’s own configuration object for the application layout control  Adds new configuration options:  navbarInverted  navbarFixed *  pageWidth (full, fixed, fluid) *  Demo * Coming soon 24
  • 25. Create your app: navigation  Use xe:navigator to generate a Bootstrap-style menu  Demo 25
  • 26. Create your app: view  Standard (data) view controls add Bootstrap rendering to your views automatically  Demo 26
  • 27. Create your app: dialog  xe:dialog from the Extension Library uses a custom renderer in Bootstrap4XPages  Changes HTML output, classes, JavaScript  But you can still use the xe:dialog – just as you are used too  Demo 27
  • 28. Create your app: responsive features Responsive design: the approach that suggests that design and development should respond to the user’s behavior 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 (top navbar) and left column  Configure using Bootstrap application layout config:  collapseLeftColumn  collapseLeftMenuLabel *  collapseLeftTo *  Demo
  • 29. Best practices  Avoid hard coding style classes/ styles in your pages  Might 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  Good example are Dialogs, as they are optimized and well tested with the JSF lifecycle
  • 30. Best practices  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
  • 31. Plugins: Select2  Built-in to Bootstrap4XPages  Adds 2 new controls to Designer:  Select2 Picker for Combo-/ListBox  Select2 Picker  Value picker with support for  Search  Multi-value select (easier to use than a combobox)  Remote data sources  Templates  Demo
  • 32. Custom themes  Bootstrap can be fully customized to your own look & feel  Change colors, fonts, sizes, margins, etc 32
  • 33. Custom themes – using LESS/ SASS  Uses LESS (and SASS)  ‘CSS preprocessor’  Think of it as ‘using variables in CSS’  Not only: link color = red  But also: primary color is red, automatically create gradient to a 30% darker color in the navbar  Using LESS (or SASS) is the proper way to customize  Not a find and replace in the CSS  Bootstrap source comes with the LESS/ SASS source files  And a task-runner config that can automatically compile yourCSS files  See https://github.com/twbs/bootstrap#compiling-css-and-javascript  Demo 33
  • 34. Custom themes - alternatives  Get a pre-built theme from the Internet  http://bootswatch.com  Create a theme using a Bootstrap theme-roller web site  http://getbootstrap.com/customize/ (no preview)  http://stylebootstrap.info  http://bootswatchr.com  Demo using pre-build theme
  • 35. Coming soon  New release is currently being tested  Hopefully released this/ next week  New features  Set page width model to use (fixed/ fluid/ full)  Set label and position of collapsed left menu  Added option to make the navbar static  New base themes to be used with custom Bootstrap themes  bootstrapv3_base, bootstrapv2_base  jQuery upgraded to 1.11, Select2 upgraded to 3.4.6  Improved picker layouts  Fixes 35
  • 36. What’s next?  Bootstrap 3.2 announced  Scheduled for June 2014  Support will be added to Bootstrap4XPages  Ideas  Support for more standard controls  Integration of plugins (FontAwesome, pNotify, jQuery File Upload)  But… 36
  • 37. We need your help!  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 or demos  Help testing  Videos and slides on how to setup a dev environment:  http://www.openntf.org/main.nsf/blog.xsp?permaLink=NHEF-9BF94B
  • 38. Wrapping up  Don't reinvent the wheel but rather consume the project  It is more efficient than throwing Bootstrap in every NSF  It is more manageable than copying the files into domino/data/html  It takes the pain out of getting Bootstrap to work with XPage  If you don’t like how the plugin handles it: you can always override yourself using standard Bootstrap classes <xp:button styleClass=“btn btn-primary btn-xs” />
  • 39. 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=EUrLfJcCQhY#t=12m00s  Bootstrap4XPages – the site, not the plugin  Source of information on using Bootstrap with XPages  http://bootstrap4xpages.com/