Intro
Wednesday June 9 through Friday June 11, 2010, in San Francisco, California. A planned and focused sprint to improve and augment the Nonprofit Starter Pack.
Report Out
Report Out
Main Points
Who is doing this?
A small group of folks interested in nonprofits on Salesforce.com:
- Salesforce.com implementers
- Evan Callahan, http://groundwire.org, evan@groundwire.org
- David Cheng, http://idealistconsulting.com
- Sara Chieco, http://exponentpartners.com
- Dave Manelski, http://groundwire.org
- Jason Venable, http://www.tehnrd.com/
- Nick Bailey, http://helpsudaninternational.org
- Salesforce.com company staff
- Ron Hess
- Andrew Waite
- Salesforce.com Foundation staff
- Steve Andersen
- Akhilesh Gupta
- Steve Wright
We will break into groups of about 3 and work on coding efforts in small teams.
Why are we doing this?
The Nonprofit Starter Pack is in use by thousands of organizations. We will never be satisfied with the speed at which is improves. This is an effort to move the code-base forward through an intense effort of some of the best minds in our space.
Our goals
- Create deployment-ready code for the Nonprofit Starter Pack that addresses key gaps/issues that will make Nonprofits more effective
- Strengthen the relationships in our community
- Share knowledge
Details
Work selection
I have developed a list of potential projects that could be tackled in a sprint. I will define these in detail before the sprint. Attendees will be asked to review the list and help with the plan of attack for each. At the sprint we'll break into groups and tackle the work, with a general plan of attack already in place. While we will be open to changing implementation details, the goal is to walk in the first day with an idea of how to solve each of these, rather than start by brainstorming solutions.
Potential Work
All of the code and config is in the "Integration 3" instance:
Changed Existing:
Opportunity Object
Constants.cls
Added:
Payment Object
Payment Tab
Recurrence Information Object
Recurrence Information Tab
3 Opportunity Page Layouts: Donation (NPSP), Grant (NPSP), Pledge (NPSP)
3 Opportunity Record Types: Donation (NPSP), Grant (NPSP), Pledge (NPSP)
FundraisingSettings custom settings
TestOpportunityPayments.cls - 100% coverage
OpportunityPayments.cls
FundraisingOpportunity.trigger
Code is commented and complete. New payment is created for One-time Donation, kept in synch while there is just one. New Payment(s) are created for payment plan. May want to put a validation rule on the Payment Plan fields so if they put in a number of payments, they need to add the frequency and vice versa and making those two fields required if they select the Type = 'Payment Plan'.
TODO: Add the one Field in the FundraisingSettings custom settings object to one of the newly created Custom Settings UI's made by Dave or David.
Time and Location
The sprint will be held at the Salesforce.com corporate offices in San Francisco on June 9-11, 2010. The sprint will begin at 9 am June 9th.
Agenda
| Wednesday June 9 | Noa, 9th Spear |
| 9 am - noon | Kickoff |
| noon - 1:30 PM | Lunch |
| 1:30 pm - 6 PM | Afternoon session |
| 6 pm - 7:30 PM | Dinner - Osha Thai |
| 7:30 pm - whenever | Evening session |
| Thursday June 10 | Noa, 9th Spear |
| 9 am - noon | Morning Session |
| noon - 1:30 PM | Lunch |
| 1:30 pm - 6 pm | Afternoon session |
| 6 pm - whenever | Dinner - R&G Lounge |
| Friday June 11 | Oahu, 4th Landmark |
| 9 am - noon | Morning Session |
| noon - 1:30 PM | Lunch |
| 1:30 pm - 5 pm | Afternoon session and wrap up |
Calendar for the Event
Tech links
Orgs
- Integration Orgs
- integrate@project1.integration
- integrate@project2.integration
- integrate@project3.integration
- integrate@project4.integration
- integrate@project5.integration
- Individual Orgs
- gokubi@npspsprint.dev
- wrightenich@npspsprint.dev
- akhilesh.iitd@npspsprint.dev
- jason.venable@npspsprint.dev
- davemanelski@npspsprint.dev
- evan@npspsprint.dev
- vnehess@npspsprint.dev
- davidtraveller@npspsprint.dev
- sarachieco@npspsprint.dev
- sfdc.awaite@npspsprint.dev
- nick@npspsprint.dev
Subversion
- Each integration project has a repository location here
- To create a Force.com project connected to Subversion
- Create a new repository for the google code project
- navigate to your integration branch
- right click the project folder and select Checkout
- checkout using the new project wizard
- enter the force.com credentials for your integration org
- select no metadata
- finish
Packages
Let me know if I can help with DocumentationProject
Two issues I don't see addressed here, both for 1 to 1 model: There are workarounds (no code, just export and import) but we need a buttons to do this in a graceful way: 1) Person changes name, need a way to change the org name to match 2) person is a contact at an org, does not donate. Then becomes donor in own right, so needs to have own org for rollup. Person becomes an affiliate at the org.
When a Contact name changes the 1-to-1 account name changes. Address and phone are synced on change as well.
When a Contact needs a 1-to-1 Account, just blank out the Account and create an Affiliation. The problem with making this a button on Contact is that it would be shown on Contacts that already have 1-to-1 Accounts. I'd rather have it only show on Contacts that qualify for being "turned into donors."
I have a feature request. Currently when you add a product to a donation the amount automatically changes to make the product $ match the donation amount. For nonprofits there are plenty of times that we need the product $ to not match the donation $. For example if we offer a premium for any donation over 25 dollars we need to be able to record that donation and add a product without having to have the two prices match exactly.
Shelley, that's a feature of Salesforce--the Opportunity amount = the sum of the product amounts. We can't change that.
Shelly and Steve: can't there be a product added that equals the differenct, then the totals add up and the added product represents the premium?