21
Combining Customer Portals, Force.com Sites, Visualforce, Twitter Bootstrap and Responsive Design!

Twitter bootstrap force.com site and responsive design

Embed Size (px)

DESCRIPTION

Video/Audio of this presentation is also available at http://www.youtube.com/watch?v=5-oVBgRVzBM from the beginning to about the 23 minutes mark

Citation preview

Page 1: Twitter bootstrap   force.com site and responsive design

Combining Customer Portals, Force.com Sites, Visualforce, Twitter Bootstrap and Responsive

Design!

Page 2: Twitter bootstrap   force.com site and responsive design

About Me

• Steven Herod• Working with Salesforce since

2010• @sherod on Twitter• http://limitexception.herod.net

Page 3: Twitter bootstrap   force.com site and responsive design

What was the problem?

• Needed to accept online credit applications for car loans

• Leverage their Existing Salesforce Organization.

• Required support of Mobile Phone/Tablet and Desktop browsers.

Page 4: Twitter bootstrap   force.com site and responsive design

Components

Force.com Site + Service Portal

Responsive Design with• Twitter Bootstrap• jQuery

Visualforce + Fieldsets

Page 5: Twitter bootstrap   force.com site and responsive design

What is Responsive Design?

http://johnpolacek.github.com/scrolldeck.js/decks/responsive/

Page 6: Twitter bootstrap   force.com site and responsive design

What is Twitter Bootstrap?

Page 7: Twitter bootstrap   force.com site and responsive design

And the Salesforce bits

• High Volume Customer Portal– Salesforce license / Security model

• Force.com Site– Custom login and user interface

• Visualforce– Fieldsets– Custom Controllers

Page 8: Twitter bootstrap   force.com site and responsive design

Deep Dive

Page 9: Twitter bootstrap   force.com site and responsive design

Responding to different displays

Desktop

iPad

iPhone

Page 10: Twitter bootstrap   force.com site and responsive design

Setting up the page

Page 11: Twitter bootstrap   force.com site and responsive design

Handling the Resize

<div class="callimg hidden-phone hidden-tablet"> <apex:image url="{!URLFOR($Resource.LCPStaticRsc, 'lcp/img/img_call.png')}" alt="" width="224" height="35" /> </div>

Twitter Bootstrap CSS classes +jQuery to react to changes

Page 12: Twitter bootstrap   force.com site and responsive design

Using Fieldsets

• “A field set is a grouping of fields”• Allows us to package the fields into a

configurable group and then refer to that group within the VF page without referencing every field individually.

• Also allows us to mark if its mandatory..

Page 13: Twitter bootstrap   force.com site and responsive design

Fields sets on the page

Page 14: Twitter bootstrap   force.com site and responsive design

Field set per section

Order of fields and required driven from Fieldset definition in configuration

Page 15: Twitter bootstrap   force.com site and responsive design

Displaying the Fieldsets

Page 16: Twitter bootstrap   force.com site and responsive design

Help and Type changes UI

Page 17: Twitter bootstrap   force.com site and responsive design
Page 18: Twitter bootstrap   force.com site and responsive design

Setting up the help/input field

Page 19: Twitter bootstrap   force.com site and responsive design

Javascript for Currency/Help popover

Page 20: Twitter bootstrap   force.com site and responsive design

Error handling

j$('input.error,select.error').parents('.control-group').addClass('error');

<apex:messages styleClass="alert alert-error" />

Twitter BootstrapCSS classes

Page 21: Twitter bootstrap   force.com site and responsive design

Questions?