SlideShare a Scribd company logo
1 of 52
Download to read offline
jQuery comes to XPages
Tweet about this event: #xpages
and mention us: @teamstudio @TLCCLTD @markyroden
June 20, 2013
@teamstudio
teamstudio.com
@TLCCLTD
@markyroden
#xpages
Ben Green
Vice President - APAC
Who we are
• Our background is in creating tools for collaborative
computing in mid-size and large enterprises, primarily for
Lotus Notes
• Easy-to-use tools for developers and administrators
• 2300+ active customers, 47 countries
• Offices in US, UK and Japan
• Entered mobile space in 2010 with Unplugged – easy
mobilization of Notes apps to Blackberry, Android and iOS
Teamstudio Unplugged
• Your Mobile Domino Server – take your Notes
apps with you!
• End users access Notes applications from
mobile devices whether online or offline
• Leverages existing skills and technology –
XPages – Replication model you already know
• IBM Collaboration Solutions Award Winner 2013
Teamstudio Continuity
• Mobile BCM application for smartphones and tablets
– iOS, Android and BB
• Offline access to all your BCM and
Disaster Recovery data
• Store plans, contacts, call trees, and more
• Client available for download from app stores
Teamstudio
• 30% off all TS tools and 15% off all Ytria tools
• Visit us at SoftBank World – July 23-24 in Tokyo
• Next webinar – June 27th – Dojo Grids in XPages
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC
Howard Greenberg
TLCC
@TLCCLtd
jQuery: The World's Most Popular
JavaScript Library Comes to XPages
Your Host Today:
1
#XPages
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC 2
Upcoming and Recorded Webinars
Next Webinar on June 27th
Dojo DataGrid and XPages with Brad Balassaitis
www.tlcc.com/xpages-webinar
Same web page has a link to previous webinars
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC
• Seven XPages Courses!
‒ FREE !! Introduction to XPages Development
‒ JavaScript for XPages Development (8.5 and 9)
‒ Developing XPages Using Domino Designer 8.5 / XPages Development 1 for 9
‒ Rapid XPages Development using Application Layout and Dojo UI Controls (8.5 and 9)
‒ XPages Development 2 for Notes and Domino 8.5
‒ Mobile XPages for Domino 8.5 and 9
‒ Java 1 for XPages Developers
• Self Paced Training
– Learn anywhere!
– An Instructor is a click away
• Instructor Led (Private)
• TLCC Mentoring Services
3
TLCC XPages Offerings
Spring Sale!!!!
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC
Your Presenter Today:
5
#XPages
Dr. Marky Roden
@MarkyRoden
http://xomino.com
About Marky
• Over 15 years IBM Notes Domino® work
• Senior Consultant at PSC Group
• XPages Developer
• Project Leader
• jQuery Specialist
• Contact Information
• Blog: http://www.xomino.com
• Email: marky@xomino.com
• Twitter: @markyroden
• Skype: marky.roden
www.psclistens.com @pscgroup
2
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
3
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
4
What is jQuery anyway?
• A JavaScript library which simplifies the
common
every day web development tasks of Document
Model manipulation, event handling, animation
and
AJAX/JSON
Created: June 2006 by John Resig
Removes browser dependencies
Open Source (MIT License)
5
What is jQuery anyway?
• 66% of world’s top 10,000 websites use jQuery
http://trends.builtwith.com/javascript (*Apr 2013)
Used by Microsoft .Net v4 as part of the ASP.NET
AJAX framework
Some websites you probably know using jQuery
Amazon Google
Twitter Dell
Wordpress Bank of America
Stackoverflow Drupal
BestBuy Wordpress
6
What is jQuery anyway?
• Core
• Document Model (DOM) Manipulation
• Simple Animations
• UI
• Pre-packages functional capabilities
• Analogous to Dojo Widgets
• Mobile
• A unified, HTML5-based user interface system for
all
popular mobile device platforms, built on the
rock-solid
jQuery and jQuery UI foundation. 7
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
8
Whatabout Dojo? WhenshouldI use jQuery?
• Dojo and jQuery have the same basic premise:
• Browser compatibility / Code simplification
• Many similar capabilities.
• DOM manipulation
• Widgets (Date pickers, sliders etc)
• Many differences
• Dojo intended for larger client applications
• jQuery intended to make coding as easy as
possible 9
Where’s the balance?
• Many factors determine the balance
• Network connectivity
• Functional requirements
• Developmental experience with Dojo/jQuery
• Project timeline
• Maintainability of the application
• jQuery v2.0 (future) will not support IE<9
• “The entire jQuery core team instantly became giddy as they started
ripping out oldIE support for jQuery 2.0.”
17 Dec 2012 - Scott González (jQuery contributor) 10
Don’t use jQuery when….
• There isn’t a justifiable reason to use it
• jQuery is an additional download (~94k)
• Version 1.8 does allow for exclusion of code which is
not
necessary
• When not to use jQuery :
• Simple DOM manipulation
• To provide functionality which is already provided by
Dojo
Widgets
• To determine runtime events in the onLoad event
• If you are using OneUI (*not for beginners)
• Because you don’t want to learn Dojo 11
Use jQuery when……
• Enhanced functionality not provided by Dojo
• Specific jQuery or jQuery UI functionality
• Specific Animation requirements
• Broader browser compatibility
• The business plan supports jQuery usage
• The requirements are best suited to a jQuery
solution
>>>>> The Plugin Community <<<< 12
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
13
How does jQuery work - API References
API references Examples
Selectors (“ELEMENT”) (“.class”) (“#idTag”)
Attributes .attr() .html() .toggleClass()
Traversing .children() .closest() .find()
Manipulation .appendTo() .css() .val()
CSS .height() .position() .width()
Events .blur() .bind() .keypress()
Effects .animate() .fadeIn() .slideToggle()
Ajax .get() .getJSON() .serialize()
Utilities .grep() .each() .inArray()
Internals .error() .pushStack() .context()
Example API reference methods and properties
http://api.jquery.com
14
Select and conquer
• 1) Select the DOM elements you wish to affect
$(‘.myClass’)
• 2) Concatenate the API reference to use
$(‘.myClass’).css(‘display’, ‘none’)
• 3) Execute
Select all elements with a class “myClass”
Set the display style to none
15
Chaining
• All methods/properties return a jQuery object
• Allows for chaining of *all* other API references
$("p")
.find(":contains('t')")
.css('color','red')
• Advantages
• Object reuse: Lower memory consumption and
faster
• Shorter more manageable code
• Easier syntax for beginners
• Easy plugin creation
Select All Paragraph nodes
Within each node find all words
containing the letter t
Color those matches red
16
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
17
Adding jQuery to the application
• jQuery is a Client Side JavaScript library
• Can be added to the application
• Can be referenced externally to the database
• jQuery plugins contain images and style sheets
• A complete miniaturized application
• More than just JavaScript Code
• Could be complicated to maintain if all files
were added
as resources 18
Adding jQuery to the database
• Download the jQuery library
• http://jquery.com
• Save in a “js” folder on your computer
19
Adding jQuery to the database
• Don’t add it to the database as a file resource
• Don’t add it to the database as a js library
• Domino Designer in Eclipse (DDE) reads and
processes resources
• More time consuming (slows DDE)
• Less maintainable
20
Adding jQuery to the database
• The WebContent folder
• Acts like the root folder within your database
• All files referenced to the .nsf/ in the URL
• Much easier to maintain files in one place
• Makes jQuery plugin management much
easier
21
Adding jQuery to the database
• Drag and Drop the js folder into WebContent
22
Adding jQuery to the application
• Directly added to the XPage source panel
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
23
Adding jQuery to the application
• Through a Theme
<resource>
<content-type>application/x-javascript</content-type>
<href>js/jquery-1.8.3.min.js</href>
</resource>
24
Adding jQuery to your XPages - Example
• Modernizing a notes view
25
Adding User interactivity
• Add a basic viewPanel control to your XPage
An un-styled viewPanel
Functional but not aesthetically
pleasing
26
Adding User interactivity - demonstration
• Using jQuery, user interactivity can be added to
a viewPanel to make it more functional and
improve the user experience.
http://bit.ly/MarkyIC13Demo
The following link has an example of the demonstration
27
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
28
jQuery plugins
• Extensions of the jQuery API code base
• The plugin is called in the same was as a normal
API reference
• $(‘.myClass’).doSomething()
• To achieve the desired functionality additional resources
are often necessary
• CSS
• Images
• Other JavaScript files
29
jQuery plugins
• Additional JavaScript Libraries
• May also include
• Images
• CSS
• Added to your XPage database
through WebContent folder as
before
30
jQuery plugins - example
• Joyride.js – Website feature tour
• Requirement:
• Provide a visual cue for website users
to the new features available
• Make it simple to use
• Make it one time only
31
jQuery plugins - example
• Joyride – Website feature tour
32
By clicking a button
users are guided around
the new website
jQuery plugins - example
• Joyride – Website feature tour
33
All the properties available with the Joyride plugin
jQuery plugins
• For more information on how to add a jQuery
plugin to your database:
• Notes in 9 Episode 74
• Getting started with jQuery Plugins in XPages
http://bit.ly/Nin9Ep74
Agenda
• What is jQuery?
• What about Dojo? When should I use jQuery?
• How does jQuery work?
• How do I add jQuery to my XPages?
• What are jQuery plugins?
• How can jQuery plugins solve my requirements
Functionality in a box
• Yesterday your boss could have said:
• “I need a slideshow adding to the website by tomorrow, needs
to allow users to see thumbnails and cycle through them
quickly…..”
• You would have panicked
• You could have remembered Google is your friend..
and found a great reference on jQuery slideshows
• http://speckyboy.com/2009/06/03/15-amazing-
jquery-image-galleryslideshow-plugins-and-tutorials/
• You would then have responded: “Which one sir?” 
Functionality in a box
• Over 3000 jQuery plugins created and registered
Charting Modal Window
Form Validation Mobile
Responsive Layouts Web Typography
Sliders Animation
Galleries Tables
Carousels Form Select and Combo
Time and Date Pickers
And almost all of them are FREE
Demonstrations
• Demonstrations of jQuery plugins in XPages can
be found at:
http://www.xomino.com/IBMConnect13Demo
http://demo.xomino.com
• Questions and Answers
http://www.xomino.com
http://demo.xomino.com
twitter: @MarkyRoden
Resources
• www.jquery.com
Download the latest version
Review the documentation
Look through the Tutorials
www.jqueryui.com
Fantastic working examples/code
Themebuilder
www.jquerymobile.com
Documentation
Example code
Example builder
www.stackoverflow.com (*April 2013)
~305,000 questions/answers tagged jQuery !
(~4,750 questions tagged Dojo)
(~1250 questions tagged XPages)
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC
Questions????
7
Use the Q&A pane in
WebEx to ask questions
We will answer your
questions verbally
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC
Questions????
6
Use the Q&A pane in
WebEx to ask questions
We will answer your
questions verbally
© 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC
Question and Answer Time!
7
Teamstudio Questions?
contactus@teamstudio.com
877-228-6178
TLCC Questions?
howardg@tlcc.com paul@tlcc.com
888-241-8522 or 561-953-0095
Mark Roden
Howard Greenberg Ben Green
Upcoming Events:
TLCC Spring Sale
ICON UK in Brighton
•TLCC TackItOn the day after
30% off all Teamstudio tools and 15% off all Ytria tools
Next webinar June 27th
SoftBank World 2013 July 23-24 in Japan
#XPages
@markyroden
@TLCCLtd
@Teamstudio

More Related Content

What's hot

Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3
Karambir Singh Nain
 

What's hot (20)

Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
Web Components v1
Web Components v1Web Components v1
Web Components v1
 
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
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
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
 
jQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and FuturejQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and Future
 
Dojo & HTML5
Dojo & HTML5Dojo & HTML5
Dojo & HTML5
 
Real World Web components
Real World Web componentsReal World Web components
Real World Web components
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
 
Contextual jQuery
Contextual jQueryContextual jQuery
Contextual jQuery
 
An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.js
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG Presentation
 
HTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery TrainingHTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery Training
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
 
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)
 
Building Mobile Web Apps with jQM and Cordova on Azure
Building Mobile Web Apps with jQM and Cordova on AzureBuilding Mobile Web Apps with jQM and Cordova on Azure
Building Mobile Web Apps with jQM and Cordova on Azure
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3Building a Better Web with HTML5 and CSS3
Building a Better Web with HTML5 and CSS3
 
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
Engage - Expanding XPages with Bootstrap Plugins for ultimate usabilityEngage - Expanding XPages with Bootstrap Plugins for ultimate usability
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
 
Vue.js
Vue.jsVue.js
Vue.js
 

Similar to jQuery: The World's Most Popular JavaScript Library Comes to XPages

State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
dmethvin
 
J query presentation
J query presentationJ query presentation
J query presentation
akanksha17
 
J query presentation
J query presentationJ query presentation
J query presentation
sawarkar17
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
Jia Mi
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
dmethvin
 
Web app with j query &amp; javascript (5:4)
Web app with j query &amp; javascript (5:4)Web app with j query &amp; javascript (5:4)
Web app with j query &amp; javascript (5:4)
Thinkful
 
Dog food conference creating modular webparts with require js in sharepoint
Dog food conference   creating modular webparts with require js in sharepointDog food conference   creating modular webparts with require js in sharepoint
Dog food conference creating modular webparts with require js in sharepoint
fahey252
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
dmethvin
 
jQuery 1.4-1.6 Best new features
jQuery 1.4-1.6 Best new featuresjQuery 1.4-1.6 Best new features
jQuery 1.4-1.6 Best new features
Ryan Blunden
 

Similar to jQuery: The World's Most Popular JavaScript Library Comes to XPages (20)

State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
J query presentation
J query presentationJ query presentation
J query presentation
 
J query presentation
J query presentationJ query presentation
J query presentation
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 
Creating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJSCreating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJS
 
jQuery - Chapter 1 - Introduction
 jQuery - Chapter 1 - Introduction jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - Introduction
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
 
Web app with j query &amp; javascript (5:4)
Web app with j query &amp; javascript (5:4)Web app with j query &amp; javascript (5:4)
Web app with j query &amp; javascript (5:4)
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
 
Dog food conference creating modular webparts with require js in sharepoint
Dog food conference   creating modular webparts with require js in sharepointDog food conference   creating modular webparts with require js in sharepoint
Dog food conference creating modular webparts with require js in sharepoint
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
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...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
jQuery 1.4-1.6 Best new features
jQuery 1.4-1.6 Best new featuresjQuery 1.4-1.6 Best new features
jQuery 1.4-1.6 Best new features
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
 

More from Teamstudio

More from Teamstudio (20)

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

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

jQuery: The World's Most Popular JavaScript Library Comes to XPages

  • 1. jQuery comes to XPages Tweet about this event: #xpages and mention us: @teamstudio @TLCCLTD @markyroden June 20, 2013
  • 3. Who we are • Our background is in creating tools for collaborative computing in mid-size and large enterprises, primarily for Lotus Notes • Easy-to-use tools for developers and administrators • 2300+ active customers, 47 countries • Offices in US, UK and Japan • Entered mobile space in 2010 with Unplugged – easy mobilization of Notes apps to Blackberry, Android and iOS
  • 4. Teamstudio Unplugged • Your Mobile Domino Server – take your Notes apps with you! • End users access Notes applications from mobile devices whether online or offline • Leverages existing skills and technology – XPages – Replication model you already know • IBM Collaboration Solutions Award Winner 2013
  • 5. Teamstudio Continuity • Mobile BCM application for smartphones and tablets – iOS, Android and BB • Offline access to all your BCM and Disaster Recovery data • Store plans, contacts, call trees, and more • Client available for download from app stores
  • 6. Teamstudio • 30% off all TS tools and 15% off all Ytria tools • Visit us at SoftBank World – July 23-24 in Tokyo • Next webinar – June 27th – Dojo Grids in XPages
  • 7. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC Howard Greenberg TLCC @TLCCLtd jQuery: The World's Most Popular JavaScript Library Comes to XPages Your Host Today: 1 #XPages
  • 8. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC 2 Upcoming and Recorded Webinars Next Webinar on June 27th Dojo DataGrid and XPages with Brad Balassaitis www.tlcc.com/xpages-webinar Same web page has a link to previous webinars
  • 9. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC • Seven XPages Courses! ‒ FREE !! Introduction to XPages Development ‒ JavaScript for XPages Development (8.5 and 9) ‒ Developing XPages Using Domino Designer 8.5 / XPages Development 1 for 9 ‒ Rapid XPages Development using Application Layout and Dojo UI Controls (8.5 and 9) ‒ XPages Development 2 for Notes and Domino 8.5 ‒ Mobile XPages for Domino 8.5 and 9 ‒ Java 1 for XPages Developers • Self Paced Training – Learn anywhere! – An Instructor is a click away • Instructor Led (Private) • TLCC Mentoring Services 3 TLCC XPages Offerings Spring Sale!!!!
  • 10. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC Your Presenter Today: 5 #XPages Dr. Marky Roden @MarkyRoden http://xomino.com
  • 11. About Marky • Over 15 years IBM Notes Domino® work • Senior Consultant at PSC Group • XPages Developer • Project Leader • jQuery Specialist • Contact Information • Blog: http://www.xomino.com • Email: marky@xomino.com • Twitter: @markyroden • Skype: marky.roden www.psclistens.com @pscgroup 2
  • 12. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements 3
  • 13. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements 4
  • 14. What is jQuery anyway? • A JavaScript library which simplifies the common every day web development tasks of Document Model manipulation, event handling, animation and AJAX/JSON Created: June 2006 by John Resig Removes browser dependencies Open Source (MIT License) 5
  • 15. What is jQuery anyway? • 66% of world’s top 10,000 websites use jQuery http://trends.builtwith.com/javascript (*Apr 2013) Used by Microsoft .Net v4 as part of the ASP.NET AJAX framework Some websites you probably know using jQuery Amazon Google Twitter Dell Wordpress Bank of America Stackoverflow Drupal BestBuy Wordpress 6
  • 16. What is jQuery anyway? • Core • Document Model (DOM) Manipulation • Simple Animations • UI • Pre-packages functional capabilities • Analogous to Dojo Widgets • Mobile • A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. 7
  • 17. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements 8
  • 18. Whatabout Dojo? WhenshouldI use jQuery? • Dojo and jQuery have the same basic premise: • Browser compatibility / Code simplification • Many similar capabilities. • DOM manipulation • Widgets (Date pickers, sliders etc) • Many differences • Dojo intended for larger client applications • jQuery intended to make coding as easy as possible 9
  • 19. Where’s the balance? • Many factors determine the balance • Network connectivity • Functional requirements • Developmental experience with Dojo/jQuery • Project timeline • Maintainability of the application • jQuery v2.0 (future) will not support IE<9 • “The entire jQuery core team instantly became giddy as they started ripping out oldIE support for jQuery 2.0.” 17 Dec 2012 - Scott González (jQuery contributor) 10
  • 20. Don’t use jQuery when…. • There isn’t a justifiable reason to use it • jQuery is an additional download (~94k) • Version 1.8 does allow for exclusion of code which is not necessary • When not to use jQuery : • Simple DOM manipulation • To provide functionality which is already provided by Dojo Widgets • To determine runtime events in the onLoad event • If you are using OneUI (*not for beginners) • Because you don’t want to learn Dojo 11
  • 21. Use jQuery when…… • Enhanced functionality not provided by Dojo • Specific jQuery or jQuery UI functionality • Specific Animation requirements • Broader browser compatibility • The business plan supports jQuery usage • The requirements are best suited to a jQuery solution >>>>> The Plugin Community <<<< 12
  • 22. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements 13
  • 23. How does jQuery work - API References API references Examples Selectors (“ELEMENT”) (“.class”) (“#idTag”) Attributes .attr() .html() .toggleClass() Traversing .children() .closest() .find() Manipulation .appendTo() .css() .val() CSS .height() .position() .width() Events .blur() .bind() .keypress() Effects .animate() .fadeIn() .slideToggle() Ajax .get() .getJSON() .serialize() Utilities .grep() .each() .inArray() Internals .error() .pushStack() .context() Example API reference methods and properties http://api.jquery.com 14
  • 24. Select and conquer • 1) Select the DOM elements you wish to affect $(‘.myClass’) • 2) Concatenate the API reference to use $(‘.myClass’).css(‘display’, ‘none’) • 3) Execute Select all elements with a class “myClass” Set the display style to none 15
  • 25. Chaining • All methods/properties return a jQuery object • Allows for chaining of *all* other API references $("p") .find(":contains('t')") .css('color','red') • Advantages • Object reuse: Lower memory consumption and faster • Shorter more manageable code • Easier syntax for beginners • Easy plugin creation Select All Paragraph nodes Within each node find all words containing the letter t Color those matches red 16
  • 26. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements 17
  • 27. Adding jQuery to the application • jQuery is a Client Side JavaScript library • Can be added to the application • Can be referenced externally to the database • jQuery plugins contain images and style sheets • A complete miniaturized application • More than just JavaScript Code • Could be complicated to maintain if all files were added as resources 18
  • 28. Adding jQuery to the database • Download the jQuery library • http://jquery.com • Save in a “js” folder on your computer 19
  • 29. Adding jQuery to the database • Don’t add it to the database as a file resource • Don’t add it to the database as a js library • Domino Designer in Eclipse (DDE) reads and processes resources • More time consuming (slows DDE) • Less maintainable 20
  • 30. Adding jQuery to the database • The WebContent folder • Acts like the root folder within your database • All files referenced to the .nsf/ in the URL • Much easier to maintain files in one place • Makes jQuery plugin management much easier 21
  • 31. Adding jQuery to the database • Drag and Drop the js folder into WebContent 22
  • 32. Adding jQuery to the application • Directly added to the XPage source panel <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> 23
  • 33. Adding jQuery to the application • Through a Theme <resource> <content-type>application/x-javascript</content-type> <href>js/jquery-1.8.3.min.js</href> </resource> 24
  • 34. Adding jQuery to your XPages - Example • Modernizing a notes view 25
  • 35. Adding User interactivity • Add a basic viewPanel control to your XPage An un-styled viewPanel Functional but not aesthetically pleasing 26
  • 36. Adding User interactivity - demonstration • Using jQuery, user interactivity can be added to a viewPanel to make it more functional and improve the user experience. http://bit.ly/MarkyIC13Demo The following link has an example of the demonstration 27
  • 37. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements 28
  • 38. jQuery plugins • Extensions of the jQuery API code base • The plugin is called in the same was as a normal API reference • $(‘.myClass’).doSomething() • To achieve the desired functionality additional resources are often necessary • CSS • Images • Other JavaScript files 29
  • 39. jQuery plugins • Additional JavaScript Libraries • May also include • Images • CSS • Added to your XPage database through WebContent folder as before 30
  • 40. jQuery plugins - example • Joyride.js – Website feature tour • Requirement: • Provide a visual cue for website users to the new features available • Make it simple to use • Make it one time only 31
  • 41. jQuery plugins - example • Joyride – Website feature tour 32 By clicking a button users are guided around the new website
  • 42. jQuery plugins - example • Joyride – Website feature tour 33 All the properties available with the Joyride plugin
  • 43. jQuery plugins • For more information on how to add a jQuery plugin to your database: • Notes in 9 Episode 74 • Getting started with jQuery Plugins in XPages http://bit.ly/Nin9Ep74
  • 44. Agenda • What is jQuery? • What about Dojo? When should I use jQuery? • How does jQuery work? • How do I add jQuery to my XPages? • What are jQuery plugins? • How can jQuery plugins solve my requirements
  • 45. Functionality in a box • Yesterday your boss could have said: • “I need a slideshow adding to the website by tomorrow, needs to allow users to see thumbnails and cycle through them quickly…..” • You would have panicked • You could have remembered Google is your friend.. and found a great reference on jQuery slideshows • http://speckyboy.com/2009/06/03/15-amazing- jquery-image-galleryslideshow-plugins-and-tutorials/ • You would then have responded: “Which one sir?” 
  • 46. Functionality in a box • Over 3000 jQuery plugins created and registered Charting Modal Window Form Validation Mobile Responsive Layouts Web Typography Sliders Animation Galleries Tables Carousels Form Select and Combo Time and Date Pickers And almost all of them are FREE
  • 47. Demonstrations • Demonstrations of jQuery plugins in XPages can be found at: http://www.xomino.com/IBMConnect13Demo http://demo.xomino.com
  • 48. • Questions and Answers http://www.xomino.com http://demo.xomino.com twitter: @MarkyRoden
  • 49. Resources • www.jquery.com Download the latest version Review the documentation Look through the Tutorials www.jqueryui.com Fantastic working examples/code Themebuilder www.jquerymobile.com Documentation Example code Example builder www.stackoverflow.com (*April 2013) ~305,000 questions/answers tagged jQuery ! (~4,750 questions tagged Dojo) (~1250 questions tagged XPages)
  • 50. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC Questions???? 7 Use the Q&A pane in WebEx to ask questions We will answer your questions verbally
  • 51. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC Questions???? 6 Use the Q&A pane in WebEx to ask questions We will answer your questions verbally
  • 52. © 2013 The Learning Continuum Company, Ltd – This material can not be reproduced or distributed without the express permission of TLCC Question and Answer Time! 7 Teamstudio Questions? contactus@teamstudio.com 877-228-6178 TLCC Questions? howardg@tlcc.com paul@tlcc.com 888-241-8522 or 561-953-0095 Mark Roden Howard Greenberg Ben Green Upcoming Events: TLCC Spring Sale ICON UK in Brighton •TLCC TackItOn the day after 30% off all Teamstudio tools and 15% off all Ytria tools Next webinar June 27th SoftBank World 2013 July 23-24 in Japan #XPages @markyroden @TLCCLtd @Teamstudio