Infinity Platform Features and the Software Development Kit
Upcoming SlideShare
Loading in...5

Infinity Platform Features and the Software Development Kit



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. ...

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.

bbcon 2013



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Infinity Platform Features and the Software Development Kit Infinity Platform Features and the Software Development Kit Presentation Transcript

  • 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 the possible” – get your creative juices flowing. • Accelerate the return on your investment! • Complete source code for everything you see will be available! AGENDA
  • 10/9/2013 #bbcon 3 • Talk • Demo cool stuff • Repeat  SUMMARY View slide
  • 10/9/2013 #bbcon 4 • Extensibility • Workflow • Infinity API • Mobile • Web shell WHAT YOU’RE GOING TO SEE… View slide
  • 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?
  • 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
  • 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 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?
  • 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/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 data entry form behavior Custom pages… • But…CRUD is a commodity! SO FAR…
  • 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
  • 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’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
  • 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
  • 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 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
  • 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
  • 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. • 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 • - GAMIFICATION
  • 10/9/2013 #bbcon 23 • Internal Infinity-based Q&A product at Blackbaud - inspired by NULLREFERENCE
  • 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?
  • 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 • 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
  • 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 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
  • 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, search screens, custom or OOB • Customize the ribbon • Customize the context menu •
  • 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 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 MOBILE
  • 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 dramatic value, operational efficiency • Define custom entities, CRUD • Surface custom content in compelling user interfaces • Very approachable programming model WRAP UP
  • 10/9/2013 #bbcon 35 • Blackbaud Developer Network (BBDN) - • Newly released technical documentation - developer-help.htm - developer-help.htm • Email me: Follow me on Twitter: - @benjelambert • Check out my screen casts: - FOR MORE INFORMATION…
  • 10/9/2013 #bbcon 36 QUESTIONS?