SlideShare a Scribd company logo
HTML5, CSS3 and jQuery with
SharePoint 2010 – what you
can (and need to) start doing
now
MSPUG - May 2012
~ Chris O’Connor (OBS
About Me
 Senior Consultant at OBS
 Blog : www.sharepointroot.com
 Twitter : @GrumpyWookie
 Dad of three boys – and keen cyclist
 Let’s talk MTB (!)
Agenda
 HTML5 – what & why
 CSS3
 SharePoint 2010
 jQuery
 REST + JSON
 jQuery Templates
 SharePoint vNext (15/2013?)
History of the Web (HTML)
 HTML 3.2 and CSS 1.0 (~1997)
 Browser wars : Netscape vs. Internet Explorer
 HTML 4.01 and CSS 2.0 (~1999)
 Exit Netscape – Enter FireFox, Opera, Safari, etc.
 XHTML 1.0 and CSS 2.1 (~2000)
 HTML content pages written as valid XML documents
 HTML 5 and CSS 3.0 (~2005)
 Rejects the constraints added by XHTML
 New HTML elements, CSS properties and JavaScript APIs
** SharePoint 2010
Moving to HTML5
• Why ?
 HTML to work consistently across all modern
browsers
 Eliminate need for Flash, Silverlight, etc
 New JavaScript APIs
 Target mobile devices - CEO's iPad !!
• And, simply…
 New stuff that makes sense
 Evolution of the language of the web
A new simpler
DOCTYPE
A new semantic
element
A new functional
element
Example : HTML5
New HTML5 semantic tags
 Layout & structure
<header>
<nav>
<article>
<section>
<figure>
<dialog>
<aside>
<time>
<footer>
<header></header>
<nav></nav>
<footer></footer>
<article>
<section>
<h2></h2>
<p></p>
<p></p>
</section>
<section>
<h3></h3>
<p></p>
</section>
</article>
<aside>
<section>
</section>
</aside>
New HTML5 Functional Tags
 New Elements Provide Functional Behavior
<canvas>
<svg> [Scalable Vector Graphics – defined by XML]
<audio>
<video>
<source>
<command>
<datalist>
<embed>
<output>
New HTML5 Functional Tags
<input type=‘TYPE’ id=‘myField’ />
 New Types :
tel week
search time
url datetime-local
email number
datetime range
date color
month placeholder
New HTML5 Functions (API)
 Additional methods & functions (JavaScript)
 Geolocation
 Determine current location
 2D drawing
 Canvas – draw lines & graphics using JavaScript
 Drag and drop
 Images & attachments within browser
 <img draggable="true" />
 Web storage
 Key-value pair framework - like cookies, but much richer
(tastier ?)
 …. plus more
http://html5demos.com
New for CSS3
 Rounded corners
#example1 {border-radius: 15px;}
 Text shadow
#title{text-shadow: 2px 2px 2px #000;}
 Gradient
background: -ms-linear-gradient(top,
#2F2727, #1a82f7);
BUT…!
 “Modern” browsers support portions of HTML5
specification
 IE 9
 Google Chrome
 Mozilla Firefox v4
 Apple Safari v5 (iOS)
 Full HTML5 support across browsers
anticipated in “2022” !
 Need failback / other way to show if not
supported
 Avoid “if browser-x, then {aaaa}”
What about SharePoint 2010 ?
• HTML5 Master Page
• Include HTML5 tags
 ListView + XSLT to render HTML5
 Include in Content Editor WebPart (CEWP)
 Page Layout
• BUT – browser support always an issue
 Need to support IE8 and IE7
HTML5 + CSS3 + SharePoint
2010
DEMO
jQuery Fundamentals
• Designed to hide differences between browsers
 Eliminate browser-specific code
• Focuses on two primary tasks
 Retrieving sets of elements from HTML pages
 Performing operations on the elements within a set
• jQuery is a great alternative (safe bet)
 Compared to HTML5
 Browser support
jQuery and SharePoint 2010
• Load JavaScript to SharePoint
 Download jQuery (eg. jquery-1.7.1.min.js)
 STYLE LIBRARY
• Reference JavaScript file/s
 <SCRIPTLINK> tag – in feature
 <SCRIPT> tag reference – Master Page
• Or – directly within CEWP or XSLT
Feature to deploy jQuery
• Create a SharePoint project in Visual Studio
2010
 Create a site collection-scoped feature (i.e.
scope=site)
 Add a Module to deploy jQuery JavaScript files
 Eg. STYLE LIBRARY or SITE ASSETS
How to use jQuery
• JavaScript code
 CSS Selectors
 Action
<script>
$('#ContactName').html('Joe Smith');
</script>
 SELECT stuff…
 DO stuff…
 jQuery – should’ve been called jSelect (?)
jQuery Selectors
 jQuery leverages familiar CSS selector syntax
jQuery Actions
• Perform function/update to a piece of HTML
 html()
 addClass()
 attr()
 slideUp()
• Most jQuery object methods support
cascading calls
jQuery Events
• Document ready event handler
 Executed when DOM document is ready for
access
 Can also dynamically add events to DOM
 click()
 hover()
 keypress()
jQuery UI Library
• Pre-coded UI components
 Based on built-in theming scheme
• jQuery UI Widgets
 Auto-complete
 Date Picker
 Slider
 Progress Bar
 Tabs
 Accordion
 Dialog
http://jqueryui.com/
Demo
jQuery + SharePoint 2010
jQuery+ SharePoint 2010
DEMO
REST
• Previously had ASMX Web Services
 Eg. GetLists, etc
 Returns as XML data
 Difficult to construct + call (XML packet)
 New WCF REST’ful Web Services
 URL based query
 JSON data format returned
 JavaScript Object Notation
REST : using ListData.svc
Get all items in list
http://server/_vti_bin/ListData.svc
Returns all items in MyList
http://server/_vti_bin/ListData.svc/MyList
Returns all items in MyList ordered ascending by Title
http://server/_vti_bin/ListData.svc/MyList?$orderby=Title
Returns all items in MyList that has a column that equal to
'Music'
http://server/_vti_bin/ListData.svc/MyList?$filter=MyColumn
eq 'Music'
jQuery + REST
• jQuery provides methods to call across
network
 Call to REST-based Web services (ListData.svc)
 Delegate for OnSuccess + OnError
 Returns results in JSON format
jQuery+ REST + SharePoint
2010
DEMO
jQuery Templates
• Layout for displaying data collections rendered as
HTML
 Create layout within JavaScript
 using literal HTML and tokens
 Just like XSLT – only easier (!)
 Render data + layout
 tmpl() method
 Process template once for each item in collection
Bring it all together
 jQuery
 Call to REST web service
 REST
 SharePoint List Data
 JSON data returned
 jQuery Template
 HTML template
jQuery Templates
jQuery Templates
jQuery Templates
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
Demo
jQuery + REST + jQuery
Templates
SharePoint vNext
• Think more about dev. with client-side
 REST
 jQuery
 HTML5 ? Maybe – browser dependant
• Office 365
 Combined code-base w/ SharePoint 15
 SandBoxed Solutions – or Client Side
• Windows 8
 HTML+jQuery – apps
Confused ? Where to ?
• Long way before vNext is PROD everywhere
• Get started with jQuery
• Get started with REST
• HTML5
 Browser support – write-once, test-many
 Modernizr – JS library
 Sandboxed Solutions
 Next session – Elaine van Bergen
Summary
• HTML5 – what & why
• CSS3
• SharePoint 2010
• jQuery
• REST + JSON
• jQuery Templates
• SharePoint vNext (?)
• Question + Answer
References
 www.w3schools.com/html5
 html5demos.com
 jquery.com
 tutsplus.com/course/30-days-to-learn-jquery/
 Sends link to a video every day – learnt LOTS !
 SharePoint 2010 Developer Training Course
 msdn.microsoft.com/en-us/gg620703
Contact Details
 Chris O’Connor
 Senior Consultant, OBS
[email]
chris.oconnor@obs.com.au
[blog] www.sharepointroot.com
[twitter] @grumpywookie
 Come and say hello at the OBS booth – or UG
booth
Gold Sponsors
Bronze Sponsors Media Sponsors
Silver Sponsors

More Related Content

What's hot (20)

PPTX
SPDY
gavinthirlwall
 
PDF
HTML5 New Features and Resources
Ron Reiter
 
PDF
BP101: A Modernized Workflow w/ Domino/XPages
edm00se
 
PPTX
The Rich Standard: Getting Familiar with HTML5
Todd Anglin
 
PPTX
MWLUG - Universal Java
Philippe Riand
 
PDF
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Tieturi Oy
 
PPTX
Edge of the Web
Todd Anglin
 
PPTX
Making HTML5 Work Everywhere
Todd Anglin
 
PDF
Tips for Building your First XPages Java Application
Teamstudio
 
KEY
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 
PDF
HTML5 in IE9
Buu Nguyen
 
PDF
IBM Domino Modernizing apps with Angularjs
Dominopoint - Italian Lotus User Group
 
PDF
WordPress Theme Performance - WP Vienna meetup 8.6.2016
jancbeck
 
PPTX
Web components, so close!
Aleks Zinevych
 
PDF
Upgrading to Drupal 8: Benefits and Gotchas
Suzanne Dergacheva
 
PPT
Html 5 introduction
Mahendra Kumar
 
PDF
HTML5--The 30,000' View (A fast-paced overview of HTML5)
Peter Lubbers
 
PDF
Everything XControls
Teamstudio
 
PDF
Get Involved with WordPress
Mario Peshev
 
PPTX
Getting Started with HTML5 in Tech Com (STC 2012)
Peter Lubbers
 
HTML5 New Features and Resources
Ron Reiter
 
BP101: A Modernized Workflow w/ Domino/XPages
edm00se
 
The Rich Standard: Getting Familiar with HTML5
Todd Anglin
 
MWLUG - Universal Java
Philippe Riand
 
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Tieturi Oy
 
Edge of the Web
Todd Anglin
 
Making HTML5 Work Everywhere
Todd Anglin
 
Tips for Building your First XPages Java Application
Teamstudio
 
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 
HTML5 in IE9
Buu Nguyen
 
IBM Domino Modernizing apps with Angularjs
Dominopoint - Italian Lotus User Group
 
WordPress Theme Performance - WP Vienna meetup 8.6.2016
jancbeck
 
Web components, so close!
Aleks Zinevych
 
Upgrading to Drupal 8: Benefits and Gotchas
Suzanne Dergacheva
 
Html 5 introduction
Mahendra Kumar
 
HTML5--The 30,000' View (A fast-paced overview of HTML5)
Peter Lubbers
 
Everything XControls
Teamstudio
 
Get Involved with WordPress
Mario Peshev
 
Getting Started with HTML5 in Tech Com (STC 2012)
Peter Lubbers
 

Similar to 2012 - HTML5, CSS3 and jQuery with SharePoint 2010 (20)

PPTX
A Beginner's Guide to Client Side Development with Javascript
SharePoint Saturday New Jersey
 
PPTX
SharePoint Cincy 2012 - jQuery essentials
Mark Rackley
 
PPTX
SharePoint and jQuery Essentials
Mark Rackley
 
PPTX
025444215.pptx
RiyaJenner1
 
PPTX
SPSDenver - SharePoint & jQuery - What I wish I would have known
Mark Rackley
 
PPTX
Easy tabs, Slideshows, Dashboards, etc - Client Side Scripts for SharePoint
PathToSharePoint
 
PPTX
Building the next generation of browser apps today
Randy Williams
 
PPTX
WEB DEVELOPMENT.pptx
silvers5
 
PDF
web development
ABHISHEKJHA176786
 
PPTX
25444215.pptx
YashMittal302244
 
PPTX
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
SPTechCon
 
PPTX
The SharePoint & jQuery Guide
Mark Rackley
 
PPTX
Introduction to HTML language Web design.pptx
lekhacce
 
PPTX
web development
RamanDeep876641
 
PPTX
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 
PPT
J query b_dotnet_ug_meet_12_may_2012
ghnash
 
PPTX
Introduction to Client Side Dev in SharePoint Workshop
Mark Rackley
 
PPTX
SPSNH 2014 - The SharePoint & jQueryGuide
Mark Rackley
 
PPTX
2011 - SharePoint + jQuery
Chris O'Connor
 
PPTX
HTML5 introduction for beginners
Vineeth N Krishnan
 
A Beginner's Guide to Client Side Development with Javascript
SharePoint Saturday New Jersey
 
SharePoint Cincy 2012 - jQuery essentials
Mark Rackley
 
SharePoint and jQuery Essentials
Mark Rackley
 
025444215.pptx
RiyaJenner1
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
Mark Rackley
 
Easy tabs, Slideshows, Dashboards, etc - Client Side Scripts for SharePoint
PathToSharePoint
 
Building the next generation of browser apps today
Randy Williams
 
WEB DEVELOPMENT.pptx
silvers5
 
web development
ABHISHEKJHA176786
 
25444215.pptx
YashMittal302244
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
SPTechCon
 
The SharePoint & jQuery Guide
Mark Rackley
 
Introduction to HTML language Web design.pptx
lekhacce
 
web development
RamanDeep876641
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 
J query b_dotnet_ug_meet_12_may_2012
ghnash
 
Introduction to Client Side Dev in SharePoint Workshop
Mark Rackley
 
SPSNH 2014 - The SharePoint & jQueryGuide
Mark Rackley
 
2011 - SharePoint + jQuery
Chris O'Connor
 
HTML5 introduction for beginners
Vineeth N Krishnan
 
Ad

More from Chris O'Connor (10)

PPTX
Developing Mobile Apps with Office365
Chris O'Connor
 
PPTX
2011 - From Zero to productivity (Tech Ed 2011)
Chris O'Connor
 
PPTX
2011 - jQuery + SharePoint (TechEd)
Chris O'Connor
 
PPTX
2011 - Adding bells & whistles to the ribbon
Chris O'Connor
 
PPTX
2010 - Developer look at the Client Object Model
Chris O'Connor
 
PPTX
2011 - SharePoint + jQuery
Chris O'Connor
 
PPTX
2013 - Back to the Future with Client/Server Development
Chris O'Connor
 
PPTX
2015 - PowerShell, C# and JavaScript for Office 365
Chris O'Connor
 
PPTX
2014 - The Future Of Forms (InfoPath)
Chris O'Connor
 
PPTX
2014 - Integrating Yammer with SharePoint
Chris O'Connor
 
Developing Mobile Apps with Office365
Chris O'Connor
 
2011 - From Zero to productivity (Tech Ed 2011)
Chris O'Connor
 
2011 - jQuery + SharePoint (TechEd)
Chris O'Connor
 
2011 - Adding bells & whistles to the ribbon
Chris O'Connor
 
2010 - Developer look at the Client Object Model
Chris O'Connor
 
2011 - SharePoint + jQuery
Chris O'Connor
 
2013 - Back to the Future with Client/Server Development
Chris O'Connor
 
2015 - PowerShell, C# and JavaScript for Office 365
Chris O'Connor
 
2014 - The Future Of Forms (InfoPath)
Chris O'Connor
 
2014 - Integrating Yammer with SharePoint
Chris O'Connor
 
Ad

Recently uploaded (20)

PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Biography of Daniel Podor.pdf
Daniel Podor
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 

2012 - HTML5, CSS3 and jQuery with SharePoint 2010

  • 1. HTML5, CSS3 and jQuery with SharePoint 2010 – what you can (and need to) start doing now MSPUG - May 2012 ~ Chris O’Connor (OBS
  • 2. About Me  Senior Consultant at OBS  Blog : www.sharepointroot.com  Twitter : @GrumpyWookie  Dad of three boys – and keen cyclist  Let’s talk MTB (!)
  • 3. Agenda  HTML5 – what & why  CSS3  SharePoint 2010  jQuery  REST + JSON  jQuery Templates  SharePoint vNext (15/2013?)
  • 4. History of the Web (HTML)  HTML 3.2 and CSS 1.0 (~1997)  Browser wars : Netscape vs. Internet Explorer  HTML 4.01 and CSS 2.0 (~1999)  Exit Netscape – Enter FireFox, Opera, Safari, etc.  XHTML 1.0 and CSS 2.1 (~2000)  HTML content pages written as valid XML documents  HTML 5 and CSS 3.0 (~2005)  Rejects the constraints added by XHTML  New HTML elements, CSS properties and JavaScript APIs ** SharePoint 2010
  • 5. Moving to HTML5 • Why ?  HTML to work consistently across all modern browsers  Eliminate need for Flash, Silverlight, etc  New JavaScript APIs  Target mobile devices - CEO's iPad !! • And, simply…  New stuff that makes sense  Evolution of the language of the web
  • 6. A new simpler DOCTYPE A new semantic element A new functional element Example : HTML5
  • 7. New HTML5 semantic tags  Layout & structure <header> <nav> <article> <section> <figure> <dialog> <aside> <time> <footer> <header></header> <nav></nav> <footer></footer> <article> <section> <h2></h2> <p></p> <p></p> </section> <section> <h3></h3> <p></p> </section> </article> <aside> <section> </section> </aside>
  • 8. New HTML5 Functional Tags  New Elements Provide Functional Behavior <canvas> <svg> [Scalable Vector Graphics – defined by XML] <audio> <video> <source> <command> <datalist> <embed> <output>
  • 9. New HTML5 Functional Tags <input type=‘TYPE’ id=‘myField’ />  New Types : tel week search time url datetime-local email number datetime range date color month placeholder
  • 10. New HTML5 Functions (API)  Additional methods & functions (JavaScript)  Geolocation  Determine current location  2D drawing  Canvas – draw lines & graphics using JavaScript  Drag and drop  Images & attachments within browser  <img draggable="true" />  Web storage  Key-value pair framework - like cookies, but much richer (tastier ?)  …. plus more http://html5demos.com
  • 11. New for CSS3  Rounded corners #example1 {border-radius: 15px;}  Text shadow #title{text-shadow: 2px 2px 2px #000;}  Gradient background: -ms-linear-gradient(top, #2F2727, #1a82f7);
  • 12. BUT…!  “Modern” browsers support portions of HTML5 specification  IE 9  Google Chrome  Mozilla Firefox v4  Apple Safari v5 (iOS)  Full HTML5 support across browsers anticipated in “2022” !  Need failback / other way to show if not supported  Avoid “if browser-x, then {aaaa}”
  • 13. What about SharePoint 2010 ? • HTML5 Master Page • Include HTML5 tags  ListView + XSLT to render HTML5  Include in Content Editor WebPart (CEWP)  Page Layout • BUT – browser support always an issue  Need to support IE8 and IE7
  • 14. HTML5 + CSS3 + SharePoint 2010 DEMO
  • 15. jQuery Fundamentals • Designed to hide differences between browsers  Eliminate browser-specific code • Focuses on two primary tasks  Retrieving sets of elements from HTML pages  Performing operations on the elements within a set • jQuery is a great alternative (safe bet)  Compared to HTML5  Browser support
  • 16. jQuery and SharePoint 2010 • Load JavaScript to SharePoint  Download jQuery (eg. jquery-1.7.1.min.js)  STYLE LIBRARY • Reference JavaScript file/s  <SCRIPTLINK> tag – in feature  <SCRIPT> tag reference – Master Page • Or – directly within CEWP or XSLT
  • 17. Feature to deploy jQuery • Create a SharePoint project in Visual Studio 2010  Create a site collection-scoped feature (i.e. scope=site)  Add a Module to deploy jQuery JavaScript files  Eg. STYLE LIBRARY or SITE ASSETS
  • 18. How to use jQuery • JavaScript code  CSS Selectors  Action <script> $('#ContactName').html('Joe Smith'); </script>  SELECT stuff…  DO stuff…  jQuery – should’ve been called jSelect (?)
  • 19. jQuery Selectors  jQuery leverages familiar CSS selector syntax
  • 20. jQuery Actions • Perform function/update to a piece of HTML  html()  addClass()  attr()  slideUp() • Most jQuery object methods support cascading calls
  • 21. jQuery Events • Document ready event handler  Executed when DOM document is ready for access  Can also dynamically add events to DOM  click()  hover()  keypress()
  • 22. jQuery UI Library • Pre-coded UI components  Based on built-in theming scheme • jQuery UI Widgets  Auto-complete  Date Picker  Slider  Progress Bar  Tabs  Accordion  Dialog http://jqueryui.com/
  • 25. REST • Previously had ASMX Web Services  Eg. GetLists, etc  Returns as XML data  Difficult to construct + call (XML packet)  New WCF REST’ful Web Services  URL based query  JSON data format returned  JavaScript Object Notation
  • 26. REST : using ListData.svc Get all items in list http://server/_vti_bin/ListData.svc Returns all items in MyList http://server/_vti_bin/ListData.svc/MyList Returns all items in MyList ordered ascending by Title http://server/_vti_bin/ListData.svc/MyList?$orderby=Title Returns all items in MyList that has a column that equal to 'Music' http://server/_vti_bin/ListData.svc/MyList?$filter=MyColumn eq 'Music'
  • 27. jQuery + REST • jQuery provides methods to call across network  Call to REST-based Web services (ListData.svc)  Delegate for OnSuccess + OnError  Returns results in JSON format
  • 28. jQuery+ REST + SharePoint 2010 DEMO
  • 29. jQuery Templates • Layout for displaying data collections rendered as HTML  Create layout within JavaScript  using literal HTML and tokens  Just like XSLT – only easier (!)  Render data + layout  tmpl() method  Process template once for each item in collection
  • 30. Bring it all together  jQuery  Call to REST web service  REST  SharePoint List Data  JSON data returned  jQuery Template  HTML template
  • 35. Demo jQuery + REST + jQuery Templates
  • 36. SharePoint vNext • Think more about dev. with client-side  REST  jQuery  HTML5 ? Maybe – browser dependant • Office 365  Combined code-base w/ SharePoint 15  SandBoxed Solutions – or Client Side • Windows 8  HTML+jQuery – apps
  • 37. Confused ? Where to ? • Long way before vNext is PROD everywhere • Get started with jQuery • Get started with REST • HTML5  Browser support – write-once, test-many  Modernizr – JS library  Sandboxed Solutions  Next session – Elaine van Bergen
  • 38. Summary • HTML5 – what & why • CSS3 • SharePoint 2010 • jQuery • REST + JSON • jQuery Templates • SharePoint vNext (?) • Question + Answer
  • 39. References  www.w3schools.com/html5  html5demos.com  jquery.com  tutsplus.com/course/30-days-to-learn-jquery/  Sends link to a video every day – learnt LOTS !  SharePoint 2010 Developer Training Course  msdn.microsoft.com/en-us/gg620703
  • 40. Contact Details  Chris O’Connor  Senior Consultant, OBS [email] [email protected] [blog] www.sharepointroot.com [twitter] @grumpywookie  Come and say hello at the OBS booth – or UG booth
  • 41. Gold Sponsors Bronze Sponsors Media Sponsors Silver Sponsors

Editor's Notes

  • #2: Chris O’Connor (OBS) [email protected]
  • #7: HTML5 example – sample ‘page’ – not necessarily ASP.NET or SharePoint – but just as an example
  • #8: Good description : http://www.ibm.com/developerworks/library/x-html5/
  • #9: EXAMPLES : <input list="browsers" name="browser" /> <datalist id="browsers"> <option value="Internet Explorer"> <option value="Firefox"> <option value="Google Chrome"> <option value="Opera"> <option value="Safari"> </datalist>   <video width="320" height="240" controls="controls">   <source src="movie.mp4" type="video/mp4" />   <source src="movie.ogg" type="video/ogg" />   <source src="movie.webm" type="video/webm" /> <i>Your browser does not support the video tag.</i> </video> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"> Your browser does not support the canvas element. </canvas> <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.fillRect(0,0,150,75); </script>
  • #11: Drag + drop to document library – in SharePoint vNext – wouldn’t that be cool ?!?
  • #12: Other links : http://www.css3.info/preview/multiple-backgrounds/ http://css-tricks.com/examples/CSS3Gradient/
  • #14: Master page – using Header, Nav, Content, Footer
  • #26: REST = Representational state transfer JSON = JavaScript Object Notation
  • #27: Turn off feed view http://www.walkernews.net/2007/03/25/ie-7-xml-feed-display-rss-feed-validation/ Comes back as RSS feed – need to view as XML