A functional prototype of Janrain social login integration.  Currently it's displayed on the Fundraising Campaign template, but it can be placed anywhere you can drop a div tag with an id.

Creates a regular plone user from the callback data after social login and uses the email address as the key.  So, for example, this works with my personal gmail account and my Facebook account as the same user to Plone because the both profiles have the same email address.  The sync with Salesforce still works too.

To do:

- Integrate into login and reg forms
- Integrate social identities with Social Contacts in SF
Initial implementation of the traditional Janrain sharing widget (new one is in beta currently)
Added support for passing amount, email, first_name, and last_name to thank you view
Added image field to Personal Campaign Page and included in creation form
Initial implementation of sharing functionality:

- Created new Share Message type linked to a Salesforce Campaign with a parent set to the Fundraising or Personal campaign the message is for.  The goal is to allow a fundraising admin to configure messages the user can share.  Down the road, anyone who shares the message should become a Campaign Member of the campaign and any donations that come through a Share Message should be attributed to the share message.

- Added rpxShareButton js function to construct a link which pops up the Janrain sharing widget with a custom message and loaded js for Janrain sharing widget

- Setup allowed_content_types on Fundraising Campaign and Personal Fundraising Campaign as well as making Donor Quote and Share Message not globally addable

- Added Image field to Fundraising Campaign for use when promoting the campaign
Merge branch 'master' of github.com:innocenceproject/collective.salesforce.fundraising into janrain
Include the Share Message type definition xml
Added Thank You page for Personal Campaign Page
Another big round of updates mostly around Janrain integration:

- Got Donor Quote and Share Message to sync via collective.salesforce.content
- Changed source_code to source_campaign
- Implemented ShareCampaignView pulling in Share Messages
- Implemented handling for Formstack's custom name value format
- Moved rendering of share messages to a view on Share Message (JanrainView)
- Setup the post_payment api to pass along values to prefill donor quotes form on thank you page
A functional prototype of Janrain social login integration.  Currently it's displayed on the Fundraising Campaign template, but it can be placed anywhere you can drop a div tag with an id.

Creates a regular plone user from the callback data after social login and uses the email address as the key.  So, for example, this works with my personal gmail account and my Facebook account as the same user to Plone because the both profiles have the same email address.  The sync with Salesforce still works too.

To do:

- Integrate into login and reg forms
- Integrate social identities with Social Contacts in SF
Initial implementation of the traditional Janrain sharing widget (new one is in beta currently)
Added support for passing amount, email, first_name, and last_name to thank you view
Added image field to Personal Campaign Page and included in creation form
Initial implementation of sharing functionality:

- Created new Share Message type linked to a Salesforce Campaign with a parent set to the Fundraising or Personal campaign the message is for.  The goal is to allow a fundraising admin to configure messages the user can share.  Down the road, anyone who shares the message should become a Campaign Member of the campaign and any donations that come through a Share Message should be attributed to the share message.

- Added rpxShareButton js function to construct a link which pops up the Janrain sharing widget with a custom message and loaded js for Janrain sharing widget

- Setup allowed_content_types on Fundraising Campaign and Personal Fundraising Campaign as well as making Donor Quote and Share Message not globally addable

- Added Image field to Fundraising Campaign for use when promoting the campaign
Include the Share Message type definition xml
Added Thank You page for Personal Campaign Page
Another big round of updates mostly around Janrain integration:

- Got Donor Quote and Share Message to sync via collective.salesforce.content
- Changed source_code to source_campaign
- Implemented ShareCampaignView pulling in Share Messages
- Implemented handling for Formstack's custom name value format
- Moved rendering of share messages to a view on Share Message (JanrainView)
- Setup the post_payment api to pass along values to prefill donor quotes form on thank you page
Merge branch 'janrain' of github.com:innocenceproject/collective.salesforce.fundraising into janrain
- Added ability to configure custom <head> content for pages with donation forms
- Refactored campaign like functionality of FundraisingCampaign into FundraisingCampaignPage to avoid duplication of logic to Personal Fundraising Campaigns
- Move donation form to DonationFormViewlet shown below content
- Started work on Janrain login/register portlet... hit a snag trying to figure out how to get Janrain to re-scan the page for #janrainEngageEmbed and setup the widget if found.  This is needed since the login form is loaded via AJAX and thus the #janrainEngageEmbed element is not there at initial page load.  I have a support ticket with Janrain to figure out next steps at which point I'll pick this backup up
Complete implementation of Janrain functionality though more styling is needed.

- Social sign in now works through the new Janrain Login portlet
- Fixed a bug in Create Personal Campaign Page form where it was looking for email field instead of the Donor Quotes form
- Added a static directory and created fundraising.js
- Moved donation form to a viewlet below content
- Added IHideDonorForm marker interface for views to disable rendering of the donation form

NOTE: fundraising.js currently has to rip out plone.app.jquerytools prepOverlay for logins and replace it with one that retriggers Janrain to look for the #janrainEngageEmbed element again since it gets inserted via ajax after the page load is complete