What is the best way for an end user to get all the contact and activity data from the database?

The difference in counts might be explained by the fact that at one time Find Activities only returned results where the With Contact field wasn't empty, and a quick check on the public demo suggests that's still true.

That also seems true for Advanced Search.

You can also try Search Builder, but the list of fields is minimal.

If you're using Drupal, you could try creating a View on the Drupal side that lists the activities.


Updating Memo/Rich Text Editor Fields with the API

I created a contact custom field with data type "Note" and field type "RichTextEditor" and then ran this API call:

CRM.api3('Contact', 'create', {
  "contact_type": "Individual",
  "id": 180,
  "custom_15": "
foobar
"
});

The value was stored as-is, and shows correctly in the UI.

This part of CRM_Utils_API_HTMLInputCoder should ensure that custom fields of type RichTextEditor are excluded.

One scenario in which this might not work: Let's say you have another API wrapper that renames a parameter from, say, food_preference to custom_22. If the renaming API wrapper runs after CRM_Utils_API_HTMLInputCoder (not sure what the order is there, I'd guess core ones run first), food_preference would already be encoded before it gets to your wrapper.


Error "Cannot unset string offsets" exporting using custom field mapping

This was fixed in today's release (5.18.1)


How to keep "My billing address is same as above" UNTicked by default?

Further down (halfway) to the Billingblock.tpl change the following value from true to false

// detect if billing checkbox should default to checked
          var checked = false;


CiviCRM Entities module makes error 500 to site

Hi to all and thanks for the ones that gave some clues that helped me to solve the problem.

I was using the drupal and CIVICRM with 2 diferent databases. For that reason after installing the CIVICrm entity module everithing seem not to work.

I checked the civicrm bitnami installation and realized that it was working only with one comon database.

I'm able advance with the project.

Best regards
Eduardo


Problem with CiviMail Menu on Joomla 3.4.1 - CiviCRM 4.6.2

In my case the issue was the K2 component (version 2.6.9), Joomla 3.4.1 and CiviCRM 4.6.2, specifically its system plugin, which is required for K2 to function correctly. This plugin monkeys with the HTML  code and inserts Opengraph tags, but these are not escaped by CiviCRM, or they are inserted by K2 after CiviCRM has done its thing.

See plugins/system/k2.php - specifically this code section:

if (JString::strpos($response, 'prefix="og: http://ogp.me/ns#"') === false)
                    {
                            $searches[] = '<html ';
                                    $searches[] = '<html>';
                            $replacements[] = '<html prefix="og: http://ogp.me/ns#" ';
                            $replacements[] = '<html prefix="og: http://ogp.me/ns#">';
                    }

Change this to:

$app =& JFactory::getApplication();
            if ($app->isSite()){

                    if (JString::strpos($response, 'prefix="og: http://ogp.me/ns#"') === false)
                    {
                            $searches[] = '<html ';
                                    $searches[] = '<html>';
                            $replacements[] = '<html prefix="og: http://ogp.me/ns#" ';
                            $replacements[] = '<html prefix="og: http://ogp.me/ns#">';
                    }
            }

CiviRM bug tracker
JoomlaWorks / K2 issue report (and patch)


That error suggests that the entity (volunteer project) defined in the civivolunteer extension is "incomplete", i.e that it's missing an indices method.


CiviCRM events pay later error - Undefined index: event

Welcome to civicrm stackexhange!

Your first step is to try replicate this on - http://dmaster.demo.civicrm.org

Configure things just like you have in your own civicrm.

And if you find you get the same error then amend your question with details/screenshots so that we can reproduce next.


Issues using 'Related Permissions Module' with v4.6 of CiviCRM. Will there be an upgrade soon?

Good question!

It adds fields to the relationship_type form - & the methodology for that broke in 4.5 I believe. So, I believe that if you install the github version Related permissions on 4.6 the relationship type form is likely to, at the very least, need testing. The added fields are the ones that force particular relationship types to always be permissioned. I think the earlier version doesn't offer that functionality & also doesn't require the entity_settings module. If you auto-installed you probably have that earlier version.

The way the fields are added to the form is by declaring it to the entity_setting module - which added them via extra.tpl - but they were winding up outside the form - so the alterContent hook was moving them around in the DOM to an appropriate place. Wasn't much fun & is now broken - but not sure a good way to inject fields into settings forms without doing a tpl override


How to add validation to the 'Add Case Role' option in Case Summary View?

Futher investigation has given me at least one answer. I can create my own template file with new jQuery functions using my new function as a callback. In that new jQuery function I can replace the .onClick functions for the button 'add Role' and the edit pencil. But still open to better suggestions!


Data (phone numbers) deleted in batch using profile not deleted from contacted records

not sure you have done anything 'wrong'. I think the phone and some other fields are designed so an empty field does not overwrite existing data - i remember this being an issue people have hit when trying to do what you tried via the Import route. Sounds like the same is happening via the Profile.

Probably doesn't seem like a 'great' solution, but if you have mysql access, could you use your Batch update Profile to change all the numbers you want to eg 'xyz', and then use mysql to find and delete that data?


Setting default date value via civicrm_buildForm hook no longer displays date

I think the date widget have its default value based on the format it is being set.

Eg - For mm/dd/yyyy input format set in Administer -> Localization -> Date Formats.

This works -

function civitest_civicrm_buildForm($formName, &$form) {
  $defaults['register_date'] = date("m/d/Y");
  $form->setDefaults($defaults);
}

This doesn't -

$defaults['register_date'] = date("m-d-Y");
$defaults['register_date'] = date("d/m/Y");


This is https://issues.civicrm.org/jira/browse/VOL-299

The workaround documented there works.

Connect to your MySql server as root
Run these two statements

SET sql_mode = '';
SET GLOBAL sql_mode = '';
Try again


Rule to Cancel Membership After Certain Number of Events Attended

I think the trigger should be 'participant changed' as you want to test this everyone time someone attends an event.

The first condition would be something like 'participant status changed to registered'.

I am not sure if you can combine membership conditions with a participant trigger, so checking the membership type would be weird (the data is not there when dealing with a participant of an event). But you could put all members in a group and then check if the participant is a member of that group.

The third condition would be to count if it is the fifth, I do not think there is a ready made condition for that, so it would have to be developed (probably about 4 hrs work).

The first action would be to send an email (you will need to install the Email API extension to do this: https://civicrm.org/extensions/e-mail-api).

The second action would be to cancel the membership. At the moment there is no action to do this, so that would need to be developed (approx. 4 hrs work).

I would recommend extensive testing too :-) CiviRules is powerful but also allows you to automatically send lots of emails.

Good luck!


Cannot edit prefix, suffix, first name or last name of new or existing Individual

SOLVED.
The update to 6.4.4 seemes to have deleted some values in the 'civicrm_option_value' table. These options reffered to the option group with the name 'contact_edit_options' in the table 'civicrm_option_group'. The options for 'First Name', 'Last Name' etc. were no longer present and if these aren't present those fields just dissapear from the contact while editing. They also do not longer show on the 'display preferences page'.

It seems the upgrade to CiviCRM 4.6.4 I did didn't take well and deleted those option values, or it could be that the upgrade needed to add these option values in order to make 6.4.6 work but didn't succeed in adding these to the database, I am not sure. I did experience problems with my database before doing the 4.6.4 upgrade and didn't get the message that the upgrade was succesfull, so it is difficult for me to say what actually caused the problem.

The easiest way to check for the possibility of the existence of this kind of problem is to install a seperate new empty installation of the same CiviCRM version and compare these two tables for options that are present in the 'empty' CiviCRM but not in the CiviCRM with the problem. I was ble to get the name of the option group that had the problem by checking the code from the 'display preferences page'.

Hope this helps someone with the same problem. I spend days figuring this on out.


Event doesn't display location on info page

If you are experiencing this it is most likely due to an old event template or you copied an older event. More recent versions of CiviCRM have an option on recurring events to display the location. It is on by default but older events were not retroactively set to On.

To fix this you can create a completely new event or in the mysql database on the civicrm_event table set your event to is_show_location = 1.


CiviMail - SMTP error when sending test email

This is a problem not with your SMTP but with your Mail Accounts settings in CiviCRM. When using CiviMail (as opposed to other emails from CiviCRM), the headers are altered so that the message comes from a unique address.  If a message bounces, CiviCRM can know exactly which recipient of which message generated the bounce.

The unique address is generated from the account in Administer - CiviMail - Mail Accounts selecter for bounce processing. It's made up of the Localpart (if set), a "b" followed by random string of numbers and dots, an "@" sign, and the Email Domain.

Looking at the address shown in your error message, it's missing the domain, and that's what the error is complaining about. Check your Mail Accounts settings to be sure you have the domain set.

Incidentally, while you're at it, you should double-check the whole bounce handling system:

Mail to random addresses at the domain you set should end up in a single mailbox.
Your IMAP or POP settings in Mail Accounts should work for checking that mailbox.
Your scheduled job for fetching bounces should be running.

See the page on book.civicrm.org for more information.


How to prevent Smarty secure_mode activation?

Allowing arbitrary php to be executed from an email string can potentially cause security issues from un-trusted users and hence the security mode of smarty is enabled for all string based resources.

I dont think there is an easy work-around for this :(


Syncing Drupal Roles from CiviCRM Smart Groups

You could in a custom module, implement hook_user_login()

Then you could make an API call to get the contact id for the user...

Then you can do an API lookup to see if the contact is in the group (In this example I have a smart group with id 6. Then if the contact is in the group, and the user account doesn't have the role, add it....if the contact is not in the group and has the role, then remove the role. Easy peasy

function YOURMODULE_user_login(&$edit, $account){
  civicrm_initialize();

  $result = civicrm_api3('UFMatch', 'get', [
    'sequential' => 1,
    'uf_id'      => $account->uid,
  ]);

  if ($result['count']) {
    $contact_id = $result['values'][0]['contact_id'];
  }

  // replace 2 with the rid of the role Associate
  $rid = 2;
  if (!empty($contact_id)) {
    $contact_result = civicrm_api3('Contact', 'get', [
      'sequential' => 1,
      'group'      => 6, // replace with your smart group, group id
      'id'         => $contact_id,
    ]);

    if ($contact_result['count']) {
      if (!user_has_role($rid, $account)) {
        $account->roles[$rid] = 'Associate';
        user_save($account);
      }
    }
    else {
      if (user_has_role($rid, $account)) {
        unset($account->roles[$rid]);
        user_save($account);
      }
    }
  }
}


you need to update your Base URL with your IP address - because your base URL is pointing to localhost that is why your remote PC is redirecting to localhost

change the BaseURL to your IP address and that should fix the issue

I guess this helps!!!


Multiple Financial Types on one payment form?

If you use price sets then each field, or each option on multiple option fields, can have its own financial type. Currently, event price sets support contributions (FWIW, membership price sets also support contributions, but it's not yet possible to have memberships and event tickets in the same price set).

The trouble you are having is the simplified price sets on the Fees tab all use the same financial type. Note that just above that simplified interface there is a link you can use to convert your existing options into a complex price set: 'Click here if you want to configure the Regular Fees below as part of a Price Set, with the added flexibility and complexity that entails.'


How to set user permission for a particular user?

Dipak,

You will need to add permission for roles to access certain CiviCRM functionality. You can do this by navigating to CiviCRM >> Administer >> Users and permisions >>Permissions (Access Control). And then click on Drupal Access Control. Give permission to specific role and save the form.

HTH

Pradeep


Set up for a Scheduled Reminder using case activity

I would use CiviRules for this? We have one client that uses CiviRUles to send a survey email once a case gets to a certain status.


How can I let members edit their relationships?

I've done something similar with Views, VBO and a custom action.  There is an "Add relationship with contact" action in VBO but for more control over the action you can write a custom action.

In my case, the view is of Civi contacts with one of several relationship types to the org. The action is a 'Set as Correspondent' button.  Only one person at a time holds the Correspondent relationship with the org so the action uses civicrm_api3() to find and end any current Correspondent relationships, create a new relationship between the selected contact and org and create an activity for info purposes.

Your action could do something similar but check there are no more than 4 existing relationships of that type before creating a new one.


A/B testing for subjects is now possible (though not content or from details), as of Mosaico CiviCRM 2.6.


In testing i determined that all of the UTC offset TZ WordPress offers are invalid from a php perspective.

Set the timezone to the proper php TZ (Europe/Zurich for example) and that error will go away.


Upgrade to civicrm 5.17.4 fails with PHP 7.1 Uncaught Error: [] operator not supported for strings

Proper define of the array will sort you out, Please check out this Post, this issue is seen with many places after upgrade php.


Change log rollback not restricted to a single contact

That sounds frustrating. Thanks for sharing your experience. Feature requests should be made in CiviCRM's issue tracker.


CiviCRM Database Upgrade from 4.7.16 to 4.7.28 is hanging

Can you check apache error and CiviCRM log? If you have database access can you paste the result of below query

SELECT id, version FROM civicrm_domain;


A tick box "same as home/primary address" when submitting Event/Contribution from Admin using paypal pro. way to fix it?

You can remove the requirement of those fields using hook_civicrm_buildForm() - see CiviCRM hook reference

Here's an example from a couple of years ago, although this was written for user-facing forms:

/**
 * Implements hook_civicrm_buildForm().
 */
function example_civicrm_buildForm($formName, &$form) {
  switch ($formName) {
    case 'CRM_Contribute_Form_Contribution_Main':
      $fields_not_required = array(
        'billing_first_name',
        'billing_middle_name',
        'billing_last_name',
        'billing_street_address-5',
        'billing_city-5',
        'billing_state_province_id-5',
        'billing_postal_code-5',
        'billing_country_id-5',
      );
      foreach ($fields_not_required as $field) {
        $form->_paymentFields[$field]['is_required'] = FALSE;
      }
      break;
  }
}


How to fetch CiViCRM events externally [ Drupal 7]

The wiki page http://wiki.civicrm.org/confluence/display/CRMDOC/REST+interface pretty much describe what you could do with rest.

From the wiki page :

  Before the REST interface can be used, two things have to be set up:

  You need to know your site key which can be found in the    civicrm.settings.php file labelled CIVICRM_SITE_KEY.
  You will need to enter an API key for every user that will be allowed to use the REST interface. (See below)

Then you will have to call an url like :

https://www.example.org/path/to/civi/codebase/civicrm/extern/rest.php?entity=event&action=get&key=your_site_key&api_key=the_user_api_key&json=1

Option json=1 will give you result in json format instead of xml
You may need to use &options[limit]=xxx if you want more than 25 results

Every options available in the api should be available in REST but need to be converted in the proper URL syntax. The wiki page give you some good examples of standard api call vs REST api call.


Activity Processor issue with Caldera Forms

Ok, I worked this one out. You have to create the fields in the Caldera form first and then match CiviFields in the processor you've added to the Caldera fields you've created, it's a bit like mapping fields for import


Sync custom first and last name fields in Drupal with CiviCRM

My answer is an alternative that was used in order to accomplish what was needed. Rather than sync Drupal fields with CiviCRM fields, I activated the ability for CiviCRM fields to be used in Drupal views, as well as created custom profiles in CiviCRM to render the fields during the Drupal registration process. Please go ahead an add an answer if it answers the original question.

Go to http://yourdomain.com/civicrm/admin/setting/uf?reset=1, replacing "yourdomain.com" with your actual domain. Copy all the code shown.
Edit your settings.php file and insert the code after the databases array, so it will look something like this:

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

/* Beginning of pasted code from CiviCRM */
Clear site caches and civicrm caches and you should be able to render CiviCRM fields in your Drupal views.

Source: https://docs.civicrm.org/sysadmin/en/latest/integration/drupal/views/ (Updated, thanks Aiden)


Webform submission redirect to view it come from

I've got it finally, I should have copied the token from the actual field, which in my case was "submission:values:civicrm_1_contact_1_fieldset_fieldset:civicrm_1_contact_1_contact_contact_id:nolabel]" and not the example from the token's help window.
Happy days!


Restrict Activity Types by Contact Type(s)

As far as I know this has not been delivered by anyone as yet but there was some substantive discussion about ACL and Activity Types here


"Connection Refused" error when trying to create a new contact

The issue seems to be with the automatic address geocoding (finding the latitude and longitude using google maps api)

It's probably that your server has a firewall that restrict it to connect to other websites. You should disable the geocoding feature or let the server connect to google maps api server

You'll have a few other features that require the server to connect to external sites (eg. most of the payment processors), it's probably worthwhile opening up more the security, or at least keep in mind when you have a problem that it might be the issue


Yes. But make sure you are on 4.2.9, because

  "If you are starting from a version prior to 4.2.9 you should upgrade to the latest 4.2 version as an interim step, as the latest version does not contain upgrade code going back that far."

and

  "You can make big jumps in one upgrade (e.g. 4.5.2 to 4.7.20) without
  needing to apply all the upgrades in between."

The above quotes are from, and see more at:  https://docs.civicrm.org/sysadmin/en/latest/upgrade/ .


How to change contribution pages profile labels into a placeholder?

You write a small jQuery script and include it on your forms

<script type="text/javascript">
CRM.$(function($) {
  let label, labelDiv, value;
  $('input').each(function() {
    value = $(this).val();
    labelDiv = $(this).closest('.crm-section').find('.label');
    $(labelDiv).hide();
    label = $(labelDiv).text();
    label = label.replace(/\s\s+/g, ' ');
    $(this).attr("placeholder", label);
  });
});
</script>

There are various ways to include jquery in your forms

Implement hook(buildform or preprocess or pagerun) via extension/plugin/module to add js using add resource method
Override tpl file using extra.tpl method to include jquery


Should smart groups be highlighted so users are aware they are smart and so avoid corrupting them?

That's a good suggestion. I've also heard the suggestion to provide an admin option to "lock" smart groups to prevent manual adding/removing of contacts.


Case type edit not saving, broken case types - how to debug?

The commentary suggests that the history of this case-type may have allowed some weird data in.

In case one did want to dig in more, a couple debug tricks that might be interesting:

Open the case-type admin UI and edit the current URL to append ?angularDebug=1. This will cause it to display a panel with the "live" content of the CaseType and its definition. This is available in most Angular pages.
If you're experimenting on a dev/staging site, you might try unsetting the definition via SQL (UPDATE civicrm_case_type SET definition = NULL where id = ...). This is sometimes useful for forcibly revertig a definition (even if the UI is misbehaved).


Event Registration - Duplicate Matching Impossible

It seems your event registration profile form has no email field or last name field for duplicates checking, refer to this related post How to register for event without an email address?

Also refer to the following link for for more information on civi deduping:
http://book.civicrm.org/user/common-workflows/deduping-and-merging/


Create a new membership rather than renew an existing one

Caldera Forms CiviCRM now allows you to choose whether you want to renew an existing membership or create a new one entirely, see here https://civicrm.org/blog/danaskallman/caldera-forms-civicrm-cfc-for-donations-and-membership.


Track contacts who attended more than 1 event

You can easily GROUP BY and COUNT() in mysql - do you have access to mysql? If not you can also put this in to a CiviCRM custom report.

Here's the query:

So below contact_id 2309 participated in 5 events; contact_id 3186 in 2 etc.

    mysql> SELECT contact_id, COUNT(*) from civicrm_participant GROUP BY contact_id HAVING COUNT(*)>1
+------------+----------+
| contact_id | COUNT(*) |
+------------+----------+
|       2309 |        5 |
|       3186 |        2 |
|       3568 |        2 |
|       5820 |        2 |
|       7007 |        3 |
|       7045 |        3 |
|       7048 |        3 |
|       7083 |        3 |


How can I record multiple premiums for a contribution?

Perhaps this can be achieved through the use of price sets and multiple contribution pages, e.g.:

Main contribution page can be the lowest level premium option with links to the higher levels of sponsorships, each level is its own contribution page
(e.g. main page = Sticker Level, linked page = T-Shirt Level, etc.)
The price set for the sticker level would only include the sticker option at whatever the amount it is that you are requesting as required
The price set for the t-shirt level would include the option to select to receive a sticker with a price of $0, and then the t-shirt level amount that is required

Hope this helps!


Where can I get the code that creates the progress bar for Personal Campaign Pages?

I'm not sure there's an 'easy' way to do it (similar to the widget code for an entire Contribution page). In the past I've done something like it by writing a custom plugin (for Wordpress) that used mysql queries to pull data from active PCPs. I don’t believe there’s a fully operational API for PCPs yet - that would probably let you avoid writing queries yourself - there is however an unofficial API that you might find useful.

Incoporating PCPs in Wordpress


Setting up rule to link CiviCRM contact (created when webform is submitted) with Drupal 7 account

You may need to add your rule here. The one by Christia is specifically about "updating a contact record in the CiviCRM" not about creating.

The only way we have made rules work for creation from webform is to add eg a Tag to the contact and then run the trigger off that. You need civicrm_entity.

This is cross-posted from the Drupal SE. Here is an example Rule you may be able to glean things from. It also auto logs in the contact.

{ "rules_self_create_user_account_and_login" : {
    "LABEL" : "Create User Account",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "civicrm", "rules" ],
    "ON" : { "civicrm_entity_tag_create" : [] },
    "IF" : [
      { "NOT civicrm_entity_user_exists" : { "civicrm_contact" : [ "civicrm-entity-tag:entity-id-contact" ] } },
      { "data_is" : {
          "data" : [ "civicrm-entity-tag:entity-table" ],
          "value" : "civicrm_contact"
        }
      },
      { "data_is" : { "data" : [ "civicrm-entity-tag:tag-id" ], "value" : "525" } }
    ],
    "DO" : [
      { "civicrm_entity_action_create_user" : {
          "USING" : {
            "civicrm_contact" : [ "civicrm-entity-tag:entity-id-contact" ],
            "is_active" : "1",
            "notify" : "1",
            "signin" : "1",
            "username_format" : "email"
          },
          "PROVIDE" : { "civicrm_user" : { "civicrm_user" : "Created Drupal User" } }
        }
      },
      { "redirect" : { "url" : "civicrm\/user?reset=1" } }
    ]
  }
}

You need to Add a new Tag - note the ID of that tag - change the exported Rule to the Tag you created for this purpose. Then also alter your webform so it adds that Tag automatically to the contact upon form submission


The Extended Reports extension includes Priceset Reports. It works great for our org to see reports with LineItem info.

https://civicrm.org/extensions/extended-reports


Authorize.net is upgrading to CyberSource SCA. Will our payment gateway still work?

We updated the AuthorizeNet processor here: https://github.com/mattwire/com.donordepot.authnetecheck for both echeck and credit card.

However, it looks like AuthNet will not be supporting SCA (so you'll be fine for non EU payments) but will need to switch to Cybersource to accept EU payments via credit card.  It looks like Cybersource is supported by the Omnipay processor https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor


There should be a .tpl template file that goes along with your .php file. You can put the javascript in that file.

The files created for your form via civix and their locations are described here:
https://docs.civicrm.org/dev/en/latest/extensions/civix/#generate-form


Unintended Text in civiBooking Resource Configuration

It looks like that text is likely from the "Resource configuration size unit" option list.

From the Resource Configuration Set page (civicrm/admin/resource/config_set?reset=1), you can edit the individual options for the configuration set in question. You can select a different "Unit" on the options, which shows up at the end of the selection as you noticed.

If there is no appropriate option listed, you can also edit the option list that is used here. Go to Administer > System Settings > Option Groups and look for the Resource configuration size unit group.

It looks like you've already set these values correctly. Did you change the values at some point? If you create a new "size unit" and select that, does it affect the display?


Start new CiviCRM site in Drupal 7 or wait for Drupal 8?

The short answer is easy, which you can take away from Does CiviCRM work with Drupal 8 and how can I help? — CiviCRM is not yet fully functional with Drupal 8. You can see issues tagged for Drupal 8 in JIRA, and even better, help test and develop the Drupal 8 branch code.

The long answer is more complicated, and depends on your organization's development timetable, technology cycle, technical resources, use of Drupal for other purposes than hosting CiviCRM, first-adopter culture or lack thereof, and like factors.

First of all, Drupal 7 is not going away any time soon. It will continue to be supported until three months after the release of Drupal 9, which is not anticipated until 2020 or 2021 at the earliest. The large installed base of Drupal 6 prompted vendors to develop a long-term support mechanism. Considering that Drupal 8 is by any account a much bigger change from 7 than 7 was from 6, and that 7 has an even wider installed base than 6 did, one may reasonably expect that there will be demand for a Drupal 7 LTS version as well.

Now, if your organization already has plans in motion to end your own use of Drupal 7, getting support to launch a new D7 project may be hard. In that case, you might be better-off waiting for CiviCRM 5 and full Drupal 8 support later in the year. On the other hand, if your organization will support D7 for the forseeable future, launching on D7 with an eye to updating to D8 in a few years may make sense. Or, if you are new to Drupal altogether, and you have technical expertise in Symfony, Twig, and other D8 technologies, you may be better off skipping D7 for now, and having to re-learn all that's changed for D8 in the near future.

Most of my clients on CiviCRM do not have dedicated IT resources, and rely on our company to handle maintenance and updates. These clients we are keeping on D7 for now, and will probably not migrate them to D8 for at least another year, until the future of modules like Webform are more certain. We are also keeping an eye on the Backdrop CMS project, a fork of Drupal 7. There is a request for Backdrop support in JIRA, but as there is not much demand for the product (yet?), movement is slow.

And finally, if your organization does not or will not use Drupal for any other purposes other than to house CiviCRM, you might weigh whether WordPress should be considered.


Update Multiple Contributions with Missing Attributes via Search Builder?

Try creating a Profilewith the necessary Contribution fields and then accessing it via Actions (Bulk update) from the Find Contributions page


Cannot Select Recipients in CiviMail in 4.6.2

Thanks. It's helpful to report these kinds of issues along with details of the configuration (like you did) and any steps required to reproduce in a new installation.

For a temporary work-around, you might try using the old, deprecated UI by editing civicrm.settings.php to include define('CIVICRM_CIVIMAIL_UI_LEGACY',1);

FWIW, we still have a couple issues that are getting reported by multiple people but which we cannot reproduce yet. Based on the data-points so far, the use of Joomla with Civi 4.6.2 seems to be a common theme, but that could be coincidence. More reports/debugging is greatly appreciated.


Based on your answer, you don't have any multi-value custom data, which is why the drop-down in question is empty.  To import custom data, please use the normal import screen, found at Contacts menu > Import Contacts.


This can be very easily achieved using custom data –

https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/

The first decision to make is where you would like to see this information, on the contact record or at a membership level.

If a member can have multiple membership types then the custom data set should be created at the membership level. This option will then allow you to record qualification details per membership.

To record –

Date use the Data and Input Field Type option -

Place / Location use the Alphanumeric Select option -

Training level use the Alphanumeric Select option -

To record trainer level you can either use the Alphanumeric Select option or if you have the trainers as contacts in CiviCRM then you can use the Contact Reference Autocomplete option and limit list to a group

Don’t forget to mark them as searchable for reporting purposes!

The end result when viewing the membership -


Applying part of a contribution to a Participant Payment

I would suggest

Create participant for Participant A
Create participant for Participant B
Create a $200 contribution against J.Smith contact
Add line $100 line item for Participant A and Participant B with contribution id from #3
Add participant payment entry linking contribution from #3 with participant id from #1 and #2.

If you are using drupal than whole process can be done using webform without any customization. (Probably caldera form for wordpress)

Thanks
Pradeep


migrating civi database from current hosting to civihosting.com

Steps that i usually follow to migrate CiviCRM from one server to another

Export DB from current site.
Compress files structure of civicrm i.e /wp-content/plugins/files/civicrm or /wp-content/uploads/civicrm
Drop and create the database on CiviHosting.
Import db from #1.
Replace /wp-content/plugins/files/civicrm or /wp-content/uploads/civicrm from #2.
Re-Check civicrm.settings.php.
Log out from wordpress and log in.
Rebuild Menu and Trigger

http://example.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/menu/rebuild&reset=1&triggerRebuild=1
Check and Update path in Administer >> System Settings >> Directories.
Check and Update path in Administer >> System Settings >> Resource URL.
Check and Update path in Administer >> System Settings >> Cleanup and Cache


In Rules Fetch Contact Entity from Tag Creation

You'll need the module CiviCRM Entity installed. https://drupal.org/project/civicrm_entity
You will also need the Webform Rules module https://drupal.org/project/webform_rules

What you could do is add a checkbox for each contact that can be deleted to the webform, could just be a regular Webform component.

Then respond to the submission of that webform with a Rule.

In the submission data, there will be a value for the checkbox you add. If it is checked, then load the contact by cid, it will also be there in the submission data.

With CiviCRM Entity, CiviCRM entities like contact, become proper Drupal entity types, in this case civicrm_contact is the entity type. You can then use the regular "Delete an entity" Rules action.

Before you delete the contact, you will have to load it first. There is a Rules action, "Fetch entity by id", use this, and pass it the contact id you get from the webform submission data.


Apologies. This is a Drupal answer and I know you are on Wordpress, but this ticket might attract drupal users too so thought I would outline the approach.
There is a View you can download here which provides the logged in user a block with their Membership status etc, and this could be modified to include other fields including image. Using the Print module, or Views PDF this could then have a download option for the user to 'take it away'.


Can TinyMCE 4.2.1 be installed under CiviCRM 4.1.5?

CiviCRM 4.1 is not maintained and highly insecure. Unless you have manually backported every security patch on this list plus the relevant ones on this list then you are strongly recommended to upgrade to a supported version. Recent versions, incidentally, ship with TinyMCE.


Should the No-Overwrite extension be the normal behaviour?

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

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

X+


Why might a dedupe rule fail to deliver results, or result in server crashing?

Having found the users have repeatedly misconfigured Dedupe / Matching Rules with a Weight Threshold of zero or NULL, both of which (I think) can result in a search of every record against every other record, I believe that Save should not be possible with zero/null.

Jira here


What are these symbols on the batch entry screen?

No, they are not supposed to be there. I suspect there is something amiss with the css on your site; possibly an interfering theme. This is what the screen looks like on dmaster.demo.civicrm.org:

On the other hand, I don't think they are working properly. I believe the checkboxes are supposed to represent that the row has been entered with valid data... but they appear regardless of what's entered. That sounds like a js bug in core.


How to allow parents to register children but still record their own info

If you're using Drupal, Webform-CiviCRM Integration will handle your scenario pretty easily. It allows registering any number of participants for any number of events on a single form.

You may also want to e-mail Sarah Gladstone, the author of the Youth Registration extension, what she uses instead - but I'm pretty sure they use Webform-CiviCRM integration these days.


How can I create a report that shows contacts with no activities within a certain date range?

In case you don't know of it, there is a Custom Search available under 'searches' for Include/Exclude Groups. So you could use that.

Step 1: create a Smart Group based on Activities within timeframe (A)

Step 2: create a smart group of 'all individuals' (B)

Step 3: use Include/Exclude Search to say B minus A


Activities to be shown in a full calendar

So last time I looked Civi for Drupal ships with a calendar of activities if you install the views calendar modules (and dependencies). I think its called my activities or something similar.

You should be able to tweak this to just show the activities of type for the case in question.

Just to let you know we original developed the Civi Contact Calendar Extension but we deprecated it as the functionality above was developed.

Let me know how you get on.

Best

Jamie


For the out of memory problem see https://lab.civicrm.org/dev/drupal/-/issues/119 and the workarounds in there, which should then allow logging the actual problem.

Also that stackexchange article is old and a bit out of date, although the gist of it is right. But you might want to use this method instead of roundearth, and the civicrm.settings.php entries are a little different from the roundearth one. The other method should set the civicrm.settings.php settings for you.


It wouldn't do this out of the box. You've indicated you don't want to use CiviEvent but if you did then you would be able to do online payments. You could use CiviContribute too for online payments.

Something like Moodle might be a better fit.


Civicontribute registration module with wordpress

Make sure you have enabled receipting in the Event configuration - and double check the to and bcc fields!

Reference: https://book.civicrm.org/user/current/events/creating-an-event/

Scroll down (lots) to Confirmation Email section.

If that's working: check that you can send Email from CiviCRM: go into your Administer -> System Settings -> Outbound Email -> and try send yourself a test Email;

Reference -> https://book.civicrm.org/user/current/advanced-configuration/email-system-configuration/


Change thumbnail size on public directory detail page

I believe that thumbnail size is set by CSS (at least it is in the backend), the actual contact image should be whatever size you uploaded the image at originally. Perhaps you can adjust the CSS to display those contact images at your desired size.

Based on your page, you could use:

.content img {
    width: auto;
    height: auto;
}

To set it to it's native size. You could alternatively used specific values (height: 200px; width: auto;) to be a little more uniform across different contact results.


Can I manually add an "Email" activity in the GUI without sending it?

Have you checked the inbound email processor script. You can forward and/or cc a mailbox, and civi can read from the mailbox and attach it to the relevant contacts.

Details are here:

http://wiki.civicrm.org/confluence/display/CRMDOC/Autofiling+email+activities+via+EmailProcessor


Where can I find CiviCRM 5.26 for WordPress?

Sourceforge has the files: https://sourceforge.net/projects/civicrm/files/civicrm-stable/
You can also just change the url manually for the "official" download, i.e. the current is https://download.civicrm.org/civicrm-5.28.3-wordpress.zip but you can manually type https://download.civicrm.org/civicrm-5.26.2-wordpress.zip


Why aren't my advanced search results sorting properly?

There's a setting in the Administer -> Customize Data and Screens -> Search Preferences called "Include Order By Clause". If you set that to "No" (presumably to improve performance as it recommends), then your search results will be ordered by contact id even when you try to change the sort order by clicking on the column headers.


This is not so much a CiviRules question but more a PDF API question. At this point it time I do not think this is possible. But I know we have 1 party interested in this, you might want to contribute too?


Can you check on the log of your mail server if they are really not going out?

Usually when I have this problem, it's because the test emails are flagged as spam and discarded somewhere between civicrm and the inbox of the tester


Custom membership status is not being updated

A membership has a single status determined by the status rules.  If the date rules mean that more than one status applies, the ordering of the rules determines the result.

From the user guide :

  To decide on which status should be applied, CiviCRM looks to see if the membership has a status override. If it does, it applies that status. If not, it looks at each status in turn starting at the top of the Status Rules page until it finds one that is valid. That is to say, it looks to see if today's date is between the start and end date for the membership status at the top of the list. If it is, it applies that status, if not it moves to the next status and repeats this process until it finds a status that matches.

Since you have changed the order, 'Current' will be used in preference to 'geldig lid' although the rules for both are the same.

When you say that the status "doesn't work as it should", I think you mean that memberships past their end date are still showing as 'geldig lid'.  Membership statuses are updated either by saving a change to the membership or by the scheduled job "Update Membership Statuses".  From your screenshots it seems the scheduled job is not running / not working.

You can have a Label for the Membership Status that is different to its Name, so you could use the standard Current but change the label to 'geldig lid'.

However, if you want to continue with the current setup, change the ordering back so that 'geldig lid' appears before 'Current'. Before running the scheduled job, you might want to see how many are past their end date and how far past they are as to whether you want to notify anyone or take action etc.  Then enable/fix the scheduled job - that should change Current memberships to 'geldig lid' and change those past their end date to Grace or Expired.


Civicrm Integration: Error while adding api function

This looks like your CiviCRM install has an extension enabled in the DB which is not present, or was moved, on your disk.

Perhaps the extension you're working on was renamed after first being enabled, perhaps other changes were made to info.xml or the core extension files, perhaps it was moved, or perhaps your DB had another extension enabled on the remote server which isn't present locally.

The CiviCRM extensions page might be informative to check, otherwise you can compare extensions listed in the database to the ones which are available locally.


How do I get search actions to appear for multi-site users of one site

You still need to grant the other normal civicrm permissions to the subsite user as you would to the primary user. The only difference would be don't enable view all contacts or edit all contacts.


advanced search - mailing fields not present

look in civicrm/admin/setting/preferences/display?reset=1

This is a bit counter-intuitive since the first place most would look is under Search Preferences - but it lives under Display Preferences as it is about what displays on the search screen. hth


In regards to the first one its a little bit misleading the actual thing is another function has been marked as deprecated and calls to that function should be refactored to use CRM_Core_PseudoConstant::getKey this is the related issue  https://issues.civicrm.org/jira/browse/CRM-20424

In regards to the 2nd issue i have opened a ticket here https://issues.civicrm.org/jira/browse/CRM-20939 and submitted a pull request here https://github.com/civicrm/civicrm-core/pull/10721 to fix the issue.

If you can it would be helpful if you could add a ticket on the first issue in the JIRA and reference CRM-20424 in the ticket.

Seamus


Registration Pages for individuals and Organisations

If you're asking can an organization register for an event using an online CiviCRM registration page, then the answer is no - or not without a customization - the CiviCRM database does allows it.

In general, the online forms for contributions, membership, and registration have built in logic that assumes the user completing the form is an individual user.


How to include token or variable for Invoice number under the message templates for Memberships - Receipt (on-line)

The tokens you can use in a message template are a bit random, just what the developer added to the template. In this case, the contribution id can be found with {$contributionID}. However, that is not the same as the invoice_number. I could not find a token for the invoice number. But the templates are generated by smarty, and in smarty you can use the CiviCRM api. So the following line gets the invoice number:

{crmAPI var='invoiceReference'
        entity='Contribution'
        action='getvalue'
        return="invoice_id"
        id=$contributionID}

You can print it with {$invoiceReference}


Too nervous to upgrade CiviCRM from 4.1.1

if you are asking for professional support to undertake these upgrades and fix any issues that might arise as a result then you may want to contact some providers listed at https://civicrm.org/partners-contributors.

When we (FUzion) are approached to undertake these types of support tasks then we would require suitable access (preferably SSH), would probably prefer to set up a dev version of the system to test the upgrade, while recognising that the server environment won't be equivalent.

Other information to have to hand would be PHP version the server is running etc.


Can an expired checksum provide any warning to the user when they get to the site?


How can I pass in the contribution amount via URL?

I just tried this on CiviCRM 4.6.18 and successfully passed the amount through using the field Name or id (inspect the field to find the name or id)
In the case of my form I did this:
http://example.org/civicrm/contribute/transact?reset=1&id=2&price_5=35


smart groups based on membership broken after upgrade from 4.6.4 to 4.6.5

It seems like a bug to me. Please raise a issue on Civicrm Issue tracker


Missing more menu options three dots/vertical ellipsis (⋮) within administration interfaces

If you have CiviCRM shoreditch extension enabled on your site than try adding below line in your theme css file
.crm-container span.btn-slide {
    display: unset !important;
}

Thanks
Pradeep


Hopefully someone else more knowledgeable chimes in, but in short: yes.  The PayPal payment processor uses the older PayPal APIs.  My understanding is that the new APIs are actually the PayFlow APIs, and thus are compatible with the PayFlow processor plugin.  Each time this has come up for me, we were able to get the older API from PayPal, but you need to speak on the phone to a person.


What is required to run CiviCRM on Platform.sh?

In effect Platform.sh supports any PHP application, though it does have some specific magic for Drupal, but you can run any PHP application unmodified.

All you need is to know is how to inject the correct configuration for the infrastructure dependencies (MySQL, and possibly Redis or Solr in this case).

The specific "Drupal Magic" brings support for installation profiles and "drush make files". So it shouldn't be complicated to setup CiviCRM with Drupal. There is an example Git repository on GitHub for CiviCRM with Drupal 8.

This basically allows you to only commit your own custom code to the repository and let Platform.sh build the whole thing. This is nice because it keeps your Git repository lean, and allows you to benefit "for free" from security updates. Platform.sh also "magically" injects to Drupal the database settings, so you really have nothing to do. So that best way to go is to figure out how to have your CiviCRM installation based on a project.make file.

To host a normal CiviCRM application (without Drupal), there is nothing specific to do. The main thing to understand, is that Platform.sh is Git driven. You can't just go around hacking your production server. The only way to get code to your server is to commit it to Git. Because anything else is evil and no good at all.

For other PHP applications you will need to edit their settings file.

Platform.sh will expose in its environment everything you need to configure your application.

For example, this command will give you all the relationships of your application (and specifically the database configuration).:

$relationships = json_decode(base64_decode($_ENV['PLATFORM_RELATIONSHIPS']), TRUE);

I hope this help.


What is the difference between Tag or Group

both tags and groups are ways to segment contacts. There are a few differences:

Tags
 - can be used for contacts, activities, cases and attachments
 - quick to add, easy to use and find
 - you can not extends tags with custom fields AFAIK
 - easy to spot on the contact summary (if you do not use too many)
 - can not be used to create a segment of contacts for a bulk mailing

Groups

can be used to segment contacts only
can be extended with custom fields
can be used for Bulk Mailing and ACL's (fine grained permissions), scheduled reminders and subscribe/unsubscribe
you can also create smart groups (check https://docs.civicrm.org/user/en/latest/organising-your-data/smart-groups/)

You can read a little more on https://docs.civicrm.org/user/en/latest/organising-your-data/groups-and-tags/ and I would recommend you play a little with both to discover what would be the best alternative for your specific need.

And a little remark at the end: although there is a CiviCRM Core Team most of the posts on this forum are answered by community members :-) I get the impression from the "Civi-Team" you are expecting a big team of people employed by CiviCRM answering these questions :-)


I need to find the Host URL, Site key and API key

Host URL

Depending on the context of your situation, this is probably referring to the domain name of the site where you use CiviCRM. So if you see https://example.org/civicrm when using CiviCRM, then the host URL is example.org

Site key

This is one value, used globally for your CiviCRM installation and stored in the civicrm.settings.php file on your server. (The location of this file will differ depending on what CMS you use.)

Within the file, you'll find a section like this:

if (!defined('CIVICRM_SITE_KEY')) {
  define( 'CIVICRM_SITE_KEY', 'J8UdnKcpN93x0mvv');
}

So here, your site key would be J8UdnKcpN93x0mvv.

API key

API keys are unique to CiviCRM contacts. You'll need to create an API key for a contact if you want to use the API through the REST interface.

If you are setting up an external service to connect to your CiviCRM installation, it's probably worth creating a new contact record specifically for this service to interact with your site. Then you can grant specific permissions to this user just like you would do for a real person.


CiviCRM + Wordpress + Contact 7, how to get it to work

You must also install a CiviCRM extension on the other end - see this blog post for details.

Note that this plugin is NOT very mature, and isn't recently updated.  Its killer feature is the ability to post data to a remote CiviCRM.

If the CiviCRM you're trying to post to is installed on the same WordPress site, then you'll want to use Caldera Forms with its CiviCRM integration.  This is the plugin of choice for CiviCRM/WordPress developers and is receiving active support.


Configure CiviMember / CiviContribute for livery company quarterage fees

I'd suggest this setup:

Auto-renewed annual memberships (different membership types for each amount).
Fixed renewal dates (July 1).
Adjust the Membership Status rules to allow "Grace" status to extend several years (or whenever it is that you're ready to say good by to non-engaging members).

Memberships are often tricky because of language - if some of the default language needs to be altered, you can do that with the string replacement features.

1 + 3 will effectively mean your members don't really expire, since "Grace" status is considered 'current' (normally), but you'll have the renewal mechanisms for reporting and payments and notifications.


How to increase the autocomplete search results in webform

It looks like line 669 here:
https://git.drupalcode.org/project/webform_civicrm/blob/7.x-4.x/includes/contact_component.inc#L669

You can try changing the 12 to something else. It might work to replace it with Civi::settings()->get('search_autocomplete_count') and then it should use the value under Administer -> Customize Data and Screens -> Search Preferences -> Autocomplete Results. I haven't tested that.


CIVICRM mailing links not working properly in schedule job

We are having this problem as well, also in WordPress 4.9.2. We have discovered that the issue arises because permissions get corrupted. According to SiteGround, our host, these permissions in particular are problematic:

./wp-content/uploads/civicrm/templates_c/en_US/%%31/313
./wp-content/uploads/civicrm/templates_c/en_US/%%D6/D67

We don't know what is causing permissions to break in the first place. For example, yesterday, we sent out three emails with trackable links within 1 hour. The first two worked perfectly. The last one didn't work - 'public_html' inserted into all the links.

Our solution has been to create a cron job in cPanel to reset permissions every 5 minutes.


Just to add the answer, as mentioned by Alek. This is a legitimate bug report and the issue is being tracked here: https://issues.civicrm.org/jira/browse/VOL-172

It is slated to be included in the 2.1 release and a link to the patch will be available on the issue when it is released.


Undefined offset: 1 in CRM_Utils_Check_Security->guessUrl()

So I think I found the fix.

I had my Images directory under Admin=>Directories to the following:
/home/my_site/www/www/civi_images

The Image Upload URL under Admin=>Resource URLS to the following:
https://saintfrancisocc.org/civi_images

When I upgraded to 4.6.2 is when I started getting the error. I checked that line in the Security.php file and it referred to the uploadurl as samuelsov stated. So I thought I'd try changing that to something else and see if it fixed it.

I changed the Images director under Admin=>Directories to the following:
/home/my_site/www/www/sites/default/files/civicrm/civi_images/

And changed the Image Upload URL under Admin=>Resource URLS to the following:
https://saintfrancisocc.org/sites/default/files/civicrm/civi_images/

I went and refreshed and no more error. So it appears that civi 4.6.2 doesn't like the upload directory to be at the root


Javascript MIME type mismatch error after server move

The X-Content-Type-Options: nosniff header is a security measure that prevents the browser from attempting to detect the MIME type of a download automatically, as this behavior can be exploited for certain kinds of attacks. The browser will block requests for stylesheets and scripts which are not delivered with a CSS or Javascript MIME type, respectively.

In practice, this means the web server is unable to load the resource for any of several reasons:

The resource is missing
The file permissions on the resource prevent it from being loaded by the web server
The web server is not configured to deliver .js files using a Javascript MIME type

Please confirm that the file exists, that you have followed all the instructions for moving an existing installation, and that your server is configured correctly, including file permissions and Javascript MIME types. In particular, since this file is loaded in a custom template, you should confirm that the path has not changed.


Modifying Default Contact Forms (Individual, Household & Organization)

If you're referring to the "New Individual" etc. form that looks like this:

You can remove some of the fields from **Administer menu » Customize Data and Screens » Display Preferences.  You can't remove all the fields from this screen without coding a custom extension.

You can add fields by creating custom fields.  See the documentation for more help on this.


Are virtual community tools (groups, mailinglists, profiles, "friends", ...) playing nice with CiviCRM?

This isn't strictly a CiviCRM question in my opinion, but here goes anyway...

  members can open closed and public groups

This is built in to BuddyPress - check the box labelled "Enable group creation for all users" in BuddyPress settings.

  groups have mailinglist functionality, ideally posts to the group can be created by email and send out by email (such that the users don't have to learn a new platform, if they do not want to)

I'm not sure about creating posts by email, but this plugin will do replies by email:

https://github.com/r-a-y/bp-reply-by-email

It is pretty technical but there's good documentation.

BP Groups CiviCRM Sync will keep BuddyPress group members synced with CiviCRM groups such that there are CiviCRM Mailing Groups per BuddyPress group - see the plugin page for details.

FWIW, I also use a combination of CiviCRM WordPress Profile Sync and BP xProfile WordPress User Sync to keep users' BuddyPress, WordPress and CiviCRM profiles in sync.

  members can set up events

The CUNY fork of my BuddyPress Event Organiser plugin (which has been developed way beyond where I left it) enables BuddyPress group events and group calendars. You could also install CiviCRM Event Organiser to sync those events to CiviCRM.

  members can see / are informed over events in their proximity

I don't know of anything that does this out-of-the-box, so it sounds to me like a custom plugin which uses (say) Event Organiser (which has a premium proximity add-on) and BuddyPress Group Email Subscription or CiviCRM to notify users.

  members can set up profiles, have virtual friends and exchange messages

Again, this is all default BuddyPress functionality.


Is there a way to see the actual change performed by the entry in the change log?

You can switch on the advanced logging in the Administer/System Settings/Misc, that will show you far more detailed logging. I expect it will impact your performance, so it is probably worthwhile to test it first.


Check your contribution page configuration for amount tab. May be you have unchecked the Execute real- real time monetary transaction.


How can I add Mailing Date to the Mail Details Report?

I used a combination of these four resources to learn how to customize reports to add columns and filters etc with some tenacity and very minimal php and mysql background:

https://wiki.civicrm.org/confluence/display/CRMDOC/CiviReport+Reference

https://alastaira.wordpress.com/2011/03/17/civicrm-creating-a-custom-report/

https://artfulrobot.uk/civicrm-custom-birthdays-report

https://sf2012.civicrm.org/sites/default/files/slides/CiviCRM%20Reports-Customize%20and%20Extend.pdf

The basic steps are, create .tpl and .php files based on a report that is close to you what you want (mailing details in this case), add the little chunk of code into the .php file under "columns" section and under "filters" section as detailed in the resources above, drop these two files into your websites custom templates and custom php directories, and register them with civicrm.


Why do I get a security alert AFTER installing 4.6.14?

There is an open issue on this: CRM-18156.

This logic is implemented in CRM_Utils_Version:: checkBranchForNewVersion() -

check as implemented in v4.6
check as implemented in master / v4.7

Update: Now fixed, cause was identified as data in the pingback / version check feed on CiviCRM.org. See JIRA issue CRM-18156 for details.


Two things:

1) The instructions you posted are for a CiviCRM upgrade, not a Drupal upgrade.

2) There's nothing wrong with being a novice!  However, upgrading a live site is something you do NOT want to take on without some experience, much as you wouldn't try to fix your house's electricity without some practice.  You can easily wreck the site - upgrades are NOT something you can do via point-and-click on the website.

If after reading this you're interested in learning the skills, I would try installing Drupal on your personal computer, following one of the many tutorials available online.  It will be challenging - expect to take at least a day if you're inexperienced!  When you're done, you'll be in a much better position to tackle your live site.


Why should I use an ~/extensions directory rather than the default ~/ext for new extensions?

The ext dir that ships in the tarball is for extensions bundled directly with core like IATS. If you put other extensions in there they will get wiped when you upgrade, so it's common to put them somewhere outside the civicrm folder.

See also https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/#enabling-extensions


Different credit card choices for each payment processor

I can't think of a way to do that out of the box - I think the only way to get that functionality would be a custom extension


How to send an email message with CiviMail to a certain % of contacts in a group

CiviMail allows you to exclude recipients of a previous mailing. I think this is what you need.

Lets say you are sending to the Newsletter Subscribers group:

1) Send your First mailing of the week out as normal

2) When you are ready to send the Second mailing, choose the same newsletter group as last time, but choose to exclude recipients of the First mailing.

In your case, it sounds like you want to send out a message to an arbitrary 50% (now I understand why you asked the question!) or so of the first group. Unfortunately, there is no limit to 50% button. One approach would be to create another group based on Newsletter subscribers that contains ~50% of your initial group and use this for the first mailing. Another approach might be to do an Advanced Search with the criteria a) Newsletter recipients b) some other criteria that splits the group in half (a smart group for users with an odd contact ID, maybe?!) and then choose the action Email - schedule/send via CiviMail.

Whichever method you choose, once the first email has been sent, you can use the approach mentioned above to send the second email.


Apparently, CiviCRM adds a lot of things before the @yourdomain.com in the From-address. Things like a job id, event queue id, and a hash. Google didn't like that because that email address didn't match an existing mailbox. Luckily, in the Google SMTP relay settings, you can specify to accept any address from your domain. That did it!


How to find contacts that haven't confirmed their registration?

go to >Contacts >Manage Groups and click on the link "Contacts" next to the the group in question. You will then see all contacts in the group and also be able to filter for those that are added, removed or pending.


Prevent sending event registration confirmation emails

If you are on 5.26+ CiviCRM version, when you find contact, select list of contact and use 'Register participants for event' from the action list. It takes you to the Create participant form. When you select the event, there will an option for 'Registration Confirmation and Receipt' at the end of the form where you can select or unselect send receipt option.
You can try on https://dmaster.demo.civicrm.org/
HTH
Pradeep


I don't know why all that HTML markup was displaying for you--that's a bit of a bug.  However, the real error message is in there: CiviCRM 4.6.10 requires MySQL trigger privileges.

The MySQL user that CiviCRM and Joomla use for connecting to the database needs to have the ability to create triggers.  You or whoever maintains your server will need to grant that permission to your database user before you proceed.


How can i check current user is administer in civicrm hook?

You could use something like CRM_Core_Permission::check('administer CiviCRM') which returns true or false depending on if they have that permission.


This sounds like a problem on your site specifically.

You can always verify this by checking the public CiviCRM/WP demo site.

To me this sounds like a general javascript error on your site, likely caused by a bad WP plugin or theme. Check the javascript troubleshooting guide for more details.


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

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

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


Recurring contribution report by LineItem financial type

I think Extended report extension does provide Line item financial type filtering but not sure if they filter only recurring contribution. There are of Contribution reports with additional filter/fields available that are not present in core reports. You may need to add filter to show only recurring contribution using hook_civicrm_alterReportVar hook.

(Even Bookkeeping Transactions Report does filter financial type using line item FT.)

HTH

Pradeep


There are multiple "token" systems in CiviCRM depending on your context.

{$totalAmount|crmMoney} is a Smarty token, which only works in Smarty emails.  System Workflow messages are Smarty, traditional templates don't handle Smarty by default, but can; Mosaico templates don't support Smarty (by design).

None of the approaches suggested above are without issues, but let's discuss them in turn.

{latestcurrentmembership.allfee} in Civitoken does NOT return the membership fee paid.  It returns the "minimum fee" for the membership type (see screenshot):

If all of your memberships of a particular type are always the same cost, you can set the "minimum fee" and use this token to solve your problem.

Even if you were using Smarty with your mailing, {$totalAmount|crmMoney} wouldn't be available as an option to you.  Mosaico mailings are sent to contacts, not to contributions; the "total amount" token wouldn't know which payment you were referring to.  Consider if instead you can use Thank-you emails or Scheduled Reminders or CiviRules instead of CiviMail.  There's the mosaicomsgtpl extension that copies a Mosaico template to a traditional one for use with non-CiviMail mailings.
When sending as a contact, you CAN use a token for "Total amount of latest completed contribution".  It's available in CiviToken, and depending on your situation, may solve your issue - but only considers completed contributions.  To change this, open the civitoken folder, go to tokens/latestcontribs.inc, and remove the line that reads AND civicrm_contribution.contribution_status_id = 1 to consider all contributions, complete or not.

Finally, some solutions that don't (yet) exist:

The "Latest Membership Fee" token in CiviToken CAN return the actual amount - the author just didn't need to in her case, so she wrote a shortcut.  One could create such a token.
I've got a task on my plate (probably for this month) to write tokens for contributions that can be filtered on financial type.  So instead of "Total amount of latest completed contribution" you can specify "Total amount of latest completed contribution with Financial Type of 'X'".  If this would solve your problem, let me know on https://chat.civicrm.org and I'll let you know when I get to it.


By default the Report Contact Logging Report (Summary), that is used to display the detailed logging, requires the permission CiviCRM: administer CiviCRM.

You can change it to a permission that you feel comfortable with for your subset of users and save the report. Otherwise you need to create a new specific permission with an extension https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_permission/.


Who are you organising the event for? Your organisation seems to be the most natural, but having a client of a case (used to be?) is tricky. If it doesn't work easily with your org, I'd put the event manager as the "client".

As for creating the link, I'd put a custom field (integer) that contains the id of the related entity. I'm not sure I'd put the event id on the case of the case id on the event, depends of your workflow and which one is created first, and a tiny extension to display the id as a link instead of the number.

X+


Menu problem when web host upgraded from CPanel to Site Tools

I replaced the full URLs in the civicrm.settings.php file with relative URLs as shown below:
FROM

global $civicrm_root;
$civicrm_root = '/home/customer/www/example.org/public_html/sites/all/modules/civicrm';
if (!defined('CIVICRM_TEMPLATE_COMPILEDIR')) {
define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/home/customer/www/example.org/public_html/sites/default/files/civicrm/templates_c/');
}

TO

global $civicrm_root;
$civicrm_root = './sites/all/modules/civicrm';
if (!defined('CIVICRM_TEMPLATE_COMPILEDIR')) {
define( 'CIVICRM_TEMPLATE_COMPILEDIR', './sites/default/files/civicrm/templates_c/');
}


This appears to be a regression in CiviCRM 4.6.32.  (It doesn't appear to affect CiviCRM 4.7.28.)

I have recreated this on the sandbox site.

I have raised this as a bug in the CiviCRM issue queue:

Custom fields of type select not displaying in Activity Report

UPDATE

It was subsequently raised as a bug by Martin Castle:

Custom data fails to pull through to reports

And a fix has been released by VangelisP:

Resolves regression issue with non-dynamic custom fields

This will hopefully be included in a future release of CiviCRM 4.6


Change 'Used for' contact type of custom fields

Jonathan, Welcome to CiviCRM stackexchange.

Sometimes its not possible to change custom group's used for since the CiviCRM creates a separate table for this with a Foreign key. However its possible to update if the 'Used for' share the same table.

In your case you want to make it visible for Individual subtype then its possible through UI by editing the custom group and then selecting the contact sub-type from the dropdown list.


How to solve [error_message] => Entity declaration references invalid or inactive module name

Ok - I went the long way around -> used civix to generate an extension of that name -> then pulled it into the site's extensions dir -> and installed it.
Now I can run cv ext:upgrade-db and execute much needed extension updates


Public CiviCRM forms not working for anonymous users

After a long frustrating debugging I found the answer on this two pages:

Installation and Configuration Troubleshooting

Anonymous Users Cannot Contribute

  For Drupal sites, ensure that uid = 0 exists in your Drupal users table. This is required for anonymous access to CiviCRM pages and forms to work properly.


Failed to locate template for civicrm.config.php

I had this same problem today.  While this may be too late for you, what I found was that somehow, the git repo in <webroot>/sites/all/modules/civicrm/drupal was set to the master branch and not the 7.x-master branch.  Once I checked out 7.x-master and did a git pull my problem resolved.


mysql_dsn error on amp config - why am I getting "access denied"?

Just in case anybody else has this issue when they try to use amp config with CiviBuild.  It is probably not entirely clear that you first need to create the user that you are inputting into the Enter dsn>
You first need to create a user in mysql with sufficent privileges.  Remember, one does not log in as root anymore! Use 'sudo su' and then run your MySQL commands. There are plenty of resources to show you how to do this, but on MySQL ver 5.7.heres's what to do:
user@ubuntu: sudo su
user@ubuntu: mysql
mysql> CREATE USER 'newusername'@'localhost' IDENTIFIED BY 'yourpassword';
This creates your new user - just replace 'newusername' with whatever you wish e.g. 'itadmin'.  The same goes for the password (the security is up to you but be secure if you ever build production servers)
Now grant the permssions that amp requires:
mysql> GRANT ALL PRIVILEGES ON * . * TO 'newusername'@'localhost' WITH GRANT OPTION;
Flush all privileges with:
mysql>FLUSH PRIVILEGES;
The WITH GRANT OPTION is important as this will allow the user to be able to grant options on other users by a script.
exit from Mysql and then from su with two lots of exit command.  You now have a user that you can put into amp config for the dsn section.
Remember! You have just created what is effectively a root user on your MySQL database


If you turn on dashboard caching with a long duration it might mitigate the performance issues enough for you to use the Advanced Fundraising reports?


Seems like your Civi MySQL database user does not have sufficient privileges attached to it to allow it to install Civi.
This link here should provide you with the information that you need. It is quite old but should get the job done - https://forum.civicrm.org/index.php%3Ftopic=23489.0.html


How do I send mailings to subsets via the API?

I have a suggestion for this :

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


To address this in the browser view, you should be able to target those links with a CSS selector.

Eg, for this report on the demo site -

http://dmaster.demo.civicrm.org/civicrm/event/search?reset=1&force=1&status=true&event=1

you can hide the View/Edit/Delete links by targetting .action-item. You'll need to restrict this CSS to the report in question, so you might want to look at using .extra.tpl to achieve this.

You can also directly do this in the browser console before printing.

CRM.$('.action-item').remove();


there is a section in the Developer Guide on templates: https://docs.civicrm.org/dev/en/latest/framework/templates/

This includes some pointers on how to customize templates.
Having said so, you might also be tempted to put this in an extension as you might run into some more "Germanization":-) Are you aware of the German CiviCRM mailing list?


Sounds as though bounce processing isn't set up correctly. See:

Bounce Handling

Setting Up the Return Channel


Contact Image URL is directly stored in civicrm_contact table, so I think if you have the URL which can display an image, you should be directly able to use the contact create API as below -

$result = civicrm_api3('Contact', 'create', array(
  'contact_type' => "Individual",
  'first_name' => "first",
  'last_name' => "last",
  'image_URL' => "<url>",
));

If you're on version < 5.0, the contact summary page will render the image only iff the URL is in form of http://site-name/civicrm/contact/imagefile?photo=imageName.jpg and your image file should be present in your custom file upload directory.

There is now a patch(included in version 5.0) which allows the contact summary page to display any URL image irrespective of the photo param in the URL.

If you want to download a copy of a remote image to your local file system and use that, you could do something along the lines of:

$contactId = 123;
$imageName = 'jitendra.jpg';
$path = Civi::paths()->getPath(Civi::settings()->get('customFileUploadDir')) . $imageName;
file_put_contents($path, file_get_contents('https://i.stack.imgur.com/yjnic.jpg'));
civicrm_api3('Contact', 'create', [
  'id' => $contactId,
  'image_URL' => CRM_Utils_System::url('civicrm/contact/imagefile', ['photo' => $imageName], true)
]);


Why are taxes calculated incorrectly when "other amounts" enabled on contribution page?

This patch solved my issue by using a real priceset:

https://github.com/civicrm/civicrm-core/pull/6520/files

Details here:

Contribution forms with numerical quantities is not taxed properly

Thanks!


Permission denied in Civi\Core\AssetBuilder->build()

This suggests a file permission issue on the relevant folder - which is sites/default/files/civicrm/persist/contribute/dyn/.

First, ensure the parent folders exist - both sites/default/files/civicrm/persist/contribute/dyn/ and sites/default/files/civicrm/persist/contribute/.  If both exist, check the permission AND owner of the dyn folder.  Is the owner the same user as the webserver user?  Likewise, if dyn doesn't exist do the same for contribute.  If you're not sure how to check owner/permissions, or how to interpret them, please either a) hop on https://chat.civicrm.org, or b) update the question with your operating system (including the distribution, if Linux) and webserver software (most likely Apache or nginx).


How can I preview the event info of a non-active event?

Currently the event needs to be active to use (preview) it.

If you have an event listing page, you can uncheck Public event. That way users only see the event if you create a link to it. You should be safe in temporarily making it active for testing.

This is the same Question/Answer as: Testing event registration


Suggested Approach for Cart style donations (Donation Pages) for Crowdfunding P2P site

I think Commerce is still your best option. We have moved away from using the module and instead are building Commerce solutions using the Civi Rules module. That way we get full 'cart' features as provided by Commerce and its many contrib modules, plus the integration required for sych'ing contacts etc.


Why does CiviMail 'track click through' redirect to incorrect URLs?

Devin, your description is eerily similar to a problem I had on our Drupal site.  Without track click through, things were fine.  Once those were enabled, no dice.

For our situation (CiviMail - when Track Click Throughs is enabled, links result in a white screen with warnings), it turns out it was due to a PHP setting issue.  Jon G's answer explains the why.  Richard's answer explains how we fixed it.

Hope this helps!


How to provide a default sort on a custom search?

Custom searches inherit CRM_Contact_Form_Search_Custom_Base; check out the addSortOffset() function below (around line 177) to see how the sort is tacked onto the query:

public function addSortOffset(&$sql, $offset, $rowcount, $sort) {
    if (!empty($sort)) {
      if (is_string($sort)) {
        $sort = CRM_Utils_Type::escape($sort, 'String');
        $sql .= " ORDER BY $sort ";
      }
      else {
        $sql .= " ORDER BY " . trim($sort->orderBy());
      }
    }
    if ($rowcount > 0 && $offset >= 0) {
      $offset = CRM_Utils_Type::escape($offset, 'Int');
      $rowcount = CRM_Utils_Type::escape($rowcount, 'Int');
      $sql .= " LIMIT $offset, $rowcount ";
    }
  }

If you want to use an array it will send it to CRM_Utils_Sort::orderby(). I think you can set your $sort like this:

if (!$justIDs &&!sort) {
  $sort = array (
    'name' => 'civicrm_created_date',
    'direction' => 1,
  );
}

Would that work for you?


It sounds like the ideal solution for you would be if the 'on behalf of' Membership could be made to work for Households. I don't think I have seen anyone tackle this, and it was also discussed in this question


After a failed upgrade, is updating the table structure enough?

When you do an import of an previous version of your database, you should first delete all the views / table because newer version of CiviCRM often create new tables that don't get deleted when you put the backup back.

If you do not want to (or can't) start the full update, you should :

look at domain table column version and find the version where it has crashed (e.g. 4.7.beta3)
go into CRM/Upgrade/Incremental/sql and find the last successful sql query - should be in the version immediately following your current version (e.g. 4.7.beta4.mysql.tpl if your version is 4.7.beta3)
get all the queries from the file you found and run them (e.g.  4.7.beta4.mysql.tpl) - you might have to change the .sql to change token (e.g. {$domainID} => 1, assuming you only have one domain)
change the domain::version to the new version (e.g. 4.7.beta4) in your database
check for any specific code in CRM/Upgrade/Incremental/php/FourXXX.php to check for specific upgrade code
relaunch the upgrade - it should be able to finish the upgrade


Add CiviDiscount code "field" to a particular event on site

That field just gets added to your Event Registration page if you've got everything configured properly!

Make sure you multi-select all Fields within all PriceSets (and or other options) that you'd like to attach the Discount to.


Correct method for API calls on contact summary page? (slow!)

Try the Contact Summary Layout Editor that lets you restructure the contact summary.  There are a couple of other extensions that link with it that can provide blocks - see the readme.


You need to set the deduplication rule to match what you need. Not sure I completely understood your use case, but it seems that you have included the phone number on your default unsupervised dedupe rule?

Check this chapter in the book if the dedupe rules are not clear for you yet, it's powerful, but takes a while to use them properly and a common source of duplicates being created.

https://docs.civicrm.org/user/en/4.6/common-workflows/deduping-and-merging/


Contact Management - Best practices for couples and households

We have been going over this a lot with my fundraising team, trying to find a happy medium. When generating labels or PDF letters for one per household, be sure to create labels with only households. Then, you can even create a smart group that consists of individuals that are also part of a household and exclude that group from the rest of the "individuals" mailing list so that you don't get labels with both households and the same people individually.

Every time someone proofs the labels for duplicate members of the household, they should mark it up and have someone change the data in the CRM to add them to a household.


How do I set up discount for people under 18 for CiviEvent?

Do the contacts have to be logged on and/or known users for Auto
  Discount to work properly?

Yes I believe this is the case.


I kept pulling my hair out until we migrated to paypal pro (with it's own set of issues :)) but a couple of things to look at:

Check apache error log,
Paypal has a log that shows details of all IPN calls to server.
Make sure you have correct URL for http vs. https
Check civicrm log files in files/civicrm/ConfigandLog
Make sure firewall rules (and especially modsecurity) are letting things post
Don't know about joomla but in drupal, I always need to disable IDS (Intrusion Detection) for anon users and it often triggers false positives.


That first error, "SyntaxError: expected expression, got "<" suggests that something in WordPress - a poorly behaving theme or plugin - is injecting text on every page load.  That'll screw up CiviCRM.

I would troubleshoot this by switching to one of the core themes (e.g. twentyseventeen) and disabling plugins (ideally on a test site if this site is already live).  Assuming the problem goes away, you can turn things back on to identify the bad actor.


Generally, look for these logs:

CiviCRM's log (sites/*/files/civicrm/ConfigAndLog/)
HTTPD error log
PHP error log

Unfortunately, the locations of these differ by environment, and I don't know an answer for Windows Server.

Posted a similar (but broader) question: Where should one look for logs when debugging a new problem?


How to deactivate "update this field mapping" for users?

There is no way afaik to do this currently. You might need to make an extension that adds field to the civicrm_mapping table that would then permit you to create a Permission that you can then apply.


Any organisation in London that would be willing to show us funtionalities of CiviCRM ?

Pleased to hear that you want to promote CiviCRM!

This may not be the best place to ask this question.  You may have better luck on the CiviCRM chat site.

Alternatively you could search for a CiviCRM partner based in London and ask if they can help.

You may also be interested in the CiviCRM meetup in London.

Of course there are also the demo sites if you want to try it out for yourself.

I hope that helps.  Good luck!


What is the recommended/supported version of Webform CiviCRM module for Drupal 7?

The recommended/supported version is 7.x-5.x
If you're on 7.x-4.x (or below...) you are strongly encouraged to upgrade. The newer 7.x-5.x branch includes many bug fixes along with improvements in the code base, e.g. many direct database queries have been replaced by API calls.
Next week we will be going through the drupal.org webform-civicrm issue queue and we will be closing issues as outdated if they are against 7.x-4.x or below.


The message is a little misleading. This email is generated if you've got the field "Pending participant expiration (hours)" set on the "Online Registration" tab of your event configuration. The help text for this field states:

  Time limit in hours for confirming/finishing registration by
  participants with any of the pending statuses. Enter 0 (or leave
  empty) to disable this feature.

If you don't have participant approval or waitlisting enabled for your event, then the likely cause is that your PayPal transactions are getting stuck in a pending state. You've probably seen the "Pending (Incomplete Transaction)" status on contributions in your database. Have a look in PayPal to see if the funds are actually going through. If they are, you probably have a config problem keeping PayPal from pinging CiviCRM to let it know that the transaction was successful. Is your notification URL set in PayPal?


I think this is the same problem as https://github.com/JMAConsulting/biz.jmaconsulting.activitytypeacl/pull/14


How do I setup Wordpress multi site with CiviCRM mutlisite?

I have a Wordpress multi-site that's working quite well.  Note that there are two approaches to Wordpress multi-site: subdomain and subfolder (e.g. "site1.example.org, site2.example.org" vs. "example.org/site1", "example.org/site2".

I posted instructions on the wiki page Lobo mentioned for how to set up civicrm.settings.php for subdomain multi-site.  I haven't updated it with subfolder multi-site instructions, but you can find them on my "CiviCRM multi-site checklist" page here: https://hq.palantetech.coop/projects/commons/wiki/CiviCRM_multi-site_checklist.  If you follow the instructions on that page, each site should be more-or-less independent from one another - especially if you install Eileen's excellent multisite permissioning extension (install from github, not extensions directory!)


Import override for latitude and longitude

You could take a look at the API csv extension. The field is called manual_geo_code and is available via the API (updated based on Jon's comment)


Membership Form without Contribution Request

Ben,

You can create zero membership fee membership type and include it on contribution page and turn off 'CONTRIBUTION AMOUNTS SECTION ENABLED' under Amounts tab of contribution page.


Cannot separate CiviCRM database tables from Wordpress tables on installation

OK. I was able to fix it by

Directly editing wp-content/uploads/civicrm/civicrm.settings.php to point to the new clean civicrm-only DB.
Exporting the civicrm tables only from my original wordpress DB.
Importing the exported civicrm tables into the new, blank civicrm-only DB.
Dropping the civicrm tables from the original wordpress DB so it is wp-only.

All seems to be working, but it seems like I should have been able to easily set this up with the install script, which seemed to override anything that I put in for the CiviCRM DB by the WordPress DB.

All looks OK. For the more experienced CiviCRM folks, can there be any gotchas here?


We worked on our main email template this last summer, using the 'Sample Responsive Design Newsletter - Single Column Template' from within Civi as a springboard.  We also created an account with MailChimp to see how MailChimp put their templates together.

As old as they are, HTML Tables are still the way to go because of how differently email clients handle display.  We used <style> tags as needed and used media queries within those <style> tags.  We ended up using a good bit of the CSS from our website to maintain our look; we just had to adapt our website's CSS to work with tables.

Here is an example mailing we did from last summer:
https://glenwoodcc.org/civicrm/mailing/view?reset=1&id=77  We usually email short snippets and point back to our website, so we typically only have one main header image, one heading and then the content.  Our two column footer was a challenge to sort out responsively with tables, but we got there.  We also have a template that repeats the simple template so we could have multiple sections (image/heading/content) to the email.


iATS Charge to Card on File attributed to merged/deleted record

This tells me there are issues with the way in which you have migrated your recurring series from PayPal to iATS Payments and into CiviCRM.


Event white screen of death when user registers for an event

I solved it.  There seems to be a conflict in this version (Civicrm 4.6.4) with the following extensions:

GoCardless
Smart Debit
UK Direct Debit

When I disabled all three, the problem went away.  One of these extensions must be using the same method call.


Autoassign relationship when creating contact

You could achieve this with the CiviRules extension. The extension can be found here: https://civicrm.org/extensions/civirules and the documentation here: https://docs.civicrm.org/civirules/en/latest/

You should add a rule with trigger "Contact of any type is added" and then some conditions (perhaps on contact type or contact is in group if required). You can then use the action "add relationship".


How do I regenerate the text version of an email after editing the HTML draft?

Welcome to Stack Exchange, CiviMail will create a plain text version of your email for those using a plain text client. So there is no need to enter content in the plain test area unless you wish folks using plain text to have a specially formatted message or you just want to send your email in plain text that is when you would use the plain text field.

If you have already entered text, delete it and it will be re-generated.

Here is a link to more info: https://docs.civicrm.org/user/en/latest/email/mass-mailings-using-civimail/#mailing-tab

Hope this helps


Are there any dangers to editing a membership type directly in the database?

Updating via DB should be fine, note that it won't update existing membership records to create inherited memberships.

Issue mentioned related to Disable might be a bug. I would suggest filing an issue in bug tracker if you are able to replicate it on the demo.


How to add a values (html select) to custom field?

You can use managed hook to create custom field on install

Create Option Group
2.Create option values for option group
Create custom group
Create custom field.

There is another way of doing this i.e by creating xml file. A good example to refer would be https://github.com/compucorp/civihr/blob/master/hrcareer/xml/auto_install.xml

HTH

Pradeep


It has been reported here https://github.com/civicrm/civicrm-core/pull/17622 and it should be fixed by the CiviCRM 5.26.2.


The missing tables are Drupal tables, and the exceptions are thrown from Drupal modules. So the Drupal database is missing (I do not know if you installed CiviCRM is a separate database). Maybe the connect string in the settings.php file is not correct.


CiviEvent - Unable to select profiles - get 'custom field is not assigned to the event' warning even though no profile selected

I had a very similar issue and it was caused by CiviRules. I disabled CiviRules and it worked fine.


Could not load settings file at: 4.7.0 wordpress

Upgrade to 4.7.4.  There was a bug in civicrm.config.php in 4.7.0 that would result ib the settings file not being found in WP under certain circumstances.


How do I search for contacts with no contributions?

You can do it in two steps:

Search for all contacts, and put these in a tag (or group).
Do a second search, for all contacts WITH a donation. And then remove these from you tag (or group) using action Untag Contact (or Remove contact from group).


Custom field - Drop down. How to create?

You can create custom fields under Administer --> Customize Data and Screens --> Custom Fields. You first create a custom group for the event. You could even limit this group to a certain type of event.
You then add a field in this group with type Text and HTML type Select.


CiviCRM Multi-site support under drupal 8

I've set up a multisite with drupal 8 alongside a drupal 7 but not multiple drupal 8 sites.

The existing drupal 7 documentation was enough to go off. Definitely would recommend trying it out on a demo site first.


Column deductible_amount not getting filled in on table civicrm_line_item

As you know, financial types can either be deductible or non-deductible. Before the advent of price sets, to record a partially deductible contribution you would use a deductible financial type and then enter in the non-deductible amount. After the advent of price sets, if the overall financial type of a price set is non-deductible, the system will automatically populate the non-deductible amount field for the full amount of the contribution, regardless of whether the individual price field options are configured with deductible financial types.

What this means is that currently, the system only tracks a non-deductible amount on the contribution level, not on the line item level. The field in the line item table is either a legacy field or a place holder for future use, but it is not something that is currently being populated by the system.

The demo site is down so I am unable to verify what built in tax tokens are available, but for our clients we instruct them to use a deductible financial type for the price set - in this way, our line-item based tokens will allocate each line item's deductible amount according to the financial type of the price field option.

Hope this helps,
Tamar


Where is the merge function for CiviMail located in code?

Well I think the dirty work is done here in a sql statement using a group by clause. I don't know the code base at all however. I am on win7 and use the grepWin program.

..\civicrm\civicrm\CRM\Mailing\BAO\Mailing.php

Line 558

  // CRM-3975
  $groupBy = $groupJoin = '';
  if ($dedupeEmail) {
    $groupJoin = " INNER JOIN civicrm_email e ON e.id = i.email_id";
    $groupBy = " GROUP BY e.email ";
  }

CiviMail should have the option of not sending duplicate emails
https://issues.civicrm.org/jira/browse/CRM-3975


The only thing that comes to mind is to write an extension to do this. The only way to do it "out of the box" would be to utilize the Print PDF Letter option and utilize a template that would size to an envelope.


How to grant SELECT access for Drupal user to all CiviCRM Tables

You will need to perform two operations for this

Give Drupal mysql user to access CiviCRM database.
Add CiviCRM tables in Drupal's settings.php i.e Navigate to CiviCRM >> Administer >> System Settings >> CMS Database Integration. Copy the content from  'Views integration settings' section to settings.php. Clear Drupal cache.

Pradeep


After searching you can choose the action "Mailing Labels" that does this. This creates a pdf file you can print.
And in the menu under
Communication >> Label Formats
you can define the label formats you want to use.


Cannot Install CiviEvent-Joomla-Module Extension

Can you clarify the steps you took? If you upload the package to the tmp directory, go to 'Discover' in the extension manager and click on 'Discover' in the upper left. You should then see it in the list on that screen and be able to install it.


HowTo fix: client denied by server configuration?

See Access denied errors by server itself on uploaded files, which you refer to in your question. The answer there applies to the ConfigAndLog file too. Civi periodically runs tests to make sure that certain directories and files are not accessible via the web. These include:

the current debug log file (ConfigAndLog.xxxxxxxxxxxxxxxxxxxxxxxx.log)
the image upload directory (on your Drupal site, this is sites/default/files/civicrm/upload)
the custom php directory (on your Drupal site, this is sites/default/files/civicrm/custom)

The "client denied by server configuration" entries in your error.log are an indication that those directories and files are protected as they should be.
As the author of the security-check function writes in a code comment:

Per CiviCRM default the logfile sits in a folder which is web-accessible, and is protected by a default .htaccess configuration. If server config causes the .htaccess not to function as intended, there may be information disclosure.
The debug log may be jam-packed with sensitive data, we don't want that.

In other words, it's good that the debug log is not accessible via the web.