Batch Upload Solution for Non-Profits
Extending the functionality of NPSP to proactively allow creation of donor records on the fly or apply payments to an existing opportunity record.
Client Information
The client is a US-based Service Provider focused on products and solutions for Non-Profit organizations, helping them with relationship management, fundraising and research.
Business Requirement
- The client had an existing Batch Upload Solution which was used to process Accounts, Contacts, Givings, Payments etc. in bulk.
- However, due to complexity of logic and sequencing of data the Batch Upload Solution was able to process only a single record at one time
- The requirement was to optimize the Batch Upload process and improve performance so that records can be processed in bulk.
Solution
- As part of the Solution, a Batch Upload Framework was designed using Publisher Subscriber and Event Notification pattern which would help separate processes and run operations in parallel.
- The framework supported sequencing as well as parallel processing which had drastically improved the performance of the Upload process.
- Framework also supported reuse of Mapping and Commit Services for the Batch purposes which reduced the development efforts for each Batch process that was to be executed. For e.g. – Account, Contact, Address, Payment, Opportunities, Opportunity Line Items etc.
Key Highlights
- Reusable Framework to run processes in parallel
- Increased performance by 40%
- Bulkified operations
- Code Re-usability