Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!
1. Salesforce + CMS Integration:
Plone vs Drupal vs Joomla!
Christopher Johnson
Cofounder and CEO, ifPeople
cjj@ifpeople.net
www.ifpeople.net
Marcus Iannozzi
Principal, Message Agency
marcus@messageagency.com
www.messageagency.com
Ryan Ozimek
Cofounder and CEO, PICNet
cozimek@picnet.net
www.picnet.net
2. Today's Agenda
Introduction & Getting to Know Audience
Intro to Each CMS and Integration
Plone
Drupal
Joomla
Side-by-side Comparison Use Cases
Sending Form Data to Salesforce
Event Registration
Donation Processing
3. 1%
Time
Equity
Product
241,000+ hours
community service
10,000+
non-profit clients
$21 million +
grants
2/24/11
4. Before we start...
2010 Comparing Open Source Content
Management Systems: WordPress, Joomla,
Drupal and Plone
Free report from Idealware
http://bit.ly/cms-report
5. Integrating Plone and Salesforce
Christopher Johnson
Cofounder and CEO, ifPeople
cjj@ifpeople.net
www.ifpeople.net
6. Plone Vocabulary
Product: add on packages
Egg: a way products are packaged
Buildout: configuration file that builds instance
Python: scripting language Plone is written in
Zope: application server
7. Plone Overview
User-friendly, intuitive interface
Proven: Released 2001, top 2% of Open Source projects
Best Security track record of any major CMS
Best Practice: Standards-compliant and international
Fine-grained, flexible workflow and permissions
1,500+ add on products
Protected: IP owned by Plone Foundation
Annual conference (8 to date)
340 Core devs, 350+ solution providers in 60+ countries
8. Plone – Salesforce Integration
Started in 2006
Sponsored by Salesforce Foundation grant
Released in 2007
~400 installs
Out of the box products up in running in <20 m!
About the integration:
Bi-directional integration
Real time or cached use of Salesforce data
Sync Plone with data in Salesforce
10. Plone – Salesforce Tools Today
•
Web-to-x Forms
•
Events RSVP
•
Payments (form and shopping cart)
•
Login authentication
•
Developer tools for bringing in data
from Salesforce
11. Plone – Salesforce Adv Integration
Directories and mashups (Google Maps)
Member profile updating
Permissions in website based on Salesforce data
Syncing between custom content types (build
through web or code)
User activity tracking (search, download, view)
Volunteer Management Portal
Inventory Management
12. Organizations Using Integrations
Center for Economic Progress,
New Global Citizens,
volunteer.economicprogress.org
newglobalcitizens.org Sustainable Connections,
sustainableconnections.org
Northwest EcoBuilding Oregon Environmental Council, oeconline.org
Guild, ecobuilding.org New Mexico Consortium,
newmexicoconsortium.org
Climate Solutions, Idaho Conservation League,
idahoconservation.org
climatesolutions.org
National Community Tax
Coalition, tax-
coaliution.org
Trees for Life,
treesforlife.org
13. Plone-Salesforce Resources
Full demo slides and case studies:
http://bit.ly/plone-sf
Product Documentation (links to product sources):
http://bit.ly/plonesfdoc
Plone-Salesforce Mailing List:
http://bit.ly/plonesflist
15. About Drupal
• Proven
– Open source CMS first released in 2001
• Extensible, Complex, and Flexible
– Extended by thousands of free modules
– More a framework than a CMS or blogging engine
• Supported
– First Drupalcon 2005 in Antwerp – 40 developers
– 2010 Drupalcon SF attendees: 3,000+
• Usage
– As of 2/2011, Drupal core active on an underestimated 400,000 sites
– 1% of top 1 million sites are built in Drupal
• Lauded
– Awards: Webware 100, PAKT Publishing
16. Drupal Vocabulary
• Core
– Drupal’s framework and default installation
• Module (contribs)
– Contributed plug-ins that add functionality
• Node
– The fundamental unit of content
• CCK – Content Creation Kit
– Content Type builder
17. Salesforce Suite: History
• Current version: 2.X for Drupal 6.X
• Actively Maintained since 2007
• 203 Installs and growing rapidly
• Advent of Drupal 7 will improve the module dramatically
18. Salesforce Suite: Overview
• Framework
– Bi-Directional
– Real-Time and Cached Data
– Extensible: Expose any field
– Flexible: Connect any custom objects
• Modules
– Salesforce Suite
– Ubercart/Salesforce Integration
– Salesforce Feeds
– Salesforce Webform Integration
19. Salesforce Suite: Features
What’s So Cool About It?
• Default fieldmaps
• Duplicate record prevention & Prematching
• Set Fixed and PHP values
• Bulk import operations from SF 2 Drupal
• Salesforce Object explorer
• Fieldmap import/export capability
• Outbound messaging 2 pass from SF 2 Drupal
20. Salesforce Suite: Features
Planned for 2011
• Many-to-many object relationships
• Failure Handling
• Two-way synch rules (field level)
• Consolidation of all Modules into one Suite (Drupal 7’s
data abstraction layer)
21. Advanced Use Cases
• Membership Management/Directories
• Course Registration and E-Learning Environments
• Volunteer Registration and Kiosk Check-In
• Shop Purchases
• Fundraising Pages
22. Salesforce Suite: Clients
• Pennsylvania Legal Aid Network
http://palegalaid.net
• Institute for Conservation Leadership
http://icl.org
• Violette de Mazia Foundation
http://demazia.org
• Mazzoni Center
http://mazzonicenter.org
• Cradles to Crayons
http://cradlestocrayons.org
25. Intro to Joomla!
•
Long-term history
–
Open source CMS first released in 2000 (called Mambo back then)
•
User-focused, easy
–
Nearly 7,000 extensions with two-click installation
–
No need to write code for nearly any off-the-shelf tools available
•
Huge community
–
Nearly 500,000 users within the official forums
–
145 registered user groups around the world
•
Usage
–
As of February, downloaded more than 22 million times since 2007
–
Powers an increasing 2.7% of top 1 million sites
Ryan Ozimek - @cozimek
26. Joomla! Vocabulary
•
Components
–
Applications that run in the CMS
•
Modules
–
View of content around a page’s component
•
Plugins
–
Libraries, the glue, triggers
Ryan Ozimek - @cozimek
27. History of J!Salesforce
•
Started back in 2006 by PICnet
•
Revived in 2009
•
Significant reinvestment in 2010-2011
•
Used by…
–
IceStone – http://www.icestone.biz (socially
responsible business)
–
Hitachi Foundation –
http://www.hitachifoundation.org
Ryan Ozimek - @cozimek
28. Reusable parts
•
Components
–
J!Salesforce Submit
–
J!Salesforce Search
–
(your third party component)
•
Plugins
–
J!Salesforce Library
–
J!Salesforce plugin to your component(s)
Ryan Ozimek - @cozimek
29. How this all works
•
All real-time data exchanges between SF.com
and Joomla
•
Basic form submission and search core to the
package
•
All other features are based on combined
integration between third-party components
and J!Salesforce
Ryan Ozimek - @cozimek
32. Submit Form Data to Salesforce
Case: any information collection that maps to one
or more objects in Salesforce (contact form,
newsletter sign up, feedback, survey, etc)
Products: PloneFormGen, Salesforce PFG
Adapter, BaseConnector
1. Create form and fields in Plone
2. Add Salesforce Adapter
3. Select Salesforce object to send data to and map form
fields to Salesforce
4. (Optionally) Add preset values, additional adapters or
upsert
50. Submit Form Data to SF
Case: User Registration and Volunteer Preference
Modules: Drupal Account, Profile
1. Create Profile Fields in Drupal
2. Map User Fields to Salesforce Contact
3. Register User
4. View Data in Salesforce
60. Submit Form Data – Joomla!
•
The parts
–
J!Salesforce Submit component + J!Salesforce
plugin + J!Salesforce events plugin
•
The process
–
Admin creates a form in Joomla, associating it with
an object in SF.com
–
Visitor fills out form on the site, and data flows into
the appropriate object in SF.com
–
Visitor is taken to a thank you page
Ryan Ozimek - @cozimek
85. Event Registration
Variants:
Paid event via shopping cart (integrated with
Salesforce)
Form-only interface for registration
Set up “upsert” on form for duplicate prevention
Registrations for logged in users pre-populates
form
86. Event Registration
Case: Event Registration for authenticated user (free)
Modules: Content Creation Kit
1. Create Event Object in Drupal
2. Map Event Fields to Salesforce Campaign
3. Create Event Registration form in Drupal
4. Map Event Registration to Salesforce Campaign Member
5. Create Event (automatically passes to Salesforce as Campaign)
6. Create Registration (automatically passes to Salesforce as Campaign
Member)
7. View in Salesforce
98. Event Registration – Joomla!
Components: Events component + J!Salesforce plugin + J!
Salesforce events plugin
The process:
Admin creates a campaign in SF.com
Admin creates an event in Joomla, associating it with a
campaign in SF.com
Visitor registers for an event on the site, and data flows into the
Lead object in SF.com
Visitor’s lead record is made a campaign member of the
appropriate campaign in SF.com
Upon conversion in SF.com, registration information can be
sent to a new opportunity in SF.com
Ryan Ozimek - @cozimek
108. Donations Processing
Case: Single page donation form, with variable or
user-determined contribution amount. Optionally
recurring donations.
Products: PloneFormGen, PloneGetPaid,
PloneFormGen Salesforce Adapter, getpaid.formgen,
collective.pfg.creditcardfields,
getpaid.SalesforcePloneFormGenAdapter
1. Create form and set as donation type
2. Add donation field set and GetPaid adapter
3. Map form fields to Salesforce
117. Donation Processing
Map fields to objects
Ex.
1. New Account + Contact + Opportunity
2. Household Account + New Contact &
Opportunity
3. (flexible custom mapping)
118. Donation Processing
Variants:
Use the full shopping cart (GetPaid) and allow
program-based donations (a la Heifer).
• Optionally track “products” purchase in Salesforce
119. Donations
Case: Donations
Modules: UC_Donation, UC_Salesforce
1. Enable UC-Donation module
• Provides a donation content type
• Allows for open amounts
2. Create donation product
3. Map Ubercart Fields to Salesforce Opportunity and Contact
4. Submit Donation (automatically passes contact and opportunity)
5. View in Salesforce
132. Donations – Joomla!
Components: Payment component + J!Salesforce plugin + J!
Salesforce payment plugin
The process:
Admin creates an donation form in Joomla, associating it with a
payment processor and SF.com
Visitor makes a donation, data sent and approved/declined by credit
card gateway
Visitor’s payment status, and contact information, is sent to SF.com
as a lead of a donation record type in SF.com
Upon lead conversion in SF.com, appropriate account, contact, and
opportunity information is stored in SF.com
Ryan Ozimek - @cozimek
135. Salesforce + CMS Integration:
Plone vs Drupal vs Joomla!
Slides Available: http://slidesha.re/sf-cms-showdown
Christopher Johnson
Cofounder and CEO, ifPeople
cjj@ifpeople.net
www.ifpeople.net
Marcus Iannozzi
Principal, Message Agency
marcus@messageagency.com
www.messageagency.com
Ryan Ozimek
Cofounder and CEO, PICNet
cozimek@picnet.net
www.picnet.net