10/9/2013 #bbcon 1
Infinity Platform Features and the
Software Development Kit
PRESENTED BY BEN LAMBERT
10/9/2013 #bbcon 2
• Introduce the SDK for newbies
• Discuss new features in the SDK for oldies 
• Focus on the “art of t...
10/9/2013 #bbcon 3
• Talk
• Demo cool stuff
• Repeat 
SUMMARY
10/9/2013 #bbcon 4
• Extensibility
• Workflow
• Infinity API
• Mobile
• Web shell
WHAT YOU’RE GOING TO SEE…
10/9/2013 #bbcon 5
• Everything you need to author complete, feature-rich applications on
the Infinity Platform (5+ years ...
10/9/2013 #bbcon 6
CUSTOMIZATION AT EACH LAYER
Database
Web Server
Browser
Custom Client App 1 Custom Client App 2
HTTP Ga...
10/9/2013 #bbcon 7
DEMO #1 - TYPICAL DEVELOPER EXPERIENCE
10/9/2013 #bbcon 8
• Create brand new entities and associated CRUD
- Relate those entities to existing entities
- Surface ...
10/9/2013 #bbcon 9
• Tap into existing data entry forms in order to customize the behavior
• Addins
- Custom event handler...
10/9/2013 #bbcon 10
DEMO #2 – CUSTOMIZING DATA FORMS AND PAGES
10/9/2013 #bbcon 11
• You’ve seen
- Developer-friendly experience in Visual Studio
- Custom entities, custom CRUD
- Custom...
10/9/2013 #bbcon 12
• A “workflow” is a logical model of an often complicated and long
running process
- Multiple steps (a...
10/9/2013 #bbcon 13
DEMO #3 - DECEASING WORKFLOW
10/9/2013 #bbcon 14
• Tracking deceased information is vital to maintaining healthy relations
with your constituency
• Don...
10/9/2013 #bbcon 15
• Marking a constituent as deceased (a standard feature in the system)
triggers a workflow (a customiz...
10/9/2013 #bbcon 16
VS 2010 WORKFLOW DIAGRAM
10/9/2013 #bbcon 17
DEMO #4 - BIOGRAPHICAL CHANGE REQUESTS
10/9/2013 #bbcon 18
• Data entry staff controls constituent record updates
• Not every user will have rights to change con...
10/9/2013 #bbcon 19
• Limited-rights users file “change requests” (a custom-added feature)
• A task is routed to the data ...
10/9/2013 #bbcon 20
VS 2010 WORKFLOW DIAGRAM
10/9/2013 #bbcon 21
GAMIFICATION
10/9/2013 #bbcon 22
• Business strategy which applies gaming rules to non-game
environments to drive user behavior.
• Psyc...
10/9/2013 #bbcon 23
• Internal Infinity-based Q&A product at Blackbaud
- inspired by http://stackoverflow.com/
NULLREFEREN...
10/9/2013 #bbcon 24
• We believe that software is powerful when given rich data
• Richer Data = Better CRM = Better Fundra...
10/9/2013 #bbcon 25
DEMO #5 – CRM GAME CENTER
10/9/2013 #bbcon 26
• Created new entities in the system to represent application user
scores (reputation), badges, photos...
10/9/2013 #bbcon 27
CONSUMING THE INFINITY API
10/9/2013 #bbcon 28
• Every feature in BBEC is exposed via a web service
• Show data forms, search screens (both OOB and c...
10/9/2013 #bbcon 29
DEMO #5 – OUTLOOK ADDIN
10/9/2013 #bbcon 30
OUTLOOK ADDIN
• Look up constituent information based on an email address
• Show data entry screens, s...
10/9/2013 #bbcon 31
MOBILE ACCESS
10/9/2013 #bbcon 32
• Dedicated, pluggable, list of “services” tailed to mobile devices
- Ex: add constituents to batch vi...
10/9/2013 #bbcon 33
MOBILE
10/9/2013 #bbcon 34
• The Infinity SDK represents a powerful toolset for accelerating the
return on your investment
• Add ...
10/9/2013 #bbcon 35
• Blackbaud Developer Network (BBDN)
- http://www.bbdevnetwork.com/
• Newly released technical documen...
10/9/2013 #bbcon 36
QUESTIONS?
10/9/2013 #bbcon 37
TWEET ABOUT YOUR SESSION
#SESSION #TRACK
#PRESENTER
Upcoming SlideShare
Loading in...5
×

Infinity Platform Features and the Software Development Kit

1,159

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,159
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Infinity Platform Features and the Software Development Kit

  1. 1. 10/9/2013 #bbcon 1 Infinity Platform Features and the Software Development Kit PRESENTED BY BEN LAMBERT
  2. 2. 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
  3. 3. 10/9/2013 #bbcon 3 • Talk • Demo cool stuff • Repeat  SUMMARY
  4. 4. 10/9/2013 #bbcon 4 • Extensibility • Workflow • Infinity API • Mobile • Web shell WHAT YOU’RE GOING TO SEE…
  5. 5. 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?
  6. 6. 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
  7. 7. 10/9/2013 #bbcon 7 DEMO #1 - TYPICAL DEVELOPER EXPERIENCE
  8. 8. 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?
  9. 9. 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?
  10. 10. 10/9/2013 #bbcon 10 DEMO #2 – CUSTOMIZING DATA FORMS AND PAGES
  11. 11. 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…
  12. 12. 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
  13. 13. 10/9/2013 #bbcon 13 DEMO #3 - DECEASING WORKFLOW
  14. 14. 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
  15. 15. 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
  16. 16. 10/9/2013 #bbcon 16 VS 2010 WORKFLOW DIAGRAM
  17. 17. 10/9/2013 #bbcon 17 DEMO #4 - BIOGRAPHICAL CHANGE REQUESTS
  18. 18. 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
  19. 19. 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
  20. 20. 10/9/2013 #bbcon 20 VS 2010 WORKFLOW DIAGRAM
  21. 21. 10/9/2013 #bbcon 21 GAMIFICATION
  22. 22. 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
  23. 23. 10/9/2013 #bbcon 23 • Internal Infinity-based Q&A product at Blackbaud - inspired by http://stackoverflow.com/ NULLREFERENCE
  24. 24. 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?
  25. 25. 10/9/2013 #bbcon 25 DEMO #5 – CRM GAME CENTER
  26. 26. 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
  27. 27. 10/9/2013 #bbcon 27 CONSUMING THE INFINITY API
  28. 28. 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
  29. 29. 10/9/2013 #bbcon 29 DEMO #5 – OUTLOOK ADDIN
  30. 30. 10/9/2013 #bbcon 30 OUTLOOK ADDIN • Look up constituent information based on an email address • Show data entry screens, search screens, custom or OOB • Customize the ribbon • Customize the context menu • http://www.bbdevnetwork.com/blogs/outlook-blackbaud-crm-integration/
  31. 31. 10/9/2013 #bbcon 31 MOBILE ACCESS
  32. 32. 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
  33. 33. 10/9/2013 #bbcon 33 MOBILE
  34. 34. 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
  35. 35. 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: - ben.lambert@blackbaud.com @benjelambert • Check out my screen casts: - http://www.screencast.com/users/BenLambert FOR MORE INFORMATION…
  36. 36. 10/9/2013 #bbcon 36 QUESTIONS?
  37. 37. 10/9/2013 #bbcon 37 TWEET ABOUT YOUR SESSION #SESSION #TRACK #PRESENTER
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×