A couple of weeks back I wrote here some thoughts about letting users manage and modify their own private collection of reports without actually having site-wide "administer reports" privileges. I've since gone ahead and written up the code to make this happen, and I would love to get feedback from the community on its usefulness and ways to improve it.
This code is available as a Drupal module for CiviCRM 3.4.x and 4.0.x, on Drupal.org by the project name CiviCRM Private Report. Following is a quick overview of how it works.
- Each user has a private space for reports visible and editable by that user alone.
- Users can copy any report that they can access into their own private report space.
- CiviCRM's native listings of available...
The CiviCRM team invites you to CiviCon 2012
CiviCon – the annual conference for CiviCRM developers, implementers, administrators and users – is happening in the San Francisco Bay Area on April 2nd. Early bird registration is just $75 and ends less than a month away on January 30th, so reserve your spot now.
CiviCon is the annual CiviCRM event bringing together the people who develop, design, implement, administer, and use CiviCRM. We'll have great speakers, breakout sessions and panels highlighting real-world examples of nonprofits growing and sustaining relationships using CiviCRM. Find out about the future of the platform through discussions with the core team. You'll have ample opportunity to ask questions, meet other users and developers, make valuable connections, and get involved in the community.
Are you staff...Read more
I've just released a new version of the CiviCRM Webform Integration module for Drupal 6 and 7.
This module provides a flexible and powerful way to create forms linked to the CiviCRM database. Version 2 of the module is built for CiviCRM 3.4/4.0, and can create and update contacts, group subscriptions, tags, relationships, cases, activities, event participants, and custom data.
New in 2.3:
- Contact Clone Feature - a real timesaver for multi-contact forms
- Now works with event registration limits
- Improves Group Subscriptions
- Deduping works with shared addresses
- Better and more consistent performance with Country/StateProvince chainselect
- Other minor bug fixes
If you're interested in the future of this module, check out ...Read more
Recently we spent some time cleaning up the code base for Drupal's Views module in CiviCRM. This will be reflected in the 4.1 release of CiviCRM, at this point this was all written for Drupal 7, though should be portable to Drupal 6. There were a couple new features thrown in but much of this will focus on making the code base a little more efficient and easier to read.
The two major tasks were:
Break up the civicrm.views.inc file into separate files for each component. This is referring to the file that holds the Views related hooks (ie hook_views_data() and others) to allow the CiviCRM and Views modules to work together. Over the past couple years this file has grown to an unweildy 7,000+ lines. The lions share of the 7,000+ lines of code was the call to hook_views_data(). That function has been broken into 7 files, one for each CiviCRM Component (Core, Contribute...Read more
I recently completed a conversion of about 8 years of history from a 5 year old Blackbaud Kintera site to a Drupal CiviCRM solution. Confused yet? Don't worry, all we be revealed in time. As a way of giving back, I am planning to share my experiences good and bad, what worked, what did not, what I learned and what I will and won't do next time.
Let's start with a little background. I have been the technology consultant for Women in Development, New York (www.widny.org) for the past 8+ years now. I started out as a member, graduated to a board member and in the end became their consultant. I have been with this organization since before they had a formal database to manage their members and before they had their first website. Back then, I used my own mail servers to send out their mass emails, my how the times have changed. In addition, to selecting and managing their original database solution, maintaining their first website and...Read more
New Features in Version 2
Handling multiple contacts and contact typesInstead of processing a single contact per form submission, you can now have as many contacts on the form as you like, and they don't all have to be individuals. A simple use for this would be to allow a person to fill out their own...
As a freelancer, here are a few notes and an overview on how I solved a client's contacts consolidation when the data came from external sources:
My Use Case
- Client had ongoing events and conferences over several years which meant there were databases and mailing lists all over the place (many of which had crossover).
- I set up ongoing JSON exports of the contact data from the external sites, which could be queried by date range to get the latest changes.
- I had a contact consolidation script on the CiviCRM end, that took these JSON exports, and loaded them into Civ via the API.
- About 5 different source sites created about 1200 contacts
A Few Challenges
- The documentation can be quite scattered and it was difficult sometimes to find the right versions. I really pity whoever has to deal with this challenge though!
- It took me much longer than it should have to learn how to activate the API...
- General description: Users can access an iCal feed of their upcoming (future) Activities, suitable for subscription via Google Calendar, Microsoft Outlook, and/or similar software
- Activities are represented as VEVENT objects, matching applicable properties (DTSTART, DTEND based on duration, etc.) where possible and appending names of any other asignees to the DESCRIPTION property
- Feed includes activities...