Your SlideShare is downloading. ×
0
Plone+Salesforce
Sally Kleinfeldt, David Glick, Carlos de la Guardia
Plone Conference Brasilia
4 October 2013
Salesforce.com
Salesforce.com
• Leading hosted CRM (customer
relationship management)
Salesforce.com
• Leading hosted CRM (customer
relationship management)
• Mature
Salesforce.com
• Leading hosted CRM (customer
relationship management)
• Mature
• Feature-rich
Salesforce.com
• Leading hosted CRM (customer
relationship management)
• Mature
• Feature-rich
• Customizable
Salesforce.com
• Leading hosted CRM (customer
relationship management)
• Mature
• Feature-rich
• Customizable
• Integrated...
Salesforce Foundation
Salesforce Foundation
• Leverage Salesforce.com
Salesforce Foundation
• Leverage Salesforce.com
• Donate and discount products to
non-profits
Salesforce Foundation
• Leverage Salesforce.com
• Donate and discount products to
non-profits
• 10 donated Enterprise Editi...
Salesforce Foundation
• Leverage Salesforce.com
• Donate and discount products to
non-profits
• 10 donated Enterprise Editi...
Salesforce Foundation
• Leverage Salesforce.com
• Donate and discount products to
non-profits
• 10 donated Enterprise Editi...
Integration Toolkit
Initial Integration
Initial Integration
• Funded by 2006 Salesforce Foundation
grant to ONE/Northwest (later
Groundwire)
Initial Integration
• Funded by 2006 Salesforce Foundation
grant to ONE/Northwest (later
Groundwire)
• Beatbox – Python li...
Initial Integration
• Funded by 2006 Salesforce Foundation
grant to ONE/Northwest (later
Groundwire)
• Beatbox – Python li...
Initial Integration
Initial Integration
• Salesforce PFG Adapter – Allows PFG
forms to submit to Salesforce, provides
field mapping
Initial Integration
• Salesforce PFG Adapter – Allows PFG
forms to submit to Salesforce, provides
field mapping
• Salesforc...
Expanded Toolkit
Expanded Toolkit
• Paypal2SalesforceLead- Paypal
listener, adds a lead when a payment is
made
Expanded Toolkit
• Paypal2SalesforceLead- Paypal
listener, adds a lead when a payment is
made
• Salesforce Order Recorder ...
Expanded Toolkit
Expanded Toolkit
• collective.salesforce.rsvp – accept
registrations for unpaid events via Plone
and store the data in Sal...
Expanded Toolkit
• collective.salesforce.rsvp – accept
registrations for unpaid events via Plone
and store the data in Sal...
Expanded Toolkit
Expanded Toolkit
• collective.salesforce.content – create
Plone content types that are connected
to objects in Salesforce
Fundraising
Turnkey Fundraising
Site
Turnkey Fundraising
Site
• The Innocence Project expanded the
toolkit in 2012
Turnkey Fundraising
Site
• The Innocence Project expanded the
toolkit in 2012
• collective.salesforce.fundraising
collective.salesforce.fundraising
collective.salesforce.fundraising
• Standalone online fundraising system
collective.salesforce.fundraising
• Standalone online fundraising system
• Integration with Salesforce.com
campaigns
collective.salesforce.fundraising
• Standalone online fundraising system
• Integration with Salesforce.com
campaigns
• Cre...
collective.salesforce.fundraising
• Standalone online fundraising system
• Integration with Salesforce.com
campaigns
• Cre...
collective.salesforce.fundraising
collective.salesforce.fundraising
• Payment processing
collective.salesforce.fundraising
• Payment processing
• Integration with Stripe for recurring
donations including sending...
collective.salesforce.fundraising
• Payment processing
• Integration with Stripe for recurring
donations including sending...
Many Campaigns
https://secure.innocenceproject.org/donate
One Campaign
https://secure.innocenceproject.org/donate/ypc-fundraiser-2013
Plone Foundation
Fundraising Site
http://plonedemo.muselab.com
Fundraising
Take 2
Fundraising
Take 2
• Hard to add payment processors, switch
CRM, etc.
Fundraising
Take 2
• Hard to add payment processors, switch
CRM, etc.
• Break collective.salesforce.fundraising
into modul...
Fundraising
Take 2
• Hard to add payment processors, switch
CRM, etc.
• Break collective.salesforce.fundraising
into modul...
collective.fundraising.*
collective.fundraising.*
• collective.fundraising.core - Dexterity
behaviors and other shared functionality
collective.fundraising.*
• collective.fundraising.core - Dexterity
behaviors and other shared functionality
• collective.f...
collective.fundraising.*
• collective.fundraising.core - Dexterity
behaviors and other shared functionality
• collective.f...
Recent Work
API
API
• SOAP libraries were not ideal
API
• SOAP libraries were not ideal
• Beatbox for generic API
API
• SOAP libraries were not ideal
• Beatbox for generic API
• Suds for custom API
API
• SOAP libraries were not ideal
• Beatbox for generic API
• Suds for custom API
• Salesforce now has a unified REST API...
API
Message Queuing
Message Queuing
• First generation toolkit was synchronous
Message Queuing
• First generation toolkit was synchronous
• High latency - users and threads kept
waiting
Message Queuing
• First generation toolkit was synchronous
• High latency - users and threads kept
waiting
• Tight couplin...
Message Queuing
• First generation toolkit was synchronous
• High latency - users and threads kept
waiting
• Tight couplin...
Message Queuing
Message Queuing
• Technologies chosen:
Message Queuing
• Technologies chosen:
• Celery: http://www.celeryproject.org/
Message Queuing
• Technologies chosen:
• Celery: http://www.celeryproject.org/
• Feature rich
Message Queuing
• Technologies chosen:
• Celery: http://www.celeryproject.org/
• Feature rich
• Good traction
Message Queuing
• Technologies chosen:
• Celery: http://www.celeryproject.org/
• Feature rich
• Good traction
• RabbitMQ: ...
Message Queuing
• Technologies chosen:
• Celery: http://www.celeryproject.org/
• Feature rich
• Good traction
• RabbitMQ: ...
Message Queuing
Message Queuing
• Integrating Celery with Zope transactions
turned out to be easy
Message Queuing
• Integrating Celery with Zope transactions
turned out to be easy
• Use after-commit hook in case transact...
Message Queuing
• Integrating Celery with Zope transactions
turned out to be easy
• Use after-commit hook in case transact...
Future Work
Future Work
• Package decorators for creating celery
tasks that run within Zope or do callouts
to external webservices int...
Future Work
• Package decorators for creating celery
tasks that run within Zope or do callouts
to external webservices int...
Competition
Drupal+Salesforce
Drupal+Salesforce
• Salesforce Suite
Drupal+Salesforce
• Salesforce Suite
• https://drupal.org/project/salesforce
Drupal+Salesforce
• Salesforce Suite
• https://drupal.org/project/salesforce
• Modular integration framework for
developers
Drupal+Salesforce
• Salesforce Suite
• https://drupal.org/project/salesforce
• Modular integration framework for
developer...
Drupal+Salesforce
• Salesforce Suite
• https://drupal.org/project/salesforce
• Modular integration framework for
developer...
Drupal+Salesforce
Drupal+Salesforce
• Springboard
Drupal+Salesforce
• Springboard
• http://www.jacksonriver.com/
springboard
Drupal+Salesforce
• Springboard
• http://www.jacksonriver.com/
springboard
• Out of the box non-profit fundraising
and mark...
Drupal+Salesforce
• Springboard
• http://www.jacksonriver.com/
springboard
• Out of the box non-profit fundraising
and mark...
Drupal+Salesforce
Drupal+Salesforce
• RedHen
Drupal+Salesforce
• RedHen
• http://redhencrm.com/
Drupal+Salesforce
• RedHen
• http://redhencrm.com/
• Native Drupal CRM
Drupal+Salesforce
• RedHen
• http://redhencrm.com/
• Native Drupal CRM
• Designed to be integrated with
Salesforce
Joomla!+Salesforce
Joomla!+Salesforce
• JoomForce
Joomla!+Salesforce
• JoomForce
• http://extensions.joomla.org/
extensions/clients-a-communities/crm-
bridges/14704
Joomla!+Salesforce
• JoomForce
• http://extensions.joomla.org/
extensions/clients-a-communities/crm-
bridges/14704
• Lead ...
Wordpress+Salesforce
Wordpress+Salesforce
• WordPress to Lead for Salesforce
Wordpress+Salesforce
• WordPress to Lead for Salesforce
• http://wordpress.org/plugins/
salesforce-wordpress-to-lead/
Wordpress+Salesforce
• WordPress to Lead for Salesforce
• http://wordpress.org/plugins/
salesforce-wordpress-to-lead/
• Ea...
Wordpress+Salesforce
• WordPress to Lead for Salesforce
• http://wordpress.org/plugins/
salesforce-wordpress-to-lead/
• Ea...
Wordpress+Salesforce
Wordpress+Salesforce
• Gravity Forms to Salesforce
Wordpress+Salesforce
• Gravity Forms to Salesforce
• http://wordpress.org/plugins/gravity-
forms-salesforce/
Wordpress+Salesforce
• Gravity Forms to Salesforce
• http://wordpress.org/plugins/gravity-
forms-salesforce/
• Easy to ins...
Wordpress+Salesforce
• Gravity Forms to Salesforce
• http://wordpress.org/plugins/gravity-
forms-salesforce/
• Easy to ins...
Wordpress+Salesforce
• Gravity Forms to Salesforce
• http://wordpress.org/plugins/gravity-
forms-salesforce/
• Easy to ins...
Plone vs. The Others
Plone vs. The Others
• Plone offers richer Salesforce integration
than Joomla! or Wordpress
Plone vs. The Others
• Plone offers richer Salesforce integration
than Joomla! or Wordpress
• Plone and Drupal offer a sim...
Questions?
Upcoming SlideShare
Loading in...5
×

Plone+Salesforce

604

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
604
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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?
  1. A particular slide catching your eye?

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

×