sharepoint saturday tampa, enhancing sharepoint 2010 for the ipad

29
Michael Greene SharePoint Saturday Tampa June 11, 2011 ENHANCING SHAREPOINT 2010 FOR THE IPAD

Upload: michael-greene

Post on 26-Jun-2015

1.973 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

Michael Greene

SharePoint Saturday Tampa

June 11, 2011

ENHANCING SHAREPOINT 2010FOR THE IPAD

Page 2: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 2

SHAREPOINT SATURDAY TAMPA

• Welcome to SharePoint Saturday Tampa!

• Introduction

• Please complete & submit speaker evaluation forms

• SharePint

• The Pub, International Mall

• 6 PM

Page 3: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 3

AGENDA

• SharePoint 2010 Compatibility

• Mobile Device Connectivity

• Device Orientation Detection

• CSS Approach

• Scripted Approach

• Branding for Device Orientation Demo

• Cross-Platform Video

• HTML5 Video

• Security Considerations

Page 4: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 4

SHAREPOINT 2010 COMPATIBILITY

• SharePoint 2010 is cross browser compatible

• Fully Supported: IE 7 (32 bit), IE 8 (32 bit), IE 9 (32 bit)

• Supported w/ Limitations: IE 7 (64 bit), IE 8 (64 bit), IE 9 (64 bit),

Firefox 3.6 (Win & non-Win), Safari 4.04 (non-Win)

• Is your custom markup cross browser compatible?

Page 5: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 5

SHAREPOINT 2010 COMPATIBILITY

• SharePoint 2010 is cross browser compatible

• Fully Supported: IE 7 (32 bit), IE 8 (32 bit), IE 9 (32 bit)

• Supported w/ Limitations: IE 7 (64 bit), IE 8 (64 bit), IE 9 (64 bit),

Firefox 3.6 (Win & non-Win), Safari 4.04 (non-Win)

• Is your custom markup cross browser compatible?Safari iPad != Safari iPhone != Safari

iPod

Page 6: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 6

MOBILE DEVICE CONNECTIVITY

WiFi 3G/4G/Internet

External FBAKerberos Delegated by TMG

Utilizes Internal WirelessMay Require VPN*

Page 7: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 7

DEVICE ORIENTATION DETECTION

• Consumer adoption leading to growth in the business sector

• New ability to touch and interact with business data

• Increased user experience

• Efficiently manage limited screen real estate

Page 8: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 8

CSS APPROACHDevice Orientation Detection

Page 9: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 9

CSS APPROACH

• Utilizes orientation aware Cascading Style Sheets (CSS)

• Little overhead, no code or script required

• Detects Portrait vs. Landscape

• Browser determines ratio of browser width vs. height

• Use to display, hide, or change size of elements for specific orientations

• Ideal for integrating orientation detection with site branding

Page 10: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 10

SUPPORTED ORIENTATIONS

Portrait Landscape

Page 11: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 11

• Standard “link” tag with media attribute<link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" />

<link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" />

• Cross-Browser Support<!--[if !IE]><!-->

<link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" />

<link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" />

<!--<![endif]-->

<!--[if IE]>

<link rel="stylesheet" href="Landscape.css" />

<![endif]-->

ATTACHING STYLE SHEETS

Often not needed

Page 12: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 12

• Standard “link” tag<link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" />

<link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" />

• Browser Support<!--[if !IE]><!-->

<link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" />

<link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" />

<!--<![endif]-->

<!--[if IE]>

<link rel="stylesheet" href="Landscape.css" />

<![endif]-->

ATTACHING STYLE SHEETS

All style sheets should be attached after Core.css

and custom CSS registrations.

Page 13: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 13

• Hide Quick Launch when device is in Portrait orientation.

• Hide any content with the “notPortrait” class; similar to the use of “s4-notdlg”.

EXAMPLES

#s4-leftpanel { display: none;}

.s4-ca { margin-left: 0px;}

Portrait.css

.notPortrait { display: none;}

Portrait.css

Page 14: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 14

SCRIPTED APPROACHDevice Orientation Detection

Page 15: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 15

SCRIPTED APPROACH

• Utilizes client-side script (Javascript/jQuery)

• Scripted specifically for iPad

• Identifies numerical orientation value

• Orientation value returned by device hardware/accelerometer

• Uses:

• Bind functions to orientation changes

• Animate element changes

• Make changes to the Document Object Model (DOM)

Page 16: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 16

SUPPORTED ORIENTATIONS

0° 90° 180°-90°

Page 17: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 17

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>

<script type="text/javascript">

var isiPad = navigator.userAgent.match(/iPad/i) != null; //Boolean, is device iPad

if (isiPad) { // Process only for iPads

ProcessOrientation(window.orientation); // Process initial orientation

window.onorientationchange = function() { // Process on orientation change

ProcessOrientation(window.orientation);

}

function ProcessOrientation(currentOrientation) {

if (currentOrientation == 0 || currentOrientation == 180) {

// Is Portrait

} else if (currentOrientation == 90 || currentOrientation == -90) {

// Is Landscape

}

}

}

</script>

SCRIPTING ORIENTATION DETECTION

Page 18: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 18

• Hide Quick Launch when device is in Portrait orientation.

• Hide any content with the “notPortrait” class; similar to the use of “s4-notdlg”.

EXAMPLES

if (Portrait) { $(“#s4-leftpanel”).hide(); $(“.s4-ca”).css(“marginLeft”, 0);}if (Landscape) { $(“#s4-leftpanel”).show(); $(“.s4-ca”).css(“marginLeft”, “150px”);}

jQuery

if (Portrait) { $(“.notPortrait”).hide();}if (Landscape) { $(“.notPortrait”).show();}

jQuery

Page 19: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 19

• Hide Quick Launch with animation when device is in Portrait orientation.

• Move contents of one container to another, and back again.

ADVANCED EXAMPLES

if (Portrait) { $(“#s4-leftpanel”).animate( [“left”: “=-150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “0px”], “slow” );}if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “150px”], “slow” );}

jQuery

if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”);}if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”);}

jQuery

Page 20: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 20

• Hide Quick Launch with animation when device is in Portrait orientation.

• Move contents of one container to another, and back again.

ADVANCED EXAMPLES

if (Portrait) { $(“#s4-leftpanel”).animate( [“left”: “=-150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “0px”], “slow” );}if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “150px”], “slow” );}

jQuery

if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”);}if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”);}

jQuery

#C1Elemen

tElemen

tElemen

t

#C2#C1 #C2Elemen

tElemen

tElemen

t

#C1Elemen

tElemen

tElemen

t

#C2

Page 21: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 21

• Hide Quick Launch with animation when device is in Portrait orientation.

• Move contents of one container to another, and back again.

ADVANCED EXAMPLES

if (Portrait) { $(“#s4-leftpanel”).animate( [“left”: “=-150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “0px”], “slow” );}if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “150px”], “slow” );}

jQuery

if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”);}if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”);}

jQuery

#C1Elemen

tElemen

tElemen

t

#C2#C1 #C2Elemen

tElemen

tElemen

t

#C1Elemen

tElemen

tElemen

t

#C2

Sales

1st Qtr

2nd Qtr

3rd Qtr

4th Qtr

Cat 1 Cat 2 Cat 3 Cat 4

Chart Title

Cat 1 Cat 2 Cat 3 Cat 4

Chart Title Sales

1st Qtr

2nd Qtr

3rd Qtr

4th Qtr

Page 22: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 22

BRANDING FOR DEVICE ORIENTATION

Demonstration

Page 23: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 23

HTML5Cross-Platform Video

Page 24: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 24

HTML5 VIDEO

• No third party plugin support in the iPad, only option for embedded video is the use of HTML5.

• HTML5 standard dictates support for embedded video with <video> tag

• HTML5 does NOT standardize video format

IE Firefox Safari Chrome Opera iOS

Ogg (Theora/Vorbis)

3.5+ ‡ 5.0+ 10.5+

H.264/AAC/MP4 3.0+ 5.0+ 3.0+

WebM † ‡ 6.0+ 10.6+

‡ Safari will render and video format supported by QuickTime; support for H.264/AACMP4 is shipped with QuickTime while other formats require additional client-side plugins.† WebM video format expected for Internet Explorer 9.0+

Page 25: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 25

HTML5 VIDEO TAG

<video width="640" height="360" controls>

<!-- MP4 must be first for iPad! -->

<source src="__VIDEO__.MP4" type="video/mp4" /> <!-- Safari / iOS video -->

<source src="__VIDEO__.OGV" type="video/ogg" /> <!-- Firefox / Opera / Chrome10 -->

<!-- fallback to Flash: -->

<object width="640" height="360" type="application/x-shockwave-flash“

data="__FLASH__.SWF">

<param name="movie" value="__FLASH__.SWF" />

<param name="flashvars" value="controlbar=over&amp;image=__POSTER__.JPG&amp;

file=__VIDEO__.MP4" />

<!-- fallback image. -->

<img src="__VIDEO__.JPG" width="640" height="360" alt="__TITLE__" title="No video

playback capabilities” />

</object>

</video>

Page 26: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 26

SECURITY CONSIDERATIONSCross-Platform Video

Page 27: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 27

SECURITY CONSIDERATIONS

• iPad passes embedded video requests to QuickTime for rendering

• QuickTime lacks support for any proxy or authentication methods, and iPads cannot join a domain

• Video files must be anonymously accessible

Page 28: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 28

QUESTIONS?

Page 29: SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad

04/13/2023MICHAEL GREENE 29

MICHAEL GREENE

@webdes03

mike-greene.com

youtube.mike-greene.com

[email protected]@intellinet.com