Plone+Salesforce

931 views
857 views

Published on

Salesforce.com is a mature, feature-rich, highly customizable, software-as-a-service CRM that has had excellent integration with Plone since 2007. The combination of Plone and Salesforce.com is a great deal for non-profits - the Salesforce Foundation will donate up to 10 enterprise licenses to 501(c)3 organizations, and any additional licenses are deeply discounted.

In this talk I will review the Plone+Salesforce integration toolkit, describe recent improvements to the toolkit, and contrast this with what other CMSes have to offer.

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

  • Be the first to like this

No Downloads
Views
Total views
931
On SlideShare
0
From Embeds
0
Number of Embeds
103
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Plone+Salesforce

  1. 1. Plone+Salesforce Sally Kleinfeldt, David Glick, Carlos de la Guardia Plone Conference Brasilia 4 October 2013
  2. 2. Salesforce.com
  3. 3. Salesforce.com • Leading hosted CRM (customer relationship management)
  4. 4. Salesforce.com • Leading hosted CRM (customer relationship management) • Mature
  5. 5. Salesforce.com • Leading hosted CRM (customer relationship management) • Mature • Feature-rich
  6. 6. Salesforce.com • Leading hosted CRM (customer relationship management) • Mature • Feature-rich • Customizable
  7. 7. Salesforce.com • Leading hosted CRM (customer relationship management) • Mature • Feature-rich • Customizable • Integrated with Plone since 2007
  8. 8. Salesforce Foundation
  9. 9. Salesforce Foundation • Leverage Salesforce.com
  10. 10. Salesforce Foundation • Leverage Salesforce.com • Donate and discount products to non-profits
  11. 11. Salesforce Foundation • Leverage Salesforce.com • Donate and discount products to non-profits • 10 donated Enterprise Edition licenses
  12. 12. Salesforce Foundation • Leverage Salesforce.com • Donate and discount products to non-profits • 10 donated Enterprise Edition licenses • Deep discounts on additional licenses
  13. 13. Salesforce Foundation • Leverage Salesforce.com • Donate and discount products to non-profits • 10 donated Enterprise Edition licenses • Deep discounts on additional licenses • Discounts on training, events, apps
  14. 14. Integration Toolkit
  15. 15. Initial Integration
  16. 16. Initial Integration • Funded by 2006 Salesforce Foundation grant to ONE/Northwest (later Groundwire)
  17. 17. Initial Integration • Funded by 2006 Salesforce Foundation grant to ONE/Northwest (later Groundwire) • Beatbox – Python library, wraps Salesforce SOAP API
  18. 18. Initial Integration • Funded by 2006 Salesforce Foundation grant to ONE/Northwest (later Groundwire) • Beatbox – Python library, wraps Salesforce SOAP API • SalesforceBaseConnector – Calls Salesforce SOAP API from Plone
  19. 19. Initial Integration
  20. 20. Initial Integration • Salesforce PFG Adapter – Allows PFG forms to submit to Salesforce, provides field mapping
  21. 21. Initial Integration • Salesforce PFG Adapter – Allows PFG forms to submit to Salesforce, provides field mapping • SalesforceAuthPlugin – Authenticate logins against Salesforce
  22. 22. Expanded Toolkit
  23. 23. Expanded Toolkit • Paypal2SalesforceLead- Paypal listener, adds a lead when a payment is made
  24. 24. Expanded Toolkit • Paypal2SalesforceLead- Paypal listener, adds a lead when a payment is made • Salesforce Order Recorder – GetPaid add-on, allows checkouts to generate items in Salesforce
  25. 25. Expanded Toolkit
  26. 26. Expanded Toolkit • collective.salesforce.rsvp – accept registrations for unpaid events via Plone and store the data in Salesforce
  27. 27. Expanded Toolkit • collective.salesforce.rsvp – accept registrations for unpaid events via Plone and store the data in Salesforce • Megaphone – map participation in petitions and letters to Salesforce
  28. 28. Expanded Toolkit
  29. 29. Expanded Toolkit • collective.salesforce.content – create Plone content types that are connected to objects in Salesforce
  30. 30. Fundraising
  31. 31. Turnkey Fundraising Site
  32. 32. Turnkey Fundraising Site • The Innocence Project expanded the toolkit in 2012
  33. 33. Turnkey Fundraising Site • The Innocence Project expanded the toolkit in 2012 • collective.salesforce.fundraising
  34. 34. collective.salesforce.fundraising
  35. 35. collective.salesforce.fundraising • Standalone online fundraising system
  36. 36. collective.salesforce.fundraising • Standalone online fundraising system • Integration with Salesforce.com campaigns
  37. 37. collective.salesforce.fundraising • Standalone online fundraising system • Integration with Salesforce.com campaigns • Create campaign timelines and goals One time and recurring donations
  38. 38. collective.salesforce.fundraising • Standalone online fundraising system • Integration with Salesforce.com campaigns • Create campaign timelines and goals One time and recurring donations • Personal fundraising - allow users to create personal campaign pages
  39. 39. collective.salesforce.fundraising
  40. 40. collective.salesforce.fundraising • Payment processing
  41. 41. collective.salesforce.fundraising • Payment processing • Integration with Stripe for recurring donations including sending emails and updating Salesforce Recurring Donations
  42. 42. collective.salesforce.fundraising • Payment processing • Integration with Stripe for recurring donations including sending emails and updating Salesforce Recurring Donations • Social integration via Janrain
  43. 43. Many Campaigns https://secure.innocenceproject.org/donate
  44. 44. One Campaign https://secure.innocenceproject.org/donate/ypc-fundraiser-2013
  45. 45. Plone Foundation Fundraising Site http://plonedemo.muselab.com
  46. 46. Fundraising Take 2
  47. 47. Fundraising Take 2 • Hard to add payment processors, switch CRM, etc.
  48. 48. Fundraising Take 2 • Hard to add payment processors, switch CRM, etc. • Break collective.salesforce.fundraising into modular pieces
  49. 49. Fundraising Take 2 • Hard to add payment processors, switch CRM, etc. • Break collective.salesforce.fundraising into modular pieces • Work still in progress
  50. 50. collective.fundraising.*
  51. 51. collective.fundraising.* • collective.fundraising.core - Dexterity behaviors and other shared functionality
  52. 52. collective.fundraising.* • collective.fundraising.core - Dexterity behaviors and other shared functionality • collective.fundraising.site - Optimized site configuration
  53. 53. collective.fundraising.* • collective.fundraising.core - Dexterity behaviors and other shared functionality • collective.fundraising.site - Optimized site configuration • Additional components planned for Salesforce, Stripe, Recurly, Janrain, Mailchimp, Mandrill....
  54. 54. Recent Work
  55. 55. API
  56. 56. API • SOAP libraries were not ideal
  57. 57. API • SOAP libraries were not ideal • Beatbox for generic API
  58. 58. API • SOAP libraries were not ideal • Beatbox for generic API • Suds for custom API
  59. 59. API • SOAP libraries were not ideal • Beatbox for generic API • Suds for custom API • Salesforce now has a unified REST API with a new Python library: simple-salesforce
  60. 60. API
  61. 61. Message Queuing
  62. 62. Message Queuing • First generation toolkit was synchronous
  63. 63. Message Queuing • First generation toolkit was synchronous • High latency - users and threads kept waiting
  64. 64. Message Queuing • First generation toolkit was synchronous • High latency - users and threads kept waiting • Tight coupling - errors when Salesforce unavailable
  65. 65. Message Queuing • First generation toolkit was synchronous • High latency - users and threads kept waiting • Tight coupling - errors when Salesforce unavailable • Solution: message queue allowing asynchronous processing
  66. 66. Message Queuing
  67. 67. Message Queuing • Technologies chosen:
  68. 68. Message Queuing • Technologies chosen: • Celery: http://www.celeryproject.org/
  69. 69. Message Queuing • Technologies chosen: • Celery: http://www.celeryproject.org/ • Feature rich
  70. 70. Message Queuing • Technologies chosen: • Celery: http://www.celeryproject.org/ • Feature rich • Good traction
  71. 71. Message Queuing • Technologies chosen: • Celery: http://www.celeryproject.org/ • Feature rich • Good traction • RabbitMQ: http://www.rabbitmq.com/
  72. 72. Message Queuing • Technologies chosen: • Celery: http://www.celeryproject.org/ • Feature rich • Good traction • RabbitMQ: http://www.rabbitmq.com/ • Message queue backend
  73. 73. Message Queuing
  74. 74. Message Queuing • Integrating Celery with Zope transactions turned out to be easy
  75. 75. Message Queuing • Integrating Celery with Zope transactions turned out to be easy • Use after-commit hook in case transaction hits a database conflict and gets retried
  76. 76. Message Queuing • Integrating Celery with Zope transactions turned out to be easy • Use after-commit hook in case transaction hits a database conflict and gets retried • Created decorator to encapsulate queueing and creating Salesforce connection
  77. 77. Future Work
  78. 78. Future Work • Package decorators for creating celery tasks that run within Zope or do callouts to external webservices into a reusable library
  79. 79. Future Work • Package decorators for creating celery tasks that run within Zope or do callouts to external webservices into a reusable library • Higher-level Plone add-on for configuring synchronization between Plone content types and Salesforce objects
  80. 80. Competition
  81. 81. Drupal+Salesforce
  82. 82. Drupal+Salesforce • Salesforce Suite
  83. 83. Drupal+Salesforce • Salesforce Suite • https://drupal.org/project/salesforce
  84. 84. Drupal+Salesforce • Salesforce Suite • https://drupal.org/project/salesforce • Modular integration framework for developers
  85. 85. Drupal+Salesforce • Salesforce Suite • https://drupal.org/project/salesforce • Modular integration framework for developers • Lower level components to build from
  86. 86. Drupal+Salesforce • Salesforce Suite • https://drupal.org/project/salesforce • Modular integration framework for developers • Lower level components to build from • Recently rewritten
  87. 87. Drupal+Salesforce
  88. 88. Drupal+Salesforce • Springboard
  89. 89. Drupal+Salesforce • Springboard • http://www.jacksonriver.com/ springboard
  90. 90. Drupal+Salesforce • Springboard • http://www.jacksonriver.com/ springboard • Out of the box non-profit fundraising and marketing
  91. 91. Drupal+Salesforce • Springboard • http://www.jacksonriver.com/ springboard • Out of the box non-profit fundraising and marketing • Satisfies a particular set of use cases
  92. 92. Drupal+Salesforce
  93. 93. Drupal+Salesforce • RedHen
  94. 94. Drupal+Salesforce • RedHen • http://redhencrm.com/
  95. 95. Drupal+Salesforce • RedHen • http://redhencrm.com/ • Native Drupal CRM
  96. 96. Drupal+Salesforce • RedHen • http://redhencrm.com/ • Native Drupal CRM • Designed to be integrated with Salesforce
  97. 97. Joomla!+Salesforce
  98. 98. Joomla!+Salesforce • JoomForce
  99. 99. Joomla!+Salesforce • JoomForce • http://extensions.joomla.org/ extensions/clients-a-communities/crm- bridges/14704
  100. 100. Joomla!+Salesforce • JoomForce • http://extensions.joomla.org/ extensions/clients-a-communities/crm- bridges/14704 • Lead and Contact capture through auto generated forms
  101. 101. Wordpress+Salesforce
  102. 102. Wordpress+Salesforce • WordPress to Lead for Salesforce
  103. 103. Wordpress+Salesforce • WordPress to Lead for Salesforce • http://wordpress.org/plugins/ salesforce-wordpress-to-lead/
  104. 104. Wordpress+Salesforce • WordPress to Lead for Salesforce • http://wordpress.org/plugins/ salesforce-wordpress-to-lead/ • Easy to install
  105. 105. Wordpress+Salesforce • WordPress to Lead for Salesforce • http://wordpress.org/plugins/ salesforce-wordpress-to-lead/ • Easy to install • Basic web to lead forms
  106. 106. Wordpress+Salesforce
  107. 107. Wordpress+Salesforce • Gravity Forms to Salesforce
  108. 108. Wordpress+Salesforce • Gravity Forms to Salesforce • http://wordpress.org/plugins/gravity- forms-salesforce/
  109. 109. Wordpress+Salesforce • Gravity Forms to Salesforce • http://wordpress.org/plugins/gravity- forms-salesforce/ • Easy to install
  110. 110. Wordpress+Salesforce • Gravity Forms to Salesforce • http://wordpress.org/plugins/gravity- forms-salesforce/ • Easy to install • Web to lead forms with custom fields
  111. 111. Wordpress+Salesforce • Gravity Forms to Salesforce • http://wordpress.org/plugins/gravity- forms-salesforce/ • Easy to install • Web to lead forms with custom fields • Use the API with Salesforce Enterprise, Unlimited and Developer Edition
  112. 112. Plone vs. The Others
  113. 113. Plone vs. The Others • Plone offers richer Salesforce integration than Joomla! or Wordpress
  114. 114. Plone vs. The Others • Plone offers richer Salesforce integration than Joomla! or Wordpress • Plone and Drupal offer a similar level of Salesforce integration but packaged differently
  115. 115. Questions?

×