Changing template for event/contribution forms The wordpress site is setup with a 2 column template as the default. But this doesn't work for event/contribution forms. If I forget to set the template to full width I get a sidebar. If I set the template to full width, I get the sidebar inserted at the bottom of the forms pages. I think there is a way to set the default template for a form but can't find it.

Add the following snippet to your theme functions.php replacing page.php with the template you want to use.

Note: you have to be using >= v4.6 of CiviCRM in order to use this.

add_filter('civicrm_basepage_template', 'my_base_template');

function my_base_template($template){
    return 'page.php';
}


Contribution page receipt (date and time) My contribution page receipt is showing the wrong date and time.

I submitted the page at 11.30 on 1st August 2016, but the receipt to my email states '8th, 2016 1:01AM'

Update: Further submissions show that '8th, 2016 1:01AM' is always shown. I am using a webform to submit the details.

Everything else is correct, just this. Any ideas please?

CIVICRM 4.5.8
Drupal

Thanks,
Andy

Been there; seen this - exactly this - but it got resolved - likely during a 4.6 minor version upgrade - before we had a chance to debug it ourselves.

I highly recommend you upgrade from 4.5.x for many other reasons than the receipting.


Importing Event Participants with Contribution/ Payment I am relatively new at civicrm and I have a question about Event imports. I've been reading the documentation here:
https://docs.civicrm.org/user/en/latest/common-workflows/importing-data-into-civicrm/
about Import Participants and Import Contributions. The documentation seems to keep them separate from each other. The documentation touches upon importing multiple csv's for relational data, but doesn't go into great detail about the actual process.

The question is: Is there a standard procedure for importing event participants with their corresponding contributions / payment?

I know that there are many tables involved such as contribution, financial_trxn, financial_entity_trxn, event, participant, line_item...that are involved in this sort of import and frankly, it seems like a complicated import.

The way to do this is to import the Contributions and Participant records separately via the CiviCRM import tools. You may need to also import any new contacts you have first. Using the import tools takes care of all the extra complicated tables.

Then to connect the Contributions to the Participants:
You will need to export a csv of all the imported Contributions and a csv of all the imported Participant records. Match up those two lists based on the Contact ID. Then you will manipulate that data to be importable into the civicrm_participant_payment table. Which is just Participant id and Contribution id.

Then you will have all data where it needs to be and properly connected


How to Clone a Price Set Field and Its Options Currently one can Clone an entire Price Set, however it is not possible AFAIK to clone Price Fields with their Price Options.

Does anyone have a clever way to do this, front end or backend?

My situation: I am creating a large amount of fields, but many are just copies. Such as Person 1 Data, Person 2 Data, Person 3 Data. I need to clone everything EXCEPT the Price Field Title.

Thanks! (and take pity on my wrists and mouse)

Sorry - your best bet is a big pot of coffee and just getting it done via the GUI! That's because there are quite a few places in the database that are touched when storing price options. Even with phpMyAdmin access (like you have) it's going to be a lot of copying of rows - then updating IDs - carefully linking them properly to the other tables involved in Pricesets. Something is likely going to be out of place. Best to use the GUI.


Is it possible to set "Do not mail" -- but only for a time I was asked an interesting question the other day: is it possible to set time-bound privacy settings? (Such as "Do not email for 3 months" or similar). Perhaps an extension that is out there?

https://civicrm.org/extensions/do-not-contact-until
May not be compatible with latest version of CiviCRM as it hasn’t been updated for a number of years.


System Status page notifications After upgrading CiviCRM on Drupal 7 to 5.22.1 (from 5.21), the system status page says:

  The site is running 5.21.0. Additional patches are available:

  5.21.1 (2020-01-10): Fix recent regressions involving "Enable multiple bulk emails" and "Payment Summary" table.
  5.21.2 (2020-01-23): Fix recent regressions involving contact date-filters, certain receipts, certain smart-groups, and localized installation."

An attempt to run the database upgrade again returns the error: The database has already been updated to 5.22.1.

Does this mean the upgrade did not succeed? If it did, how can the system status page be updated?

Help will be greatly appreciated.

I'd suspect you didn't actually update CiviCRM, as far as CiviCRM is concerned.

Perhaps the old code is still kicking around and accessible to your CMS (e.g. perhaps you left it in, maybe renamed?).
Perhaps you have a very aggressive opcache that hasn't recognized the new code yet.
Perhaps you didn't install the new CiviCRM codebase that you thought you did (I've done that before often enough ...).


After moving site to localhost links no longer work with clean urls enabled CiviCRM 4.7.7 and Drupal 7.43 installation on MAMP stack on Mac. I downloaded the files and database from a live site to verify that the backup worked. The home page comes up fine but clicking on any links brings up a generic MAMP page:

When I turn off clean urls the links work properly. The links on the live site work fine with clean urls enabled.

After commenting out the line "RewriteBase /" in the .htaccess file, clean urls worked as expected.


CiviRules - cannot assign a tag inside a tag tree When I try to add an action to Add a tag that is within a tag tree, none of those "sub-tags" show up. If I have to move all sub-tags that I have up to the top level in order to make this work, this will be a real pain to administer.

I can imagine that it is a pain. Can you please add this issue to the CiviRules repository at https://github.com/CiviCooP/org.civicoop.civirules/issues?

Are you able to solve this yourself (do you have PHP skills)? There is documentation on how to add your own condition here: https://docs.civicrm.org/civirules/en/latest/create-your-own-condition/. Fixing one will follow the same pattern.

If not, the usual community thing comes up:

if the problem is big for you, it might be worth hiring someone familiar with CiviRules to fix it for you
if the problem is not big for you wait until it is important to someone else and it is fixed


How can I delete all CiviCRM Campaigns? How can I delete all CiviCRM Campaigns without having to delete one at a time?
I have over 500 of them.
Is there a way to do this with the API explorer?

Yes, you can do that with chaining in API Explorer:

$result = civicrm_api3('Campaign', 'get', [
  'sequential' => 1,
  'options' => ['limit' => 0],
  'api.Campaign.delete' => ['id' => "\$value.id"],
]);


"Record Membership Payment" under "Edit Membership" not working after upgrade to 4.7.22 Screenshot of results of checking "Record Membership Payment" on upgraded site:

How it should look:

We recently upgraded to 4.7.22.  Now, if I click "Record Membership Payment", under "Edit Membership", the payment options do not show up.  The same thing happens for members that already have a membership, and I click "Update Payment Status".  I attached a picture of what the screen looks like after checking the checkbox.  I looked in the logs, and do not see any errors.  We are using Drupal 7.56

There is some complicated logic in CiviCRM related to memberships and payments, especially auto-renewing memberships, and it depends on the payment processor as well.

On one of my 4.7.22 installs for example, it doesn't offer me the opportunity to record a membership payment at all on the edit membership screen, even for non-auto-renewing ones.

My guess is that the upgrade has tightened some of the cases that it thinks shouldn't be used (e.g. an auto-renew membership shouldn't allow you to run an administrative payment via the membership edit screen).

If you can provide details about your payment processor, and also try editing memberships for both auto-renewing and non-auto-renewing, you might get some more useful clues.

On the other hand, the fact that it's giving you that checkbox, but not providing an opportunity to input details when you check it, should be considered a bug.


Where do I create an issue on lab.civicrm? I found a small bug in this file:

  /sites/all/modules/civicrm/templates/CRM/Contribute/Form/Contribution/Confirm.tpl

Where do I submit an issue on lab?

Visit https://lab.civicrm.org/dev/core/issues. You might need to create an account if you don't already have an account there or a civicrm.org account. Then you'll see a new issue button. But search there first if it hasn't already been reported.


How can I collect custom contribution data in an event registration form? People register for events. As part of that registration I want to collect some data that will be stored as part of their participant record. No problem.

I'd also like to collect information that will be stored as part of the contribution record linked to the event registration, but there seems to be no way to do this, as I can't access the profile containing the custom contribution fields in the online registration set-up for the event.

Am I missing something, or is the only way to do this by using a Drupal webform.

IMHO you cannot achieve this using a default event registration page. As you have mentioned, Drupal Webforms may be an option as well as using CiviRules or another extension/custom function that does some "magic".


Buildkit - amp test failed - /root/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/root/' is executable' I am trying to setup buildkit in my new Debian machine. I installed all the required packaged, ran civi-download-tools and amp config with correct credentials and included Include /root/.amp/apache.d/*.con in apache2.conf file. On restarting apache it gave me error saying there was no *.conf file to be included in /root/.amp/apache.d. I checked the directory; it was empty.

However, I copied localhost-7979.conf from my previous buildkit setup on another machine and placed inside /root/.amp/apache.d folder and restarted apache. On running amp test it gave me following error:

PHP Warning:  file_get_contents(http://localhost:7979/index.php): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden  in phar:///opt/buildkit/bin/amp/src/Amp/Command/TestCommand.php on line 163

I checked localhost-7979-error.log inside root/.amp/log. Following line was there.

'/root/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/root/' is executable'

Strange. There isn't even any .htaccess file inside /root.
I tried every solution I could find on CiviCRM StackExchange and Forums but none worked.

I was performing all actions as a root. That was probably the reason no .conf file was generated in /root/.amp/apache.d/. I switched to a non-root user with sudo privileges and it worked smoothly.


Membership tokens missing after upgrade to civi v5 I would like to use the membership.fee token in a mail. However, it isn't displayed in the list of tokens the mailer view offers and it's not working when I use it manually. I saw a suggestion to use a membership context, but I'm not sure what that means exactly. I've tried "Find members", saving the list of contacts to a dynamic group and selecting them as recipients, but this won't work either.

I'm running civicrm 5.18.0

You may find this provides the missing feature you need

https://civicrm.org/extensions/nzcofuzioncivitoken


How do I store old leads so they don't bother the current leads? Is there a module like "leads" and "contacts" for un useful leads?

You can use Tags to denote Leads v Unleads.


How to create a case activity using the API? I want to create an activity inside a case. I can create a case using $result = civicrm_api3('case', 'create', $params); But how do I pass the case id in the api which creates an Activity. To create Activity I am using: civicrm_api('Activity', 'create', $activityparam);

The param you are looking for is case_id which can be used like:

civicrm_api3('Activity', 'create', array(
  'subject' => 'Hello',
  'case_id' => 123,
  ...
));


Canceling Recurring Contributions Without PayPal I just noticed that our receipts for recurring contributions say "You can cancel this recurring contribution by visiting this page" with a link to PayPal's homepage and "You can update your amount by visiting this page" again, with a link to PayPal's homepage.

Almost all of our contributors are using credit cards, not PayPal.  How can I set this so our contributors can cancel a recurring contributions or increase the amount, when they are not using PayPal?

Thank you
CiviCRM 4.7.22 on WordPress 4.8.22

Have a look at this Q&A. I think it is the answer you are looking for

Wrong return URLs in PayPal Standard


Mosaico Left Aligns All Text Using Drupal, Civi 7.30, Mosaico 2.0 Beta 3

Whenever we center align text - its shows up as such in Mosaico, but then will left align in html preview and when actually sending email. Also shows up in source as correctly aligned in mosaico, but not when sent.

Any idea why this is?

Issue on GitHub

If you select your text and put it into a DIV block and then choose the alignment it should be fine. I have found the the paragraph block does not hold the alignment.

Hope this helps


How to use Smarty for change greetings for French? I need to adapt Greetings in order to fit to French (which has a feminine and masculine for "Dear").
I read on the forum that I should use Smarty and read the short documentation (CiviCRM documentation) but I haven't understood how to use it :(

Where should the following code come (once adapted of course)? In the email source or in the greetings settings?

{capture assign=first_name}{contact.first_name}{/capture}
Dear {$first_name|default:Friend},
{if $first_name}
  Hello, {$first_name}, how are you?
{/if}

My second question is where do I set something like:

WHEN contact_gender IS female THEN contact_greeting IS Chère

Do I have to create any custom fields?

Any help will be very appreciated :)

Try below code

{capture assign=contact_gender}{contact.gender}{/capture}
{if $contact_gender eq 'Female'}
  Chère {$first_name|default:Friend},
{/if}

or

{capture assign=contact_gender}{contact.gender}{/capture}
{assign var='contact_greeting' value='Dear'}
{if $contact_gender eq 'Female'}
  {assign var='contact_greeting' value='Chère'}
{/if}

{$contact_greeting} {$first_name|default:Friend},

Cheers

Pradeep


Custom Field for CiviCRM Membership not accessible from Drupal Rules module I'm trying to access a custom field used for Membership in CiviCRM from the Drupal Rules module.
But it seems this custom field, civicrm-membership:custom-8, in not accessible from the Drupal Rules modules and it doesn't contain any value.
This is the rule I'm trying to create to add a CiviCRM Contact to a Group:
{ "rules_add_group_to_contacts" : {
"LABEL" : "Add Contacts to Groups",
"PLUGIN" : "reaction rule",
"WEIGHT" : "1",
"OWNER" : "rules",
"REQUIRES" : [ "devel", "rules_conditional", "civicrm_entity", "rules", "civicrm" ],
"ON" : { "civicrm_membership_create" : [] },
"DO" : [
{ "devel_debug" : { "value" : [ "civicrm-membership:custom-8" ] } },
{ "CONDITIONAL" : [
{
"IF" : { "text_matches" : {
"text" : [ "civicrm-membership:custom-8" ],
"match" : "Stay and Play - Coffee mornings"
}
},
"DO" : [
{ "civicrm_entity_rules_action_assign_contact_to_group" : {
"contact" : [ "civicrm-membership:contact-id-contact" ],
"group_id" : { "value" : { "18" : "18" } }
}
}
]
I'm working with Drupal 7.
Many thanks in advance for your help.

There are a few things you can try here:

Go to CiviCRM's Administer menu >> System Settings >> CMS Database Integration.  Compare the array there against the one listed in settings.php.  This array (in settings.php) must be updated when you add new custom field groups to CiviCRM (since they add new tables).  This is most likely your issue.
Consider installing the civicrm_entity module, which should make your CiviCRM entities available as Drupal entities.
Consider using CiviRules, which is a CiviCRM-native rules engine.  It's very similar to Rules, but it generally understands CiviCRM better.


Contact Search Results Address Type When I do Search->Find Contacts and get the standard list of contacts, it looks like the address displayed is not the contact's primary address, but simply the first address that was created for the contact.  I've looked in the code to try to find where this query is located, but I can't find it.  Shouldn't the search results screen display the primary address, primary email, and primary phone?

I know I can create a custom profile to change the search results screen, but I would think that the default screen should display the primary contact information by default.

MikeLab, Welcome to CiviCRM SE.

The address to be displayed on search result (primary or non-primary) is based on the setting 'Search Primary Details Only'.

You can change the value of this setting by navigating to CiviCRM >> Administrator >> Customize Data and Screens >> Search Preferences.

If you set 'Search Primary Details Only' to yes then it search address or phone or email on primary, if no then it will search on all address or phone or email. The same logic also works on listing.

HTH

Pradeep


500 server error for live contribution page Latest Wordpress version with multisite setup in wordpress - not Civi.  Upgraded to civicrm 4.6.10 - also existed with civi 4.5.8 - no changes.

I can go to an existing page via the wordpress side (example.com/donate) and the civi - content shows fine.  However, if I click contribute on that page (or use the live link from civi back end) I get a 500 server error.  No obvious messages with debugging turned on (Are there log files I should review?)

Happens with stripe and paypal and even the manual option of sending by check!

It does not seem to like example.com/donate/?page=CiviCRM&q=civicrm/contribute/transact

or

http://example.org/civi?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1

EDIT:

Turned on PHP error reporting on my host and was delivered an error message about my google calendar plugin.

Fatal error: Class 'WP_Requirements' not found in /root/www/wp-content/plugins/google-calendar-events/google-calendar-events.php on line 46

Deactivation of the Plugin allows the system to process normally.

Same issue: posted yesterday to developer - no response yet: https://wordpress.org/support/topic/plugin-not-compatible-with-civicrm-profiles

Check your civicrm config log file. You are getting donate page working because of cache file. To get the proper error message, you need to remove the civicrm temporary (templates_c) folder and enable the debugging. Also check for common folder in civicrm ( in version 4.6.10 it's missing for drupal release).


How to remove notice at login When users login right now (Jan 4, 2018) they get a notice publicising CiviCamp 2018.  For 99% of users this notice is inappropriate. How do I remove it?  I know it can be removed via some update to civicrm settings file but can't find how to do this.

This is a preference you can set, but it's not exposed in the web interface.  There's a section of civicrm.settings.php that documents it.  In case you've upgraded from an older version of CiviCRM that doesn't have it, I'm including it here:

 // Opt-out of announcements by the CiviCRM core team for releases, paid services, events, etc. Separate each preferred optout category with a comma:
 //   "offers": paid service offers
 //   "asks": requests for donations or membership signup/renewal to CiviCRM
 //   "releases": major release announcements
 //   "events": announcements of local/national upcoming events
 $civicrm_setting['CiviCRM Preferences']['communityMessagesUrl'] = 'https://alert.civicrm.org/alert?prot=1&ver={ver}&uf={uf}&sid={sid}&lang={lang}&co={co}&optout=offers,asks';

More documentation is available at in the CiviCRM Administration Guide, see page Customization > Override Settings.


Assign two different emails for two different groups (but only one contact)? Is it possible for one contact to subscribe to two different groups with two different emails – or will CiviCRM always send email to the primary email address?

IOW, is this possible?:

Robert Smith has two emails and is subscribed to two groups:
1. Group A sends to robert.smith@work.com
2. Group B sends to bob@home.com

You can create a location type for each group - collect emails for that location using a profile.

Then when emailing click options (the spanner icon) for recipients to choose the location.

See answer + screenshot at Add non-Primary email address to Group by Fabian


Using CIVICRM to manage a Fundraising Dinner We run a fundraising dinner once a year, approx 400 people, mainly couples.
what would be the best way to
a: set up an event that we can enter couples as contacts (we have to write to them post dinner)
B: is it event or campaign
C: report that shows total raised, amount outstanding and amount paid
D: report as C but showing names

Thank you and sorry if its simple as new to this

It might involve both an event and a campaign. You can set up a campaign with a financial goal, etc. and then create an event for the dinner itself that is tied to that campaign.

If you're using Backdrop or Drupal you can use Webform CiviCRM to set up a registration form that allows entry of both contacts, flexible webform-style payment options, and can also connect them via a relationship. With a core registration form you could allow the user to register multiple people, which could work depending on your pricing structure.

For reports, you can use core reports or custom searches to filter on that event or campaign specifically.


How can we rank contacts in league tables based on 'points' for completing Activities, attending Events, having a Membership, etc - "gameify" CiviCRM? I want to create "league tables" (rankings based on "points") - similar to the user rankings that Stack Exchange uses - for contacts who have participated in Events, completed various Activities, have Membership(s), made other Contributions, etc.

Completing different actions would have different, weighted points - for example, an organization might value attending a political action, or signing an online petition, or voting, more highly than merely having a Membership or just contributing money otherwise.

It seems relatively simple - assigning the points to the Activities, Event participation, etc in back-end tables and adding custom fields, then creating Reports using current capabilities with some slight tweaking.

Rankings based on weighted points could be more objective than merely assigning a leadership/engagement value (like 1,2,3,4,5 with 1 being better/most, 5 the least) to a contact, which can be somewhat subjective.

Has anyone done something like this using Civi? Would be great to know.

Thanks!

I'm the author of CiviPoints that John and Erik mentioned. We have a points system internally at Future First for tracking engagement, and then colour codes based on that for reporting. Currently it's being done with spreadsheets.

Some development was done before the sprint on the database structure and API for this extension, and a basic UI including contact tabs. Hearing more about CiviRules at CiviCon and the sprint I thought it would be a great idea for automating our weekly figures. I'm interested in integrating it with CiviRules as both a trigger (when some level of points is hit, do X) and an action (when Y happens, grant some points). There's a preliminary version of the action part in a branch.

I haven't done anything on it since the sprint, and it's not in production or automatic distribution, because our main priority has been working on a new portal for our members. I do hope to give it more attention soon though!

League tables aren't something I've considered before, but sounds like a good idea. Some features it does have, in the underlying structure at least, are point-in-time history, and support for multiple points types (different programmes, or maybe engagement tracking as well as some sort of credits).

Some issues/enhancements are listed on GitHub. Please feel free to use it and test it, any feedback would be welcome. Thanks!


How do I send mailings to subsets via the API? This is a big question :-)

I'd like to be able to use the API to send mailings to subsets of groups.

What is the simplest way to achieve this?

Ideally I'd like to be able to define a subgroup using an SQL subquerey:

SELECT contact_id FROM {{mycustom tables}} WHERE {{my custom logic}}.

Alternatively my custom code could execute this sql and pass in an array of integer IDs: [2344, 651234, 7212334, 123512... etc] (but I'd rather the SQL filter)

We have a legacy mailer that uses custom logic to identify subset of people for distributed grass roots field organisers (GRFOs) to send emails to 10-200 people at a time.

We need a very simple mailer interface for our GRFOs as given their large number and the churn in the organisation we haven't found that exposing them to the full complexity of the CiviCRM has worked.

Combining this custom filtering with custom tokens (which we already have) and our own integrated simple mailer front ends would enable us to really rock-out with the CiviCRM mailer.

I have a suggestion for this :

In your custom code where you get the contacts use the GroupContact API and create a group and add those contacts to that group. And than using the Mailing API  send the mailing by referencing that group. After sending  you can delete that group. HTH.


How to trigger creation of an Activity based on a Contribution being Completed - via CiviRules The goal is that when a Contribution is Completed then an Activity is created for a Thank You Call.

I tried doing this with 'Contribution is Added' trigger, and setting Contribution Status is Completed as the Condition, but seems this is failing for online ones. It works fine for backend ones I am guessing because with backend the Contribution is set to 'completed' when it is created.

With the online payments is the Contribution record created initially, and then is the status set to 'completed' only after the result comes back from the Payment Processor?

Is there any other Trigger I could run this from? Any other suggestions of how to achieve this?

You might try with the "contribution is changed" trigger, as you have already done Pete. Alternative is to create your own specific trigger which combines the two? Or find another field to act upon for the online contributions?


CRM.$ is not a function after upgrade 4.7.8 > 4.7.13 Running upgrade CiviCRM 4.7.8 to 4.7.13, on Drupal 7, I have a white screen with just "[]" message and "Retry" and "Skip" buttons, and js error : CRM.$ is not a function.
Tried to change the theme : no effect.
js and css files are not compressed.

Do you have any idea ?

I recommend doing the upgrade via drush if you are having trouble doing it in your browser.


Page timeout on contact import Drupal 7 CiviCRM 4.6.28 Hosted on: Pantheon

I have a client that needs to import 15,000-20,000 contacts on CiviCRM. The problem we are running into is that importing any amount over 500 is causing a page timeout error to be thrown; our host, Pantheon, puts a strict 60-second limit on how long a page can take to load. We have been working on getting the resource usage down, which has improved the import, but the error is still being thrown.

The import does continue, and finish the job, after the error is thrown. We need the error to stop being thrown, though, so that the client can be confident that the import has completed.

The current idea we have to fix this is to skip over the import progress bar popup, keep them on the Summary page, and use Ajax to track the import and communicate when it is finished.

I'm fairly new to CiviCRM, so am wondering, does that solution sound doable?  Or, does anyone have an idea for another solution to this problem?

That's a lot of contacts to import at once. Honestly, I try to keep it below 2,000 an import, especially if there is a lot of information. If you're only allowed a max of 60 seconds, it's likely there are other places where you will also run into errors regarding it timing out. Not only that, I've found that often times even when you think it did import everything, there was indeed information left out, errors with contacts, etc. Long term, your best solution will likely be a new host where you get more control over your resources. Looking at their site, it appears to be more of a shared hosting environment and I've found that I can rarely get a large CiviCRM site running well unless I'm either on a VPS with control over the resources or a dedicated server.


Using a Variable/Token for Config Directories to Get Site Root Path I am using Drupal 7 with CiviCRM 4.7.12.

When setting the Directories for CiviCRM...

I know you can use [civicrm.files] and [civicrm.root] to get file system paths. However, I have my extensions, custom templates and custom php in the root of my web server.

Is there a token or variable that I can set that will point CiviCRM to the root directory of my site?

For example I could have the following for the "Custom Template Directory":
[site.root]/CustomTemplates

Note: There is a Paths.php file that defines a Paths class that contains cms.root. However, when using that in the directories settings it tells me that the path cannot be found.

Take a look at issue CRM-19371. It a small bug and fixed in CiviCrm 4.7.13. I fixed my 4.7.12 installation by using this patch.


How to tag a contact when importing possible duplicates I want to import a list of participants that attended an event and tag them and put them in a group.  Many of the names are already in the system so it doesn't import them based on the dedupe rule of names/emails. But I still want the existing names to be tagged and put in a specific group. I have the list of those not imported, how do I tag them and put them in a specific group for emailing purposes?

thanks

The Import Contact function can also help you to do this. Select the option Update for duplicate contacts.

In the last step of the import wizard, you can add a group or a tag to the imported (or updated) records. In the case you do not want to overwrite existing database values, you can create an import file that contains only the fields that you use to match.


Where is a list of breaking changes published for each new version? We seem to have had several serious instances of loss of functionality when installing newer versions of CiviCRM. A lot of software projects have a list of breaking changes as each new version is released. Without an organized official list, I am afraid the developers might not actually be aware of breaking changes. The main losses (the ACL one filed as a bug) are:

ACLs no longer work with smart groups (this was working for us as of ~4.5.6).
ACLs don't even work with static groups anymore.

3. Bulk email, cron + CivicMail, no longer works. The cli.php cron method no longer works. We had bulk email working as of version ~4.5.6 using cli.php. I spent hours working with wp_cli recently on 4.7.4 and I can't get that to work either.

I would go back immediately to v4.5.6 if I could, but the schema changes to the database prevent this.

Edit: I fixed #3 -- I was missing the 'view all contacts' permission for the cron user.

CiviCRM does not have a "Known Issues" report per se, and I do not believe I have ever seen such a section in the announcement of a new release. What it has is JIRA (issues.civicrm.org), which provides many tools for tracking problems great and small.

This is where you report and track specific bugs; for example, CRM-17968 scheduled emails not processed is reported to be fixed as of 4.7.4. But you are also given many tools for navigating the issues according to severity, resolution progress, and anticipated correction. You can see planned releases, the Change Log of which fixes were applied to which versions, and recent progress.

Broken functionality is not always detected during pre-release testing. I think if the core development team knew critical functionality was broken, they would fix it rather than include it in a report. Helping test the beta versions, either on your system or on demo.civicrm.org, will help prevent the software from going to release with major unresolved problems.

Related: What should I do if an issue is marked as fixed in JIRA but it is still occurring?

Obligatory lecture: the installation and upgrade guide, for one, emphasizes that you should back up your databases before attempting an upgrade. Your organization should have its own change control protocols for releasing new software to make sure that critical functionality does not suffer, and the system should be tested thoroughly before moving it into production. Your inability to roll back to 4.5.6 is not the fault of the developers.


Why after importing contact records were Addressee field values set to "Customized" for records where Custom Addressee had a null value? I imported a large group of organisations into a sub-org group "Media". Some orgs had a specific generic addressee (ie, Editor) which I imported into the Custom Addressee field.

After import I noticed that any record that had a null value in Custom Addressee field now also had an Addressee field = "Customized" rather than the default Addressee tokens. This behavior seems a little odd but may be a product of how civi handles default field values that rely on tokens - guessing here.

I also tried to create a Profile that would allow me to bulk update the incorrect records. While it looked like I could select the default token string from the drop down list and civi seemed to be running the update nothing actually changed.

There are rather a lot of records to be going into each summary and changing them individually. Rather than doing a re-import and deferring import of Customs Addressee data until a subsequent import, I thought I would ask if anyone had a simple solution and/or an explanation for this behavior. Any assistance appreciated.

CiviCRM 4.4.10

Thanks

I came across the same issue after upgrading a very old civicrm DB to latest (4.7.27)- i ran the following simple queries to reset to my default IDs (listed at civicrm/admin/options/addressee?reset=1 )

UPDATE civicrm_contact
SET addressee_id = 1
WHERE contact_type = 'Individual';

UPDATE civicrm_contact
SET addressee_id = 2
WHERE contact_type = 'Household';

UPDATE civicrm_contact
SET addressee_id = 3
WHERE contact_type = 'Organization';

I didn't need to retain any existing or "customized" but if one did, adding AND isnull(addressee_id) should work


outgoing sms activity link to provider when using multiple providers? I'm testing out multiple sms providers, and I'm using the api to do reads for reporting on the back end, but I can't seem to figure out how the system knows which sms provider sent a particular sms. The Activity table doesn't seem to have  provider_id reference of any kind unless I'm missing it. Is it in an attached table or something? I can't find a list of providers either. Is that in the database?

From the db schema https://doc.symbiotic.coop/dev/civicrm/latest/schema/tables/civicrm_sms_provider.html

It looks like you might be after the sms_provider_id from the civicrm_mailing table, or sms_provider_id from the civicrm_action_schedule table.


Installer not showing up I've uploaded the file civicrm-5.8.2-wordpress.zip into the plugins folder and unzipped it. I've activated the plugin. The first time through this process the installer ran to the point of creating the database, but then this error shows up on the CiviCRM dashboard:

"Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Constraint Violation - contact_id should possibly be marked as mandatory for DashboardContact,create API. If so, please raise a bug report."

I deactivated and uninstalled the plugin, unzipped it again and activated it. Same error. And the Settings menu does not show a CiviCRM Installer.

CiviCRM shows up in the left nav menu of WP, but clicking on it gives the same error above.

Any guidance would be much appreciated!

I realize your situation isn't identical the one discussed here but I would try running the upgrade script to see if it resolves your issue.

If not - one important change is to make sure you remove the CiviCRM database tables when reinstalling!  If you installed to a separate database from WordPress, that should be easy.  If not, and it's not practical to restore from a backup, you can drop all tables with a prefix of CiviCRM.


Record payment for event registration in CiviCRM 4.7.16 We've recently upgraded to CiviCRM 4.7.16. I need to record a payment for an event registration. I used to go to the event record, click edit, and then there would be an option to record a payment. Now, that option does not seem to exist. When I add a new event participant, there is also no opportunity to record a payment. Anyone know how I can record a payment?

I think i replicated this on Demo, but only if the Event was not set to be a Paid Event at civicrm/event/manage/fee?reset=1&action=update&id=x

As soon as i made it a Paid Event, the Record Payment option appeared when editing an Event Registration


Why can't the asset builder find With Drupal 8 + CiviCRM 5.30.1
The asset builder is unable to find the crm-menubar.css file, i.e. this url:
https://example.org/civicrm/asset/builder?an=crm-menubar.css
gives me:
Unrecognized asset name: crm-menubar.css
[after updating /Civi/Core/AssetBuilder.php to catch the error, previously it was generating error pages]
Any thoughts about how to debug this? I've checked and re-checked the urls/paths and everything else seems to be found properly. I see the crm-menubar.css file in the locations I would expect ...
The Drupal asset injector is installed - is it possible that might be interfering?

Answer to the Issue
The origin of the problem is when you ignore this: https://civicrm.org/blog/daved/action-required-drupal-8-installs-and-upgrades-composer-and-patches
To fix an existing installation which was upgraded or installed without the 'enable-patching' configuration, you can can do this:
composer config 'extra.enable-patching' true
composer update civicrm/civicrm-asset-plugin civicrm/civicrm-core civicrm/civicrm-drupal-8 civicrm/civicrm-packages  --with-dependencies

Original Post
I figured out that if you run
composer config 'extra.enable-patching' true

straight after
composer create-project ...

installation is going to work.
Background:
We have a scripted install which worked fine with 5.28.4 so I thought
to upgrade to 5.30.1 but got the following message at
cv upgrade:db

vendor/bin/cv upgrade:db
Found CiviCRM database version 5.28.4.
Found CiviCRM code version 5.30.1.
Checking pre-upgrade messages...
_Pre-announcement for upcoming version 5.30_: If your composer
configuration or composer.json does not enable patching, you MUST do that
BEFORE running composer to update your files to version 5.30. Either by
using `composer config 'extra.enable-patching' true`, or updating the top
level composer.json's extra section with `"enable-patching": true`. See
Drupal 8 installation guide [1] for details.
The default copies of the message templates listed below will be updated to
handle new features or correct a problem. Your installation has customized
versions of these message templates, and you will need to apply the updates
manually after running this upgrade. Click here [2] for detailed
instructions.

    * _Events - Registration Confirmation Invite_ - Support negative hours for
cancellation/transfer
    * _Events - Registration Confirmation and Receipt (on-line)_ - Support
negative hours for cancellation/transfer

The default copies of the message templates listed below will be updated to
handle new features or correct a problem. Your installation has customized
versions of these message templates, and you will need to apply the updates
manually after running this upgrade. Click here [2] for detailed
instructions.

    * _Contributions - Invoice_ - Ensure that amount paid is shown even when
fully paid

Links:
------
[1] https://docs.civicrm.org/installation/en/latest/drupal8
[2] https://docs.civicrm.org/user/en/latest/email/message-templates/#modifying-system-workflow-message-templates

I hope that helps.


Comparing Duplicate address I have set of name, addresses, phone number etc in CiviCRM. These are slightly outdated. I have an excel sheet for the same people with their new addresses. I have a unique external identifier for most of them.

If the excel sheet address is new, I want CiviCRM to add it as a second address and if it is same as old address, then I don't want to update.

How can I achieve this?

The most reliable way to do this is to not import addresses that are known matches.

I regularly use Pentaho Kettle to create import files for me.  I'll separate addresses into their own CSV, then use Kettle to look up whether the address matches the contact's address in Civi.  I'll filter out those that do, leaving only remaining addresses.  However, Kettle has a high learning curve.

You could do the same with just LibreOffice Calc or Microsoft Excel - but it requires some Excel/Calc knowledge.

Export all CiviCRM addresses (with external identifier) to a CSV.
Open the CSV in Calc/Excel, and concatenate all the fields you want to compare into a new column (make this Column A).  Label this column "Unique lookup".
Create a concatenated "Unique lookup" column in the new address spreadsheet as well, using the same fields.
On the new address sheet, Use the VLOOKUP function in Excel, using exact matching.  Use the existing addresses as your lookup sheet.  Return a value in a new column for matching addresses.
Sort by the VLOOKUP field in your new addresses.  Delete any address that has a match in the existing addresses.


Display thank you message in QuickForm I'm writing an extension with a quickform form. It takes _GET parameters to set itself up. I've done this in buildQuickForm (not sure when I'd choose to use preProcess instead?)
I've got the quickform to display and to be processed ok, but once it's processed ok I'd just like to display a "ta very much, love" message to confirm it's all finished.
I'm using CRM_Core_Session::setStatus() to display the message.
The problem is that after processing it seems to issue an HTTP redirect to which then goes back to the build phase, which then gives errors because there's no _GET data this time.
I've tried (to no avail)

using $this->set('isCompleted', TRUE) in the postProcess() function and then checking for that using $this->get('isCompleted') in the buildQuickForm() function, but it get unset.

using CRM_Core_Session::pushUserContext('civicrm/myform?isCompleted=1') thinking that this might cause a redirect to that URL. It doesn't.

setting a property on the form in post, but it's not there when the form is re-fetched.

using CRM_Utils_System::redirect() to redirect to civicrm/myform/?isCompleted=1, which does redirect, but not until the build has re-run and generated errors on the session.

The way I've done this is:

in preProcess, if (!empty($_GET['reset'])) { then inspect GET for the initialisation data, and if it's valid, store it using $this->set('key', $validData). I've also set some object properties in this stage, but these will only be around for one request, including a showForm one. I have called setMessage() with any initiation data validation errors.

in buildQuickForm, I've reduced this to adding just the form elements I need to display. (I was previously using hidden elements to store the authorised/parsed initiation data.) I also $this->assign('showForm', $this->_showForm);

in my .tpl file I wrap the whole thing in {if $showForm}.

in postProcess I fetch data using $this->get('contactID'); and user submitted form values from $this->exportValues(). I process that and use setStatus. I then set $this->_showForm = FALSE (might not be necessary) and do a redirect to the same path but without any query data.

on the redirect, without any GET data, my default FALSE showForm variable is not changed, and the form does not display, except for the setMessage messages.

Phew.
I'm not sure this is the right way. But it seems to work. Other answers very welcome!


How can I search by relationship in Contact.get? Is there a way to search by relationship in the Contact.get API call?

Eg: give me all the contacts that are individuals, in group 9 and have a relationship type 8 (optionally specifying direction and/or the other contact) ?

I'm modifying existing code that builds a variety of filters into a Contact.get call and I want to add relationships to that.

The new join feature in 4.7 looks hopeful except that it is not advertised for Contacts in the API explorer.

This is going to require a second api call, first to retrieve a list of relationships for the 2nd contact, use a php loop to turn the list of relations into an array, and then you can add that to the original api call like

'id' => array('IN', $related_contact_ids)

PS. I'm not sure if the contact api3 supports this syntax.


How to search active relationships (e.g) during past year? We record volunteer relationships for our Volunteer contacts.

A contact is an active Volunteer of our organization if exists a relationship "volunteer for" and this relationship has no an "end date".

In the same way, a contact is an inactive Volunteer of our organization if  exists a relationship "volunteer for" and this relationship has a past "start date" and a past "end date".

The difficulty is when you want to get a list of all the volunteers that were active during for example the past year.

How can I obtain a list of these contacts? There is no current built in search to achieve it? We must develop a customized search?

I would do the following, although it's a bit complicated so maybe you will want to develop a custom search after reading :).

Create a smart group to keep track of your active volunteers by searching for relationship type 'volunteer for' and status = active only (no start or end dates so you grab those empty end date people).

When you have your date criteria, for example the past year, create a group of folks who stopped volunteering in the past year by searching relationship type 'volunteer for', status = inactive only, and end date choose range choose your range, such as Jan 1, 2014 - Current date.

Now to get folks who are still active, or ended in the past year, do an OR search (checkbox in advanced search) using your 'active' smart group and your 'inactive in the past year' group.


How can I find a contributor to help my organization with an urgent/difficult upgrade? We are a global NGO based in Costa Rica and I haven't been able to find an expert to help us upgrading our CiviCRM System.
We are now using CiviCRM 4.7.23. and have a new site on Wordpress. We haven't updated it because we haven't found someone to safely transfer our old data to a newer version.
We need help!

Javiera welcome to CiviCRM stackexchange, You can find experts on CiviCRM website or drop a message on CiviCRM mattermost channel.


Menu bar issues and resource url? Our menu bar is currently missing. We are on WP 5.2.3 and Civicrm 5.15.1
I managed to get CiviCRM Admin Utilities installed and that makes the site workable, but i would like to get the menu working. This is what I currently see.
I am not sure if I am on the correct track, but I saw on some forums that this could be related to the resource url.

My resource url currently is .
Is that correct?

I have tried cleaning up the Caches and resetting the paths, but when i reset the paths it says that my civicrm userFrameworkResourceURL is overriden in civicrm.settings.php

My Resource URL is pointing to wp-content/plugins/civicrm/civicrm. My civicrm.settings.php file is sitting in /wp-content/upload/civicrm/civicrm.settings.php.

Is my resource url correct? or what should the Resource url point to?

Sorry for what is probably a silly question, i'm not even sure if this is part of the issue.

If unsure about settings I normally double check them against the relevant sandbox -> https://wpmaster.demo.civicrm.org/ (or dmaster for drupal).

My post upgrade checks for a missing civicrm menu are:

Clear Caches - Twice
Delete all files and directories inside templates_c (Usually located at directory that [civicrm_files] points at. Unless this is overridden in civicrm.settings.php)
Rebuild Menu's

(Note for wordpress the wordpress civicrm admin utilities you mention provides handy links to these, plus more -> https://wordpress.org/plugins/civicrm-admin-utilities/)

Drupal: http://example.com/civicrm/menu/rebuild?reset=1

WordPress: http://example.com/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fmenu%2Frebuild%3Freset%3D1

Joomla: https://example.com/administrator/?option=com_civicrm&task=civicrm/menu/rebuild?reset=1

(adapted from Joe Murray's answer on How to run triggerRebuild URL)

Check the Browser console for Javascript errors. Extensions (Shoreditch for example) if not kept up-to-date can cause problems if they are overriding files, or expecting specific code that has changed in core. This can lead to the menu not showing. Probably not relevant to you - but for Drupal for example if the setting to combine and compress js files into one is selected then often a completely unrelated error can cause havoc else where. Turn off any aggregation.

Incorrect resource url:
This warning is triggered if the following file can't be resolved.
"CiviCRM Resource URL"/packages/jquery/css/images/arrow.png
(Should be located at https://example.com/wp-content/plugins/civicrm/civcirm//packages/jquery/css/images/arrow.png
If you see the "arrows" in you civicrm menu then this is a false positive. If you can't see your menu that doesn't really help sorry.
From memory there have been some false positives for this warning in a recent install.

Additionally you possibly want to think about upgrading to the latest version of civicrm as there have been a few security releases since your version was released. As well as being insecure, if you are not running the latest version you run the risk that the problem you are having was a core bug that has since been fixed.


How do I report a problem in civicrm_api3 class? I am using civicrm_api3 class with the REST api, and Options do not get handled correctly because the code does not allow for an array within the overall parameters array.

I have it fixed  (it is a very simple fix), but I don't know who I should let know.

The procedure for reporting bugs is detailed at https://civicrm.org/bug-reporting . This goes through verifying and reproducing the bug, and then it can be added on the issue tracker.

If you have a patch, you can submit a pull request on GitHub (often against https://github.com/civicrm/civicrm-core) with a reference to the bug report.


Payment gateway for WordPress and Drupal We have to build a payment gateway for CiviCRM in South Africa would like to know what all the modules are that are capable of taking payments?

We CiviContribute and CiviEvents makes use of payment gateways but are there any other modules we need to consider when specking this project out?

For both Drupal and WordPress please.

CiviMember also intersects with the payment plugin, potentially.

But the basic functionality can be built without reference to how it's used.

You'll want to start with this:

https://docs.civicrm.org/dev/en/latest/extensions/payment-processors/


Is there Constant Contact integration for CiviCRM in WordPress? I don't see Constant Contact on the list of Extensions.

There's an extension to sync them here: https://github.com/cividesk/com.cividesk.sync.constantcontact


Access Instant Messaging in Drupal Views I want to display in Drupal Views the IM details, I think it could be displayed like the websites or phone details.

Should I add it to CiviCRM or is it something civicrm_entity should handle ?

I added the feature in CiviCRM,
https://issues.civicrm.org/jira/browse/CRM-19274


Embed CiviEvent RSS Feed in CiviMail Somebody already asked this on the old forums but there's no reply. I can see how to search for events by date then create an RSS or html version of the search results, but how do I display this in a Mailing? I'm sure it can't be that difficult but I've not managed to figure it out yet...

Thanks

Would this be of help?
https://civicrm.org/extensions/fancy-tokens

" There are several tokens for different time periods of upcoming events, such as 7 days, 3 weeks, and 3 months. After inserting the token into the body of the message, you can change the numeric portion of the token to whatever you prefer. This token will produce a nicely formatted HTML list of upcoming events, ie events starting after now() but before the end of the time period chosen. All event titles will be hyperlinked to the event information page."


Dashboard problem after installing reverse proxy server We recently tightened up the URLs on the server so that everything now goes through https://domain_name.com. There was initially a problem with the dashboard widgets not loading (just hanging on "Loading..."), so I installed nginx reverse proxy, which stopped the "Loading..." issue, but now I get the following displayed where each widget would be:

Not Found
The requested URL /administrator/ was not found on this server.
Apache Server at domain_name.com Port 443

Everything else is working fine. It's just a problem with the dashboard widgets. Any ideas where to start looking for a solution? Thanks.

CiviCRM 4.6.8, Joomla 3.4.3.

It turned out to be a hosting problem. The /etc/hosts file had two conflicting entries, associating the host name with two different IP addresses. So I removed one of them, and Bob was my uncle.


CiviRule triggers 2Xs I have created a CiviRule that Triggers on "Email address is added" with a linked condition of "Field Value Comparison Email.is_primary = 1"
It is triggering and the action is happening. However, it is happening 2Xs. Which shows an error message to our users.
In API4, if I select Email > get -> Where Contact id = xxx; it shows 2 results.
If I select Email > get -> Where Contact id = xxx & ->Where email is primary - yes; it shows 1 result.
The activity that is happening when this triggers is a contribution from a first-time donor. Any ideas why the Link Condition above does not limit my trigger to 1X?
Thanks
Here are the screenshots of the Rule setup per request of jitendra

EDIT: I added more information being sent to the logs. I can now see the Email ID # along with the condition value (per suggestion of ErikH). It is not getting the correct condition on "Email is Primary=1". That is showing 1 for both times but the email table has one with 1 and one with 0.
I added to the condition "& Location Type=Home" Now it just processes the rule 1x.

Check to see what your default email location type is and add that as the second condition: "AND Location Type = [default]"
The issue was that both email table entries (Home & Billing) are initially created as Primary. But the non-default email is then updated to not Primary. So the CiviRule processes before the non-default email update happens. .
Thanks to ErikH and Aidan for their help in troubleshooting this.


Events registration via webform + strict accommodation options I have created 1 event and using a webform to register people. The user can register multiple people using conditions shows/hides contact fields. I would like to include camping options with conditions.

•   A large tent which has to house 4 people
•   Single tents

Camping space is limited. If the user selects 7 people to register, I want them to be able to choose either:

1x large tent
3x single tents
Or
7x single tents

If a user registers 3 people then a large tent is not an option, and so on.

Not sure if this is actually possible.

via Conditionals you should be able to Hide - Large Tent if number of people is less than 4


DataTables warning on Find and Merge page - Upgraded to 5.0 from 4.7.17 I'm Running Civi 5.0.0 with Wordpress 4.9.5

I'm looking to troubleshoot the following warning. It comes up on the Find and Merge page after select any of my Find and Merge rules - no results are shown despite duplicate contacts existing,

  DataTables warning: table id=dupePairs - Invalid JSON response. For
  more information about this error, please see
  http://datatables.net/tn/1

ajax "response" in Chrome's tab shows what looks like the page's html file - I have no idea where to search for the actual ajax:

No error is recorded in Civi's log.

It looks and sounds a lot like this bug. Which is odd because I assume it would have fixed when upgrading to Civi 5.0

This staging site was running 4.7.17 until I updated to 5.0 (I had to manually create the columns card_type, and pan_truncation in the civicrm_financial_trxn table to complete the update).

Looking at the github patch, my dedupefind.tpl appears to contain the patched lines. Is there a part of the patch I'm missing via the WP copy or something else?

I've taken a look at this & a patch should be out next week (I'm expecting that to mean we will release 5.0.1 - the flexibility to do that being the main motivation for the renumbering)


How can I search for all contacts without email? To find offline members or incomplete records, I would like to list all contacts that do not have an email address set. Is there a way to search for this?

Go to Search - Search Builder.

Choose:

Contacts
Email
Primary
Is Empty

Then on the results screen you can also from the Actions dropdown choose Groups - Create Smart Group to save this search so you can run it again in the future and because it's a Smart Group it will automatically adjust the results to be current.


Upgrading from 4.4 to 4.6 stalls - Wordpress I'm trying to update civicrm from version 4.4 to 4.6.   When I try to run the update script, it stalls at "Executed: Upgrade DB to 4.5.beta2"

I found this similar post for drupal (https://forum.civicrm.org/index.php?topic=26648.0) but the answer that worked for him won't work for me.  I checked and this code is already there in civicrm.settings.php:

require_once 'CRM/Core/ClassLoader.php';
CRM_Core_ClassLoader::singleton()->register();

I risked refreshing the page once, and it actually kept going a little bit further to this point: [Executed: Upgrade DB to 4.5.beta9: SQL]

Looking at my inspect element console, I see this ajax warning:

http://mydevurl.com/wp-content/plugins/civicrm/civicrm/bower_components/jquery/dist/jquery.js (9664)

POST http://mydevurl.com/wp-admin/admin.php?   page=CiviCRM&q=civicrm/upgrade/queue/ajax/runNext 404 (Not Found)
send @ jquery.js:9664
m.extend.ajax @ jquery.js:9215
runNext @ admin.php?page=CiviCRM&q=civicrm%2Fupgrade%2Fqueue%2Frunner&reset=1&qrid=CRM_Upgrade:687

Thanks for your help

Try running the upgrades more incrementally (e.g. update to 4.4.20, then to 4.5, then 4.6, etc). (I've had the upgrade process stall on me when trying to move more than a handful of versions at a time.)


Easy "add to Google Calendar" link in Event confirmation emails Are there recommended practices for adding a link in Event email confirmations so that users can easily add the event to their Google Calendar? By default, CiviCRM offers that users download the .ical file, which they can then add to their calendar.

I would like to offer a direct "add to google" link. While not everyone uses Google (I'm one of those who do not), a few of my users have requested this feature.

For web pages, this library seems like a pretty good solution:
https://github.com/carlsednaoui/add-to-calendar-buttons

However, we cannot embed javascript code in emails, so it needs to be simpler. It seems like we can use an URL of the following form, which can be included in message templates:

Add to Google Calendar

NB: I did not test all of the above event variable names. The above probably does not work as-is.

I was wondering: has anyone else already implemented this? any suggestions? should I worry about timezones?

Better late than never, I suppose! I wrote an extension that attaches ics files to event confirmations.

https://lab.civicrm.org/extensions/eventics/


membership by relationship Our members Nate & Marion Seiden
relationship - showing that they are spouses
same household
but the wife, Marion, doesn't have "membership by relationship". we do not know how it happened, or how to fix it.
can you help?
thanks
Sarah Woelz
Congregation B'nai Torah

As a client that uses Jmanage, you are entitled to post these types of questions by emailing support@jvillagenetwork.com - I have created a support ticket on your behalf for which you should have received notification to your email. A support rep will respond just as soon as possible.

Kind regards,
Tamar


Civimail token not recognized I have a question, I am running Drupal 7.54 and CiviCRM 4.7.18. I have created an html template with 3 tokens (from Mailings->New Mailing) {contact.first_name} and the two required which are {domain.address}{action.optOutUrl}

My problem is that in html preview of the email, The contact.firstname points to the name of the sender instead to the 1 participant of the group in the mass-mailing option. I wonder why this is happening. Any clues?

The other 2 tokens are filled correcly in html preview

That is the expected behavior. The preview replaces tokens based on the the logged-in viewer. If you send the email, the tokens will be replaced appropriately for each recipient.


How to allow anonymous user to edit their contact details on CiviCRM? I have created a profile with following fields
First Name
Last name
Street address
Postcode
Phone

My plan is to include the profile link to Contribution Receipt template with hash and let the donor update their personal details if any mistake is in his profile. My link looks like this.

https://example.com/civicrm/profile/edit?gid=48&id=8949&11e24e6f361dceacd63ea0120b00c871&reset=1

But when the link is clicked it says , You do not have permission to edit this contact record. Contact the site administrator if you need assistance.

This is the permission for anonymous user is set in drupal:

CiviCRM: profile create
CiviCRM: profile view
CiviCRM: profile edit
CiviCRM: access all custom data
CiviCRM: access contact reference fields

What am I doing wrong? Can anyone help please? Thanks

The link is missing checksum parameter(cs). It should be

https://example.com/civicrm/profile/edit?gid=48&id=8949&cs=11e24e6f361dceacd63ea0120b00c871&reset=1

Thanks

Pradeep


Incorrect results appearing when searching for events by date range Has anyone else found the "Search All or by Date Range" option in "Manage Events" to return incorrect results, particularly if you have events that have a start date but no end date recorded?

I've filed a bug (CRM-18250) and I think I know where it is, but I'd be interested to know if others are also observing it.

For posterity, I'll note that this issue is resolved in CiviCRM 4.7.5+.


How to automatically set PDF 'Activity Subject' from template subject? Is it possible to automatically set the 'Activity Subject' of PDF letters to the 'Message Subject' of the selected template? I swear I've seen this done with a quick bit of code, but the keywords are escaping me...

Tracked this one down. It worked out of the box in 4.4.x, but doesn't in 4.5.x. Not sure whether it was deliberate, but it's pretty easy to 'fix'.

Edit templates/CRM/Mailing/Form/InsertTokens.tpl and change:

  cj.post( dataUrl, {tid: val}, function( data ) {
    if ( !isPDF ) {
      if (prefix == "SMS") {
          text_message = "sms_text_message";
      }
      else {
        cj("#subject").val( data.subject );
      }

to:

  cj.post( dataUrl, {tid: val}, function( data ) {
    cj("#subject").val( data.subject );
    if ( !isPDF ) {
      if (prefix == "SMS") {
          text_message = "sms_text_message";
      }

It's explicitly only setting the Activity Subject for non-PDFs, which is weird. It looks like it was accidentally(?) reverted when SMS support for recurring contributions was being added. Have created an issue.


Installing CDN Tax Receipts For Us we are new to CIVICRM! I am wondering if someone could possibly help us with fully installing and setting us up with the the extension CDN Tax Receipts?

Welcome to CiviCRM! CDN TaxReceipts can be installed through your manage Extensions screen:

https://docs.civicrm.org/user/en/latest/introduction/extensions/#installing-extensions

If you run into config/support issues you can reach out here on SE. Best to ask detailed questions with screenshots.

If you run into a technical issue you can create an issue here:
https://github.com/jake-mw/CDNTaxReceipts

A number of Canadian IT companies monitor this GitHub repo (Coop Symbiotic, Mustardseed NonProfit, PeaceWorks and ourselves).


Should the No-Overwrite extension be the normal behaviour? I've seen cases where admin users have changed their contact details when adding someone else to an event.

I came across the No Overwrite extension, which makes First and Last names uneditable - great extension! Any reason why this shouldn't be the default behaviour?

Changing the default behaviour is a tricky process, because some will want to keep the existing one as the default.

When I create a new site, I add a handful of "mandatory" extensions, like this one (glad you like it! ;), and it's my default, I think it's not too much of a trouble and allows everyone to have the civi tailored the way they want without disturbing the 10k other installations

X+


404 on link to edit contact with contact hash I'm testing the ability to send emails out with a link for each contact to edit their own information anonymously, using the contact hash token as described in Linking Profiles.

I am able to access the profile anonymously, but when I click on the link provided in the email:
as with tokens: http://[site]/civicrm/profile/edit?reset=1&gid=36&id={contact.contact_id}&{contact.checksum}
in sent email: http://[site]/civicrm/profile/edit?reset=1&gid=36&id=[CID#]&cs=[checksum#]
I get a 404 error.

I've confirmed the URL based on the wiki documentation.
I've tried updating Joomla permissions (Public users are allowed access to profile listing and forms, profile create, profile edit, and profile view).
I've confirmed that my profile does not use any non-contact fields.

What should I check next?

Joomla 3.6, Civi 4.7.12

I tend to use this for my instructions on adding tokens - which in the case of joomla says the url construction should be like

Joomla!: http://www.myorganization.org/index.php?option=com_civicrm&task=civicrm/profile/edit&reset=1&gid=N&{contact.checksum}&id={contact.contact_id}


Is there a way to hide certain transactions from general viewing? In my organization, everyone raises support through Civi's typical donation processing.  Because everyone can view all of the records (both contact and transactional), it's easy for people to see how much support someone else has.  Is there a way to hide or limit the ability for most employees from seeing the financial information of other employees but yet see their own transactions and transactions associated with our general fund?  I could also work with a solution that limits an employee's ability to see the information associated with a different employee.  I'm using Civi 5.0.0.

There are a number of ways you could do your latter option.

A/  set up Groups of Contact for each Employee - then add the Contacts who they should see be able to see - then set up CiviCRM ACLs and remove the permission to View All Contacts - then they will only see those in their Group

B/ use the Permissioned Relationships extension and use this to supply the Access Control via civicrm Relationships


Why do I have GenCodeChecksum uncommitted changes after a fresh civibuild create? I just created a new site with buildkit:

$ civibuild create foo --url http://foo --type drupal-demo

Then I went into CiviCRM and looked at the git repo

$ cd ~/buildkit/build/foo/sites/all/modules/civicrm
$ git status

and I see:

    modified:   CRM/Case/DAO/Case.php
    modified:   CRM/Core/DAO/AllCoreTables.data.php
    modified:   CRM/Financial/DAO/PaymentProcessor.php

Why? I would expect the repo to be clean after a fresh install. The diffs for these files show a different value for GenCodeChecksum within the docblock header for the file, and that's the entirety of the uncommitted changes. What's going on here?

tldr: It's safe but mildly annoying. Please feel free to send a pull-request to update these files.

Longer: DAO files are auto-generated when civibuild calls the script xml/GenCode.php with the data in xml/schema. However, running GenCode is traditionally pretty slow -- even on a fast workstation, it can add 30 seconds to the build-time.

Starting somewhere in 4.7.x, we did an optimization: if the checksum looks right, then GenCode keeps the DAO. (Hooray, faster!) If the checksum looks wrong, then it regenerates the DAO.

In a typical scenario, you might edit a file in xml/schema, then run GenCode, then observe several changes to your local DAO. The GenCodeChecksum would be one of several changes. You'd commit those changes and send them in with the PR.

Right now, I see something like what you describe -- the only difference between the upstream DAO and the local DAO is the checksum. This can happen occasionally (eg if there were contemporaneous PRs manipulating schema and the precise order-of-operations was unfavorable). The consequences are:

GenCode spends an extra second regenerating 1-3 files.
Your git diff shows something unexpected on 1-3 files.

That's mildly annoying - but you still wind up with the right code, so it's safe.

You can fix it by submitting a PR to update the DAO's with the latest GenCodeChecksum.


GSoC 2016: Social Media Integration I'm a third year student studying B Tech in Computer Science and Engineering and Social Media Integration project caught my interest. I have an experience in Social Login integration on a PHP website. So, I believe this project is right for me.

I have already setup a local server and setup buildkit in it. And I have started to look into documentation. Further guidance on project specifics would be a great help. :)

Part of the job is to try shaping more precisely what your project will be, and discuss it with your mentor and the community.

Have you contacted directly the potential mentors? our irc channel is a good place to hang out and have more interactive discussions

In general, the more active you are in the community (eg trying to ask or answer specific questions, see what issues are left and looking for fix, being on irc...), the easier and faster it's going to be up to speed (and in your specific case, that your candidacy and project is selected)


How do I set up CiviMail to automatically remove duplicate email addresses? According to book.civicrm.org:

  Remove duplicate emails: CiviCRM will always dedupe your mailing based on unique contact records. For example, if a contact is in three
  of the groups you are including in your mailing, they will only be
  sent one copy of the email. However, if the same email is used by
  multiple contacts, that email address will receive multiple copies of
  the email—one for each contact using that address. Checking this box
  will ensure only one email is sent to each address

We do have some different contacts that use the same email address.

We would like to set up CiviMail so that it always removes duplicate email addresses and take it out of folk's hands.

I see the check box on the create a new mailing page but would always like this behavior.  In fact, I can't see why you wouldn't want it to always remove them.

Is anyone aware of a way to set this as a default?

In our case, we don't make any use of a contact with someone else's email address.

We ended up just training everyone to make sure that the Remove Duplicate Email is always checked.


Why is my phone only dedup not working? I created a dedup rule "Phone only", and set the only criteria to Phone, weight 30, and threshold 10. (I also tried 1 and 1). It fails to find duplicate contacts that clearly have matching phone numbers. Kind of at a loss here... the admins are complaining.
CiviCRM 5.29.1
Wordpress Version 5.6

My bad newbie error. The phone numbers matched but one was a household contact and the other an individual and deduping doesn't cross types. Same goes for all our rules.


How to disable cache refresh on Manage Groups page The Manage Groups page in Civi 4.5+ displays counts of contacts in each group, and in the process refreshes the smart group contact cache. We've turned off this cache elsewhere as it takes 10mins to complete (we have a lot of groups) - but the Manage Groups page seems to force a refresh. Is there a way to disable this refresh?

I can't see a setting, so am assuming it'd involve commenting out some code. I found the code in Contact/BAO/Group.php that I think disables the count of the contacts, but can't figure out where the cache-refresh itself takes place.

The manage groups page does not force a refresh of the smart group cache but there is a button to do so on the right-hand side:

Without clicking that button, what it does do is count the number of contacts already in the cache, but this query has been optimized and tested against a very large (6 million group_contact records) database.

You'll find more information at https://issues.civicrm.org/jira/browse/CRM-15107


Changing the content of the group that I have created How do I change the content of the group i have created?  The group that I have exists now is not what I intended to create but I am having difficulty changing it.

To start with take a look at the user guide: Managing Groups

If that doesn't help, perhaps you could edit your question to provide a bit more information (and a screenshot if possible).


What's the difference between Job Title and employer relationship description? The "Current Employer" field seems to be a helper for entering a "Employee of" relationship. Fair enough (although presumably designed back in the good ol' days when the majority of people only had one job).

But the Job Title - which presumably relates to the "Current Employer" does not seem linked to the "Description" field of the "Employee of" relationship; it seems to be a separate field?

Does anyone know how these parts are expected to interact?

Afaik, there is connection between the "Current Employer" field and the "Job Title" field.

If you select a contact in the "Current Employer" Field it will also create a relationship AND disable an existing "employer relationship" which is marked as "current employer".

If you create a "employer relationship" you will have a little checkbox that says "current employer". If you tick it, it will also fill the "Current Employer" field and uncheck "current employer" with the existing "employer relationship" (but not disable it).

By the way, if you share an address you also have the option to "Set this organization as current employer" - which effects I do not know from the top of my head.

All this "UI magic" has been introduced / revised a while ago and has confused me plenty. It can also be quite complicated when you try to use the API (e.g. for imports) as the "current employer" attribute is not availbale there (at least to my limited knowledge).

Hope this helps a little bit.


Receipts in dashboard and annual receipts I'm running CiviCRM under Wordpress.

I'd like to give donators access to their receipts at any time. Do you know if I can add them in a sort of user dashboard, so they can download them as pdf (same pdf recieved by email) ?

Is there a way to generate annual receipts, with all year contributions ?

Thank you if someone has an idea !

Do these users have their own individual logins to your website?  If not, it would be difficult to provide them access to their receipts again.  If they do, then some custom code could be written to generate them.

Your annual receipts is a bit more doable.  You could schedule an email to be sent to all donors on January 1, that listed their donations, or at least the total amount of donations. There is a CiviCRM extension called Summary Fields what keeps running balances which probably would help here.

(Note that listing the donations in the year might require a small amount of customization.)


Drupal OG creation on Membership trying to implement the following workflow - New Organisation Membership approval in CiviMember creates OG in Drupal called after Org, with Org drupal account as OG admin.
 I'm looking at maybe using Rules, but I'm a bit new to the module, any tips appreciated.

CiviCRM 5.3.0 Drupal 7.59

Unfortunately Drupal rules module is not triggered on CiviCRM membership CRUD function and CiviRules does but doesn't provide option to perform any CMS changes like creating OG groups in your case. I would recommend to create an extension or drupal module and use CiviCRM post hook to create OG group.
eg:
function extensions_civicrm_post($op, $objectName, $objectId, &$objectRef) {
  if ($objectName == 'Membership' && $op == 'create') {
    try {
      $orgName = civicrm_api3('Contact', 'getvalue', [
        'return' => "organization_name",
        'id' => 1,
        'contact_type' => "Organization",
      ]);
    }
    catch (CiviCRM_API3_Exception $e) {
      // Not a organization contact
      return;
    }
    // get the user id who will controll this group either Employee of relationship?
    $userId = 1;

    //create OG
    $node = new stdClass();
    $node->type = "og_node"; // use the machine name of OG group node type
    node_object_prepare($node);
    $node->title = $orgName;
    $node->language = LANGUAGE_NONE;
    $node->uid = $userId;
    $node->group_group[LANGUAGE_NONE][0]['value'] = TRUE;
    node_save($node);

    $roles = array_flip(og_roles('node', 'og_node', $node->nid));
    og_role_grant('node', $node->nid, $user->uid, $roles[OG_ADMINISTRATOR_ROLE]);
    $values = [
      'entity_type' => 'user',
      'entity' => $userId,
    ];
    og_group('node', $node->nid, $values);
  }
}

HTH
Pradeep


CiviVolunteer Not Working After CiviCRM 5.5.2 Upgrade I just updated CiviCRM from 5.4 to 5.5.2, and now when I click on Volunteer -> Manage Volunteer Projects, or Volunteers -> New Volunteer Project, it just dumps me back to the dashboard, and I don't see any errors in the logs. It was working fine on CiviCRM 5.4.

Is CiviVolunteer not compatible with CiviCRM 5.5.2? This is on WordPress, and the version of CiviVolunteer I have installed is 4.7.31-2.3.1.

Any ideas would be greatly appreciated. Thanks.

Matt,

Can you perform CiviCRM cleanup cache? This usually happens when menu is not registered. You can do this by navigating to CiviCRM >> Administer >> System Settings >> Cleanup caches and reset paths and then click on cleanup cache. Or you can just hit the url with civicrm/menu/rebuild&reset=1

HTH

Pradeep


Contact Import German Date Format support? CiviCRM 5.20.2/WP:

My system is using german locale. The contact import does not offer german date format "dd.mm.yyyy", even it is set for birth class in the date settings (dd.mm.yy).

How can I get german date format dd.mm.yyyy supported in the contact importer?

The contact import page only offers these date formats:

yyyy-mm-dd OR yyyymmdd
mm/dd/yy OR mm-dd-yy
mm/dd/yyyy OR mm-dd-yyyy
Month dd, yyyy
dd/mm/yy
dd/mm/yyyy

Maybe, the easiest way is, to open the csv in Excel (or LibreCalc) and do some magic with formulas?

Something like

=SUBSTITUTE(C9;".";"/")

Or even much easier: Open the file in Excel (or LibreCalc) and do some search and replace in the column?

That's the way I would do it, if the file isn't to big for Excel and it isn't a work I had to do every day.


I have a list of contacts exported in an Excel. Now I want to adding the same activity to all of them I've exported a list of approx 200 contacts from Civic, including contactname.
I'd like to add in one go the same acticity (i.e. delivery of a brochure) to all of them, avoiding to add that activity manually one by one.
Is there a way to massively add the same activity to several contacts?
Thanks in advance for your support

Welcome to SE Emma:
Make sure that you have contact Id in the exported list. You need this to match accurately to the contact. You then add columns to the spreadsheet for your information for the activities. You probably want to export a trial activity to see what you need and make sure you include all the mandatory fields. You can copy the information to all the contacts. Save as a CSV file. The go to Contacts >> Import Activities and follow the wizard.
I strongly recommend some testing, either on a test site of with some dummy contacts that you can delete afterwards. You will need a bit of trial and error to understand the detail. Set the source field to something specific so that you can identify these activities afterwards in case of any problem.
https://docs.civicrm.org/user/en/latest/common-workflows/importing-data-into-civicrm/#import-activities in the documentation will help.


After upgrade to 4.7.29, 500 error on payment WI upgraded to 4.7.29 and get this error when on a contribute page. As far as I can see, the file CRM/Core/.php does not exist. What would/should create it?

Got error 'PHP message: PHP Fatal error:  require_once(): Failed opening required 'CRM/Core/.php' (include_path='/var/www/slnmembers_drupal/sites/default/files/civicrm/extensions/uk.co.vedaconsulting.mailchimp/:/var/www/slnmembers_drupal/sites/default/files/civicrm/extensions/com.drastikbydesign.stripe/packages/:/var/www/slnmembers_drupal/sites/default/files/civicrm/extensions/com.drastikbydesign.stripe/:.:/var/www/slnmembers_drupal/sites/all/modules/civicrm:/var/www/slnmembers_drupal/sites/all/modules/civicrm/packages:.:/var/www/slnmembers_drupal/sites/all/modules/civicrm:/var/www/slnmembers_drupal/sites/all/modules/civicrm/packages:/var/www/slnmembers_drupal/sites/all/modules/civicrm/vendor/tecnickcom:/var/www/slnmembers_drupal/sites/all/modules/civicrm/vendor/phpseclib/phpseclib/phpseclib:/var/www/slnmembers_drupal/sites/all/modules/civicrm/vendor/pear/pear_exception:/var/www/slnmembers_drupal/sites/all/modules/civicrm/vendor/pear/auth_sasl:/var/www/slnmembers_drupal/sites/all/modules/civicrm/vendor/pear/net_sock...\n'

I'd guess you've got payment processor configured with an empty class name. Check the tables civicrm_payment_processor and make sure each one has something in the class_name field, e.g. using

select id,is_active,class_name from civicrm_payment_processor

You can probably delete it if this is the problem.


How Can I Incorporate Profiles in CiviEvent Backend? I am trying to work out how to update custom profile information from the civievent back-end, however I can not get a profile to appear for updating.

Scenario: We are running an event where delegates can either sign-up via our website, or via a paper form. We need to collect specific information for the event such as access and diet requirements. An organiser will be responsible for inputting details from any paper forms received.

I have a profile set up with the additional information which works as expected when used for an online booking and exports without an issue. I have enabled for this profile:

Used for Standalone Form or Directory, CiviEvent_Additional, Search Views
Type Associate, Contact, ParticipantEventName::

So, I would have expected this to allow me to input this information either:

when I go to civicrm/participant/add?reset=1&action=add&context=standalone&eid=XX but it does not appear there
or when I search for participants, highlight them and try to Update via Batch Profile but it does not appear there either

Of Note: the profile used in the same event used for CiviEvent does not appear either

I did think that I might have to import the data via a CSV, but there must be an easier way that I am missing.

this isn't a direct answer to the Q but may be what you want. At the top of Events registration page you should be able to see eg Welcome Joe Doe. (Not Joe Doe, or want to register a different person?) (eg at demo site)

If you click on that option you should then get to a url with cid=0 such as http://d46.demo.civicrm.org/civicrm/event/register?cid=0&reset=1&id=3 and this should allow a back-end user to register someone using the same Profiles etc that anyone would use via the front end.

Is that what you need?


Is there a way to easily locate Profile entries? We use profiles as contact forms on our website, using custom fields for the form options. I am trying to find a list of the contacts that have recently submitted forms, but there doesn't seem to be a way to do it. I have made the form searchable, but when I use the advanced search to look in the profile fields that I created, it shows me all of the contacts in the database rather than just the ones that have submitted data into those custom fields. I would like to search for either:
- forms that are not null, or
- forms by entry date
I just need some way to locate the most recent profile submissions.

Profile don't really work like that.  They are just a way to view, enter and/or change data.  Once submitted, the data is put into the database and the profile zeroed out, so to speak.  By default no record is kept of when a specific profile was used.

Now having said that, there can be ways to get at the data.  If the data changes something on the contact record than you can look at the last modified date on the contact record (under advanced search, change log).  Granted if someone changes something via the standard form you'll get those as well.

You can add a custom field or fields with a default name for the profile so every time that profile gets used that custom field gets populated.  Capturing the date is doable but requires hooks or database triggers.

I think if you turn on complete logging (administer => System Settings => Misc) you can capture all changes to any table.  This options creates a lot of tables and triggers in the database so if you use it, try it in test first.

If you are using drupal then you might look at webforms.  They act like a bit more like I think you'd like. The data from each form submission is saved as a form, kind of like having a paper form of each.  There are some options for analysis, viewing the data as a table or downloading it into excel.


Member since date is being updated on import but we dont want it to! using CiviCRM 4.4.14.
We're trying to update memberships with an import using data from a direct debit processor. In field mapping we're matching the pay out date to 'Membership start date', but some how this is also updating 'Member Since Date' too, despite not mapping this bit.

We really don't want this to happen as we loose how many years someone has been a member and the membership status then sets it's self to 'New'.

It was suggested that we use the start date of the payment plan as the 'Member Since' date, but this would loose any info about memberships that started using a different payment method (i.e. all of them!)

Any help greatly appreciated!
Nicola

Confirmed this is happening on Drupal 6 and CiviCRM 4.4.14. In file: drupal\sites\all\modules\civicrm\CRM\Member\Import\Parser\Membership.php

line number 268 reads:-

     //assign join date equal to start date if join date is not provided
     if (!CRM_Utils_Array::value('join_date', $params) &&
        CRM_Utils_Array::value('membership_start_date', $params)
      ) {
        $params['join_date'] = $params['membership_start_date'];
      }

You could try commenting out this line if it's not possible to calculate the join_date from your data.


How can I add login and registration page for members with civiCRM? I would like to have registration and login page for my clients.by defining user and password and selecting their city.
Now I using Theme My Login plugin for registration, but I want to do this without using plugins? Is it possible? If yes how Can I do this?

So you want a registration page for your site where they input their username, email, password, and city? If I'm understanding you correctly, do it like this:

I haven't used the Wordpress version, but it seems like it should be similar to the Drupal one - I create a profile in CiviCRM: http://www.yourdomain.com/civicrm/admin/uf/group?reset=1

In the settings for it, I choose it to be used for user registration and view/edit account. Username, email, and password you don't have to add to the profile because those are the minimum required elements for a user account.

Then any field you add there will be added to the registration page as well as their user account page (so they can view and update the information).

UPDATE: Forgot one step - you will need to enable an option in WordPress for the option to show up under profiles: Turn on "anyone can register" under Settings > General.


Can you create a dedupe rule to include individual and organisation details Following recent Events/bookings we have found several duplicate organisations have been created.  We used the Name and Email (reserved) Supervised dedup rule and while duplicate individuals have not been created we now have many duplicated organisations.

Any assistance with this issue would be most appreciated as we are due to launch another event which will probably have well over 100 bookings.

Thank you
Allison

Hi Allison

Does the settings for the Organisation Name field look like this?

The short answer is no. Dedupes for individuals and oranisations are handled separately in Civi.

I'm assuming (and feel free to correct me if I'm wrong) you've got an event booking profile for an individual which includes the current employer field.

From Manage events list. Find the event in question.
From the configure options at the RH side of the screen select configure, then online registration.

Under the heading Registration Screen you'll find links to the profiles used to gather contact details. Check the Organisation Name field to see how it is configured. Frequently this uses the current employer field from the contact record.

Soenthing like this

Civi will apply the specified dedupe rule to the new individual details and match as required.

There won't be a dedupe rule specified for the organisation so Civi will apply the Organisation- Unsupervised Rule (Default setting for any situation where members of the public are adding contact details)

From Contacts> Find and Merge Duplicate Contacts
Scroll down to the Organisation, Unsupervised rule. Edit the rule to check how it is configured.

If your organisation- unsupervised rule is anymore complicated than match by organisation name only. Civi will decide there is not enough info to match, and then create a duplicate organisation.

If you have permissions you can edit the rule to match on the Organisation Name only field

If your matching rule is name only, you may still get duplicate organisations in a "Judean People's Front/ People's Front of Judea" scenario. As different users may record their organisation name in a non standard fashion.

Hope this helps.


Searching/filtering by the date a contact was added to a group When viewing a contact's Group tab, you can see the groups as well as the date that they were added to the group.

I've been trying to find a way to search based on the date that a contact was added to a standard group but running stuck. For example, a search for:

contacts that are added to the "Newsletter Subscribers" group
only those added within the last month

Is this type of thing possible?

I have a report for this on Github.
EDIT: Ignore comments below; this report works on modern versions of CiviCRM, and Laryn's improvements are now part of my extension.


CiviRule Minute Delay not working I've created a few rules with CiviRules that trigger an email. They all work perfectly as long as I don't add a delay.
I've tested adding a 1-minute delay with different types of rules but the email never gets triggered?

The job appears in the civicrm_queue_item table but doesn't get released

The job log for CiviRules delayed actions says success

Using CiviCRM 4.7.27 and CiviRules 1.15

I did further testing on my local environment and it works as expected when I changed the site's timezone to the one I live in.

Update: The emails were sent in the end but 11 hrs later even though the release date was correctly set to 1 minute later in the civicrm_queue_item table

The scheduled job for delayed civirules (Process delayed civirule actions (Always)) should be set to always. Can you check if your cron properly executes the CiviCRM scheduled jobs?


Changing the name of a payment processor on the front end Would it be possible to change the name of a payment processor in the event registration screen? When a new attendee is registering for event under Payment Options > Payment Method they see the radio buttons for the available payment processors such as Paypal or Stripe. I want to change the text for the Stripe option to be Credit Card. Our user base doesn't know what Stripe is and it would helpful if it was more general than the actual name of the credit card processor. Any help would be appreciated.

There are many ways to do this. 2 easiest

1) Change the name of the payment processor in /civicrm/admin/paymentProcessor

The problem with this approach is it becomes less clear to you the administrator.

2) A *hack*, go to your current registration page where the radio buttons to choose payment processor appear. Find the < div > tag that encompasses both using your browsers debug tools(right click, inspect element). Record the id(id="xxx") of that div.

in the confirmation screen or registration screen(which screen do the radio buttons appear on in your event) open the the WYSIWYG editor for introductory text and  click on the source button.

Then, enter the following javascript. at the very top, above any text you may have entered.(replace xxx with id you found before)

<script type="javascript/text">
    var divOfInterest = document.findElementById("xxx");
    var replacements = {"Stripe":"CreditCard", "Paypal":"Your Paypal Account", "payment3":"betterlabel"};

    for (var toReplace in replacements) {
        divOfInterest.innerHTML = divOfInterest.innerHTML.replace(toReplace, replacements[toReplace]);
    }

</script>

Again, make sure you clicked the 'source' button on the WYSIWYG editor. Also, make sure you are adding your javascript to the correct Intro text(prob in registration or confirmation)

Note: this will replace any instance of the word "Stripe" with credit card in that < div >.


Tokens when setting up activity scheduled reminder Using Drupal 7.34 and CiviCRM 4.6.4.

We are using civiCase and want to send a reminder to the manager of a case. When I try and set up a template, there does not seem to be a way of telling the manager which case it is they are being reminded about. The token {contact.display_name} generates the name of the manager not the client they are dealing with. So although I can remind the manager to do something, I cannot say which client the reminder relates to.

I have explored the possibility of a custom token but cannot see a way around this.

Any suggestions?

Dave Smith

Yes do add additional values to the template you need to create a tokens on your own by creating new extension or by adding token hook in the existing extension for example for creating tokens please refer to the below link

https://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens

https://book.civicrm.org/user/current/common-workflows/tokens-and-mail-merge/

If you haven't created New extension please refer to the below link

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension


Where is include_path set? I try to get rid of this persistent and annoying warning message:

  Warning: is_dir(): open_basedir restriction in effect.
  File(/usr/share/pear/api/v3) is not within the allowed path(s):
  (/var/www/civicrm/htdocs:/var/www/civicrm/apps:/var/www/civicrm/priv:/var/www/civicrm/tmp:/usr/share/php:/tmp)
  in Civi\API\Provider\MagicFunctionProvider->getEntityNames() (line 106
  of
  /var/www/civicrm/htdocs/drupal/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php).

getEntityNames gets the /usr/share/pear path from the get_include_path(). Where is the /usr/share/pear coming from? The path does not even exist on my Ubuntu 14.04 system.  I have been looking everywhere. CiviCRM runs under Drupal, Apache and PHP fastcgi.

open_basedir is a PHP setting that limits which files can be accessed by PHP for processing.  Its default value invariably is not set to work with CiviCRM and the general recommendation is to disable it.

To disable it, in the httpd.conf file add a php directive: php_admin_value open_basedir none.

More details can be found here: http://php.net/manual/en/ini.core.php#ini.open-basedir


How to remove CiviCRM links from Drupal user account page? By default CiviCRM adds links for » View Contact Record and » View Contact Dashboard on the Drupal user account page for users that have permission to do these things.

These links have proven to be confusing to new users when they log in and see their user account page (we have a "dashboard" in our Drupal system and they get confused when this link leads them to their CiviCRM contact dashboard, which is not helpful to them).

I know that I can:

Use CSS to simply hide them
Use a preprocess function in template.php for my Drupal theme to unset these from the array of user account items

But both of these are theme-specific solutions.

Is there a CiviCRM way to accomplish this?

Permissions are going to be your friend here. If it's a Drupal site you can set a variety of roles with permissions to access parts of CiviCRM; ie:

CiviCRM: access Contact Dashboard
CiviCRM: access CiviCRM
CiviCRM: view my contact
CiviCRM: edit my contact

To supress the View Contact Record link, remove the edit and view my contact permissions from the relevant roles.

If you want to get more granular then you can do so within CiviCRM's ACL (Access Control) settings