infinity platform features and the software development kit

37
10/9/2013 #bbcon 1 Infinity Platform Features and the Software Development Kit PRESENTED BY BEN LAMBERT

Upload: blackbaud

Post on 22-Jan-2015

1.075 views

Category:

Technology


1 download

DESCRIPTION

For slides, source code, and deployables from Ben Lambert’s “Infinity Platform Features and the Software Development Kit”, please visit his post on the Blackbaud Developer Network. http://www.bbdevnetwork.com/bbcon2013-content/ bbcon 2013

TRANSCRIPT

Page 1: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 1

Infinity Platform Features and the Software Development Kit

PRESENTED BY BEN LAMBERT

Page 2: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 2

• Introduce the SDK for newbies

• Discuss new features in the SDK for oldies

• Focus on the “art of the possible” – get your creative juices flowing.

• Accelerate the return on your investment!

• Complete source code for everything you see will be available!

AGENDA

Page 3: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 3

• Talk

• Demo cool stuff

• Repeat

SUMMARY

Page 4: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 4

• Extensibility

• Workflow

• Infinity API

• Mobile

• Web shell

WHAT YOU’RE GOING TO SEE…

Page 5: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 5

• Everything you need to author complete, feature-rich applications on

the Infinity Platform (5+ years of maturity)

• A bundling of the exact tools used by Blackbaud to create:

- CRM, ResearchPoint, Altru, Bluebird, et al

• Core principle: Client-authored = Blackbaud-authored

- Same 1st-class citizenship, same fidelity, same tools => same capabilities

- Custom functionality integrated seamlessly with stock functionality

• The SDK includes:

- Templates, Schemas, Tools, Documentation, Samples

- Rich integration with Visual Studio

WHAT IS THE INFINITY SDK?

Page 6: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 6

CUSTOMIZATION AT EACH LAYER

Database

Web Server

Browser Custom Client App 1 Custom Client App 2

HTTP Gateway

Custom Code

Custom Code

Custom Code

Page 7: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 7

DEMO #1 - TYPICAL DEVELOPER EXPERIENCE

Page 8: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 8

• Create brand new entities and associated CRUD

- Relate those entities to existing entities

- Surface those entities throughout the system

• Create brand new areas, new features to existing areas

• Design custom workflows based on your specific organizational needs

• Integrate custom content with out-of-box content

• Surface data from external system as native to Infinity

• (examples of these coming up in a few slides)

WHAT CAN I DO WITH THE SDK?

Page 9: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 9

• Tap into existing data entry forms in order to customize the behavior

• Addins

- Custom event handlers for a form

- Similar to the VBA events for 7.x products

• Macros

- User-initiated custom functionality

- Similar to the VBA macro toolbar button for 7.x products

• Extensions

- Allows “adding” custom fields to existing forms

- Maximum flexibility in terms of layout and behavior

• Render as tab or “beneath” existing form content

WHAT ELSE?

Page 10: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 10

DEMO #2 – CUSTOMIZING DATA FORMS AND PAGES

Page 11: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 11

• You’ve seen

- Developer-friendly experience in Visual Studio

- Custom entities, custom CRUD

- Custom data entry form behavior

Custom pages…

• But…CRUD is a commodity!

SO FAR…

Page 12: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 12

• A “workflow” is a logical model of an often complicated and long

running process

- Multiple steps (activities), branches, and paths

- May pause and wait for external (human, other) interaction

- Triggered by some catalyst event (time passing can be a catalyst event!)

• Ensures consistent handling of your organization’s specific business

practices

- Track-able progress along the way

• Robust environment

- Persistence, Durability

• Palate of activities is HUGE!

- Every feature in BBEC

- Custom features can be added if the palate isn’t big enough!

WORKFLOW THEORY

Page 13: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 13

DEMO #3 - DECEASING WORKFLOW

Page 14: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 14

• Tracking deceased information is vital to maintaining healthy relations

with your constituency

• Don’t want to be insensitive with a poorly timed communication (or

ask)

• Loss of time/money/resources/energy by not filtering out deceased

records from mailings, solicitations, etc.

• Sometimes records are marked as deceased in error, sometimes what

is meant is “don’t call me” or “I’m not interested right now”

• We need a workflow to validate that a constituent is truly deceased,

make the appropriate changes to the system if not, and capture a link

to the obituary if so.

STORYBOARD

Page 15: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 15

• Marking a constituent as deceased (a standard feature in the system)

triggers a workflow (a customization)

• A task is created for another user to do research to confirm the

deceased status

• If the record is deceased, capture a media link to the obituary and add

a note to the record confirming the deceased status.

• If not deceased, add a note indicating the error and reset the

deceased flag

WORKFLOW DETAILS

Page 16: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 16

VS 2010 WORKFLOW DIAGRAM

Page 17: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 17

DEMO #4 - BIOGRAPHICAL CHANGE REQUESTS

Page 18: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 18

• Data entry staff controls constituent record updates

• Not every user will have rights to change constituent details

• We need a workflow where limited-rights users can file “change

requests” and have those requests routed to the appropriate staff for

approval

STORYBOARD

Page 19: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 19

• Limited-rights users file “change requests” (a custom-added feature)

• A task is routed to the data entry staff for approval

• If approved, the requested changes are automatically made to the

record and the submitter is notified of the update

• If not approved, capture the reason and inform the submitter

• Workflow handles the requested changes, which reduces the surface

area for human error

• Ensures consistent handling every time!

WORKFLOW DETAILS

Page 20: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 20

VS 2010 WORKFLOW DIAGRAM

Page 21: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 21

GAMIFICATION

Page 22: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 22

• Business strategy which applies gaming rules to non-game

environments to drive user behavior.

• Psychology around improving metrics just by measuring and

presenting results

- Heisenberg/Uncertainty principle

• Taps into the inherent competitive spirit of human nature

- Ex: Fuel band – visualizing your activity score motivates improvement

• Gamification can help drive key business metrics

- Can make tedious or repetitive actions more fun/enjoyable

• Can be used to measure application user engagement...

- more points = more engaged

• - http://www.gamification.org/

GAMIFICATION

Page 23: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 23

• Internal Infinity-based Q&A product at Blackbaud

- inspired by http://stackoverflow.com/

NULLREFERENCE

Page 24: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 24

• We believe that software is powerful when given rich data

• Richer Data = Better CRM = Better Fundraising

• Focus on a few metrics, all of which have high value to incent:

- Completing prospect planned steps

- Filing contact reports

- Adding a constituent photos

- Adding constituent relationships

- Uploading your application user photo

- Etc.

• Those metrics frequently map to logic operations in CRM

HOW CAN WE APPLY THIS TO CRM?

Page 25: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 25

DEMO #5 – CRM GAME CENTER

Page 26: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 26

• Created new entities in the system to represent application user

scores (reputation), badges, photos

• Built a UI to surface the scores, ranking, leaderboard, etc.

• Built a workflow that adds points to the given user’s score

• Used “Workflow Triggers” feature to trigger the workflow from logical

operations in the system

- Adding a constituent = 10 points

- Adding a note = 2 points

- Filing a contact report 20 points

• Badges /Achievements are unlocked along the way

- Can even trigger an additional workflow to reward users with gift cards or

movie tickets

GAME CENTER

Page 27: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 27

CONSUMING THE INFINITY API

Page 28: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 28

• Every feature in BBEC is exposed via a web service

• Show data forms, search screens (both OOB and custom)

• View/Add/Edit/Delete any data element

• We code generate client-side wrappers for every feature

- Friendly RE7-like developer experience

• Many options available to support a variety of usage scenarios

API THEORY

Page 29: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 29

DEMO #5 – OUTLOOK ADDIN

Page 31: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 31

MOBILE ACCESS

Page 32: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 32

• Dedicated, pluggable, list of “services” tailed to mobile devices

- Ex: add constituents to batch via mobile, mobile change requests

- Of course the full site is also accessible from mobile devices

• Btw – I’m using the great mobile simulator from www.electricplum.com

MOBILE

Page 33: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 33

MOBILE

Page 34: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 34

• The Infinity SDK represents a powerful toolset for accelerating the

return on your investment

• Add dramatic value, operational efficiency

• Define custom entities, CRUD

• Surface custom content in compelling user interfaces

• Very approachable programming model

WRAP UP

Page 35: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 35

• Blackbaud Developer Network (BBDN)

- http://www.bbdevnetwork.com/

• Newly released technical documentation

- https://www.blackbaud.com/files/support/guides/infinitytechref/infrefversions-

developer-help.htm

- https://www.blackbaud.com/files/support/guides/infinitydevguide/infsdk-

developer-help.htm

• Email me: Follow me on Twitter:

- [email protected] @benjelambert

• Check out my screen casts:

- http://www.screencast.com/users/BenLambert

FOR MORE INFORMATION…

Page 36: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 36

QUESTIONS?

Page 37: Infinity Platform Features and the Software Development Kit

10/9/2013 #bbcon 37

TWEET ABOUT YOUR SESSION

#SESSION #TRACK

#PRESENTER