Successfully reported this slideshow.
Your SlideShare is downloading. ×

Plone+Salesforce

Check these out next

1 of 115 Ad
1 of 115 Ad

Plone+Salesforce

Download to read offline

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.

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.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Advertisement

Similar to Plone+Salesforce (20)

Advertisement

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?

×