This month we did some consulting work on a fairly large CiviCRM install (multiple civicrm sites, millions of contact records). One of the things that we liked about this work was it gave us an opportunity to go back and fine tune some features and make them more useful for this organization and hopefully the rest of the CiviCRM ecosystem. We are wrapping up the issues for this month and it seemed appropriate to recap how things went. It was quite nice to see how many improvements we have been able to incorporate into CiviCRM with this engagement. A list of all the issue and features can be found on our issue tracker. All these changes will be incorporated into CiviCRM v3.4.3 / v4.0.3 in the near future. Here are some of the highlights:
- Improvements to the contact import process. We now allow the user to specify the CSV separator (CRM-8070) and also the dedupe rule to use in matching contacts instead of the default strict dedupe rule (CRM-8071)
- Export now offers an additional option of "Postal Mailing Export" (CRM-8073). This excludes deceased contacts, do not mail contacts and contacts who do not have a street address. We've also added a select element so you can choose a group of additional contacts to be added to the export csv.
- Setting the framework for jQuery form validation (CRM-8138). We've used the jQuery validate library to validate phone numbers (US only) and postal codes. The changes to core have been to include the base files. Validation functions to be used will need to be supplied by the admin. We hope to incorporate some of this learning in a future release.
- Normalizing phone numbers via javascript (in a template customization file) and storing phone extensions in a separate column (CRM-8113)
- Organization type contacts now can have postal and email greetings (CRM-8087).
- You can now send a CiviMail to a selected group of contacts from a search query (CRM-8028). There was another forum post on Mass Mailing from search results confusion. Andrew Harris managed to understand and sort thru the issues and file a patch (CRM-8114) that addresses this issue.
It was great to see how CiviCRM is being used in a large install and some of the problems folks encounter when using the product on a daily basis. We hope to continue this engagement over the next few months and continue improving other aspects of CiviCRM. Our thanks to the client for being so understanding and help support the CiviCRM ecosystem. We do hope that other consulting firms and integrators structure some of their client relationships in a similar manner and help advance the state of the codebase.