Extension Manager fails and so do certain scheduled jobs

I was able to reproduce your issue and fix it on my Linux install.

It seems to only happen with Linux, not MacOSX.
I can fix it by changing the filename of the job to be first letter caps only, i.e. not camel case. Don't make any other changes.

Following the advice in various other locations, including civix or related issues, does not fix it (shortening, changing to all lower case, etc.).

I think part of the noise of this issue is related to changes in the upcoming v4 api which are not true of the v3 api that were introduced in 4.6.

My suspicion is that this patch is responsible for breaking things:
https://github.com/colemanw/civicrm-core/commit/bfcb4795c83dc61e854f4268ef149b6c761636aa


Use single profile on checkout from cart

Just so you know, there's two extensions currently under development for CiviCRM, and specifically that integrate with CiviCRM's Event Cart feature, that might meet some of your needs. They're under active development, and you can check them out on CiviCRM's GitLab.

boxoffice: Provides a lighter workflow for the CiviCRM Event Cart. Designed for a ticket box office (ex: where you do not need the names of other participants).

eventpack: Provides a way to bundle events together (at a discounted price) in the CiviCRM Event Cart (and the Boxoffice extension).


Troubleshooting relationship ACL Permissions

Did you follow the recipe at: https://civicrm.org/blog/sarahgladstone/recipe-for-handling-youth-registration-with-civicrm

Make sure you have both extensions:

Entity Settings Helper Extension (nz.co.fuzion.entitysetting) version 1.2

Related Permissions Extension (nz.co.fuzion.relatedpermissions) version 1.2


Bienvenue sur Stack Exchange. Il existe de nombreuses extensions qui peuvent être ajoutées à CiviCRM qui étendent / ajoutent à la fonctionnalité. Vous pouvez voir une liste des extensions publiées / révisées sur CiviCRM.org et de nombreuses extensions non publiées sur GitLab

Si vous utilisez WordPress, il existe également des plugins spécifiquement liés à CiviCRM qui permettent l'intégration, comme avec les formulaires Caldera.

Welcome to Stack Exchange. There are many extensions that can be added to CiviCRM which extend/add to the functionality. You can see a list of published / reviewed extensions on CiviCRM.org and many unpublished extensions on GitLab

If you use WordPress, there are also plugins specifically related to CiviCRM which allow integration such as with Caldera forms.


DB Error when using dupe_check in rest API

Try upgrading to 5.13.2 since there is lots of change in dedupe rule code since 5.6.

Cheers

Pradeep


You can turn off html encoding for CKeditor through UI (i.e >= 4.7)

Navigate to Administer >> Customize Data and Screens >> Display preferences

Scroll down until you see Configure CkEditor button. Click on it to view all the settings. Under Advance options add entities option as False(as shown in image) and save the form.

Note: You will need to clear your browser cache to reflect the changes(and CiviCRM caches).


CiviMail *only some* Tracked Click Throughs not Redirecting properly

This was reproduced back in 2010: https://issues.civicrm.org/jira/browse/CRM-7192

In short, this is a bug in CiviCRM that someone could fix, but it's very rarely triggered, and those who are affected haven't decided it was worth investing in the fix.


Webform Error - Expected one PriceSet but found 25

Webform doesn't use pricesets.  Are you using a normal fully-configured contribution page that has a priceset?  If so, try a simple contribution page as described here: https://wiki.civicrm.org/confluence/display/CRMDOC/Webform+CiviCRM+Integration#WebformCiviCRMIntegration-Acceptingpaymentsthroughawebform


Civievent custom data field duplicate fields in Edit

I guess the custom field is configured to use for Participants entity with Event name/event type/role set to any.

Solution for fix:

Upgrade CiviCRM to 5.15 or 5.16 because i can't replicate the bug anymore on latest version of CiviCRM.
Change the custom field config to use only Participants as entity instead Participants(Event Name), Participants(Event Type) or Participants(Roles).

Thanks

Pradeep


The problem is that the space in the if-statement is &nbsp; rather than a normal space. For this reason, it's worth writing your smarty statements while viewing the Source code in the template editor.


ERROR: No CMS user associated with given api-key

Actual problem was that there were two CiVi contacts having the same API key set, and one of them was connected with Drupal user but another wasn't, so that was the main issue here.


Using Wordpress Event Registration forms on Multisite

Place this in your functions.php file

register_activation_hook( FILE, 'civicrm_activate');

// Assign minimum capabilities for all wordpress roles and create anonymous_user' role
civicrm_wp_set_capabilities();

This only needs to run once per site to create the role.


Is there a checklist for setting up a new organization's website + CRM?

Palante Tech has been building an internal document for this, but we haven't devoted much time to fleshing it out - it's more a "list of questions we wished we'd remembered to ask" and doesn't get into the important questions, like "What is this for?  Who will be using it?"  Nevertheless, here is our work-in-progress:

All projects

How much traffic does your site currently get, per Google Analytics/Piwik/etc.?
Where is your site hosted?  Are you open/eager to moving your hosting?
Who currently manages your website?
Will there need to be multiple levels of permissions?  How granular/how many?

CiviCRM projects

How many contacts do you anticipate having on day 1?  How many contacts do you intend to add per month/year?
What features of CiviCRM do you intend to use?  Donation management, mass e-mails, membership management, etc.?  Is a particular use driving the project?
[If CiviMail] What sort of mail volume are you doing in your legacy system?
What are your legacy data sources?  How many Excel/Google Docs/etc.?


Using CiviMember to automatically create a Drupal user

This can work -> when on the Contact Summary View -> under Actions -> an Admin can create a user account for that Contact;

And then to Automate this workflow: you can use CiviCRM Entity module + Drupal Rules configured to create a Drupal user account when a Membership (of specific id) has been added;

Working example:


insufficient permissions during upgrade 4.5.5 to 4.6.10

Andrei has not responded, so I will state the answer here. The problem was that I downloaded the .gz file for Drupal rather than the .zip file for WordPress. Once that was addressed, the install went as flawlessly.


It looks like this issue is known by the maintaining developers for the mailchimp extension. Please see https://github.com/veda-consulting/uk.co.vedaconsulting.mailchimp/issues/129 and run through the steps they've suggested on there.

If it leads to a fix, it would be great if you could come back and post your solution on SE!


How can I create A Report based on counties?

This is a good question!  I don't believe there's a report that lets you filter by county "out of the box".  Instead, you can create a smart group, then filter by that:

Go to Search menu » Search Builder.

Build a search using the criteria as I've outlined them in Screenshot 1 below.  Note that assuming you're in the US, there's two "Adair" counties, but no good way to know which is which.  Look at your search results to make sure you're getting the right one.
Press "Search".

Depending on your needs, you might be done!  This may be all you need.  If you need to use this as the basis of other searches/reports (e.g. "show donations from residents of these 3 counties"), you'll want a "smart group":

From search results, select "All records", then select "Group - create smart group" from the "Actions" menu.  See screenshot 2 below, though if you're using an older version of CiviCRM than 4.7, it may look slightly different.
Name your group, press "Save Smart Group".

Now, when doing future searches/reports, you can use the results of the "3 county" search as a "base group" to search/report within.


Drupal 7 Views Not Seeing CiviCRM fields

Here's what is in my settings.php file, although sanitized to remove actual database names, password, etc (found at the bottom of this post).

After doing that, I make sure that I do a complete cache clear in Drupal so that it picks up the changes I made.

Then I go into Views and choose to make a view that is a CiviCRM type (such as one for events or people) - see screenshot:

Once I do that and then go to the next page (to create a page, block, etc), then I have the CiviCRM fields available for what I chose. In this example, I selected CiviCRM Events, so the fields are all related to events.

Here's the code that is in my settings file:

$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'databasename',
      'username' => 'username',
      'password' => 'mypassword',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

$databases['default']['default']['prefix']= array(
  'default' => '',
  'civicrm_acl'                              => 'dbname_crm4.',
  'civicrm_acl_cache'                        => 'dbname_crm4.',
  'civicrm_acl_contact_cache'                => 'dbname_crm4.',
  'civicrm_acl_entity_role'                  => 'dbname_crm4.',
  'civicrm_action_log'                       => 'dbname_crm4.',
  'civicrm_action_mapping'                   => 'dbname_crm4.',
  'civicrm_action_schedule'                  => 'dbname_crm4.',
  'civicrm_activity'                         => 'dbname_crm4.',
  'civicrm_activity_contact'                 => 'dbname_crm4.',
  'civicrm_address'                          => 'dbname_crm4.',
  'civicrm_address_format'                   => 'dbname_crm4.',
  'civicrm_batch'                            => 'dbname_crm4.',
  'civicrm_cache'                            => 'dbname_crm4.',
  'civicrm_campaign'                         => 'dbname_crm4.',
  'civicrm_campaign_group'                   => 'dbname_crm4.',
  'civicrm_case'                             => 'dbname_crm4.',
  'civicrm_case_activity'                    => 'dbname_crm4.',
  'civicrm_case_contact'                     => 'dbname_crm4.',
  'civicrm_case_type'                        => 'dbname_crm4.',
  'civicrm_component'                        => 'dbname_crm4.',
  'civicrm_contact'                          => 'dbname_crm4.',
  'civicrm_contact_type'                     => 'dbname_crm4.',
  'civicrm_contribution'                     => 'dbname_crm4.',
  'civicrm_contribution_page'                => 'dbname_crm4.',
  'civicrm_contribution_product'             => 'dbname_crm4.',
  'civicrm_contribution_recur'               => 'dbname_crm4.',
  'civicrm_contribution_soft'                => 'dbname_crm4.',
  'civicrm_contribution_widget'              => 'dbname_crm4.',
  'civicrm_country'                          => 'dbname_crm4.',
  'civicrm_county'                           => 'dbname_crm4.',
  'civicrm_currency'                         => 'dbname_crm4.',
  'civicrm_custom_field'                     => 'dbname_crm4.',
  'civicrm_custom_group'                     => 'dbname_crm4.',
  'civicrm_dashboard'                        => 'dbname_crm4.',
  'civicrm_dashboard_contact'                => 'dbname_crm4.',
  'civicrm_dedupe_exception'                 => 'dbname_crm4.',
  'civicrm_dedupe_rule'                      => 'dbname_crm4.',
  'civicrm_dedupe_rule_group'                => 'dbname_crm4.',
  'civicrm_discount'                         => 'dbname_crm4.',
  'civicrm_domain'                           => 'dbname_crm4.',
  'civicrm_email'                            => 'dbname_crm4.',
  'civicrm_entity_batch'                     => 'dbname_crm4.',
  'civicrm_entity_file'                      => 'dbname_crm4.',
  'civicrm_entity_financial_account'         => 'dbname_crm4.',
  'civicrm_entity_financial_trxn'            => 'dbname_crm4.',
  'civicrm_entity_tag'                       => 'dbname_crm4.',
  'civicrm_event'                            => 'dbname_crm4.',
  'civicrm_event_carts'                      => 'dbname_crm4.',
  'civicrm_events_in_carts'                  => 'dbname_crm4.',
  'civicrm_extension'                        => 'dbname_crm4.',
  'civicrm_file'                             => 'dbname_crm4.',
  'civicrm_financial_account'                => 'dbname_crm4.',
  'civicrm_financial_item'                   => 'dbname_crm4.',
  'civicrm_financial_trxn'                   => 'dbname_crm4.',
  'civicrm_financial_type'                   => 'dbname_crm4.',
  'civicrm_grant'                            => 'dbname_crm4.',
  'civicrm_group'                            => 'dbname_crm4.',
  'civicrm_group_contact'                    => 'dbname_crm4.',
  'civicrm_group_contact_cache'              => 'dbname_crm4.',
  'civicrm_group_nesting'                    => 'dbname_crm4.',
  'civicrm_group_organization'               => 'dbname_crm4.',
  'civicrm_im'                               => 'dbname_crm4.',
  'civicrm_job'                              => 'dbname_crm4.',
  'civicrm_job_log'                          => 'dbname_crm4.',
  'civicrm_line_item'                        => 'dbname_crm4.',
  'civicrm_loc_block'                        => 'dbname_crm4.',
  'civicrm_location_type'                    => 'dbname_crm4.',
  'civicrm_log'                              => 'dbname_crm4.',
  'civicrm_mail_settings'                    => 'dbname_crm4.',
  'civicrm_mailing'                          => 'dbname_crm4.',
  'civicrm_mailing_abtest'                   => 'dbname_crm4.',
  'civicrm_mailing_bounce_pattern'           => 'dbname_crm4.',
  'civicrm_mailing_bounce_type'              => 'dbname_crm4.',
  'civicrm_mailing_component'                => 'dbname_crm4.',
  'civicrm_mailing_event_bounce'             => 'dbname_crm4.',
  'civicrm_mailing_event_confirm'            => 'dbname_crm4.',
  'civicrm_mailing_event_delivered'          => 'dbname_crm4.',
  'civicrm_mailing_event_forward'            => 'dbname_crm4.',
  'civicrm_mailing_event_opened'             => 'dbname_crm4.',
  'civicrm_mailing_event_queue'              => 'dbname_crm4.',
  'civicrm_mailing_event_reply'              => 'dbname_crm4.',
  'civicrm_mailing_event_subscribe'          => 'dbname_crm4.',
  'civicrm_mailing_event_trackable_url_open' => 'dbname_crm4.',
  'civicrm_mailing_event_unsubscribe'        => 'dbname_crm4.',
  'civicrm_mailing_group'                    => 'dbname_crm4.',
  'civicrm_mailing_job'                      => 'dbname_crm4.',
  'civicrm_mailing_recipients'               => 'dbname_crm4.',
  'civicrm_mailing_spool'                    => 'dbname_crm4.',
  'civicrm_mailing_trackable_url'            => 'dbname_crm4.',
  'civicrm_managed'                          => 'dbname_crm4.',
  'civicrm_mapping'                          => 'dbname_crm4.',
  'civicrm_mapping_field'                    => 'dbname_crm4.',
  'civicrm_membership'                       => 'dbname_crm4.',
  'civicrm_membership_block'                 => 'dbname_crm4.',
  'civicrm_membership_log'                   => 'dbname_crm4.',
  'civicrm_membership_payment'               => 'dbname_crm4.',
  'civicrm_membership_status'                => 'dbname_crm4.',
  'civicrm_membership_type'                  => 'dbname_crm4.',
  'civicrm_menu'                             => 'dbname_crm4.',
  'civicrm_navigation'                       => 'dbname_crm4.',
  'civicrm_note'                             => 'dbname_crm4.',
  'civicrm_openid'                           => 'dbname_crm4.',
  'civicrm_option_group'                     => 'dbname_crm4.',
  'civicrm_option_value'                     => 'dbname_crm4.',
  'civicrm_participant'                      => 'dbname_crm4.',
  'civicrm_participant_payment'              => 'dbname_crm4.',
  'civicrm_participant_status_type'          => 'dbname_crm4.',
  'civicrm_payment_processor'                => 'dbname_crm4.',
  'civicrm_payment_processor_type'           => 'dbname_crm4.',
  'civicrm_payment_token'                    => 'dbname_crm4.',
  'civicrm_pcp'                              => 'dbname_crm4.',
  'civicrm_pcp_block'                        => 'dbname_crm4.',
  'civicrm_persistent'                       => 'dbname_crm4.',
  'civicrm_phone'                            => 'dbname_crm4.',
  'civicrm_pledge'                           => 'dbname_crm4.',
  'civicrm_pledge_block'                     => 'dbname_crm4.',
  'civicrm_pledge_payment'                   => 'dbname_crm4.',
  'civicrm_preferences_date'                 => 'dbname_crm4.',
  'civicrm_premiums'                         => 'dbname_crm4.',
  'civicrm_premiums_product'                 => 'dbname_crm4.',
  'civicrm_prevnext_cache'                   => 'dbname_crm4.',
  'civicrm_price_field'                      => 'dbname_crm4.',
  'civicrm_price_field_value'                => 'dbname_crm4.',
  'civicrm_price_set'                        => 'dbname_crm4.',
  'civicrm_price_set_entity'                 => 'dbname_crm4.',
  'civicrm_print_label'                      => 'dbname_crm4.',
  'civicrm_product'                          => 'dbname_crm4.',
  'civicrm_queue_item'                       => 'dbname_crm4.',
  'civicrm_recurring_entity'                 => 'dbname_crm4.',
  'civicrm_relationship'                     => 'dbname_crm4.',
  'civicrm_relationship_type'                => 'dbname_crm4.',
  'civicrm_report_instance'                  => 'dbname_crm4.',
  'civicrm_saved_search'                     => 'dbname_crm4.',
  'civicrm_setting'                          => 'dbname_crm4.',
  'civicrm_sms_provider'                     => 'dbname_crm4.',
  'civicrm_state_province'                   => 'dbname_crm4.',
  'civicrm_subscription_history'             => 'dbname_crm4.',
  'civicrm_survey'                           => 'dbname_crm4.',
  'civicrm_system_log'                       => 'dbname_crm4.',
  'civicrm_tag'                              => 'dbname_crm4.',
  'civicrm_tell_friend'                      => 'dbname_crm4.',
  'civicrm_timezone'                         => 'dbname_crm4.',
  'civicrm_uf_field'                         => 'dbname_crm4.',
  'civicrm_uf_group'                         => 'dbname_crm4.',
  'civicrm_uf_join'                          => 'dbname_crm4.',
  'civicrm_uf_match'                         => 'dbname_crm4.',
  'civicrm_value_additional_information_1'   => 'dbname_crm4.',
  'civicrm_value_commerce_purchases_6'       => 'dbname_crm4.',
  'civicrm_value_event_information_9'        => 'dbname_crm4.',
  'civicrm_value_host_location_5'            => 'dbname_crm4.',
  'civicrm_value_hotel_information_4'        => 'dbname_crm4.',
  'civicrm_value_hotels_3'                   => 'dbname_crm4.',
  'civicrm_value_member_information_2'       => 'dbname_crm4.',
  'civicrm_value_private_training_8'         => 'dbname_crm4.',
  'civicrm_value_private_trainings_7'        => 'dbname_crm4.',
  'civicrm_website'                          => 'dbname_crm4.',
  'civicrm_word_replacement'                 => 'dbname_crm4.',
  'civicrm_worldregion'                      => 'dbname_crm4.',
);


Adding extra information to event registration

You will want to make the Custom fields on the Participant record (not on the Event). Then you'll be able to add them into a Profile and add that Profile to the Online Registration section for your Event.


Can I set permissions to see one type of contribution, but not another?

A few years after the question was asked ... the answer is yes!

Financial ACL's were added a while back but the docs have not been updated yet.

Go to Administer > CiviContribute > CiviContribute Component Settings, and tick Enable Access Control by Financial Type.
Go to your CMS permissions to grant access to each financial type by role.

See this blog post for details.


"API error: DB Error: constraint violation" when installing Stripe extension

I fixed this particular problem.  I haven't been able to recreate the problem so I can't state the source, but the following steps allowed me to install the extension.

1) remove all other extensions from the extensions folder (including ones which were not installed).
2) truncating the civicrm_extension  table
3) truncating the civicrm cache tables

Note that just trying v1.92 of the extension was not effective, nor was deleting the Stripe extension record in the civicrm_extension table.


Assigning only a part of a contribution to a Contribution Page

As far as I know, since the link to the contribution page is determined by the source of the contribution as opposed to its individual line items, I do not believe this is currently possible. Even if you recorded two separate contributions, unless you have a corresponding contribution page for each (which would indeed be confusing as you state), they would both still be associated with the same contribution page

You may want to research alternative methods of pulling this information by line item financial type into an alternative widget - my knowledge of widgets is limited.

Hope this helps,
Tamar


How can arrange custom fields so they are side by side?

The case custom fields are formatted as a series of one row tables.  You could add some jQuery to move them around.

For example:

CRM.$(function($) {
  $('#Outcomes table:nth-of-type(3n+1)').each(function (index) {
    // Combine 3 rows into 1
    for (var i = 0; i <= 1; i++) {
      $(this).find('td:last').after($(this).next().find('td'));
      $(this).next().remove();
    }
    // Merge tables
    if (index > 0) {
      $(this).prev().find('tr:last').after($(this).find('tr'));
      $(this).remove();
    }
  });
  // Remove labels if not wanted
  $('#Outcomes td.label').remove();
});

You can add it to your page in various ways, but I'd create a tiny extension and drop it in there.  See also wiki.civicrm.org/confluence/display/CRMDOC/Javascript+Reference

Without jQuery:

With jQuery:


How do I change the expiry date on one of our donors recurring credit card donations?

Using iATS for recurring contributions means that CiviCRM only holds onto a 'token' that is used to trigger subsequent contributions in the schedule. Which means that the card information all lives over on the iATS servers, and the easy answer is that you can edit it there using the iATS payments administrative interface.

But also note that the next release of the extension (tentatively 1.5.0) in a couple of weeks will allow you to do that editing directly in CiviCRM so it'll be much easier.

And finally - note that earlier versions of the extension will not try and run credit cards that it thinks are expired, based on the expiry date of the card originally used. In other words, in those versions, you'd need to re-enter a new card for a new recurring contribution. That rule was taken out of the last couple of releases (1.4.2? not sure), since expired cards can still work during a recurring series (as long as they are not expired when you first set them up).


How to debug variables inside function invoked via ajax call?

The sites/default/files/civicrm/ConfigAndLog/ directory should contain your CiviCRM debug log (and some other files), provided that you're using Drupal, that your Drupal multisite directory is "default", and that the webserver is able to write to that directory. If you're not seeing that, you could:

Check assumptions of what CRM_Core_Error::debug_var() will do with the input you're handing it (eg, check that if you pass in a string like SNORK instead of an array, you see that same word appear in a logfile). ::debug_var() looks like it does print_r
tail -f /path/to/*.log might reveal which logfiles are being printed to when you hit that endpoint.
Check the multisite directory is what you think (should be the same as your settings.php and civicrm.settings.php)
Check again for typos (I see defaut in your question, but that's probably not it!)
Check that the sites/default/files/ directory and its descendant directories are writable to the webserver (typically user www-data, httpd, _www etc)
Double check usage of the debug functions - there have been docs inconsistencies which might lead you astray.
Check out CiviCRM docs on debugging
There are other SE questions on debugging, eg tips on debugging when you can't view page output also applies well to AJAX callbacks etc where you can't/shouldn't modify page output.

CiviCRM has a more modern log interface available in Civi::log()->debug('debug info'); (see How to print variable/debug data from your extension.php? for an answer on that).

If even that doesn't work, you could fall back to "stock" PHP debugging methods like error_log() and file_put_contents() if CiviCRM debugging isn't working.


How do I make a CiviEvent accessible to the public?

By default CiviCRM events aren't publicised online. To make the event public you need to tick the box for online event registration.

See the user guide for more details: Online event registration


I figured it out.
I needed a base page.
It's fixed!


Cases appear on my dashboard "My Cases" but no cases appear on CiviMobile App (android)

Have you found a solution to this?

It appears that the only cases that populate the "Cases" page in the mobile app are those in which you are the client, rather than the case manager or any other case role...


How do I add the With Contact information to the email that gets sent to activity assignees?

The template to edit is the one called "Cases - Send Copy of an Activity" under Administer - CiviMail- Message templates and then click the System Workflow tab. The name is historical - it isn't just for cases.

But it seems like it's not currently possible to get the With Contact information since even the activity id is not available in the template. There is minimal data to work with.

You could do this by customizing CRM_Case_BAO_Case::sendActivityCopy() to include more information. I could see that being useful as a core improvement, to at least include the activity id and related contact ids.

Note that it's possible to have multiple With Contact's on an activity, so if there's more than one you'd need to handle that.


I just verified that a completed mailing (in my test installation of 5.5.3) will show up  in the draft/unscheduled list IF the original creator of the email is a deleted (permanently) user. Doesn't solve the problem but at least gives us a cause.


CiviDiscount Automatic Discounts Not Working on Events

Your setup looks correct. This should provide a 10% discount to members. They must be logged in to their WordPress account in order to receive the discount otherwise the system will not recognize them as members.

I recommend using a randomly generated code. This makes it difficult for random visitors to guess the code.


Custom Hook causes for a PCP problems on event registration page

The problem is that your hook is executing unconditionally on every form. To target just the contribution form, the first line inside your function should be if ($formName == 'CRM_Contribute_Form_Contribution_Main') {.


There are currently two Wordpress integrations that I know of:

1) Contact Form 7 integration, developed by CiviCoop, here more info about it, I haven't tried it yet but looks promising.

2) Gravity Forms integration (paid for add-on) developed by Civivip, link to their shop, it supports Contacts and Activities entities.

Edit

Here's the Caldera Forms integration that I'm working on (the one I mentioned in the comment), is still in progress but is usable, if anyone wants to try it I recommend doing it in test environment first.

Github repository: caldera-forms-civicrm

You will need the Caldera Forms plugin installed previously, and of course CiviCRM, for it to work.


How can I speed up a slow upgrade to 4.7?

The slowest part of upgrading on a large installation is usually the civicrm_mailing_event_* tables.  That data is also often stale, so consider deleting it if you don't need to keep historical information about past civimailouts.


Trying to install CiviCRM 4.7.6 under Wordpress get you do not have sufficient permissions to access this site

For a clean CiviCRM reinstall under Ubuntu / LAMP / Wordpress to work, the initial clearing of all CiviCRM related files is essential.  If there are any vestiges of a prior installation left, the reinstall will certainly fail (either with an Initialization error, or the "You do not have sufficient permissions..." error).

Here are the necessary steps to reinstall (not upgrade) CiviCRM, using the desired / most recent version.

1. Review the directory structure to be sure it is as specified.  OK.
    1. Get to the proper directory:
       (for my configuration:  var/www/wordpress/wp-content/plugins/).
    2. Remove all civicrm files and folders:

sudo rm -R ./civicrm

    3. Remove civicrm log and cache files and folders:

cd ./files
sudo rm -R ./civicrm

    4. Remove the civicrm.settings.php file, if present from prior work.

cd ../civicrm
rm civicrm.settings.php

    5. Check the wp-content/uploads directory for a civicrm subdirectory and files;
       remove if found:

cd /var/www/wordpress/wp-content/uploads/
ls -al
(check for civicrm directory and files and remove if they exist)
sudo rm -R ./civicrm

2. Use wget to pull down the desire / most recent zip file.  OK.

3. Unzip the file.  OK.

4. Use sudo chown to set file ownership as appropriate.  OK.

5. In your favorite browser, login to Wordpress and check the Wordpress plugins list to see if the CiviCRM plugin shows up (you may have to refresh the window).  OK.

6. It does, click the Activate button.  OK.

7. Activated.  OK.

8. Navigate to:  https://yourwebsite.org/wp-admin/options-general.php?page=civicrm-settings

9. If success, you can now see the installation page.

10. Click the configure CiviCRM button and get the green bar screen! OK.

You have now reinstalled CiviCRM.  From here, follow the CiviCRM how-to for configuration details.


what is giving the error sites/default/modules does not exist

Here are a few other possibilities than Xavier's, which seem on point but not yet solving issue:

Check the entries in Administer > System Settings > Directories to see if the sites/default/modules directory appears anywhere and adjust as appropriate if it does.
Using phpMyAdmin or equivalent, check in the Drupal database in the registry table filename field for a module with a path at sites/default/modules. If you find one, change it to sites/all/modules after ensuring it is there.


How to send Amazon SES bounce notifcation emails to civiCRM bounce processing email address?

I've figured it out now.  I'd not understood that bounce processing works only with bulk emails and not with 'transactional' emails.  All works fine if you know this!


Where do I create an issue on lab.civicrm?

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.


Use the API explorer :

$result = civicrm_api3('Event', 'delete', array(
  'sequential' => 1,
  'id' => <your_event_id>,
));

This will delete the event along with the related participant.


Try installing Shoreditch and see if you like it better. If you want to customise things further, you could fork Shoreditch and alter it to your liking.


It is not possible to give a user access to only this area. On what CMS did you install CiviCRM? You could have a look in your cms to the available permissions.


Does CivicCRM let you manage members as companies rather than individuals?

Yes, this is very possible out of the box. Civi has 3 contact types, Individual, Household, and Organization. You can Use Organization Type for Breweries and Individual Type for Employees. Then with Contacts > Relationships you can list the the Employee Contact as an employee of the Brewery Contact. You can use Contact >Tags to give employees Job Titles such as "Marketing" so you can sort by all marketing employees for a Brewery or all Breweries.


Civi dashboard and menus won't display after install

From what you describe, there are some javascript issues in your page, possibly because the URL of some required resources is misconfigured.

I'd inspect the URLs related to errors like the 404 for jquery.min.js you report, and compare those URLs with the actual locations on disk of the same files.

This can happen many ways -

CiviCRM was incompletely uploaded, or
CiviCRM is configured to request files at an incorrect path (see note below), or
CRM-17633: WordPress in its own directory breaks CiviCRM, or
the file is somehow named jQuErY.mIn.Js, or
permissions don't allow you to access some resources (as JohnFF suggested), or
some .htaccess or nginx or apache config prevents access, or
... something ...

"CiviCRM is configured to request files at an incorrect path"

As of 4.7, Civi needs configuration in two places to get things working right! To check this, verify both the CIVICRM_BASEURL setting in civicrm.settings.php and the resource URLs in CiviCRM UI at Administer ➡ System Settings ➡ Resource URLs (wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fsetting%2Furl&reset=1).

If the files are at the correct URL but inaccessible, your webserver error logs should show information on why the webserver doesn't want to serve that file to your browser.

Hope that helps :)


Is it possible to update the mosaico versafix template to the 1.1.16 version?

You can check out the version from github repo and place the template in your installation. I have just cloned https://github.com/voidlabs/versafix-template/tree/v1.1.19/dist/template folder to my Mosaico templates folder and it works.

You can copy the folder as versafix-new and rename html file as template-versafix-new.html so your legacy copy wouldn't get overrided.

p.s. The blog post was about 1.5 years old so my answer is about 1.1.19 instead of 1.1.16.


webform-civicrm error when creating CiviCRM custom data group

This was not a bug that caused any loss of functionality, just a php notice which has since been fixed via this patch: https://github.com/colemanw/webform_civicrm/pull/139


can't log into a site build using civibuild

When setting up a new environment, sometimes Apache's mod_rewrite is disabled. This breaks in Drupal -- creating a symptom where the home page opens, but logins do nothing. Try enabling mod_rewrite.

I've filed an issue about this: https://github.com/totten/amp/issues/23


Deadlocked queries cause an instant error for end-users, but are retried in other circumstances

Instead of trying to "hide" the problem when it happens, it might be safer/wiser to try to prevent it.

I like smartgroups and how powerful they are, but I found that it works better if I cache the results for a while (eg. a day) and rebuild the smart groups via the jobs.

Would it be acceptable to keep a "stalled" version of your groups for a while and avoid rebuilding them all the time in your case?

Also, you mention having a lot of smartgroups, it might be worthwhile creating a custom search that would run the queries you want when you need to use them instead of creating lots of smartgroups. We found it more performant and easier to maintain.

X+


Multi-select not working with crmUiSelect AngularJS select2 directive

For some reason, you can't use the ngOptions directive with select2 multi-select elements. You need to manually specify the <option> elements with ngRepeat like this instead:

<select
  crm-ui-select="{allowClear: true}"
  ng-model="myVar"
  multiple="multiple"
  class="big"
>
  <option ng-repeat="option in options" value="{{option.value}}">
    {{option.label}}
  </option>
</select>

{{myVar}}

That produces the desired behavior:


Receipts in dashboard and annual receipts

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.)


Why am I getting a warning about hook_civicrm when Civi's cron runs?

I'm assuming you have the civicrm_entity module installed. There's an open pull request for this at https://github.com/eileenmcnaughton/civicrm_entity/pull/238
If you're able to test out that patch and comment there on that PR it might get merged faster.


The table is civicrm_entity_tag; make sure you use a WHERE or JOIN to ensure that entity_table = 'civicrm_contact'.


What is the Drupal 8 Webform url for autofill CiviMail linkage

It works just the same!
Example:
/form/special-resolution?cid1=123&cs=6b8783497eb95b80a04d943f04fa8c5b_1585859799_168


How do I get PCPs to look 'right' when shared on Facebook?

As you've discovered, this is not something that the WordPress plugin does by default. You can, however, hook into the 'civicrm_basepage_parsed' action that is fired when (ahem) the basepage has been parsed and roll your own Open Graph tags to be included in the markup via 'wp_head'. The content of the basepage is available via the 'basepage_render()' method of class 'CiviCRM_For_WordPress_Basepage', which can be externally accessed with the following code:

$content = civi_wp()->basepage->basepage_render();

Admittedly, this won't tell you what kind of Civi content is being included in the basepage, but the technique above will allow you to produce something more sensible than what you currently have.


How to create a Drupal View of Open and Resolved Cases

One option might be to create a UNION in your view. Here are instructions for doing so. The top answer says to use custom code, but farther down is a link to the Extra Views Handlers module which may be able to do it.


You'll need a custom report template for that! We have written donor segmentation reports with all kinds of metrics - RFM is just another set of metrics/calculations;

This is still a really good reference to get started on custom reports: https://alastaira.wordpress.com/2011/03/17/civicrm-creating-a-custom-report/


Can't find HTML Snippet in Profiles (Joomla)

You need to enable remote profiles.  Administer menu » System Settings » Misc.  Unfortunately, from your screenshot I see that you're running Civi 4.7.14.  That version has a known bug, where remote profile setting can't be changed.

I would recommend upgrading to the latest 4.7 (this is a good idea anyway; 4.7.14 has known security bugs), then enable remote profile submission.


How are soft credits used for membership payments in webform?

Download the latest -dev of webform_civicrm module. We recently merged in some code that should let you do this (explicity add the soft credit).

This is the commit:
https://github.com/colemanw/webform_civicrm/commit/bc7e0eee2a39ca0c35e34109d3ff05ee2e26b8d3


Tax Label not updating in Price Set using _buildAmount Hook

I finally found my own answer. This is a known bug for text fields in price sets:

https://issues.civicrm.org/jira/browse/CRM-14823

Workaround as per the above link:

https://github.com/fuzionnz/civicrm-core/commit/3174c2e183bc8cfab9082353966a994a9a364bbb


Paypal Pro update billing details for recurring payments link is broken after upgrading to 4.6. How to fix it?

This issue seems to have Fixed on Civicrm 4.6.9


Reserved payment-instruments: can they be removed?

Don't delete them, but there is a trick to disable the ones you don't want without resorting to direct SQL queries. Check out this solution on households to see how to do it via API explorer. In your case we would use:

Entity = OptionValue
Action = Create
Option Group ID = payment_instrument
Option Value ID = 88 (e.g. for Debit Card)
Option Is Active = False.


What's the problem with this state province crash?

This sounds consistent with hitting a rate limit in Google Maps API.

If so, the fix would be to disable geocoding (as you've done) or to configure a valid API key associated with payment details so Google can bill you for geocoding.

I recently observed similar behaviour when a client was viewing large numbers of contacts in a proximity smart group - possibly this triggered a mass lookup of contacts who lacked geographic co-ordinates.

Your CiviCRM debug log may have more information.


How to create Drupal view to show CiviEvents and Drupal Events

I don't think you are missing anything obvious. They are completely different Entity Types so you can't do this in a single view.

This is a constraint of Views.

If you were to create a Drupal node linked to each CiviEvent (using CiviCRM Entities) then you would be able to display all items as 'content' and provide links to the Info and Registration pages from that.

There has been some good documentation about doing that by skvare.com


Can't edit repeat events after upgrade to 5.22

I can see at 5.2.2(D7) all three options when a repeated event is edited.

I believe there is no special condition that will hide other 2 fields. Can you check browser console if they are hidden? It might be because of theme.

HTH

Pradeep


Upgraded to CiviCRM 5.34.0 and extensions broke

Looking at CRM/Extension/Browser.php where that error is generated, I would expect it to show a URL between the at and could in your message.  So Civi isn't calculating the repository URL.
Tracing the code a bit, it seems that the URL should be calculated in CRM_Extension_System::getRepositoryUrl(), which pulls it from the ext_repo_url setting.
Here's what I would try, in order:

Clear the CiviCRM cache, that's probably the issue anyway.
Confirm that <civiroot>/settings/Extension.setting.php defines ext_repo_url with the default value of https://civicrm.org/extdir/ver={ver}|cms={uf}.
Check the civicrm_setting table for a record with a name of ext_repo_url.  If one exists, this is overriding the default; remove it.
Alternatively, add a setting (via API Explorer, or in civicrm.settings.php - see Override settings in the docs) to set ext_repo_url to
https://civicrm.org/extdir/ver={ver}|cms={uf}.  This should force the correct URL to be generated.


How to check WHO creates a certain contact

You can find this information in the Change Log for the contact.

It will be the earliest entry in the change log.


Why does selecting one (or more) tag options in a form created using webform-civicrm add *all* tag options to the user record?

So here's my answer, and solution. I started again from scratch. The steps I followed are:

deleted the Tags and Groups components from the webform
disabled Tags and Groups in the CiviCRM tab for Contact 2
re-enabled Tags and Groups in the CiviCRM tab for Contact 2
added Tags and Groups components back to the webform.

Then, under the Tags component settings in the webform, I selected:

Static Options (Fully configurable)
Checked "Multiple (Check this option if the user should be allowed to choose multiple values.)"
Unchecked Enabled checkbox at top of Options, the default, un-enabling all Tags as options
Enabled only the handful of Tags I want on the form
Clicked Save Component at the bottom

I then tested selecting Tags on the form, submitted the form, and only the three tags selected appear in the contact's record.


Files in the data directory (Upload | Custom)should not be downloadable. (Nginx)

Your proposed solution in your nginx config looks about right; here's a tested & working example:

location ~* ^/sites/(.*)/files/civicrm/(ConfigAndLog|templates_c|upload|custom) {
    deny all;
}

Here are some things you could check.

Have you reloaded nginx since making the config change?
Pick a file in files/civicrm/custom/ and try to access it in a browser.

If you can, the nginx config needs fixing.
If you can't, the warning is spurious; it would be good to investigate why. Check your nginx access logs for the test requests that Civi makes to check access.

Is another location block in your nginx config taking precedence over this one? You can check this by temporarily enabling debug-level logging for the relevant virtual host, e.g.

error_log /path/to/log debug;

(Note that nginx needs to have been built with --with-debug .)
This will produce very verbose logging, so only enable it briefly while testing: enable debug, access a file under files/civicrm/custom/ , disable debug, then look through your error log for the request. From this, you should be able to see which location block matched the request.

You should also deny access to ConfigAndLog/ and templates_c/ as in the config above.

See checkUploadsAreNotAccessible.


Blank screen when using versafix-1 templates

For reasons that I am still unsure of, I needed to apply the mosaico-php-backend script located here:
https://github.com/markalston/mosaico-php-backend
I did change operating environments from Ubuntu to Debian so something on the backend may have been different but regardless, applying this script fixed my issue.


Finding memberships with 'Status Override' set

CiviCRM has a search builder and the field Override status is available in the search builder.


The short answer is no.

The long answer is that Weebly is a proprietary system - you would not be able to integrate CiviCRM. However, you could use clunky iFrames and there is work in progress to have some CiviCRM forms embedded on external sites.

Some small organizations may use a proprietary system for their website and host civiCRM with wordpress or drupal on a sub domain - that could be an option too.

What is your current version of CiviCRM and what is your current CMS as those are factors.


If I use php to display a count from my database am I causing a security problem?

I would highly recommend you use the CiviCRM API to access this information.

A php version would look something like this:

$result = civicrm_api3('Activity', 'get', array(
  'sequential' => 1,
  'activity_type_id' => "Petition",
  'options' => array('limit' => 1000),
));

(Setting limit to be something larger than you would expect to get.)

Which would return the count (in addition to the activities which you can ignore).

{
"is_error":0,
"version":3,
"count":1,
"id":1,
"values":[{
    "id":"1",
    "activity_type_id":"9",
.....

If you are using version 4.6, in place of the get action, use getcount, which will only return the count... without detail and not requiring the limit.

You can play with the call by going to /civicrm/api/explorer.


The link internally between a contribution and a contribution page or an event is not something you can edit via the web interface. The only way would be to directly edit the database data via an SQL query. This is the type of thing you would need to hire a developer to do, however.


How do I add/change columns in CiviReports?

The short answer is "You can't unless you're a programmer".  This is a feature that was never added to CiviReport.  However, you have many alternatives.

You can use profiles to create a Search View and use Advanced Search instead of CiviReport.
You can see if the Extended Reports extension has a report that matches your needs.
If the field(s) you want to add are custom fields, you may just need to set them as searchable.
You can hook up a third-party reporting tool.
Drupal and Backdrop users can use CiviCRM Views Integration to get the exact columns/order they want.
If you ARE a programmer, there are several questions on Stack Exchange to help you with that, along with the CiviCRM Report Reference in the Developer Guide.


Confirm Contribution button not clickable for non-default payment processor

Unfortunately there are some outstanding 4.7 issues with non-default payment processors in CiviCRM; it's not related to iATS - it affects all payment processors; Here's one JIRA issue: https://issues.civicrm.org/jira/browse/CRM-19508 - no resolution yet as there is a workaround;


Version 4.7.3: TCPDF package seems to be missing

In 4.7.3 the TCPDF package was moved to civicrm/vendor/tecnickcom  from civicrm//packages/tcpdf.

I just tested on a WP 4.5.2 and CiviCRM 4.7.8 install and was able to create mailing labels.

Can you give us the steps to reproduce?  This may be a bug that needs an issue filed at https://issues.civicrm.org

One additional thought - try and empty the caches in WP the url is https://yourdomain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/updateConfigBackend&reset=1


Custom fields in tabs are not editable since upgrade to 4.7.1

This turned out to be a bug in said version and is now fixed.


Check your Mapping and Geocoding Providers setting using below link.

your-site-name/civicrm/admin/setting/mapping?reset=1

Change Geocoding Provider to google and then save your contact.


Undefined property: CRM_Contact_DAO_Contact::$contact_id in civicrm_entity_contact_user_get()

The message is a 'Notice' which can sometimes be ignored.  However, looking at the code causing the message the purpose of the function is to load a user entity based on the contact id but the contact id is not set which is fundamental to the purpose of that function.

It would take a bit of debugging to track down where and why that is being called from your rule in a way that causes the contact_id not to be set - and ideally you would do that.  Alternatively providing it is does what you need in creating the Drupal user correctly you could choose to ignore it.


I think if you resave the status it will update the case end date. On Manage case screen click on pencil icon just next to 'Status: Resolved'. Save the form without doing any changes.(Please check the activity date time field under Activity Details  if it has correct date).

Cheers

Pradeep


As ErikH said you do have several questions here. I would suggest taking a look at the following links to the User Guide. This will help clear up the process for you.

Defining Member Types: https://docs.civicrm.org/user/en/latest/membership/defining-memberships/
Membership Sign up: https://docs.civicrm.org/user/en/latest/membership/online-membership-sign-up/

You should also look at the following as these are involved in creating online member signups:

Profiles: https://docs.civicrm.org/user/en/latest/organising-your-data/profiles/

Price Sets: https://docs.civicrm.org/user/en/latest/events/complex-event-fees/#price-sets

You may also need to utilize a few WordPress plugins to achieve what you are looking for. If you have more specific questions please post here.

Hope this helps!


That was the clue - put a five minute delay on the sms action - the condition is checked again and Voila the sms is sent.
So perhaps this needs to be added to the docs. It might be only the action "send sms" that needs a delay. Sending an email or adding a tag work fine via a profile.


How to set a custom country field using the API

Any field (including custom fields) that accepts an option value will take either its machine name or it's id. The machine names for countries are their ISO codes, e.g. the code for 'United States' is 'US'. So you could do:

civicrm_api3('Contact', 'create', array(
  'custom_77' => 'US',
));

which is equivalent to

civicrm_api3('Contact', 'create', array(
  'custom_77' => 1228,
));

The label "Uganda" will not work, as it's not considered reliable given translations and word-replacements.

To find the ISO code for a country, use the api explorer. Api Country get with name = Uganda reveals "iso_code": "UG"


extension ACL for activity types error "[] operator not supported for strings"

I think you are running very old version of Activity acl extension. The issue you facing must have been fixed last year. Can you update the extension by downloading from here?


There few CiviCRM extension that use third party to send bulk emails or transactional emails.

FlexMailer
Sparkpost
Mandrill

Alternatively there are many SMTP providers that provides good bulk mailing service like Sendgrid, CiviSMTP etc. Here is the list of SMTP providers that CiviCRM bulk mailings are supported.

HTH

Pradeep


Settings Definition (How to Use On_Change?)

on_change is executed when setting value is changed. You can either set it

 'on_change' => [
   ['CLASS_NAME', 'functionName'],
 ],

Else

'on_change' => [
  'CLASS_NAME::functionName',
],

A good example would be https://github.com/civicrm/civicrm-core/blob/master/settings/Localization.setting.php#L145

HTH

Pradeep


Can we enable deleting/modifying incoming emails?

Yes, that should be fine. I think the original reasons behind not including it were some combination of:

a. It was for the CiviCase folks, where we did not want to delete anything

b. It was used internally, so spam was not an issue


There's a place in the CiviCRM code where all the possible contact tokens are defined - and they say which fields they correspond to.

The line in question is:
'contact.contact_id' => CRM_Utils_Array::value('id', $fields),
which means, "populate the contact_id token from the id field passed to this function".

That's no doubt correct in some instances - but in this instance, the data is stored in contact_id.  I was able to get the contact_id to work in display_name and sort_name by changing this line to:

'contact.contact_id' => CRM_Utils_Array::value('id', $fields, CRM_Utils_Array::value('contact_id', $fields)),.

This translates to, "populate the contact_id token from id if it exists, but contact_id if not".

Whether you want to shepherd this change into upstream CiviCRM or not is up to you!


Create a membership list with employee name

To get the employees, run an advanced search.  In the relationships section, select the relationship type and enter the organization that the employers are related to.  Then, go up to the top section and find Display Results As.  Select "Related Contacts" and then in the relationship type drop-down that appears, select "Employee Of".

You should get results of all the employees.  Create a smart group from this search, and have your directory profile use this new group instead.

Finally, to display the employees' employers, add the field "Current Employer" (available under "Individual") to the profile, making it visible as a result column ("In selector").  (You may need to remove any organization-specific fields and/or create a fresh profile as your profile is now a listing of individuals rather than organizations.)


I don't know if this is related to your download problem, but CiviVolunteer is currently incompatible with CiviCRM versions 4.7.21 and greater.

There is a beta version described here which restores partial functionality.


Report on Memorial gifts made in memory of a person

I've just released an extension that does this called Soft Credit Custom Fields.  It does more than the name suggests - it also allows searching by soft creditee from Find Contributions or Advanced Search.  See screenshot:


Why am I unable to set organization name?

crmGetAttribute is not in 4.4, that only exists in later versions of CiviCRM. So either:

You are using an extension that is not compatible with 4.4, or
You have copied a template file from a later version of CiviCRM onto your install, or
You have somehow managed to get your 4.4 files mixed up with code from a later version

The best solution for any of these situations would be for you to upgrade to the latest version of CiviCRM. If you follow the upgrade procedure correctly, this will ensure you have a clean copy of the latest source code.


Record payment for event registration in CiviCRM 4.7.16

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 does searching by contribution source use always the "Like" statement?

The reason is because Civi is trying to accommodate less tech-savvy folks than yourself :)

I recommend CiviReport - either Contribution Details or Contribution Summary reports.  That will let you control the operator, give you the total/average, and in the case of Contribution Summary, allow you to aggregate in other ways - e.g. total/average by month, or by financial type.


Search custom fields with multiple records

One way is to do an exclude search.

Create a smart group that has all the people who have borrowed a tool in the last 6 month.  Create another smart group that contains everyone.

Under Search => Custom Searches you should find the custom search "Include / Exclude Contacts in a Group / Tag".

Include your group that contains everyone.
Exclude your group that contains the people who have borrowed.
This should result in the people who haven't borrowed.


How to renew membership during event registration?

One way to accomplish this is to programm an extension with a hook reacting on the event registration and then changing the membership based on the event registration.

Another way which might be usefull is to use the drupal Webform module and create an event registration with membership options.


CiviEvent - Past event participants -> bulk register to new event

I was able to search for these participants through Search>Advanced Search and use the Event Tab below instead, you should be able to see an Action of "Register Participants for Events" after selecting the participants.  This doesn't come out if you searched through Events>Find Participants though.

--CIVICRM 5.13.5 Wordpress 5.0--


I'm not sure how the "things" would fit into this model, but I might begin to tackle the child/person sponsorship this (Drupal-specific) way:

Create a custom field for individuals (and/or potentially use a separate sub-type based on Individual) to indicate that they are available for sponsorship
Create a relationship such as "Sponsor of/Sponsored by"
Create a View that lists all contacts that are available for sponsorship and do not have an active "Sponsor of/Sponsored by" relationship
Create a Membership type with the settings for your sponsorship(s) (e.g. monthly/annual/etc.) Potentially use Word Replacement (Administer > Customize Data and Screen > Word Replacement)  to change "Membership" to "Sponsorship".
Create a custom Webform-CiviCRM form that has two contacts: first contact is the sponsor (filling the form), second contact is the person to be sponsored (this could be filled via the URL with contact ID so links from the View could prefill this value, and/or an autocomplete field for searching). This form could also be set up to take a required contribution towards a membership/sponsorship of the type you created. The form could also be set up to create a relationship between the two contacts (which should then remove the second contact from the list of people available for sponsorship).

Obviously thorough testing would be needed, and I don't recall off-hand whether Webform-CiviCRM allows you to set up recurring payments or if you'd have to rely on membership reminders to have them come back to make subsequent payments.

I suppose the places could be set up in a similar way using a subtype of Organizations, potentially with different rules in Views (for example, you may want to allow any number of people to sponsor a place, I don't know).

Some of your more complex functionality may be more difficult to fit in (such as partial payments or a combined sponsorship among multiple people), and I'm not sure about how I'd handle the things (like projectors) in this model.

EDIT: It would be a different workflow then described above for the 'things' but you might be able to set up a contribution page with these items as the 'premiums' offered. (e.g. "Make a donation of at least $150 and you can select a projector for a school...")


Membership renewal start date doesn't update?

If you check on yoursite/civicrm/admin/member/membershipStatus?reset=1 and for the status "Grace" there is a Yes in the column headed "Member" then this is expected behaviour.

CiviCRM does not have a "renewal start date".  The "start date" is the date the latest continuous period of membership started on. For any member with a status that has a "Yes" in that "Member" column a renewal will extend the end date of the current membership and not change the start date.

If you want anybody who renews after their membership end date to get a new start date then you either need to edit the Grace status and untick the box Current Membership?, or disable the Grace status entirely if it is not needed for your business rules and just have a membership status of Current followed by the membership status Ended.

You can read more about Membership status rules  in the Defining memberships chapter of our User and Admin Guide


How to browse available payment extensions?

When it comes to selecting a suiting payment processors I would recommend having a look at this page.

Also, make sure to read any documentation you can find on those payment processors intersting to you, such as:

Developers Website
Extension's Githup Page
CiviCRM Wiki
...

Make sure it is compatible with your version of CiviCRM and does not have major bugs that prevent you from using it.


How to disable Drupal's module update check for CiviCRM?

There are a few options:

CiviCRM could use Drupal's infrastructure to ship CiviCRM downloads. Current CiviCRM / Drupal development process prevents this, and that's a much bigger topic and best discussed outside of this SO question!
CiviCRM could somehow suppress the update notifications from the Drupal update status page. This would hide the warning, but arguably be a worse outcome. I don't think this would deliver what you want.
CiviCRM could supply a project feed to match the existing Drupal.org infrastructure, so that Drupal can check that alternate feed URL for updates.

IMO the last option is the best balance of outcomes - it could provide accurate update notifications to Drupal-oriented administrators who might not see the in-app warnings in CiviCRM. There's a JIRA proposing this over at CRM-15769.


So this issue was quite obscure but I went through my wordpress plugins one at a time, deactivated and tested and this one: "Social Icons Widget by WPZOOM" was at fault!  Once I deactivated that plugin, events started to work correctly again.  This plugin was part of a recent site update on our test, it apparently passed all the tests and was promoted to our production system.  Time to check the testing checklist again.


Default values for Preferred language, email format, email greeting, postal greeting and addressee

How do you import? Via csv upload?

If your import scenario is complex by any means I would strongly recommend to make use of the api. This approach helps you to get control over all aspects of field mapping.

Yours // nielo


How can I get the donation amount radio buttons on the same line as the amount?

This layout is coming from some theme or plugin on your site.

CiviCRM includes its own CSS which delivers your desired result out of the box, and you can override or replace those CSS files.

In this case, your site theme / some plugin is instructing the browser to lay out the form differently from how CiviCRM does per default. I'd hazard the site shown above is using a CMS theme which includes some directive like

input, label {
  width: 100%;
  clear: both;
}

You can address this by providing appropriate CSS to achieve the desired layout. Not having seen the site in question, it's hard to be more specific than that.

Anyway, here's a Stack Overflow question on how to sit radio buttons next to their labels which might help you.


How do I add a CiviCRM Contact as a User in Wordpress without them being a Member and using the WP Member Sync Plugin?

Add the following to your wp-config.php file:
define( 'CIVICRM_WP_PROFILE_SYNC_BULK', true );

Then select some contacts and use the “Actions” dropdown to “Create WordPress Users from Contacts”.


Which Drupal permissions does a user need in order to see and change their relatives (contacts with permissioned relationships) in webform?

You're looking for the Relationship Permissions as ACL extension.


Translate Custom Profiles not appearing translated in Drupal

It took me about a half of a day to debug this thinking it was a bug in Core. In your civicrm.settings.php file there is a section that helps properly map Drupal and CiviCRM languages. This is especially important for Spanish, Portugues, English (Canada), and French (Canadian)

Edit this file and uncomment the appropriate lines as shown below:

/**
 * If you have multilingual site and you are using the "inherit CMS language"
 * configuration option, but wish to, for example, use fr_CA instead of the
 * default fr_FR (for French), set one or more of the constants below to an
 * appropriate regional value.
 */
// define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
// define('CIVICRM_LANGUAGE_MAPPING_EN', 'en_CA');
// define('CIVICRM_LANGUAGE_MAPPING_ES', 'es_MX');
// define('CIVICRM_LANGUAGE_MAPPING_PT', 'pt_BR');
// define('CIVICRM_LANGUAGE_MAPPING_ZH', 'zh_TW');

Doing so will immediately map these languages properly in your system and start to render the labels in the languages you have translated.


Karen, check out and install @Jamie 's excellent Summary Fields extension at https://civicrm.org/extensions/summary-fields - it will do what you want, and more.


You can change the membership price whenever you want - you don't even need to charge everyone the same amount.

When you record a membership from the back end, you can enter any price you want - simply select Record Membership Payment on the New Membership screen and enter the amount.  If you set Contribution Status to Pending, it will show the contribution as owed rather than paid.

On a public-facing page, yes, you can use price sets to set the cost every year.

Because each contribution is stored separately, it's OK that they're different from year to year.  You can see which payments have been made and which haven't.

This will meet your needs going forward.  However, if you start using CiviCRM in 2020, and you have current members in arrears from 2015, that's not going to be calculated.  I would recommend importing pending calculations for each missing payment.  You could use your spreadsheet software to calculate owed amounts if necessary.

Consider installing the Membership Extras extension.  Without it, a member who pays for 2020 but has not paid previous years is considered a current member; with the extension, a member who has paid the current year but is still in arrears can be considered non-current if you like.


Anyone building or built - an API Call into Zoom to Add A Meeting Registrant

https://github.com/veda-consulting-company/ncn-civi-zoom
We have forked the original extension, I would use ours as we have fixes/changes to make it configurable and the original developer hasn't yet accepted them.
At the moment it works with webinars but we can adapt it to work with meetings too.
Let us know if you need anything else or you can raise issues on the repo for anything you need.
Thanks


Is there functionality in CiviCRM for tracking the results of a fundraiser?

Check out the soft credits functionality!

https://book.civicrm.org/user/current/contributions/soft-credits/


How to update a sequence email created by CiviCRM?

I have a working CiviRule just like the one you are describing (I think) which works fine. I have not created 4 different rules but added  different actions to the same rule. There is a blog post on this here: https://civicrm.org/blog/erikhommel/using-civirules-for-a-petition-journey-at-amnesty-international-vlaanderen

I have included a screenshot of my conditions. Can you see any differences which would explain your problem? I think you need both the group checks, The one (group is) acts on the parameter from the contact add to group, the other one checks if the contact is still in the group when sending mails (to allow the opt out if the contact no longer wants to receive mail).

I also think you'd be better off by adding all 4 actions to this rule rather than have 4 rules.

I will test with the delay of 200 minutes and see if there is a problem there.


Take a look at the membershipTypeValues hook and implement that in an extension.


Problem creating Drupal users using Rules and Webform integration

You can register users through Webform Registration module. This module allows maximum flexibility to control the user registration process.


Aside from any customizations, you should:

Check your civicrm.settings.php file to fix the base URL.  (And double-check that your path hasn't changed).
Go to Administer - System Settings - Clear Caches and Update Paths and clear your caches and update your paths.
Confirm that the Resource URLs look right (they should be fine as a result of step 2).
Make sure you get a SSL certificate for your new domain name if you had one for your old domain name.


Get a view of upcoming activites for cases

You can use the data processor extension for creating views/reports in CiviCRM.

You can find documentation on how to install extension here

There is not much documentation (yet) but there is an example documentation on how to create a search/report: https://lab.civicrm.org/extensions/dataprocessor/blob/master/docs/how_to_create_search.md


Is it possible for a non-logged in user to check the status of their membership?

In a slightly different way this is possible with checksum tokens.
You can create a profile or a contribution page with membership data.
Then you send a Mailing to all people who need a renewal (soon). That Mailing contains a link to the profile or contribution page with their contact ID and an individual checksum token as parameters.
When people click that link they see their data in the profile or contribution page and have the option to change it or to get a membership renewal.
For more info see http://wiki.civicrm.org/confluence/display/CRMDOC/Tokens
From this page:

There is a very powerful feature to allow you to send an email with CiviMail to your constituents with a link to the contribution form, profile, or event registration form with all of their contact information already filled in! This saves them the hassle of filling it out and increasing the chances they would ultimately donate.  Or it can be a simple way to periodically allow people to review their contact info and update it if applicable.
The way it works is you create a "special" link in the CiviMail message that includes the checksum token {contact.checksum}. When people click on the special link, it looks them up in the database and prefills any information on the contribution form or profile with any data that exists in their record. The special link lasts for seven days from the time it was sent out.
Checksum for Contribution Pages: To send people to a contribution page use this path where N is the ID of your contribution page:
Drupal: http://www.myorganization.org/civicrm/contribute/transact?reset=1&id=N&{contact.checksum}&cid={contact.contact_id}

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

WordPress: http://www.myorganization.org/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=N&{contact.checksum}&cid={contact.contact_id}

Checksum for standard Profiles (edit mode): To send people to a profile use this path where N is the ID of the Profile you want to send them to:
Drupal: http://www.myorganization.org/civicrm/profile/edit?reset=1&gid=N&{contact.checksum}&id={contact.contact_id}

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

WordPress: http://www.myorganization.org/?page=CiviCRM&q=civicrm/profile/edit&reset=1&gid=N&{contact.checksum}&id={contact.contact_id}


Installing Civi as a standalone site vs part of your existing site

If the CiviCRM is installed on a different Wordpress site, important features and functions would be completely crippled by not being connected to the front-end website:

Letting users input and manage their own contact information either deliberately or through contribution and sign up forms
You wouldn't be able to take donations through the CiviCRM through the front-facing website
Users wouldn't be able to sign up for events or memberships and be managed through CiviCRM
You wouldn't be able to collect user email addresses or get newsletter sign ups through the front-facing website to be managed through the CiviCRM.
Staff would have two different company websites to sign into for managing different things, instead of just one

I can't think of many pros for doing it this way. Even if there are features you aren't planning to use now, you might want to grow into them.


How are folk storing lots of Files on Cases?

There are different solutions as you suggested. One is using custom fields of the type file upload or use activities.
There is indeed a document extension and this is one also capable of storing documents on a case. The advantage of the latter is that it could also store versions of the same document.

It is not yet possible to search for documents on a case.


What is the easiest way to set up cron for CiviCRM on a Drupal 7 installation?

Welcome to SE!  Setting up cron can be confusing since there are many variations and it touches several aspects: OS users & permissions, CMS users & permissions, other tools, cron - and the details depend on your hosting environment.

I've just re-read the page you linked to.  It has the information you need, but it also has other options that you don't need, so work through that step by step.  (I've also submitted a few clarifications.)

So, following the 'Preparing' section and assuming a typical Ubuntu installation:

Choose a command:  I prefer the cv method
OS User: Ubuntu typically uses 'www-data' to run Apache. (Adjust below if different.)
CMS User: Create a Drupal user (eg 'cronuser') with the listed permissions

If you don't have cv installed already, go ahead and install it.

Check that you can run the command manually:

$ sudo -u www-data cv api job.execute --user=cronuser --cwd=/var/www/html

(If your installation is not under /var/www/html adjust accordingly)

Then add it to the crontab for www-data:

$ sudo crontab -e -u www-data


Getting active relationships using the API is returning contacts in trash

This seems to work, using a join:

    $result = civicrm_api3('Relationship', 'get', [
      'sequential' => 1,
      'return' => ["contact_id_b"],
      'relationship_type_id' => 5,
      'contact_id_a' => "user_contact_id",
      'is_active' => 1,
      'contact_id_b.is_deleted' => 0,
    ]);


Can I record contributions and pledge payments in a "Batch Data Entry" of type pledge payment?

While in 4.7.7 (sorry, don't have a 4.6.3 environment to test), it is technically possible to record stand-alone contributions in a batch created for pledge payments by leaving the "Open Pledges (Due Date - Amount)" field blank and selecting the desired financial type, in a recent session at CiviCON 2016, Joe Murray indicated that best practice would be to record each type of contribution with the batch entry category that it falls into (i.e. use contribution for stand-alone contributions and pledge payment for pledge payments), although I clearly see the convenience of being able to record multiple contribution types in a single batch entry.

Hope this helps,
Tamar


Are you sure the problem isn't already on the "old" site?

Could you try to (without changing any code) go to the civicrm upgrade page on the old site (/civicrm/upgrade). do not upgrade, just look at what's on the screen

Do you have a message saying you are already at the correct version and nothing to be done?

Sorry but we are not able to provide this at the moment.
Your database has already been upgraded to CiviCRM [your version]

... or do you already have a message saying database check failed?

If the later, it means that you had a partial update already that was never properly sorted. It's recoverable, but you might have to dig into sql more than you'd like (or hire an expert to help you, probably an easier option to help you untangle the situation)


It's probably a javascript error.

Most likely it's that you didn't properly configure the extension url for your extension. What configuration do you have?

Checkout your browser console, do you have any error message? something about d3 missing?

You can also look at your Developer Tools (press F12 in Firefox/Chrome), and check the "Network" tab.  Are you seeing 404 errors?  Look at the URL that's getting a 404 error.  Is there actually a file in that location?  It's very possible that your "Extensions URL" is incorrect.  Go to Administer menu > System Settings > Resource URLs and change the Extension Resource URL to match the actual location of your extensions.


I don't think what you need is possible using the built-in iCal feed and a single event - not without writing an extension.
However, perhaps @petednz-fuzion can chime in on the status of his yet-to-be-published extension which I think will meet your needs.  You could create three events, use the extension to ensure that there's a single registration for all three, then your iCal feed should be accurate.
The manual equivalent of this would be to create three events, but only expose the registration for the first one.  When registration closes, use a search to find and add the registrants to the second and third events.  This is actually pretty workable when there's only three days in the series - but pretty tedious when there are 12, so hopefully Pete's extension is almost ready to publish :)


In the Mail Accounts entry you set up, you need to set bounces+ as the localpart.  Everything else looks good.

In your examples, you have b.94.15.1ff1d88a496eafde@mydomain.com as the return-path in the the first one and b.100.16.af889b4c23dd0331@mydomain.com in the second.  CiviMail just needs to know to tack "bounces+" on the front of those addresses, and that's where the localpart comes in.


Submit Credit Card Contribution error with valid payment processor

Right - correct behaviour is for that button to only show if there is a valid live processor which returns true for supportsBackOffice

UPDATE - Patch has now been submitted to avoid loading of this button for invalid processors.


I think you need to define your Name Badge formats at Administer menu >> CiviEvent >> Event Name Badge Layouts and not the "Option Groups" section.


Custom report: how can I add a filter for a dbAlias field?

Jake sent me this - posting it here for save keeping!

 'total_amount_sum' =>
    array('title' => ts('Aggregate Contribution Amount'),
      'type' => CRM_Report_Form::OP_INT,
      'dbAlias' => 'civicrm_contribution_amounts_ytd',
      'having' => TRUE,
    ),


This should be resolved as of 4.6.4 (issue CRM-16499).


Problem caused by an incorrect translation in CiviGRANT

I know the translation of CiviCRM in different languages is done by community members using Transifex: https://www.transifex.com/civicrm/civicrm/

Personally I have never really looked at this but I would reckon contacting the translation working group (https://civicrm.org/working-groups/translation) on MatterMost here: https://chat.civicrm.org/civicrm/ and offer to make this change will probably be a good step :-)


How do I make profile submissions more reliable, or at least not silently fail?

I think I've tracked down the problem on my site to the uk.co.vedaconsulting Mailchimp plugin. Removing that seems to fix my issue on my test server, making my hack of embedding an iframe unnecessary (described at Why won't data entered into CiviCRM profile html snippet save? ). Hopefully it also fixes my timeout problem described here...testing that now.

EDIT Sept 22 2015:

Nope, i was wrong...misled by confusions in reloading pages and accidentally making it work with the background-loaded embedded form hack. Disabling Mailchimp or other plugins does not in fact change anything.

The approach I'm now using, successfully so far, is to load the embedded iframe hack at the time of form submission, rather than when the page is first loaded.  So there's no danger of the page sitting too long , having the magic cookie (or whatever it is) time out.

1) user loads profile or page with HTML snippet

2) user eventually clicks "submit"

3) iframe hidden with CSS loads a small profile to set the magic cookie

4) when iframe finishes loading, it uses javascript to submit the original form

To accomplish this, I:

1) Embed javascript function in the head of each page with a profile:

<script type="text/javascript">
function loadHack() {
  var ifrm = document.createElement('iframe');
  ifrm.setAttribute('id', 'embeddedhack'); // assign an id
  document.body.appendChild(ifrm); // to place at end of document
  ifrm.setAttribute('src', '/en/?option=com_civicrm&task=civicrm/profile/create&gid=21&reset=1'); // assign url
}
</script>

2) use the alterContent hook (and manually edit HTML snippets) to make the submit button call the function above instead of submitting:

if($tplName == "CRM/Profile/Form/Edit.tpl")
  $content = str_replace('id="_qf_Edit_next"', 'id="_qf_Edit_next" onClick="loadHack(); return false;"', $content);

3) use the alterContent hook to add a callback to the embedded hack profile, to submit the original form once it's finished loading the iframe:

if ($object->getVar('_gid') == 21) //hack form
        $content .= "<script type=\"text/javascript\">window.onload = function() {\n    parent.document.getElementById('Edit').submit();\n}\n</script>";

This is all ugly, but seems to work.  I think this really needs to be addressed in core code, though.


group role sync and membership role sync - does one take priority over the other?

One solution would be to rejig your roles so that the outcome you need can be delivered by letting Members have one Role and people in the Group have another Role. It seems like a 'cumulative' approach to permissions and roles could work for you.


You have to watch out using the search builder when your search involves related entities.  Searching for does not equal X on something doesn't exclude contacts with a related entity with a field's value as X, it searches for contacts who have that related entity so long as the value doesn't equal X.

In other words, searching for contacts where tag name does not equal Prospect doesn't exclude all prospects; it finds all contacts with tags so long as those tags aren't Prospect.

Although it seems foreign in the context of tags, groups, and some entities, it makes lots of sense regarding addresses: if you search for people where the state does not equal Alabama, it'll exclude people who only have an address in Alabama, but it'll include people who live in Alabama but have a work address in Georgia.

To reliably exclude contacts, you either need a specialized search like the include/exclude search, or you need to run a search with the criteria you want to include on, tag those contacts, run a search with the criteria you want to exclude on, and remove the tag from those contacts.

For example, to find everyone in Baltimore who has not attended an event in the past year, run a search (Advanced Search is easiest) for everyone in Baltimore, and use the "Actions" drop-down to tag all the results with a new tag called "Baltimore - no events".  Then, run a search for participants at events in the past year, and use the "Actions" drop-down to untag all the results, removing the "Baltimore - no events" tag.  (It doesn't matter that your second search will catch people in Glen Burnie or whatever who never had the tag in the first place.)


After lots of messing around, I upgraded to 4.6.8 and then made a clean copy of the latest civicrm 4.6.8 files into the civicrm/CRM subdirectory, and the cron job ran properly. However, my Wordpress installation failed, because there are multiple Wordpress installations on the server and a search from the top root caused basedir restriction errors (and would probably have failed for that reason...).

The fix was to add the following lines to civicrm.settings.php, just before the section "do not add anything below this":

if (!defined('CIVICRM_CMSDIR')) {
  define( 'CIVICRM_CMSDIR', '/nhldata/631/106631/data/web/predigerforum/htdocs/wordpress/' );
}

It was important to include the "/wordpress/" at the end!

I'm not sure that this overriding parameter is really documented, though. I found it referred to in a forum post.


Schedule reminder test not working - execute now for job not working

As far as I recall scheduled job execution wont send the reminder if its not due, what are the settings for your reminder?


Blank Screen When Clicking on CiviCRM in Wordpress - No Administer Panel

I was able to get it to work by placing this code after the initial

global $civicrm_setting;
$civicrm_setting['Directory Preferences']['customTemplateDir'] = 'public_html/wp-content/plugins/civicrm/civicrm/templates/';
$civicrm_setting['Directory Preferences']['customPHPPathDir'] = 'public_html/wp-content/plugins/civicrm/civicrm/php/';
$civicrm_setting['Directory Preferences']['extensionsDir'] = 'public_html/wp-content/plugins/civicrm/civicrm/extensions/';
$civicrm_setting['URL Preferences']['extensionsURL'] = 'https://www.example.com/wp-content/plugins/civicrm/civicrm/extensions/';
$civicrm_setting['URL Preferences']['imageUploadURL'] = 'https://www.example.com/wp-content/uploads/civicrm/persist/contribute/';
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'https://www.example.com/wp-content/plugins/civicrm/civicrm/';


Check in the civicrm_log table in the database and if there's an entry there for it then the modified_id will be the contact_id of the person who did it. But civicrm_log only logs minimal info. If you have detailed logging turned on at administer - system settings - misc, then there'll be a log_civicrm_grant table that records every change.


MAJOR ERRORS after civicrm upgraded to 5.35.1 wordpress

Do you have advanced logging (Administer menu » System Settings » Misc) on? If so can you turn it off before upgrading and try enabling it after upgrade?


How can I install/manage CiviCRM patches on Drupal 8 (using Composer)?

Drupal 8/CiviCRM has the composer-patches package already installed.  So you can add a section to the "extra" element in composer.json called "patches", and list out the patch with a title and a URL (or path) to a .diff file.  Here's an example where I add four patches to standard CiviCRM:

diff --git a/composer.json b/composer.json
index 453ff74..5827a69 100644
--- a/composer.json
+++ b/composer.json
@@ -68,6 +68,14 @@
         ]
     },
     "extra": {
+        "patches": {
+          "civicrm/civicrm-core": {
+            "core#609, PR 13390.": "https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-core/pull/13390.diff",
+            "core#580, PR 13373.": "https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-core/pull/13373.diff",
+            "membership#9, PR#13553 (membership renewal notification fix)": "https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-core/pull/13553.diff",
+            "reporting#8, PR 13653 (thank-you dates on contribution reports)": "https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-core/pull/13653.diff"
+          }
+        },
         "patchLevel": {
             "drupal/core": "-p2"
         },

Note: If you don't use the excellent roundearth/civicrm-composer-plugin but instead use the full manual process to update CiviCRM, you'll need to perform the update steps every time you run composer install with patches.


Can a recurring email be setup to send to a group?

Yes you could use schedule reminders for sending e-mails to participants of events.

You could setup the reminder to run a week before the event takes place. I would assume that it will also works with a recurring event.


Restrict access to webinar after registration in CiviEvent

While integrations aren't hard to write for a coder, there are obviously a lot of webinar/CiviCRM integrations that haven't been written yet.  So if you're not interested in coding (or hiring a coder), I believe your two options are GoToWebinar and Moodle.


Alerting admins when certain fields are changed via profile & checksum?

If you have hosting that allows you to turn on Detailed Logging, there are two extensions that provide address history.  One is in Extended Reports; the other is Joseph Lacey's Address Log report.  It should be relatively simple to extend either one to support phone/email/etc.

Another option, low-tech but effective, would be to export the contact details ahead of time, then export again after folks have filled things out.  Paste the two spreadsheets into one and use a simple formula.  E.g. if old email is in column C and new email in column H, =IF(C1 != H1, "Changed", "") in a new column will label any records where the email changed.


How do I change the layout and style of a contribution page displayed on a wordpress website?

Probably the easiest option for you would be to use Caldera forms plugin with the CiviCRM connectors. That way you could style your caldera forms to your needs and still have the submission into CiviCRM


How to setup cron for updating membership statuses in cPanel

I've expanded Kainuk's SOLUTION here (thanks Kainuk!):  To start executing civicrm jobs without doing them one-time-only as done with Sheduled Jobs List (Civicrm > Administer > System Settings > Scheduled Jobs), then its easiest just to install drupal's module, civicrm_cron and it will automatically start executing the jobs on your scheduled jobs list. This is much easier than doing this at the command line or inside of cPanel. For even finer grain control of your scheduled jobs, you can use elysia cron.


Based on your updated description, it appears there's a JavaScript error of some sort in play. To begin debugging this, you'll need to open up the JavaScript console in your browser and post back any errors therein.

In Firefox and Chromium (on Ubuntu at least), you can do this by pressing the F12 key. Otherwise, in Chromium, click Tools > JavaScript Console.


Thanks Joe for the comment. In the search settings, all of the checkboxes for "Autocomplete Contact Search" were checked. We disabled all but "Contact" (which is set by default) and "Email" and now it's working.


What payment processors work with WordPress Caldera and CiviCRM, and which of those work with recurring

In response to a question about WP, Caldera and iATS play nicely and do recurring
danaskallman said:

no, it's either of these two add-ons  as of now stripe and authorize. iATS isn't an option for payment processors so it would need to be developed likely.

Andrei said:

the official CF payment add-ons support PayPal Express and Pro, Authorize.net, Dwolla, Stripe, Braintree, and PayFast gateways.
As @danaskallman mentioned CFC integrates with Stripe and Authorize, with integrates I mean that it calculates/updates the payment fees and transaction ids, etc.
And recurring contributions are not currently integrated/supported.

agileware_justin said:

we developed a Caldera payment processor for eWAY Rapid API (eWAY payment gateway) - this hasn't been published OSS yet.
Can confirm, Caldera CiviCRM is missing recurring contribution feature.


Payment Processor Error message: 10525: Invalid Data This transaction cannot be processed. The amount to be charged is zero

Update your site to CiviCRM 4.6.7

This was a bug, reported at https://issues.civicrm.org/jira/browse/CRM-14536

We had this problem on our site, and it was fixed as of 4.6.7.  Update your site to the latest version, and you should be all set!


There is no specialized mechanism for updating the state/province values in the database. You can file an issue in JIRA (https://issues.civicrm.org/) and provide the details there, and someome from the team can add the appropriate changes for the next release.

You could also apply the changes at Github and then request a pull. The civicrm_state_province table is populated during installation via https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm_state_province.tpl . You can find country IDs in the country ID template.


I need to export or copy CiviCRM structures such as membership types, contribution pages and price sets to another website (Joomla)

There are a few approaches, none perfect. It would be great to be able to export config of entities and load that into another site / instance.

It's possible to write code to generate the various entities using the CiviCRM API. This can work, but probably has higher up-front time costs than option 4 below. It's what I'd most likely do if I wanted to be able to test the deployment of changes and had a medium-scale budget.
CiviCRM offers a hook (hook_civicrm_managed()) which you could use to configure your site with the various entities mentioned. This has some challenges, eg it "locks" the managed entities to the extension in question - disabling that extension in future might then remove the managed membership type, potentially affecting recorded memberships and so forth. (I'm not sure whether editing managed entities is permitted, either?)
It's possible to export the SQL entries which relate to the specific values you want, but you'd need to match up the IDs for the entities (memberships, contribution pages, price sets and options etc) on loading. Kinda ugly.
You can click your way through the config. I'd guess you're asking this because you think there should be a more reliable way to deploy configuration ... as of today, I don't think there is. This is your low budget option.

One important factor is that these entities may need to be created in a specific order to handle dependency, since the priceset / options may relate to the membership type, and that membership type may relate to an organisation contact, and ...

This is a question which has been asked before, but IMO hasn't as yet been solved well. These previous SE questions might offer some insight?

How can CiviCRM manage and deploy configuration?
What are best practices for deploying changes?
Advice on moving CiviCRM Configuration only when launching a new site


We're using it on 4.6.x sites too and are in the process of adding extra things such as the ability to allocate campaigns. If theres anything in particular you'd like to do but cant maybe drop into a wiki or on the issues list in github.


Problem with imported case activities not appearing in the case record

Was missing:
INSERT INTO civicrm_case_activity (
                            case_id,
                            activity_id
                        )
                        VALUES(
                            CIVICRM_CASE_ID,
                            CIVICRM_ACTIVITY_ID
                        );


Can a contribution page that has a membership section be forced to create a new membership?

I think you can add cid=0 to your url.

For example, https://example.com/civicrm/contribute/transact?reset=1&id=1&cid=0 will force the creation of a new contact and new membership even you are logged in and already have a membership.


Undefined Index in an Event+Contribution Registration Webform

Given that is 'only' a Notice have you considered turning Notices off in the Drupal settings since it is normal practice to not display these on a production environment.


Can't find MySQL server on WordPress install with sockets

Checking out other Stackexchange answers, looks like something along these lines should work

You can set the DSN in the civicrm.settings.php file using this format:

mysqli://user:password@unix(/path/to/socket)/databasename

Use the actual word "unix" in the string to indicate sockets.

For Reference this is the previous answer


Customizing the CiviContribute form through Drupal module

From what you describe, it sounds like you are seeing some of CiviCRM's contribution page JS kick in after your customised form is rendered.

It is probable that configuring your CiviCRM Contribution page to use the defaults you desire will resolve this issue. Your approach of setting the defaults should translate to setting the form values, which should then be respected on initial load, but ... that's not happening :)

Take a look at the JS inlined on a default CiviCRM contribute form, eg the CiviCRM Demo site's Member Signup and Renew form when configured to permit optional membership auto-renew.

If you inspect the code immediately after the auto_renew element, you'll see this block coming from CiviCRM's templates.

<script type="text/javascript">
CRM.$(function($) {
    //if price set is set we use below below code to show for showing auto renew
    var autoRenewOption =  '0';
    $('#allow_auto_renew').hide();
    if ( autoRenewOption == 1 ) {
        $('#allow_auto_renew').show();
    } else if ( autoRenewOption == 2 ) {
        var autoRenew = $("#auto_renew");
        autoRenew.prop('checked',  true );
        autoRenew.attr( 'readonly', true );
        $('#allow_auto_renew').show();
    }
});
</script>

That code is fairly straightforward to read - if auto_renew is set to 2 (from the contribute form settings, which allow you to configure this behaviour per contribute form), then the JS will check that box on page load, as you're seeing.

If I'm reading all that right, and with the caveat of not having seen your actual site at all, I think you can configure this from your contribute form settings for each of the form IDs listed above. The setting is on the "Membership" tab and looks like this:

The recurring defaults are tied to the settings in the Contribute form (and depend on settings in both Membership Type and Payment Processor config).

If that's not enough, you can override the JS by customising CiviCRM's templates, and you can add your own JS also if need be. That then would be your next path forward - modify that template variable based on the switch statement in your existing code.

You can certainly do it via JS though, as demonstrated by this customised contribute form (js here).


Why does civi sets employer relationship on sharing address – even if api triggered?

I suspect this is the result of poor assumptions. When you configure an individual to use a shared address of an org, Civi creates an employer/employee relationship with that org -- which makes sense. But it also assumes that employer/employee relationship is the current employer for the individual, which may be too much of an assumption.

In your description you indicated that it "deactivated" the existing relationship. I ran a quick test and found that the org I've just shared an address with becomes the current employer, but the existing relationship is still preserved and enabled -- it just isn't flagged as the current employer. Are you seeing something different? If you're seeing the relationship become disabled, that is more significant IMHO.