51
Luminate Customizations Extravaganza PRESENTED BY: CHRIS CAIN, CHRIS BACKUS & NOAH COOPER

BBCON 2015: Luminate Customizations Extravaganza

Embed Size (px)

Citation preview

Page 1: BBCON 2015: Luminate Customizations Extravaganza

Luminate Customizations ExtravaganzaPRESENTED BY:CHRIS CAIN, CHRIS BACKUS & NOAH COOPER

Page 2: BBCON 2015: Luminate Customizations Extravaganza

3 #bbcon

Chrome wheeled, fuel injected and steppin out over the line with

Luminate customizations! #bbcon

Tweet this now

Page 3: BBCON 2015: Luminate Customizations Extravaganza

4 #bbcon

Agenda• Intros • What is a customization? • Examples of customizations • Recap • Q&A

Page 4: BBCON 2015: Luminate Customizations Extravaganza

What is a customization?

There’s a spectrum!

Page 5: BBCON 2015: Luminate Customizations Extravaganza

Small

Page 6: BBCON 2015: Luminate Customizations Extravaganza

Medium

Page 7: BBCON 2015: Luminate Customizations Extravaganza

Large

Page 8: BBCON 2015: Luminate Customizations Extravaganza

1 #bbcon

CHRIS BACKUS

Page 9: BBCON 2015: Luminate Customizations Extravaganza

Plain old CSS and JavaScript

• Prettier checkboxes, radio buttons, and other fields on donation forms

Simpler Customizations

Page 10: BBCON 2015: Luminate Customizations Extravaganza

Plain old CSS and JavaScript

• Responsive Advocacy

Simpler Customizations

Page 11: BBCON 2015: Luminate Customizations Extravaganza

Playing with S-tags

• Create a custom, responsive progress meter

Simpler Customizations

Page 12: BBCON 2015: Luminate Customizations Extravaganza

Playing with S-tags

Simpler Customizations

Page 13: BBCON 2015: Luminate Customizations Extravaganza

Playing with S-tags

• Custom “badges” on participant or team pages. • Example: “Emailer” tag based on [[S48:0:if-emails-gt:0]]

[[?[[S48:0:if-emails-gt:0]]::TRUE:: <!– “emailer” badge content here --> <img src=“../images/emailer.jpg” alt=“I’ve sent emails!” /> ::]]

Simpler Customizations

Page 14: BBCON 2015: Luminate Customizations Extravaganza

Use S-tags and conditionals to render dynamic content

• Customize wrapper or page content based on a URL parameter, or by which Affiliate the current page belongs to

Slightly Less Simple

Page 15: BBCON 2015: Luminate Customizations Extravaganza

Slightly Less Simple

Page 16: BBCON 2015: Luminate Customizations Extravaganza

Working with the API

• Custom “Activity Scheduler” for Alzheimer’s Association’s “The Longest Day” Participant Center using the logInteraction, updateInteraction, and listUserInteractions API method

More Advanced

Page 17: BBCON 2015: Luminate Customizations Extravaganza

Working with the API

• Use the getParticipationTypes and login method (along with some s-tag tomfoolery) to create a customized TeamRaiser registration flow

More Advanced

Page 18: BBCON 2015: Luminate Customizations Extravaganza

There isn’t an API for that?! Ugh, fine, I’ll just create my own! >:O

• Use s-tags on a PageBuilder page to create your own API by rendering the data you want and making an AJAX call

Even More Advanced

Page 19: BBCON 2015: Luminate Customizations Extravaganza

Even More Advanced

Page 20: BBCON 2015: Luminate Customizations Extravaganza

There isn’t an API for that?! Ugh, fine, I’ll just create my own! >:O

Even More Advanced

Page 21: BBCON 2015: Luminate Customizations Extravaganza

16 #bbcon

Rethinking the Development Workflow NOAH COOPER

Page 22: BBCON 2015: Luminate Customizations Extravaganza

17 #bbcon

TRADITIONAL DEVELOPMENT CYCLE

• Developer writes code and saves it on their computer

• Developer copies code to Luminate Online

• Code is manually tested

• For organizations with a dev site, these steps are repeated on production

• Without a dev site, development and testing happens on the live website

Page 23: BBCON 2015: Luminate Customizations Extravaganza

18 #bbcon

THE NOT-SO-GOOD ASPECTS OF THAT

• Code is stored on one person's computer

• Multiple developers have conflicting copies of files and overwrite each other's work

• Code is manually moved around which takes a lot of time and causes errors

• Uploading a new version of a file over and over causes caching problems

• Code is manually tested by a human only

• Moving code from dev to production is manual and slow

• Organizations without dev sites may accidentally break a live website

Page 24: BBCON 2015: Luminate Customizations Extravaganza

20 #bbcon

A NEW, INDUSTRY-STANDARD WORKFLOW

• Free, third-party tools (Grunt, GitHub, and DeployBot)

• Code is version controlled

• Files are automatically tested, compressed, timestamped, and pushed

• Branching enables simultaneous development

• Push to production down to ~1 second

Page 25: BBCON 2015: Luminate Customizations Extravaganza

21 #bbcon

Custom Donation Form: Make-a-Wish America NOAH COOPER

Page 26: BBCON 2015: Luminate Customizations Extravaganza

22 #bbcon

MAKE-A-WISH DONATION FORM `

http://site.wish.org/donate_now

Page 27: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

MAKE-A-WISH DONATION FORM

• Mimics primary website • One page wrapper and donation form for hundreds

of affiliates • Dynamically defined assets

Page 28: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

MAKE-A-WISH DONATION FORM

• Custom design, but still dynamic

• Large buttons instead of radio buttons

• URL overrides to display different levels

Page 29: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

MAKE-A-WISH DONATION FORM

• Honor/memorial gifts with Ecards, print cards, and printable PDFs

• List of cards are controlled by a file the organization maintains

Page 30: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

MAKE-A-WISH DONATION FORM

• Donor intent is set by URL, but can be manually overridden

• Local chapters selected by name or state, or using ZIP Code mapping based on CSV

Page 31: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

MAKE-A-WISH DONATION FORM

City and State set automatically using Google API

Page 32: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

MAKE-A-WISH DONATION FORM

Auto-correcting credit card number format

Page 33: BBCON 2015: Luminate Customizations Extravaganza

24 #bbcon

Custom TeamRaiser Website: JDRF One Walk NOAH COOPER

Page 34: BBCON 2015: Luminate Customizations Extravaganza

25 #bbcon

JDRF ONE WALK

http://walk.jdrf.org

Page 35: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Everything is responsive (and awesome)

Page 36: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 37: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 38: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Google Analytics Exception tracking shows frequency of errors, and details on what went wrong

Page 39: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 40: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 41: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 42: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Simplified address entry

Page 43: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Even easier when logged in

Page 44: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 45: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 46: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 47: BBCON 2015: Luminate Customizations Extravaganza

26 #bbcon

JDRF ONE WALK

Page 48: BBCON 2015: Luminate Customizations Extravaganza

27 #bbcon

Realtime Reporting With Luminate Online Data Viewer NOAH COOPER

Page 49: BBCON 2015: Luminate Customizations Extravaganza

28 #bbcon

LUMINATE ONLINE DATA VIEWER

http://convio.github.io/luminate-online-data-viewer

Page 50: BBCON 2015: Luminate Customizations Extravaganza

23 #bbcon

LUMINATE ONLINE DATA VIEWER

• In most cases, true realtime reporting isn’t necessary

• Except … sometimes it is, like radiothons/telethons

• Running a report may take several minutes • Front-end status indicators are cached for ~15

minutes for performance • So what’s the answer?

Page 51: BBCON 2015: Luminate Customizations Extravaganza

29 #bbcon

LUMINATE ONLINE DATA VIEWER