Quantcast
Channel: Extensions
Viewing all 290 articles
Browse latest View live

Utilising Custom searches for data cleanup and contact integretary checking

$
0
0

The Australian Greens developed 2 new custom searches to enable us to do data clean-up and to monitor for spam records that were coming into our system, mainly through the drupal user registration form.

The first search (addresses needing fixing) has a number of different combinations to find different issues with addreses. This allows to check for where there is a state set but that doesn't match the set country or where the postcode isn't correct for Australian postcodes. All Australian Postcodes are numerical and are 3 or 4 digits in length.

This search also has options to check to check on addresses which we have put in "NCA" in the street_address field, (this stands for No Current Address as there was no easy way to have addresses on hold).This is done so we can review and see if we have a more up to date address being added to the system.

We also have an option to check on and make sure that the city (we call suburb) field is filed out if state and country are set. This is so that when we do a postal mailing we can reduce the number of errors when we send it with Australia Post.

There is also a search to find addresses that don't have a number in the street address.

With the 2nd search (spam), It has a number of options. They are all about trying to find and eliminate potential spam records off the database.

The most common identifiers are where first name matches last name, the name contains numbers, if there is a Mixed Case Last name. postcode is Non numeric and is of an Australian Address (as mentioned above Australia has no non numeric postcodes).

The phone number or poscode is longer or shorter than specified length. The defaults are set to Australian conditions (4 in both cases for postcodes and 10 min and 14 maximum for phone numbers).

Also there is search option to find punction where it shouldn't be in the name. These 2 searches have helped us keep our data as clean as possible, It has also allowed us to eliminate as many spam records as possible but there is constant vigilance to be maintained.

This work was commissioned by the Australian Greens and was built by Andrew McNaughton. You can find the extension in the extension list https://civicrm.org/extensions/aug-searches.


First cookbook on CiviRules showing automated donor classification

$
0
0

I have just completed the first cookbook on CiviRules, with 2 basic examples and an example on how to automatically classify donors based on their contributing behaviour. Have a look, any comment is highly appreciated :-)

http://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Cookbook

The CiviRules extension is in the CiviCRM extension list (https://civicrm.org/extensions/civirules) and on GitHub (https://github.com/CiviCooP/org.civicoop.civirules)

CiviVolunteer 2.0: What's In the Works

$
0
0

Thanks to tremendous support from the CiviCRM community, development of CiviVolunteer 2.0 is well underway, with a beta slated to be released in time for the CiviCRM User Summit in September. Read on for a preview of what CiviVolunteer 2.0 will add to your volunteer management practice.

Volunteer Recruitment

At the heart of any volunteer program is recruitment. CiviVolunteer 2.0 makes it easy for people to identify volunteer opportunities that fit their skills and interests. Signing up is easier than ever.

Searchable List of Volunteer Opportunities

Though CiviVolunteer allows organizations to recruit volunteers for a myriad of projects, it doesn’t offer a central listing of all the available opportunities. CiviVolunteer 2.0 changes that. Volunteers are empowered to choose the opportunities that most interest them. To start, volunteers can search by date, type of activity, and beneficiary.

Improved Sign Up Experience

If volunteers can browse multiple opportunities at once, why not let them sign up for multiple opportunities at once? CiviVolunteer 2.0 introduces a shopping-cart approach to volunteer registration. Volunteers can sign up for multiple shifts in a project—or even across projects.

Volunteer Management

New features will allow organizations to easily create volunteer opportunities, manage additional roles, improve communication with volunteers, and better measure outcomes.

Fewer Forms, Easier Administration

New in CiviVolunteer 2.0 is a dedicated volunteer project management interface, independent of CiviEvent. For folks whose volunteer operations don’t center around events, the days of creating placeholders to serve as containers for volunteer opportunities are over. Love the volunteer/event integration? Don’t worry—nothing you’ve come to rely on is going away.

More Roles for Volunteer Projects

CiviVolunteer allows an organization to assign different roles to volunteers, but what about contacts inside the organization? CiviVolunteer 2.0 introduces new relationships to manage non-volunteer roles in a project. The release will ship with Project Owner, Volunteer Manager, and Beneficiary, but organizations will be able to create arbitrary relationship types. The extension will use the Volunteer Manager relationship to decide whom to notify about project happenings (e.g., your project starts in a week, and you still have unfilled positions). How will your organization use relationships?

Improved Communication with Volunteers

From sending confirmations to new recruits, to automatically notifying volunteers of schedule changes, to sending reminders leading up to your project, CiviVolunteer 2.0 helps organizations build relationships with their volunteers.

Associate Efforts with Outcomes

An integration with CiviCampaign enables CiviVolunteer 2.0 to provide detailed reporting across volunteer projects. Take for example an organization planning its 10-year anniversary gala. Organizing such a gala may require multiple volunteer projects: weeks before the event, volunteers may join staff for an envelope stuffing party; on the day of the event, volunteers may be used to staff the venue; etc. Using CiviVolunteer and CiviCampaign together allows the gala organizers to associate all the efforts (event invitations sent via post, fundraising appeals sent electronically, volunteer hours, etc.) with their outcomes (event registrations, donations, pledges, etc.).

Stay Tuned

In the following weeks, we will be taking a closer look at each of the features outlined above. Stay tuned to this blog!

Preview of CiviVolunteer 2.0: Volunteer Registration as Shopping Cart

$
0
0

In my last blog post I promised I'd share more about CiviVolunteer 2.0's new features as they come together. We've finished our first round of development on what I've been calling the volunteer opportunity shopping cart, and I'm excited to share it with you.

While the 1.x branch of CiviVolunteer focused primarily on administrative tools for managing volunteers, with 2.0 we've brought our focus to improving the volunteer experience. We've built a new interface which helps potential volunteers find opportunities in your organization and makes it easy for them to sign up for multiple opportunities in one go. Organizations brokering volunteers to chapters or to partner organizations will find the beneficiary and proximity search functionality particularly interesting.

The screencast above will tell you much more than I could do with words. Please check it out and share your reactions and questions in the comments section below.

Useful membership extensions

$
0
0

The last year I have been working with the Socialistic Party to implement CiviCRM for their membership administration. Whilst doing that we developed some small extensions which makes life easier for them with their membership administration. In this blog post I want to give an overview of the extensions we have developed and what they do.

We have developed more extension for the Socialistic Party so please take a look around at https://github.com/SPnl.

Link membership to contributions

Extension: org.civicoop.membershippayment
Url: https://github.com/CiviCooP/org.civicoop.membershippayment

This extension adds a drop down to the contribution edit form to add a contribution to a membership. Or unlink a contribution from a membership

Quartely Membership payments

Extension: org.civicoop.quartelymembershippayment
Url: https://github.com/CiviCooP/org.civicoop.quartelymembershippayment

The socialistic party had a structure where members pay per quarter (1st of Januari, 1st of March, 1st of July, 1st of October). The payment is payed by direct debit. So as soon as a membership becomes active we want to create contributions for each remaining quarter of the current year.  That is what this extension does. It does so by injecting a checkbox on the membership type screen when the membership type is set to a period of a year and a fixed period.

Change membership payments

Extension: nl.sp.changemembershippayment
Url: https://github.com/SPnl/nl.sp.changemembershippayment

This extension adds a link to change membership payments details for contributions which are linked to the membership and which are in the future. This was needed because sometimes a member changes their bank account details or the amount they want to pay for their memebership (which is a voluntarly amount at the Socialistic Party).

Cancel membership contributions

Extension: nl.sp.cancelmembershipcontributions
Url: https://github.com/SPnl/nl.sp.membershipcancelcontribution

This extensions cancels all future contributions of a membership as soon as a membership gets cancelled. This functionality was needed because as soon as member cancels his or her membership we dont want to receive money from their bank account in the future anymore.

 

SMS Survey Release Candidate

$
0
0

The story so far...

Future First is an ambitious young charity that works with state-funded schools to use their old students to motivate their current students in the same way that privately funded schools do. Way back in 2012, they approached Michael McAndrew, then of Third Sector Design, to produce a system to help them to stay in touch with students who might have changed their email addresses since leaving school. The SMS Survey technology would send messages back and forth to students and then interpret the results into data that could be merged into the profile. Since then their internal software development team - lead by myself - added an interface for easier conversion of responses into data, more robust response detection, and an interface to clean up invalid responses.

FF commissioned me to add some key features to it and, most importantly, put it and our subsequent additions into a releasable state. The work was to be done during the UK 2015 CiviSprint, in beautiful Edale, but more on that later.

What is a release candidate?

A 'release candidate' is unfinished software that we are ready to test with another organisation. In this case, it has only been used by Future First, and may be a bit rough around the edges. Having said that, it has been used several times with tens of thousands of contacts. In short, please don't be upset if it has a bug or two!

What can it do?

It is used to interpret SMS responses into data into your CiviCRM contacts. You can use it to "fill in the gaps" in your data, or to conduct surveys. You need to ask a developer to add the ability to fill in specific fields - our internal software development team can do this from scratch in around an hour.

The release candidate includes functionality to request contacts' Gender and new Email Addresses - ideal for reducing your bounce rate.

The four different pieces of the survey

1. SMS Chains. This is the ability to send follow up messages to a response based on the first message you sent out. So your first message may say "please send us your email address" and then a follow up message could say "thanks for sending us your email address!" This would be constructed using an SMS Chain.

2. The translator. When you've got your responses, it's time to have SMS Survey analyse them and put the output into the different fields. This process is called 'translating'.

3. The cleanup tool. After translating, there will be some messages that don't quite fit (see below for common responses).

4. The swear filter. Depending on your target audience, occasionally, people may respond including language that some may find offensive. The SMS Survey includes an optional filter to prevent these responses from polluting your data (note that their response will still be stored in the Inbound SMS activity created by Civi). You can add words that may be offensive, including a safe list, to this filter.

The different steps

0. Install the extension.

1. Clean your contact data.

2. Write the messages.

3. Construct the chains.

4. Populate the swear filter.

5. Buy SMS credits.

6. Send the messages.

7. Wait!

8. Translate the responses.

9. View the translation cleaner.

10. Re-translate if required.

0. Install the SMS Survey Extension

At the time of writing, the SMS Survey Release Candidate isn't available for automatic installation. Please ask your system administrator to help you here. You can find the release candidate here: https://github.com/futurefirst/org.thirdsectordesign.chainsms/releases/t...

1. Clean your data!

Having 'cleaner' data will make for a more efficient survey. There's two types of data cleaning to be perform here: phone numbers and duplicate contacts. Having invalid phone numbers means that you'll spend credits sending messages that will never reach their destination. Believe me, at FF we've seen people enter all sorts of things into the phone number field! No matter how well intentioned, Clickatell just won't be able to get a text message to "07780000000 (Mondays to Fridays in working hours only)". You can use CiviFirst's handy Phone Number Validator to identify the most glaring errors. Using an earlier version of this tool lead to our response rate leaping by 10%! Afterwards, it's time to deduplicate. You should use the phone number tool first, as this will make you more likely to identify duplicates. 

2. WritE the messages

Future First learned through bitter experience that messages need to be really clear and unambiguous (even then people will respond with bizarrities, see below!). Be sure to use the contact's first name, say who you are, why you need the information, and say that you just need that information. txtspk tends to not be received well. So a good message is "Hi {contact.first_name}! {your organisation name} here. We don't seem to have an up to date email address for you. Please can you text us back just an email address that you'd like us to contact you on? We promise we won't pass it on. Thanks!" A nice follow up one might be "Thanks for letting us know - we'll be in touch soon!".

3. Construct the chains

The SMS Survey tool allows you to construct "chains" of messages. This means that if the user responds, you'll have a follow up message to send them back. You may send them a different follow up depending on what response they send. For instance, Future First asks students who've recently left their school to text back A if they are going to University, B if they are going to College, C if they went straight into work, or D if they are going to do something else.  When they text back either A, B, C, or D, then a new question is sent relevant to that response, either asking them what course they're taking, or asking them what their job title is. Your Translator class will need to account for the different potential branches.

The end of each of your chains should be a message thanking the user for responding.

4. populatE the optional swear filter

Unfortunately, when sending SMS messages to large numbers of people, some may text back including words that you don't want to be automatically added into their contact fields. Although commonly swears, these may include inappropriate slang or epithets.

The SMS Survey includes an optional swear filter, which your organisation will need to populate itself. No swear words or unpleasant language are included with the SMS Survey, and installing the release candidate will not add any into your system in any way.

You will require the 'administer sms survey swear filter' permission, which can only be added by a system administrator to view or edit this list. This allows you to prevent members of staff or volunteers from accessing a list of vile language. Please make staff with this permission aware that they shouldn't share their login details.

A safe list is available to add words that are known to be safe but that contain a word some consider offensive. Those interested should see the 'Scunthorpe Problem'.

5. Buy sms credits

Count the number of people you're going to send the message to. Count how many characters in your message, remembering that around 90% of your contacts' first names will have 7 characters or less. Future First has a typical response rate of around 50%, Clickatell charges 1/3 of a credit per inbound message, and then another message to thank them. This will help you to determine the number of credits you need for the survey. We suggest you buy in bulk, it's usually cheaper!

6. Use New Mass SMS to send the messages as normal

We recommend dividing into groups with different wording for "split testing".

7. Wait!

Future First found that almost all of our responses were in the first 24 hours. By the first 48 hours you're likely to have all the responses you're going to get.

8. Translate the responses.

This is where your contacts' responses to messages are interpreted into your contacts' data fields. In the menu go to Mailings -> SMS Survey -> Translate Responses. In the drop down menu, select the SMS Survey message that you sent. This should populate all the fields that you need. Adjust the dates as you need to - messages outside this window will be ignored. It will populate the groups field accordingly - only change this if you know that you need to (i.e. for a subset of the data).

The Translation Type is the kind of information that we expect from your contacts' responses. You can select 'Gender' or 'Email Addresses', or ask your internal software development team or consultant to make you another one.    The 'campaign name' is the subject of the created activities. This needs to be consistent across the campaign, so we recommend leaving it as the default (which is the name of the Mass SMS Message).   When you're finished click 'Translate!'. How much time the process takes will depend on how many contacts there are in the group that you're translating. You can then take a look at the statistics by clicking on "View Translation Statistics".   The SMS Survey Translator will create  an activity of SMS Conversation for contacts who've responded to the SMS survey.

9. View the translation cleaner.

Not all messages can be interpreted correctly. This is particularly true of complex surveys. Future First asks respondents to include both their employer and their job title separated by a comma. Often responses contain only one piece of information, or have several commas, meaning that the translator doesn't know how to interpret them.

For survey responses that couldn't be 100% translated, the SMS Conversation will have the the status 'Scheduled' (successful translations have the status 'Completion').

To fix messages that haven't translated correctly, go to Mailings -> SMS Survey -> Clean Translated Responses.

There are basically two options: either edit the response into the contact manually and then mark the SMS Conversation activity as completed, or edit the inbound responses before retranslating.

10. Re-translate after cleaning if required.

After editing the responses, you can retranslate them by following the process outlined in 8. Translate The Responses.

AttachmentSize
translator.png93.15 KB
stats.png40.87 KB

New Extension Finds Zombies

$
0
0

Your CiviCRM installation may have undead contacts.  Contacts are marked as deceased in CiviCRM by setting the is_deceased column to 1; living contacts are marked with 0.  However, it's possible for import mistakes to cause contacts to have a value of null for is_deceased.  The result is that the contacts don't appear as dead when you view them, but they're excluded from mailings and other features that filter on is_deceased = 0.  The same goes for Do not mail, Do not email, and so forth.

A recent question on StackExchange, along with the Halloween holiday, prompted me to write an extension that checks your system for zombies.  It uses the new Status Messages page to display a notice with the fields with an inappropriate null value:

For developers, this is also an illustration of hook_civicrm_check(), which allows extensions to define checks that can display status messages.  Check out the code on Github for the details.

Because it's using these new features, it's only available for CiviCRM 4.7, but you should download and test a copy of your site with the new version anyway.

New Extension - CiviCRM Online WorldPay Payment Processor

$
0
0

We in NFPservies have some client using secure.worldpay as their payment processor and it was always an issue in making it work and now worldpay has introduced online.worldpay gateway with API reference which are easy and quicker than before

Earlier in secure.worldpay gateway we used to redirect from CiviCRM to secure.worldpay website and process all the card details and then it will be passed over to CiviCRM website and we process the details. But, in online.worldpay we are using API for creating Tokens and Card Authorize. so no more redirection. Also the processes is straight forward and quicker

REQUIREMENT

This Extension is based on online.worldpay.com - https://online.worldpay.com/

Please make sure you have an account with https://online.worldpay.com/

INSTALLATION INSTRUCTIONS

To install the uk.co.nfpservice.module.worldpay, move the uk.co.nfpservice.module.worldpay directory to your civicrm Custom extension folder directory and Install the extension.


HOW TO USE

Please obtain the service key and client key from your online.worldpay.com account setting

This extension uses https://api.worldpay.com/v1/ api for accessing the website. This link might change from time to time so please make sure you are using the correct URL given by your Online Worldpay Account.

For more documentation regarding the API please refer to https://online.worldpay.com/docs

FUTURE REQUIREMENT

  1. Recurring Payment.
  2. Webhook Integration.


CURRENT RELEASE

This module was developed based on CiviCRM 4.6 and Drupal 7.x. - hasn't been tested in any other version.
Please give a test and if you want to use it in lower or higher version. Please feel free to contact me if you have any issues. You can find the contact details at the footer of this document.

Currently tested in CiviCRM 4.6 / Drupal 7.x with Webform CiviCRM Integration 7.x - 7.14
 

DOWNLOAD URL

you can download the Extension from CiviCRM Extension folder or from GitHub https://github.com/rameshrr99/uk.co.nfpservice.onlineworldpay


Announcing CiviVolunteer 2.0 Beta1 Release

$
0
0

Ginkgo Street Labs is excited to announce that the first beta release of CiviVolunteer 2.0 is now available for test-driving as well as for downloading!

What’s New

  • Public list of volunteer opportunities - Now volunteers can find all of your organization’s volunteer opportunities in one place, and they can sign up for multiple opportunities at once.
  • A top level menu item - All of the volunteer configurations and screens are centralized under one neat menu.
  • Standalone volunteer projects - Volunteer projects have a new home. There is no longer a need to create fake events to serve as “containers” for your volunteer projects, greatly improving the workflow for volunteer coordinators.
  • Better support for multi-tenant systems - If your organization has chapters or affiliates which rely on you for volunteer management, you know how hard it can be to strike the balance between giving them sufficient access to the system and giving away the keys to the kingdom.

Contributors

We can’t thank you enough:

  • The anonymous funder that made the matching campaign possible.
  • The various small funders whose participation is no less instrumental in bringing this about.
  • Friends of Georgia State Parks and Monuments for their generous funding.
  • Horn Farm Center for Agricultural Education who has provided us valuable insight into their implementation.
  • The New York City Coalition Against Hunger for their custom implementation and funding for the base extension.
  • The SIFMA Foundation.
  • The CiviCRM Partner community for their promotion of the fundraiser.

Call for Beta Testers

You may have been imagining some of the new features from previous blog posts. Now you can try them out! You will notice that CiviVolunteer is no longer buried down in the Events Settings form; look in the CiviCRM top menu for a “Volunteers” item where you can manage related settings, create or manage projects, or navigate to the Opportunities search form.

If you really want to go to town trying to break the system, or have a complex use case that will take you some time to configure, you may consider installing the extension on your own testing environment. (We do not recommend that you install the extension on a live CiviCRM instance just yet.) Some installation items of note:

  • CiviVolunteer 2.0 presently requires that org.civicrm.angularprofiles be installed to support using the profile selector widget on Angular pages.
  • The patch for CRM-17192 fixes a bug in which certain select2 widgets do not prepopulate correctly. Leaving it unpatched results in the illusion that your selections have not been saved when you edit an existing project.
  • There are a lot of new permissions in CiviVolunteer. If you want anonymous users to be able to view and sign up for volunteer opportunities, be sure they have the “CiviVolunteer: register to volunteer” and “CiviCRM: access AJAX API” permissions.

Whether you try it on the demo site or install your own copy, please do report any bugs you find.

Known Issues

The Volunteer tab on the Event configuration screen hasn’t yet been retrofitted with the changes we’ve made in the new volunteer project forms. As a result, the Volunteer tab presently shows errors. In this beta release, please ignore the volunteer tab and instead exercise the standalone screens.

Announcing CiviVolunteer 2.0 Beta2 Release

$
0
0

Ginkgo Street Labs is excited to announce that the second beta release of CiviVolunteer 2.0 is now available for test-driving as well as for downloading!

What’s New

  • Public list of volunteer opportunities - Now volunteers can find all of your organization’s volunteer opportunities in one place, and they can sign up for multiple opportunities at once.
  • A top level menu item - All of the volunteer configurations and screens are centralized under one neat menu.
  • Standalone volunteer projects - Volunteer projects have a new home. There is no longer a need to create fake events to serve as “containers” for your volunteer projects, greatly improving the workflow for volunteer coordinators.
  • Better support for multi-tenant systems - If your organization has chapters or affiliates which rely on you for volunteer management, you know how hard it can be to strike the balance between giving them sufficient access to the system and giving away the keys to the kingdom.

Contributors

We can’t thank you enough:

  • The anonymous funder that made the matching campaign possible.
  • The various small funders whose participation is no less instrumental in bringing this about.
  • Friends of Georgia State Parks and Monuments for their generous funding.
  • Horn Farm Center for Agricultural Education who has provided us valuable insight into their implementation.
  • The New York City Coalition Against Hunger for their custom implementation and funding for the base extension.
  • The SIFMA Foundation.
  • The CiviCRM Partner community for their promotion of the fundraiser.

Call for Beta Testers

You may have been imagining some of the new features from previous blog posts. Now you can try them out! You will notice that CiviVolunteer is no longer buried down in the Events Settings form; look in the CiviCRM top menu for a “Volunteers” item where you can manage related settings, create or manage projects, or navigate to the Opportunities search form.

If you really want to go to town trying to break the system, or have a complex use case that will take you some time to configure, you may consider installing the extension on your own testing environment. (We do not recommend that you install the extension on a live CiviCRM instance just yet.) Some installation items of note:

  • CiviVolunteer 2.0 presently requires that org.civicrm.angularprofiles be installed to support using the profile selector widget on Angular pages.
  • The patch for CRM-17192 fixes a bug in which certain select2 widgets do not prepopulate correctly. Leaving it unpatched results in the illusion that your selections have not been saved when you edit an existing project.
  • There are a lot of new permissions in CiviVolunteer. If you want anonymous users to be able to view and sign up for volunteer opportunities, be sure they have the “CiviVolunteer: register to volunteer” and “CiviCRM: access AJAX API” permissions.

Whether you try it on the demo site or install your own copy, please do report any bugs you find.

Known Issues

The Volunteer tab on the Event configuration screen hasn’t yet been retrofitted with the changes we’ve made in the new volunteer project forms. As a result, the Volunteer tab presently shows errors. In this beta release, please ignore the volunteer tab and instead exercise the standalone screens.

A big week for CiviEvent Widget

$
0
0

Last week was a busy one for the CiviEvent Widget plugin for WordPress.  Not only did it cross the 2,000 download threshold, but new features were added to help you display upcoming events in a flexible way.

First, an overview of the plugin.  I wrote CiviEvent Widget in response to the fact that CiviCRM sites on WordPress need an easy-to-use way to show their upcoming events.  Prior to CiviCRM 4.6, CiviCRM wouldn't render more than one instance of itself per page, including widgets; for example, you couldn't have CiviCRM list upcoming events in the sidebar alongside an individual event page.

The CiviEvent Widget bypassed this limitation to display a listing of upcoming events as a native WordPress widget.  Over the past two years, new features have been added, such as options for displaying the event location and summary.  Even as it's now possible to insert CiviCRM content in shortcodes all over the place, the CiviEvent Widget makes for an easy way to display a listing of upcoming events in WordPress.

Other additions this summer and fall include a widget for displaying the single next upcoming event and the ability to add both widget types as shortcodes.

The newest additions comprise a separate "Custom" mode for setting up a CiviEvent Widget.  Many people have requested the ability to show custom fields or rearrange the order of fields in the widget.  The "Custom display fields" option allows you to choose the fields that appear in each row of the widget, with the option to display the field's title, wrap it in a <span> tag with field-specific classes, and set a custom prefix and/or suffix for the field.  Besides the standard event fields and custom fields, I added a few "magic" fields such as the event title linked to the event info page.

A basic user interface allows for picking fields and setting options in the widget, and it generates a JSON string that you can use for setting it up as a shortcode.  You'll almost certainly want to write some CSS in your theme to handle display--all fields will appear alike otherwise.

There's also the need for narrowing the event listings.  By default, the CiviEvent Widget includes events starting today or later that are marked as "public".  Maybe you want a listing limited to workshops, or maybe you want to show the most recent past events in reverse chronological order.  The "Custom API filter" option allows you to enter JSON API parameters that will be used to filter the events.

Certainly, both of these newest features are aimed at the more advanced user, but they're intended to bridge the gap between the simplest needs and writing custom code.  Let me and my colleagues know if you have ideas for future versions.  The support forum on WordPress.org is a great place to report bugs.

New extension ContactSegment

$
0
0

Just added the ContactSegment extension to the extensions directory. It has been created for a specific problem but we tried to keep the base generic. The development was done by CiviCooP and funded by PUM Senior Experts for CiviCRM 4.4.

The extension adds a segmentation to the contact summary and allows flexible set up so you can have your own labels for the parent and child segment. Check the extension page for more details: https://civicrm.org/extensions/contact-segment

AttachmentSize
Image iconscreen print1.png64.54 KB

New extension to protect groups

$
0
0

I have just published an extension we (CiviCooP) developed for PUM Senior Experts. They wanted to make sure that contacts could only be added/removed to/from some groups by specific users. So we have created an extension for them, adding a permission and setting the group behaviour. For more details and download, check https://civicrm.org/extensions/group-protect

Thanks to PUM Senior Experts for the funding! The extension has been developed for Drupal (permissions) and will be tested by PUM Senior Experts in the coming months. Thought I'd share already anyway :-)

AttachmentSize
Image icongroupprotect print2.png56.95 KB

Announcing the Line Item Report Extension

$
0
0

Imagine that you’ve created your event in CiviCRM and have built an exceptionally brilliant price set. Your participants have all the choices they need, special timed options manage themselves, and the registrations are rolling in. Now it comes time to see what everyone’s choices are. How do you do that? What report can I use to see a list of participants and all their choices together?

We initially answered this question for one of our clients by building a custom report. It laid out each participant with the important identifying info, price set choices in their own columns. With customized field labels, the report had exactly the information they were looking for. The problem was that their price set needed to change every year for this event, which meant manually tweaking the report each time. While the report provided the full list of participants and choices, it didn’t provide the option to see a subset of the participants or choices.

Enter the Line Item Report extension from Skvare. This extension provides line item reporting and allows column selection and filtering for price set fields. Report templates are provided for participants, memberships, and contributions. The report works by getting all the relevant price set fields for a specified event, membership type, or contribution page and provides them nicely grouped into accordions by price set.

To use the extension, download or clone the extension from the git repository at https://github.com/Skvare/com.skvare.lineitemreport or via the CiviCRM Extension Directory (coming soon.). Visit the Manage Extensions page in your CiviCRM installation to install the extension, which will add the three report templates. Use the Create Reports from Templates option to create an instance of the report you need and make selections as needed. A notice will appear to remind you to filter by an event, membership type, or contribution page until one is selected.

New extension for exporting non-public events to google Calendar

$
0
0

I have just published an extension we (CiviCooP) developed for Coordinatie Vluchtelingen Vrijwilligers Ede (CVVE) CVVE is facilitating the organisation of activities for refugees in Ede. Many activities are organised by willing citizens and CVVE is the bridge between those citizens and the refuees. So to keep track of everything which is going CVVE needed an export of the events in their Google Calendar.

The core civicrm functionality allows an iCal export to Google Calendar but only for public events.CVVE also has non public events. This extension does creates an iCal export including the non-public events. It adds a link http://yourcivicrm.com/civicrm/event/private_ical?reset=1&list=1 which you then could add to your google calendar as an external calendar and then private events will show up in your google calendar.

For more details and downloads visit: https://civicrm.org/extensions/orgcivicoopeventprivateical


Recurring payments, advanced functions

$
0
0

I've been working on a few larger CiviCRM migrations lately. Out of that work I've been adding some new pieces to the iATS payment processor extension as well as my more generic recurring payments extension, and here's my story.

The original CiviCRM model for recurring contributions was built around what let's call the Paypal model, which tries as much as possible to give the donor ownership and management of their payments, by managing the recurring schedule and giving donors their own 'account'. This has benefits for donors and also for the organization receiving the donations - e.g. less administration.

But I've found that for many organizations migrating to CiviCRM, this model isn't ideal. For a start, a lot of older regular donors don't want to manage their payments and assume it's the responsibility of the organization. Secondly, having contributions arriving somewhat erratically means it's harder to do reconciliation. And thirdly, larger organizations get used to doing things certain ways, and workflows become central to how they work, and changing them isn't always a good thing in practice, even when it seems like a smart thing to do in principle. Or, sometimes the customer is right, even if we wish they were wrong.

One part of the solution here is the 'token' model for recurring contributions, where the recurring contributions are managed by CiviCRM, instead of the payment processor. So now CiviCRM has more control over when and how much these recurring contributions come in, and for example - an organization can setup a phone campaign and ask donors to increase their monthly donation. We did this recently with an organization that had access to a phonebanking system, to considerable success.

But of course, change inevitably brings unexpected new responsibilities and the token model requires some more tools of CiviCRM for things that were previously not part of its function. So I'm happy to report here on four new features that will be released shortly in the next (1.5) release of the iATS exentension. Two of the features that are not specific processor-specific (i.e. the additional editable fields and fixed schedules) are also available in the recurring contribution extension, though they are limited without any payment processor specific code (e.g. the fixed schedule one will still take the initial payment when the payment is first submitted, whereas the iATS version will only verify the card and wait til the first allowable date to make the first contribution).

Card on File

This feature incorporates three separate functions related to management of a donor's card information. Of course, card information is not and should not be stored in CiviCRM - the whole point of the token system is to keep that sensitive data only with the payment processor. The token is the unique string that links a recurring contribution with the corresponding client information on the payment processor, and is used to trigger the sequence of donations with the use of a system job.

But that token can now also be used to:

1. View card information

Donor's sometimes call about their recurring donation. Having access to information like their first and last four digits of their card, the issuer, the name on the card and the expiry date, all inspire confidence in your relationship and can help you with the next task as well.

2. Update card information

Cards will expire, and will also stop working before their expiry for a variety of reasons. When that happens, you'll want to contact the donor and ask them if they want to continue their donations and if so, to give you new card information. In the past, you'd have to do this via the iATS interface, but now you can do it directly from CiviCRM. If you're chasing down 100 expired cards each month, this is nice.

3. Ad hoc processing of a card

If a donor has missed a regular donation (e.g. due to an expired card), or if they just want to make a separate one-time donation, it's handy not to have to ask for their card information again. This feature gives you a simple form that allows you   to generate a one-time charge with the card already on file.

Fixed Schedules

By default, a recurring contribution schedule will start on the day the initial contribution is made and continue each month (or quarter, or 3 weeks, or whatever is configured and requested). But there are also good use-cases for setting the scheduling up to only happen on fixed (usually monthly) dates. This is particularly true of larger organizations, so that these 'batches' can be reconciled and accounted for more easily. It also help with scheduling staff time to followup with failures (e.g. so it's a monthly or bi-monthly task instead of chasing them down potentially every day).

The new feature allows an organization to configure specific days of the month for all recurring contributions. If enabled, a recurring contribution request will not go through immediately, but will be queued for the next allowed day. In addition, all recurring contributions will get tested and pushed forward if necessary to the next allowed day. This functionality opens a bit of a can of worms (e.g. allowing donors to choose their next donation, not implemented), and requires the next feature below to be useful.

Additional Editable Fields on Recurring Contribution RecoRDS

Every recurring contribution schedule has a corresponding record in the recurring contribution table that describes things like the amount, the payment processor, the next scheduled contribution, etc. In the default recurring contribution model, there's not much to do with the recurring contribution except look at it, since the schedule is managed by the payment processor.

But with our token model, you generally would like to edit more things, and now you can. Also, by default that edit form is a bit scary because it doesn't show you whose record you're editing, so it's nice to get some extra information on the same screen like, the name of the person, etc. to be sure you're changing the right thing.

As an aside - you'll also want to be able to sort and search your recurring contribution records, and there's already an iATS report for this purpose that you can use to generate, e.g. a list of all cards due to expire this week.

Handling Recurring Failures

When the payment processor manages the recurring schedule, failed donation handling takes place there also, so your options as an organization are limited to their policy and practice.

With the first versions of the iATS processor, we set up failure handling very cautiously, judging that it's better to err on the side of fewer donations than annoying or angering your recurring donors.

But of course, there's no one size fits all, and it's nice for organizations to set their own policies and practices, and with the new release we've got a few new things hapenning by default, and also some new options for advanced usage.

You can read the documentation here, but the key things are:

1. Optional email notifications of failures (yes, by batch).

2. Different handling depending on the nature of the failure.

A more interesting thing is - you can now determine exactly how/when attempts are made to reattempt failed contributions. There are a couple of new switches in the recurring contribution job that make it appropriate to turn off the default recurring contribution job, and only run it on specific dates/times via the cron api method. This is particularly useful for fixed recurring dates, so you can for example, run one or two retries on specific days for each batch before giving up and then trying again the next month.

All this, and maybe a bit more will be ready with the new iATS release 1.5, due out in about a week. Advanced testing welcomed! Did I mention you get all this for ACH/EFT (direct debit) as well? You do.

Passing form data from Wordpress to CiviCRM

$
0
0

Our customer Werk Met Zin (platform of independent 'job' coaches and trainers in Flanders) use a Wordpress site as a front end and CiviCRM as their back end. There is now one specific instance where an individual can apply for a series of coaching sessions on the website. This has to be passed to CiviCRM and rather than updating the website to Drupal we are passing the data from the Wordpress site to CiviCRM. The company that develops the Wordpress website knows nothing about CiviCRM (and want to keep it that way.) Any remarks and/or suggestions are very welcome, and obiously we will share the solution with the CiviCRM community once it is complete. Here is what we plan to do (and thank you to Werk Met Zin for funding the development and us at CiviCooP for developing.....):

  • create a Wordpress plugin that catches the form (with the save_post action) and passes all the data fields on the form to CiviCRM using the REST API WpCivi (entity) Submit (action)
  • create a CiviCRM native extension with the API WpCivi Submit. In this extension we will:
    • check if a contact exists already and create one if it does not
    • generate a special activity for the contact with custom data for the information entered on the Wordpress form.

 

Extension to configure CiviCRM items

$
0
0

CiviCooP is working with Emphanos on a nice CiviCRM project (of which I am sure Young-Jin will blog at some point in the near future). As part of this project I developed a specific extension that creates or updates Activity Types, Contact Types, Custom Groups with Custom Fields, Event Types, Groups, Membership Types, Option Groups with Option Values, Relationship Types and Tags from JSON files.

So for example there is a JSON file for activity types which looks like this:

{"cont_education_info":{"name": "cont_education_info","label": "Continuing Education Info","is_active": 1
  },"award_win":{"name": "award_win","label": "Award Win","is_active": 1
  },"advocate":{"name": "advocate","label": "Advocate","is_active": 1
  }
}

When the scheduled job Update is executed it will either create or update all the activity types in the JSON file with the values in the JSON file. So rather than manually creating and changing the activity types in your test environment and your production environment you just run the scheduled job in this extension. The added benefit is that the names of the activity types will be the same in all your project environments, so you can use the name in other customizations. In this JSON file there is an activity type award winner, so in any modification I create I can get the activity type for Award Winner with this name, knowing it will be as consistent as the 'Meeting' name for the activity type Meeting.

So for staging, you would start with a development environment, include all your settings once they are agreed on to the JSON files, and then run the scheduled job with the new JSON files on your accept environment so the agreed settings are created and/or updated.

Here is also an example of the option group with option values, which will also be created or updated when the scheduled job has run.

"employment_status":{"name":"employment_status","title":"Ik ben werkende","is_active":"1","is_reserved":"0","option_values":{"labourer":{"name":"labourer","value":"Arbeider","label":"Arbeider","is_active":1
    },"services":{"name":"services","value":"Bediende","label":"Bediende","is_active":1
    },"self_employed":{"name":"self_employed","value":"Zelfstandige","label":"Zelfstandige","is_active":1
    },"other":{"name":"other","value":"Ander","label":"Ander","is_active":1
    }
  }

Altought it was specifically created for this project it is obviously easy to copy and change to your specific situation. I know I do it for other projects :-) So I thought it would be nice to share even though there is no point in publishing the extension. You can find it here: https://github.com/CiviCooP/org.iida.civiconfig.

Hans Idink from Orgis and Trinfinity has added Profiles to the same extension (although be careful, he might not have my latest fixes yet....), you can find this here: https://github.com/catorghans/net.trinfinity.orgis.mi.dataquality/tree/master/resources

Updating extensions for 4.7

$
0
0

Using extensions on 4.7 I discovered that if you add entities but don't define them via hook you can get errors.

 

So, if you have an extension that defines entities you need a hook like the one below

 

/**
 * Implements hook_civicrm_entityTypes.
 *
 * @param array $entityTypes
 *   Registered entity types.
 */
function accountsync_civicrm_entityTypes(&$entityTypes) {
  $entityTypes['CRM_Accountsync_DAO_AccountContact'] = array('name' => 'AccountContact','class' => 'CRM_Accountsync_DAO_AccountContact','table' => 'civicrm_account_contact',
  );
  $entityTypes['CRM_Accountsync_DAO_AccountInvoice'] = array('name' => 'AccountInvoice','class' => 'CRM_Accountsync_DAO_AccountInvoice','table' => 'civicrm_account_invoice',
  );
}

Announcing CiviVolunteer 2.0 Release

$
0
0

Manage all your volunteer projects from a central dashboard with CiviVolunteer 2.0

Ginkgo Street Labs is proud to announce the availability of CiviVolunteer 2.0 to the CiviCRM community. CiviVolunteer adds volunteer management to the donor tracking, membership management and event registration capabilities of CiviCRM, the Bossie award-winning nonprofit constituent relationship management (CRM) system. This latest release of CiviVolunteer introduces major improvements in functionality over the previous version, released in August 2015.

Here are some of the things you'll find in CiviVolunteer 2.0:

  • CiviVolunteer now has its own item on the CiviCRM menu. All of the configurations are at your fingertips.
  • It is no longer necessary to house volunteer opportunities within an event. This greatly streamlines the volunteer management process for projects which are not related to an event. Furthermore, this change allows you to post an opportunity for a need that doesn’t have a specific schedule, such as a graphic designer or bookkeeper. If your organization uses volunteers at events, you're still able to enable volunteer management when creating an event.
  • Volunteer management is now multi-tiered, enabling outside organizations to create volunteer opportunities. In addition to specifying a contact as the Beneficiary of a volunteer project, projects can be assigned an Owner and a Volunteer Manager. These roles are useful for specifying permissions, providing volunteers with a contact, and managing system notifications.
  • Visitors to your CiviCRM web site can now search for volunteer opportunities by date, by role or by beneficiary. There's also the option to search for volunteer opportunities within a specified distance of a location.
  • Volunteers can sign up for multiple volunteer opportunities at once using a "shopping cart."
  • A volunteer using the online sign-up can provide information about additional volunteers he or she is bringing.
  • Organizers can produce a mobile-friendly roster of signed-up volunteers to help with day-of operations.
  • Volunteer projects can be associated with a Campaign. Volunteer-related activities created for a contact inherit the project's campaign setting, and Campaigns can be used for reporting across volunteer projects.

CiviVolunteer can be downloaded from the CiviCRM extensions directory or installed from within CiviCRM from the Administer menu, under System Settings > Manage Extensions (some systems may have it under Custom Data and Screens > Manage Extensions). You'll also need to install version 1.0.1 or later of Angular Profiles– a utility extension which helps the Angular and Backbone JavaScript frameworks play nicely together – in order for CiviVolunteer to function properly. If you're currently using CiviVolunteer, the new version should be available as an update on the Manage Extensions page. Right now, CiviVolunteer 2.0 is available for CiviCRM 4.6. We’re working on a couple of 4.7-compatibility issues; a release for 4.7 will be up shortly.

Ginkgo Street Labs would like to thank the members of the CiviCRM community who made contributions to the project, especially CiviCRM LLC, the Hunger Free America, Friends of Georgia State Parks & Historic Sites, the SIFMA Foundation, Horn Farm Center for Agricultural Education, and Barbara Ericksson. This project is fortunate to have more supporters than can be listed here; a complete list of contributors is available on the extension microsite.

As part of the numerous events planned for CiviDay, we did an online tour of CiviVolunteer 2.0. If you couldn't make it, a recording is available.

We encourage members of the CiviCRM community to try the new version and look forward to hearing your feedback!

Viewing all 290 articles
Browse latest View live