We did this a while back, and a question on StackExchange meant it was worth sharing.
I spotted this on StackExchange and Link was okay with me adding this to the repository here. Link's issue was that he had a bunch of Organization contacts with "Work" addresses that he needed to change to "Main" addresses.
If you have the CiviCRM Entities module (2.x version) and the Calendar module then in Views you should find that you can use "Add from template" and there is a template for Civi Event.
Previous to the 2.x version of Entities the View needed hand crafting and there is an example attached.
A request on StackExchange seemed like a good candidate for a View using Aggregation that would give a count of how many Memberships had changed from eg Grace to Expired in a particular period, and by Membership Type.
Note that you may need to login or Masquerade as user/1 to get access to the Import View interface at admin/structure/views/import.
Following on the blog by Eileen about using CiviCRM Entities and Views Bulk Operations (VBO) to update start/end dates of civi Relationships in bulk, another client asked for a quick solution for them confirming who attended an event. This was a free event, they had sent out invites, and wanted a quick way to mark people as 'attending' so that they could then bulk update the Pariticipant Status for those who showed up.
It has been possible to make batch changes to CiviCRM data using VBO (Views Bulk Operations) for a while but I only just got around to implementing it for a customer so I am taking the chance to document what I did here!
The recipe is basically
- install civicrm_entity version 2.x & vbo
- create a View
- add and configure the desired 'bulk operation'
And, setting up a View with a bulk operation to modify Relationship End Dates was pretty much that easy
Install CiviCRM Entity version 2.x
Because CiviCRM uses ? in its urls it can get tricky to specify when you want a Drupal Block to show on specific donation or other pages.
A solution we found to work well is the https://www.drupal.org/project/block_query which adds a new Visibility Setting called Query.
There you can set eg id=39 which means if you have Pages set to 'only on the listed pages' and eg civicrm/event/register* then the id=39 should cause it to show only on that Event registration page.
In many cases, such as for the European Greens, we want to create Drupal pages for some contacts, in their case Parties, so that we can pull together both a collection of information about the contact from Civi, and display related Drupal content, such as News items about the Party. You can see an example of that for the German Bundnis party here. (And I will write this approach up in greater detail later)
The European Greens (and other clients since) wanted to have blocks showing News items relating to their Party pages, so that for example a news item that 'node references' Die Grunen would show up on the page about Die Grunen.
The concept is simple enough and can be handled in Views but requires a bit of extra configuration.
Styling emails can be a bit of a challenge. Sometimes emails look OK on the screen but don't work in the email client. Reasons for this include