title: Changing Smart Group Update Frequency

text:
# Question
Title: Changing Smart Group Update Frequency
I'd like to have a large number of smart groups but don't want to bog down the site when employees are using it. Is there a way to set up a smart group so that it will only update itself at a particular time of day, say only out of business hours sort of thing?

Thanks in advance

# Answer
> 1 votes
I think you're looking for `Rebuild Smart Group` schedule job enabled at `civicrm/admin/job?reset=1`?

Click on Edit and change the frequency to "Daily". Though, for exact time, you might need to write custom line in the cron file.

# Answer
> 1 votes
Afaik, updating of smart groups can be triggered both by the cron job as described jitendra but also by many actions in CiviCRM. A large contact base and/or complex smart groups may lead to performance and deadlock problems and you also need to consider flushing the group cache. I would recommend to read this SE question and this blog post to understand CiviCRM's smart group behaviour a bit better.

A good approach could be to:

1. Set smart\_group\_cache\_refresh\_mode=deterministic
2. Set the smart group cache time in CiviCRM to 24 hours
3. Configure the cron job to update the smart groups once per night

Make sure to test your settings if you want to rely on your groups.

---
Tags: smartgroups
---


title: Importing Gift Records

text:
# Question
Title: Importing Gift Records
Does anyone know here know how to import .csv files containing contribution information? I know how to import constituent records but don't know how to import their gifts.

# Answer
> 1 votes
The documentation for that lives here:

```
https://docs.civicrm.org/user/en/latest/common-workflows/importing-data-into-civicrm/#import-contributions

```

---
Tags: import
---


# Question
Title: How do I debug CiviCRM when I hit a blank page / white screen / fatal error?
CiviCRM is showing a blank page (aka *white screen of death* or *WSoD*) when I expect to see some output.

**How can I debug CiviCRM when there is no error message visible on screen?**

This includes when the error message on screen simply says "Error 500" but includes no details about the nature of the problem.

# Answer
A white screen (WSoD or "white screen of death") indicates that PHP is configured not to display errors, and has hit an error which it can't recover from. The result is an empty page.

Your next step is not to fix the error, but to first give yourself enough information to identify the source of the error. (Diagnose, then treat.)

**Viewing errors in logfiles**

The webserver can be configured to display errors to screen, but it also logs errors to files on disk. These files vary depending on your hosting environment, so you might consult your webhost's documentation to locate them. You might look for errors in some of these locations depending on webserver/php config -

```
/var/log/nginx/*err*log       # NginX webserver error logs
/var/log/apache2/*err*log     # Apache webserver & mod_php error logs
/var/log/*php*log             # PHP-FPM & PHP-CGI error logs
/var/log/php5/*log            # PHP-FPM & PHP-CGI error logs
/path/to/site/err*log         # Some hosting environments

```

And a **CiviCRM specific debug log** file - location varies depending on hosting environment *and* CMS, refer to this wiki page for location -

```
path/to/site/path/to/civicrm/files/ConfigAndLog/CiviCRM*log

```

*(The `*`s above represent a wildcard, not an actual filename. Eg the last entry might be public\_html/error\_log on Bluehost.)*

Once you've located these files, you can download them to view, or you can use tools like `tail` or `less +F` to follow the files. I prefer to follow logfiles because you can watch the error appear each time.

**Displaying errors to screen**

You may prefer to display errors to screen. This is probably disabled on your site because it's a security risk to some degree - an attacker can see more information when errors are visible, so the default configuration is often to restrict visibility to people with server access (via the logfiles above).

To enable error display, either:

**Configure your PHP to display errors for your site** via `php.ini` / `.htaccess` (see How can I get PHP errors to display), OR

**Add PHP code to enable error display** (you can add it in `civicrm.settings.php` or the top of the `index.php` of your host CMS).

```
<?php
  error_reporting(E_ALL);
  ini_set('display_errors', TRUE);
  ini_set('display_startup_errors', TRUE);

```

**Making sense of what you see**

Once you've taken one of the above approaches, try reproducing the actions which led to a white screen. If all's gone well, you should see an error now (on screen, or in your terminal / SSH session).

This is where you can start debugging meaningfully. There's a good chance you're exhausting server resources (timeouts, memory exhaustion) or hitting some coding error, but once you have the relevant error message at hand you'll be much better equipped to track down the source of the problem affecting your site.

**Further reading**

**Notes**

If this is the first time you've looked, there may be other errors visible which don't relate to the problem at hand. You may still need to discern what the actual problem is ...

If you're not familiar with UNIX, this may seem like a lot of effort. It's a lot less effort than *guessing* your way through a problem though!
> 20 votes

# Answer
Another option of seeing the civi logs is adding the extension CiviCRM Log Viewer which gives a link via the Admin menu to view the error log
> 0 votes

---
Tags: debugging, wsod, error
---


title: Cannot create new mailing

text:
# Question
Title: Cannot create new mailing
Our wordpress CiviCRM civimail has stopped letting us create new emails. When I click on Create New, the url changes to:
.../wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fa%2F#/mailing/new and the screen remains blank.
If I try to re-use an old mailing, the url changes to:
...wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fa%2F#/mailing/197

and the dialog box for editing a mailing does not show.
At the bottom of the screen I see an error message:
Notice: ob\_end\_flush(): failed to send buffer of zlib output compression (0) in
.../public\_html/wp/wp-includes/functions.php on line 4609

Any suggestions?

# Answer
The problem was solved by modifying php.ini to disable zlib compression.
> 1 votes

---
Tags: civimail
---


# Question
Title: Where are the "ConfigAndLog" and "templates_c" directories?
Many Stack Exchange answers say to "check your CiviCRM logs" which can be found in the "ConfigAndLog" directory, or to "delete your templates\_c folder". What are the default locations for the ConfigAndLog and templates\_c directories?

# Answer
The two directories are found side-by-side. The location varies by CMS; see below. Note that you'll need access to your server's file system. If you have FTP/SFTP/SSH access, you can use that. If you have a control panel, check for a "File Manager" plugin:

* **Drupal**: `<drupalroot>/sites/default/files/civicrm/`
* **Joomla**: `<joomlaroot>/media/civicrm/`
* **WordPress**: `<wordpressroot>/wp-content/uploads/civicrm/`
* **WordPress (old)**: `<wordpressroot>/wp-content/plugins/files/civicrm/`
    + Any CiviCRM version 5.29 and later will never have the "old" location.
* **Backdrop**: `<backdroproot>/files/civicrm/`
> 12 votes

# Answer
Another option for seeing the civi logs is adding the extension CiviCRM Log Viewer which gives a link via the Admin menu to view the error log
> 6 votes

---
Tags: templates, logs, debugging, caching
---


# Question
Title: CiviCRM URL issue: CiviCRM theme is not loading after CiviCRM update to 5.26.1 version
After upgrading the CiviCRM to the latest version 5.26.1, the CiviCRM theme is not loading.

I have checked on the Browser Console and I saw a CSS and JS file errors. Some of the errors are given below -

> The resource from “`{{domain-name}}//srv/bindings/28583aa6b…vicrm/bower_components/font-awesome/css/font-awesome.min.css`” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
>
> The resource from “`{{domain-name}}//srv/bindings/28583aa6b…wer_components/jquery-ui/themes/smoothness/jquery-ui.min.css`” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
>
> The resource from “`{{domain-name}}//srv/bindings/28583aa6b…l/modules/civicrm/bower_components/jquery/dist/jquery.min.js`” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
>
> Loading failed for the with source “`{{domain-name}}//srv/bindings/28583aa6b…l/modules/civicrm/bower_components/jquery/dist/jquery.min.js`”.

How can I fix this issue? Please advice.

Thanks in advance!

# Answer
> 2 votes
can you add below lines in your civicrm.settings.php?

```
global $civicrm_paths;
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . '/sites/all/modules/civicrm';

```

---
Tags: drupal, civicrm-home, evaluating-civicrm, civicrm.settings.php, drupal-8
---


# Question
Title: What is the best way to associate a building with a person?
As a neighborhood organization, we use CiviCRM for all of the things you would expect, and it works well. However, we like to collect information about the actual houses in our neighborhood, to track tree pits, security cameras, and other outdoor things that would stay constant, even as people move in and out.

What is the best way to track buildings and associate them with the current residents?

# Answer
> 2 votes
In order to answer "best way", would need to know what are the tasks you do that use this information and what reporting you need. But as a general answer, one way is to create a new contact type (Admin - Customize - Contact Types), and then add your buildings as contacts. You can create custom fields on those contacts to store camera information etc. Then create a relationship (on the relationship tab on the contact) to the people (or household, depending on whether you're using household records or not, or simply prefer to directly relate to the people). Then when the people leave, you end the relationship(s) and make new ones with the new people.

---
Tags: contacts
---


# Question
Title: How can I make custom (participant attendees) reports with inline editing functionality?
How can I make custom (participant attendees) reports with inline editing functionality?

**Larger Challenge/Background**

I want to create an overview for managing all attendees for (all future) events.

So far I have reports where Columns are names, ..., Participant-roles, Status, and some additional custom fields, such as: "leaves early", "age approved by staff". The idea is, that our staff can - after people registerd for an event - manually check the attendees list. Sometimes a backup call is needed. This information should be then entered (dropdown) into the participant data. To save time and the annoying steps to go from the attendees list into each participant data, just to check off a marker or change the status e.g. from pending to attending, I want to do that inline.

I view those with reports. That works perfectly.

I looked into the extension "Extended Reports" (nz.co.fuzion.extendedreport). It claims to do that. And the predefined templates for Event and Activities are running and are working perfectly as intended! (basicly what is explained here: https://youtu.be/AyWwu7HoOkI?t=1732 at 28:52) I - however - cannot manage to make it available for a particapant attendees report.

**Specific Question**

* What am I missing?
* How can I make custom inline editing reports (with the Extended Reports extension)?

thx for the help, Stefan

---

I am running:

* Drupal 7.x
* CiviCRM 5.23.4 (could update though, just haven't done that yet)
* ExtendedReport (nz.co.fuzion.extendedreport) version 5.1

# Answer
To clarify - the nz.co.fuzion.extendedreport extension offers Editable Reports for Activities and Events - but not for Participants.

Eg with the Events report you get fields like this

Another option would be to try Drupal Views and Views Bulk Operations. I am pretty sure we have made it work for an 'event register' ie have a list of folk who are Invitees, and then tick those who show up and VBO will change their Attendee Status (don't recall if we added the necessary so that the Status is a dropdown or you have to enter the status ID)
> 1 votes

---
Tags: custom-fields, custom-reports
---


# Question
Title: Permission to add contact data, not edit existing
We got a request to add a role for users to be able to add contact data but not edit the existing. For instance: contact has first name, last name and email filled in. Users with this role should be able to add another email, add address and telephone number, but not edit the name, not existing email field.

I honestly wouldn't know where to start with existing code. I mean: is there a way to accomplish this without using a custom extension?

(using up to date drupal 7 and CiviCRM)

# Answer
One way of accomplishing this more refined permission stuff involves thinking outside of the civi box and using Drupal Webforms (and perhaps Views)

Eg, build a Views based search, such that the results load up a webform with the cid in the url, this loads that contact on to the webform at which point you have total control over which fields are editable and which are only viewable.
> 1 votes

---
Tags: permissions
---


# Question
Title: Attaching Email reply to a contact in Civi
First off, i am not a developer and had no training in Civicrm. After 50 hours of getting contact into civi up to date. And creating contacts within orgs to mail (just seems insane civi isn't set up to email orgs to me) we finally sent out our first emailing to all our trust and foundation supporters.

Question is, how do i add reply's. We don't (for some UNKNOWN REASON) have civi connected to our outlook. Can i manually add these emails to a contact?

# Answer
> 1 votes
See https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/inbound/#autofiling-email-activities-via-emailprocessor where you can set up either a mailbox you can bcc that will add email replies to contacts, or you can set it up to pull from a specific folder in your own mailbox after-the-fact to do the same thing.

In terms of the earlier part of your question, when you say "contacts within orgs", Civi won't send to contacts who are employees of orgs, but if you set up Groups, then you can mass email to the group. See https://docs.civicrm.org/user/en/latest/email/mass-mailings-using-civimail/

---
Tags: email
---


# Question
Title: CiviCRM 5.26.2 admin menu vanished in Drupal 7.72
I just upgraded to CiviCRM 5.26.2 using Drupal 7.72. Specific CiviCRM administration pages work fine if I type in the proper urls to access it. But the administration menu just doesn't show at all.

I can't tell when exactly the issues started but it certainly was present in the last version of Drupal/CiviCRM already. I hoped an upgrade would help resolving the issue. Unfortunately this isn't the case.

I have searched guides and tried different approaches. But so far I have not been unsuccessful.

As suggested in an other thread here I tried to deactivate the overlay admin pages in Drupal and I also tried to re-create the navigation by emptying the CiviCRM navigation table in the data base and restoring it from what I found in "sites/all/modules/civicrm/sql/civicrm\_data.mysql".

I received a list of warnings when I made the CiviCRM update but it was basically just about a soon needed update for MySQL and some changed message templates. (Details further down.)

And the update ended with a blank screen only showing the options to retry or skip. But if I check out the Drupal module list it shows me that CiviCRM is in fact installed in the most recent version.

I have no idea what else to do about it. The most important function I quickly need is sending out a newly created newsletter but unfortunately this is the one direct link (of those I tried) I can't figure out. Maybe this is due to some changes in newer versions of CiviCRM?

**Full detailed feedback:**

> Upgrade CiviCRM to Version 5.26.2 Statusmeldung
>
> The database will be upgraded from 5.8.2 to 5.26.2. Warning:
>
> This system uses MySQL/MariaDB v5.5.62-0+deb8u1. You may proceed with the upgrade, and CiviCRM v5.26.2 will continue working normally. However, CiviCRM v5.28+ will require MySQL v5.6.5+. We recommend MySQL v5.7+ or MariaDB v10.1+.
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Contributions - Receipt (on-line) - Show recurring cancel/update URLs in receipt based on payment processor capabilities
> Contributions - Recurring Start and End Notification - Show recurring cancel/update URLs in receipt based on payment processor
>
> ```
>
> capabilities Memberships - Receipt (on-line) - Show recurring cancel/update URLs in receipt based on payment processor capabilities
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Additional Payment Receipt or Refund Notification - Update payment notification to remove print text, use email greeting
>
> ```
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Pledges - Acknowledgement - Use email greeting and fix capitalization
>
> ```
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Contributions - Duplicate Organization Alert - Fix missing Email greetings
> Contribution Invoice Receipt - Fix missing Email greetings
> Contributions - Receipt (off-line) - Fix missing Email greetings
> Contributions - Receipt (on-line) - Fix missing Email greetings
> Contributions - Recurring Billing Updates - Fix missing Email greetings
> Contributions - Recurring Cancellation Notification - Fix missing Email greetings
> Contributions - Recurring Updates - Fix missing Email greetings
> Contributions - Recurring Start and End Notification - Fix missing Email greetings
> Events - Registration Confirmation and Receipt (off-line) - Fix missing Email greetings
> Events - Registration Confirmation and Receipt (on-line) - Fix missing Email greetings
> Events - Receipt only - Fix missing Email greetings
> Memberships - Auto-renew Billing Updates - Fix missing Email greetings
> Memberships - Auto-renew Cancellation Notification - Fix missing Email greetings
> Memberships - Signup and Renewal Receipts (off-line) - Fix missing Email greetings
> Memberships - Receipt (on-line) - Fix missing Email greetings
> Events - Registration Cancellation Notice - Fix missing Email greetings
> Events - Registration Confirmation Invite - Fix missing Email greetings
> Events - Pending Registration Expiration Notice - Fix missing Email greetings
> Events - Registration Transferred Notice - Fix missing Email greetings
> Additional Payment Receipt or Refund Notification - Fix missing Email greetings
> Personal Campaign Pages - Admin Notification - Fix missing Email greetings
> Personal Campaign Pages - Owner Notification - Fix missing Email greetings
> Personal Campaign Pages - Supporter Status Change Notification - Fix missing Email greetings
> Personal Campaign Pages - Supporter Welcome - Fix missing Email greetings
> Petition - need verification - Fix missing Email greetings
> Petition - signature added - Fix missing Email greetings
> Pledges - Acknowledgement - Fix missing Email greetings
> Pledges - Payment Reminder - Fix missing Email greetings
> Profiles - Admin Notification - Fix missing Email greetings
> Cases - Send Copy of an Activity - Fix missing Email greetings
> Tell-a-Friend Email - Fix missing Email greetings
> Test-drive - Receipt Header - Fix missing Email greetings
>
> ```
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Memberships - Receipt (on-line) - Fix Membership Receipt
>
> ```
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Contributions - Receipt (off-line) - Add Contributor Name to Offline Contribution receipts; fix bad event self-service URL
> Events - Registration Confirmation Invite - Add Contributor Name to Offline Contribution receipts; fix bad event self-service URL
>
> ```
>
> The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. Click here for detailed instructions.
>
> ```
> Contribution Invoice Receipt - Layout fixes for the Contribution templates
>
> ```
>
> Back up your database before continuing. This process may change your database structure and values. In case of emergency you may need to revert to a backup. For more detailed information, refer to the Upgrade Documentation.

Update from my web developer network console when accessing my-domain.com//civicrm?reset=1:

```
200 GET my-domain.com   civicrm?reset=1 document    html    8.55 kB 34.72 kB    707 ms
404 GET my-domain.com   jquery.dataTables.min.css   stylesheet  html    384 B   0 B 423 ms
404 GET my-domain.com   font-awesome.min.css    stylesheet  html    385 B   0 B 633 ms
404 GET my-domain.com   jquery-ui.min.css   stylesheet  html    385 B   0 B 679 ms
404 GET my-domain.com   select2.min.css stylesheet  html    385 B   0 B 1393 ms
200 GET my-domain.com   jquery.js?v=1.4.4   script  js  cached  76.76 kB
200 GET my-domain.com   jquery-extend-3.4.0.js?v=1.4.4  script  js  cached  3.33 kB
200 GET my-domain.com   jquery-html-prefilter-3.5.0-backport.js?v=1.4.4 script  js  cached  12.33 kB
404 GET my-domain.com   jquery.min.js   script  html    385 B   0 B 636 ms
404 GET my-domain.com   jquery-ui.min.js    script  html    385 B   0 B 636 ms
404 GET my-domain.com   lodash.min.js   script  html    384 B   0 B 1397 ms
404 GET my-domain.com   jquery.mousewheel.min.js    script  html    384 B   0 B 1454 ms
404 GET my-domain.com   select2.min.js  script  html    384 B   0 B 1456 ms
404 GET my-domain.com   jquery.form.min.js  script  html    384 B   0 B 1454 ms
404 GET my-domain.com   jquery.timeentry.min.js script  html    384 B   0 B 1455 ms
404 GET my-domain.com   jquery.blockUI.min.js   script  html    384 B   0 B 1688 ms
404 GET my-domain.com   jquery.dataTables.min.js    script  html    384 B   0 B 1919 ms
404 GET my-domain.com   jquery.validate.min.js  script  html    384 B   0 B 1975 ms
404 GET my-domain.com   additional-methods.min.js   script  html    384 B   0 B 1975 ms
404 GET my-domain.com   jquery.ui.datepicker.validation.min.js  script  html    384 B   0 B 1975 ms
404 GET my-domain.com   jquery.tableHeader.js   script  html    384 B   0 B 1973 ms
404 GET my-domain.com   jquery.notify.min.js    script  html    384 B   0 B 2095 ms
404 GET my-domain.com   jquery.smartmenus.min.js    script  html    384 B   0 B 2312 ms
404 GET my-domain.com   jquery.smartmenus.keyboard.min.js   script  html    384 B   0 B 2482 ms
404 GET my-domain.com   datepicker-de.js    script  html    384 B   0 B 2425 ms
200 GET my-domain.com   dashboard.css?r=eeWQL   stylesheet  css 1.80 kB 4.45 kB 1987 ms
200 GET my-domain.com   system.base.css?qc8ckd  stylesheet  css 2.17 kB 5.30 kB 1987 ms
200 GET my-domain.com   system.menus.css?qc8ckd stylesheet  css 996 B   1.99 kB 1999 ms
200 GET my-domain.com   system.messages.css?qc8ckd  stylesheet  css 717 B   961 B   1999 ms
200 GET my-domain.com   system.theme.css?qc8ckd stylesheet  css 1.52 kB 3.62 kB 2013 ms
200 GET my-domain.com   jquery.ui.core.css?qc8ckd   stylesheet  css 0.98 kB 1.42 kB 2014 ms
200 GET my-domain.com   jquery.ui.theme.css?qc8ckd  stylesheet  css 3.25 kB 18.69 kB    2028 ms
200 GET my-domain.com   overlay-parent.css?qc8ckd   stylesheet  css 848 B   1.10 kB 2028 ms
200 GET my-domain.com   shadowbox.css?qc8ckd    stylesheet  css 1.08 kB 2.16 kB 2041 ms
200 GET my-domain.com   comment.css?qc8ckd  stylesheet  css 476 B   184 B   2039 ms
200 GET my-domain.com   date.css?qc8ckd stylesheet  css 1.50 kB 3.65 kB 2051 ms
200 GET my-domain.com   datepicker.1.7.css?qc8ckd   stylesheet  css 1.21 kB 3.63 kB 2056 ms
200 GET my-domain.com   field.css?qc8ckd    stylesheet  css 570 B   550 B   2063 ms
200 GET my-domain.com   node.css?qc8ckd stylesheet  css 443 B   144 B   2079 ms
200 GET my-domain.com   search.css?qc8ckd   stylesheet  css 567 B   564 B   2078 ms
200 GET my-domain.com   user.css?qc8ckd stylesheet  css 1.01 kB 1.78 kB 2088 ms
200 GET my-domain.com   shortcut.css?qc8ckd stylesheet  css 983 B   2.35 kB 2117 ms
200 GET my-domain.com   views.css?qc8ckd    stylesheet  css 644 B   707 B   2093 ms
200 GET my-domain.com   ckeditor.css?qc8ckd stylesheet  css 521 B   431 B   2107 ms
200 GET my-domain.com   admin_menu.css?qc8ckd   stylesheet  css 1.82 kB 5.17 kB 2112 ms
200 GET my-domain.com   admin_menu.uid1.css?qc8ckd  stylesheet  css 489 B   173 B   2107 ms
200 GET my-domain.com   admin_menu_toolbar.css?qc8ckd   stylesheet  css 1.45 kB 3.24 kB 2117 ms
200 GET my-domain.com   ctools.css?qc8ckd   stylesheet  css 583 B   509 B   2127 ms
200 GET my-domain.com   crm-i.css?qc8ckd    stylesheet  css 875 B   1 kB    2134 ms
200 GET my-domain.com   crm-menubar.f66e6e59265b6ce8981d37ae3fd6eb68.css?qc8ckd stylesheet  css 3.26 kB 12.28 kB    2135 ms
200 GET my-domain.com   civicrm.css?qc8ckd  stylesheet  css 16.30 kB    82.74 kB    2154 ms
200 GET my-domain.com   common.css?qc8ckd   stylesheet  css 2.77 kB 11.71 kB    2149 ms
200 GET my-domain.com   responsive.css?qc8ckd   stylesheet  css 1.24 kB 4.88 kB 2147 ms
200 GET my-domain.com   jquery.once.js?v=1.2    script  js  cached  2.90 kB
200 GET my-domain.com   drupal.js?qc8ckd    script  js  cached  19.75 kB
200 GET my-domain.com   jquery.ui.core.min.js?v=1.8.7   script  js  cached  4.22 kB
200 GET my-domain.com   jquery.ba-bbq.js?v=1.2.1    script  js  cached  4.02 kB
200 GET my-domain.com   overlay-parent.js?v=1.0 script  js  cached  37.52 kB
200 GET my-domain.com   shadowbox.js?v=3.0.3    script  js  cached  76.75 kB
200 GET my-domain.com   shadowbox_auto.js?v=3.0.3   script  js  cached  2.40 kB
200 GET my-domain.com   Common.js?qc8ckd    script  js  cached  60.63 kB
200 GET my-domain.com   crm.datepicker.js?qc8ckd    script  js  cached  7 kB
200 GET my-domain.com   crm.ajax.js?qc8ckd  script  js  cached  22.88 kB
200 GET my-domain.com   crm.wysiwyg.js?qc8ckd   script  js  cached  2.42 kB
200 GET my-domain.com   de_DE?cid=2&r=eeWQL script  js  cached  6.06 kB
200 GET my-domain.com   crm.menubar.js?qc8ckd   script  js  cached  20.29 kB
200 GET my-domain.com   jquery.dashboard.js?qc8ckd  script  js  cached  20.66 kB
200 GET my-domain.com   noconflict.js?qc8ckd    script  js  cached  103 B
200 GET my-domain.com   admin_menu.js?qc8ckd    script  js  cached  12 kB
200 GET my-domain.com   admin_menu_toolbar.js?qc8ckd    script  js  cached  1.54 kB
200 GET my-domain.com   de_zy608z44xT2fS_YmNk5jj1-EILezSIP2Wkc9qwaUyrM.js?qc8ckd    script  js  cached  3.50 kB
200 GET my-domain.com   all.js?qc8ckd   script  js  cached  4.68 kB
200 GET my-domain.com   d3.min.js   script  js  cached  143.31 kB
200 GET my-domain.com   crossfilter.min.js  script  js  cached  22.28 kB
200 GET my-domain.com   dc.min.js   script  js  cached  86.71 kB
404 GET my-domain.com   jquery.min.js   script  html    384 B   0 B 406 ms
404 GET my-domain.com   jquery-ui.min.js    script  html    384 B   0 B 381 ms
404 GET my-domain.com   lodash.min.js   script  html    384 B   0 B 378 ms
404 GET my-domain.com   jquery.mousewheel.min.js    script  html    384 B   0 B 361 ms
404 GET my-domain.com   select2.min.js  script  html    384 B   0 B 357 ms
404 GET my-domain.com   jquery.form.min.js  script  html    384 B   0 B 355 ms
404 GET my-domain.com   jquery.timeentry.min.js script  html    384 B   0 B 345 ms
404 GET my-domain.com   jquery.blockUI.min.js   script  html    384 B   0 B 358 ms
404 GET my-domain.com   jquery.dataTables.min.js    script  html    384 B   0 B 367 ms
404 GET my-domain.com   jquery.validate.min.js  script  html    384 B   0 B 456 ms
404 GET my-domain.com   additional-methods.min.js   script  html    384 B   0 B 372 ms
404 GET my-domain.com   jquery.ui.datepicker.validation.min.js  script  html    384 B   0 B 372 ms
404 GET my-domain.com   jquery.tableHeader.js   script  html    384 B   0 B 367 ms
404 GET my-domain.com   jquery.notify.min.js    script  html    384 B   0 B 373 ms
404 GET my-domain.com   jquery.smartmenus.min.js    script  html    384 B   0 B 376 ms
404 GET my-domain.com   jquery.smartmenus.keyboard.min.js   script  html    384 B   0 B 370 ms
404 GET my-domain.com   datepicker-de.js    script  html    384 B   0 B 1027 ms
404 GET my-domain.com   favicon.ico img html    cached  294 B   93 requests

```

# Answer
Fantastic, like Jon G - Megaphone Tech mentioned in the comments: I replaced the formerly working shortlink including my domain name with the internal link using the auto-generated "clients" structure for $civicrm\_root (and in the following line with the templates\_c link) in my civicrm.settings.php file and now finally the CiviCRM menu appears again.
> 4 votes

# Answer
Some things to try:

* Delete your templates\_c folder.
* Press F12 in your browser to open the developer tools. Go to the **Network** tab, and reload the page. Check the status for any file that doesn't return with a `200` status.
* Also look for the `l10n.js` file. Open it in a new tab. Is there any additional text at the top that shouldn't be there? If you're not sure, do the same thing on the demo servers.
> 2 votes

# Answer
I experienced the same issue. I changed the resource urls from portable to absolute and that fixed the problem.
> 1 votes

---
Tags: drupal, menu, upgrade
---


# Question
Title: Error when trying to view profile list on frontend by public
I suspect this issue is one of a single configuration not being set properly, but I am at my wit's end to figure out which one...

I am trying to create a public directory of a CiviCRM group of contacts.

I have set up a profile and indicated it to be used for form & list as well as search. Each field of this profile is set to "Public User Pages and Listings" and visible.

In the CiviCRM configuration in the backend of Joomla, I gave permission to public users to view all contacts, view their (my) contacts, profile view, access all custom data.

I created a Joomla Menu defined as public and of the CiviCRM profile list type (associated to the correct profile).

When I try to open the menu, I get an error stating that the "the contact ID parameter to see the contact registration with a profile was not found" (free translation as it is written in French in my DB)

A registered user, on the other hand) can see the directory, so it has to do with a public user not having a contact ID...

What am I missing? How can I have the system overcome this?

Thanks in advance for your help!

**Related question** (I assume), when a registered user goes to this page, the first thing he sees is his own profile and need to click the "Return to contact list" to view all contacts. Is there a way to make this directory direct so the user sees the table right away?

**Follow-up after June 15th comments**: Registered as a test school and when to the URL:

Clicked "Return to contact list" and copied the URL for that list: https://voile.qc.ca/fr/?option=com\_civicrm&task=civicrm/profile&Itemid=1046&force=1&gid=14

Closed session and copied list link public site. Arrived directly at the list w/o the registered user profile data.

It thus seems that the option to view the contact profile needs to be turned off somehow.

But how?

Thanks!

# Answer
Finally what I did is create a URL type menu (instead of a CiviCRM profile view menu) with the URL of the list once the "return to list" link is clicked. This way, a user does not need to be logged in to see the list.
> 1 votes

---
Tags: profile, joomla
---


title: Membership Report Issues

text:
# Question
Title: Membership Report Issues
I have a discrepancy of 15 contacts between reports and need help figuring out where the error is. The Membership Summary is showing 1,108 members and yet the Membership Detail Report is showing only 1,093 records. Can someone please tell me why there is a discrepancy and how to fix it. Thank you!

# Answer
Agree with Jon. I would also guess that there are contacts in your database who have more than one membership. Membership reports are based on the object membership, so they count these rather than only the contacts attached to them. But screenshots would be helpful.
> 1 votes

---
Tags: civimember, civireport
---


# Question
Title: Is there a way to separate audit activities from "real" actvitites in a case?
In the "Activities" section of case management, real to-do items are mixed with the audit activities that are recorded for documentation purposes. This is irritating to some users.

Has anybody found a way to separate these audit activities from the "real" activities of the case (i.e. the ones originating from user entry , a sequence or a standard timeline)? In my opinion, the ideal solution would be to separate the audit trail and show it in a separate tab or different section of the screen, since you usually only need to look into these activities, if anything goes wrong during the processing of the case. Completely deactivating the activities is not a sensible solution either, because the audit trail might be needed and very helpful in managing critical or disputable cases.

# Answer
I had one site where they asked me to have it automatically put the "copy sent to" activities into the trash, so they're still there but don't show unless you use the filter accordion to see them. It's not efficient database-wise, but for low volume is a possibility. At the time extensions didn't exist yet, or maybe were just starting, so it was implemented by overriding a core file. You might be able to do something similar with hook\_civicrm\_post, and while not robust, the subject lines are mostly identifiable so could filter based on that and set is\_deleted=1.
> 1 votes

# Answer
We had build a extension years ago that groups the activities created by standard timeline into a section and the activities added manually into another. But we didn't manage it to differentiate or exclude these activities while printing audit report. Things have changed a lot in CiviCRM since then allowing hooks to change the behaviour and how data is stored in db. So its possible to do it with implementation of GUI hooks.
> 1 votes

# Answer
Latest news on this: A useful CiviCase extension has undergone some major changes and improvements. See the section "Activity Categories" in this link: https://civicrm.org/blog/jamienovick/civicase-new-way-manage-cases-using-civicrm

Has anybody tried it, yet?
> 1 votes

---
Tags: civicase, activities, activity
---


# Question
Title: Anyone building or built - an API Call into Zoom to Add A Meeting Registrant
I have CIVI Events installed on my site and I am looking to integrate with Zoom /Meetings. With an Event Registration i want to take the Participant record. Post the information to Zoom API call Meetings Registrants - then write the response back into the Civi Events Calendar object for that user, the unique registration URL. Is there a civiextension for this, or anyone available to help us with this piece of work?

# Answer
https://github.com/veda-consulting-company/ncn-civi-zoom

We have forked the original extension, I would use ours as we have fixes/changes to make it configurable and the original developer hasn't yet accepted them.

At the moment it works with webinars but we can adapt it to work with meetings too.

Let us know if you need anything else or you can raise issues on the repo for anything you need.

Thanks
> 5 votes

---
Tags: civievent, zoom
---


# Question
Title: "Deceased" flag set to "no" by default in standard reports
Why is the "Deceased" flag set to "no" by default in standard reports ? This causes waste of time in understanding why the search results are not full. All other flags are set to "any". Is it possible to change this default value in the reports templates? Thank you

# Answer
> 3 votes
You can save an instance of the report that has your preferred settings and then have it appear in the menu or on the dashboard.

https://docs.civicrm.org/user/en/latest/reporting/set-up/#define-report-settings

Briefly, set your settings, refresh the report, look at the Access tab for any additional settings like menu entry, and then choose Create Report from the actions dropdown.

---
Tags: reports, default-settings
---


title: Building email lists

text:
# Question
Title: Building email lists
I am not new to Drupal but I am new to CiviCRM. I am building an email list, Does CiviCRM remove or scrub email lists?

# Answer
I'm not sure if civicrm uses the same words so I'm just going to guess a bit what you're asking:

What I think you mean is if the email address is wrong or the email bounces, does it stop sending to them. Yes in general. See https://docs.civicrm.org/user/en/latest/email/maintaining-healthy-email-lists/

If you mean removing duplicates, it has features for that - see https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/

If by scrubbing you mean cleaning up the data so it's more consistent, you may need an extension. Which one depends on what your concerns are. One example is https://civicrm.org/extensions/cividesk-normalize
> 2 votes

---
Tags: email, unsubscribe
---


# Question
Title: Misleading instructions in CiviEvent registration template for multiple participants
In Civi 5.26.1, I've just had a user tell me that a registration page doesn't work because there is no 'Continue' button.

Indeed, although the on-page instructions state "If you are registering additional people, you will be able to enter their registration information after you complete this page and click Continue", the only button available says 'Review you registration'.

Suggest that the relevant string in Register.tpl is amended to 'If you are registering additional people, you will be able to enter their information after you complete this page and click Review Registration'

# Answer
This is a great catch Bryan. The wording changed in CiviCRM 5.25 (May 2020), but they missed this. I just opened a ticket and wrote a patch to address this. The fix is in Civi 5.29+ (September 2020). Thanks again not just for noticing, but for reporting this.
> 3 votes

---
Tags: civievent, online-registration
---


# Question
Title: Anyone noticing trailing spaces in name and address fields submitted via profile, webform, event registration etc?
We have a small but significant number of contacts with trailing spaces at the end of name fields (both first and last) as well as address fields (have found city name and postal code thus far). This has been going on for at least a year at a low rate, but perhaps picked up recently and is affecting more than 1% of new contacts. It has happened via webforms, via profiles used as snippets and profiles in event registrations and different instances of each, so it doesn't seem to be coming from any particular place.

**Has anyone else seen anything like this?** I can't get a search that works to find these, but they are pretty easy to see by scanning new contacts and looking for spaces before the comma that separates last from first names.

**Update:** In the last ten days, we've had a big increase in these spaces appearing. 12% of 375 recent new contacts had this issue in their last name (and some of those had it in other fields as well). This is much more than we've seen in the past, which suggests it is not actually people doing it themselves (unlikely that there is a sudden explosion in space bar use at the end of fields)

# Answer
I checked with Dev and recommendation is to handle trailing spaces in the form layer (rather than in the API) -\> so to start here is the fix for D7WFC -\> https://github.com/colemanw/webform\_civicrm/pull/319

If you see more of these in future -\> let me know and we'll track down the next form entry point e.g. profiles.
> 1 votes

---
Tags: webform-civicrm, profile
---


# Question
Title: How best to use crmApi result within angularJs controller?
Referring to the snippet below, how do I get the controller function (DashboardController) to 'wait' for the return from crmApi? I've debugged enough to know crmApi returns the results I like, but DashboardController exits before I set self.user.

I'm weak on promises, but perhaps I also need to find a better place to call crmApi? Is it a better practice to call crmApi within, e.g., angular.module('tournament').config(\['$routeProvider' ...

angular.module('tournament').component('dashboard', { templateUrl: '~/tournament/dashboard/dashboard.template.html', controller: \['$routeParams', 'crmApi', function DashboardController($routeParams, crmApi) { var self = this;

```
  // e.g., dashboard/43
  if ($routeParams.userId !== undefined) self.userId = $routeParams.userId;

  self.user = crmApi('Contact', 'getsingle', {
    "sequential": 1,
    "return": ["display_name","modified_date"],
    "id": self.userId
    }).then(
        // Success
        function(result) {
            return result; // How can I get self.user to 'wait' for this return?
        },
        // Failure
        function (error) {
            CRM.alert(ts('Could not get user record ID of %1, error = %2', {1: userId, 2: error}),ts('Not Found'),'error');
        }
    );
}

```

\] });

# Answer
I finally remembered that promises return callbacks. So, instead of

```
return result

```

in the then of the crmApi promise, using

```
self.user result

```

does exactly what I need.
> 1 votes

---
Tags: javascript, angular
---


# Question
Title: Custom Fields for Activities not getting Prefilled by a Drupal Webform
When I setup a webform to update existing activities, and I give it cid and activity1 parameters in the URL, the webform loads up contact information and core activity information, but not the custom fields data. The custom fields just stay blank.

My first instinct was to re-examine the permissions, but this is the administrator account (with all Drupal permissions checked), additionally I added the Civicrm ACL permission to view/edit the custom field (not that this should matter) but the issue persists. I can add activities and custom data just fine, display the data using Views, but custom field data just doesn't load up in the webform, it's blank.

How would I go about debugging this? Am I missing something obvious?

I tried to recreate the issue on another instance with the same version of Civi and Drupal, but I couldn't do it, everything just works there.

Civicrm 5.20.0 | Drupal 7.72 (modules up to date) | PHP 7.1.33

# Answer
> 1 votes
I have identified the problem.

This occurred only for the activities where the activity participant wasn't set. So it's all about contact record type in the civicrm\_activity\_contact table. The issue happens when you load the activity where you don't have the target specified (record\_type\_id = 3). If this happens the activity data loads, but the custom fields data don't. I don't know if this is expected behavior, but I don't think so.

For me the fix is easy, I will just write an SQL query that will add the target contact (which same as the activity creator in my case).

I will create the issue for Drupal Webform CiviCRM Integration module.

---
Tags: drupal, webform-civicrm, activities, permissions
---


# Question
Title: Cancel/Transfer Registration Link in Contact Dashboard
I know that I can select "Allow self-service cancellation or transfer?" when I create an event which includes a link in the email to the user. However, this link doesn't show in the user dashboard with the event detail. Is it meant to? How can I include this link in the dashboard?

# Answer
> 3 votes
This feature makes sense, but doesn't currently exist. However, I created an issue in the CiviCRM issue tracker for this exact feature.

I have a client who wants this, but I think they're going to run out of money before we can do it unfortunately.

The good news is that they DID fund the biggest part of this - until two months ago, the self-service cancel/transfer code was only accessible from the self-service/cancel page. They funded me to move the code to a central location. In the next couple of weeks, I intend to clean this code up further, at which point it should be under an hour's work to add self-service transfer/cancellation links to the user dashboard.

---
Tags: civievent
---


title: free events with optional donations

text:
# Question
Title: free events with optional donations
I want to offer a free event with an optional £5 donation. I can set this up easily with two different fee amounts, but it won't allow me to have the zero amount as the default which I feel is appropriate for an optional donation. I always hate it when a form has an optional donation pre-ticked and it actually discourages me from donating. How can I get round this?

# Answer
> 1 votes
I've now found two ways round this!

First I noticed there is an extra radio button at the top of default column for price options (with no indication of what its for and that allows no option to be default, which is actually better for what I want as it means people have to make a choice to go for the free option so at least consider the extra donation.

Second, I find that I can do exactly what I asked in the question if I use a radio button in a price set.

# Answer
> 3 votes
You can do this with Webform CiviCRM module! I whipped up some screenshots for you to show you how. Participant Fee is entirely by Donation in this case. I registered twice: once leaving the Participant Fee at $0 and once deciding to donate $40 (in which case the user gets prompted to enter credit card details; in the $0 of course they don't).

---
Tags: civievent
---


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

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

I know that I can:

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

But both of these are theme-specific solutions.

Is there a CiviCRM way to accomplish this?

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

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

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

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

# Answer
If this is on drupal 8, You can hide these links from -

* Configuration -\> People -\> Account settings `/admin/config/people/accounts`
* Choose `Manage Display` tab which navigates to `/admin/config/people/accounts/display`

`CiviCRM record link` and `dashboard link` is what you need make sure is disabled.
> 3 votes

# Answer
You could try to use the rules engine to redirect users to the page you want them to see post login or logout. We use rules to check to see if the person is a paid up member and if they are not we send them to the renew page - if they are paid up we send them to the members home page.

We have set up a webform where their profile page and username and password - if a user tries to login or select profile we send them to the webform to modify profile or drupal info.

hoped that helped
> 2 votes

---
Tags: drupal, user-account
---


# Question
Title: CiviCRM 5.17.5 and WordPress 5.2.3 just won't work
We have been stuck at CiviCRM 5.12.4 for months now. I have had issues with my Contribution page (details not needed here) as I tried to upgrade through Civi 5.14.2. So, I held off until today to try one more time on the latest stable release (also to avoid the critical warning that 5.12.4 is OBE that scares our staff).

We are running WordPress 5.2.3 and use iATS Payments 1.6.2.

This is the behavior. If I am logged into Wordpress, when I click on a contribution page, both the contact info and the billing name and address are correctly filled in. However, hardly any of our visitors create and use a WordPress login. If I am not logged in, the page does NOT have the "My billing address is the same as above" checked by default as it did before. Worse yet, if I check to use the same address for billing as for contact, it does not propagate. Someone would have to fill in every field all over again. I think this "almost" works, but am wondering what could possibly be wrong. It seems like an issue with the handler for contribution pages, as the behavior seems to change every time I try a new version.

I obviously am not going live on our main website with this behavior. If anyone would like to observe for themselves, please visit https://test.sdcbcdream.org/join/ . To see it work correctly (5.12.4), you may visit https://sdbikecoalition.org/join/.

Thanks for any help. This one has me stumped as we have always had no issues moving forward with stable versions.

# Answer
> 3 votes
Just seeing activity here, I realized I moved this query to chat.civicrm.org, Wordpress channel and haystack provided a general fix to civicrm core which has been in place since late fall 2019. I forgot to close things out back here on StackExchange. The ultimate problem was not that one plugin, iframe, but our theme, Benevolent Pro, was evidently calling register\_hooks\_front\_end() before it actually should be. It was decided that could happen with other themes as well, so haystack suggested a fix to handle that case. I haven't had any problems since then. We are running Civi 5.21.3 (ESR) and Wordpress 5.4.2 currently. You can see the whole thread at:

https://chat.civicrm.org/civicrm/pl/9we4awu1c38b98eihypwdrbumh

# Answer
> 0 votes
The newer Civicrm Version had posed many issues for me. Also it does not work properly with PHP 7.3. Eventually I have resorted to stick with civi 5.8 which i have used in 2 other sites and working properly.

---
Tags: wordpress, civicontribute, iats
---


# Question
Title: Effects of hidden groups and multisite mailing
I'm looking for some clarity on hidden groups. We have 50 states using a multisite instance and the mailer doesn't work well with multisite.

To achieve segmentation, it seems like creating mailings through search is the only way to do it. If we did that, and each state sent 4 mailings per month. We are at 200 hidden groups each mo and 2400 after 1 year.

Is there harm in this or would a process to delete the hidden groups be satisfactory?

Or should an entire new mailer be developed to make multisite mail more intelligently? For instance, it should look at 1 group we have setup (e.g. Volunteers) and then have an AND clause of the users ACL to limit the contacts to their area, be it state or county.

# Answer
> 1 votes
My test so far following artfulrobot's advice was that deleting a hidden group did not effect the normal mailing functionality (unsubscribe/optout/click/open tracking/reports).

---
Tags: groups, mailing
---


# Question
Title: System status - disabled/deleted fields on Smart Groups (5.24)
After upgrading to 5.24 I get the above message in system status. I've disabled and re-enabled all smart groups but the message persists and I can't find any redundant custom fields. The message shows no smart group name or custom field name so there's no clue what's wrong. There are no error messages in the log. This is a very small Drupal based system. Here's the message:

# Answer
After upgrading a couple more installs both produced these system status messages linked to phantom smart groups. To clear them click the left of the 2 small icons, then click the smart group criteria to go into advanced search. Then it really doesn't matter what you set this search to, as after clicking search you then go ahead & create the phantom smart group & then delete it. The message will then disappear. This is the same process you would use to deal with this error message where the smart group exists, but for those you simply update the smart group after the advanced search.
> 2 votes

# Answer
Thats a false alarm which is fixed in this PR.
> 0 votes

# Answer
This issue present on 5.25.0

Hover over the edit button to get the ssID. Delete the saved search entity if there is no mapping. This can be done by API/database.

Agileware ref: SUP-18449
> 0 votes

---
Tags: custom-fields, smartgroups, system-status
---


title: Paths are inconsistent

text:
# Question
Title: Paths are inconsistent
We are having an issue where the /bower\_components and /packages paths are being rendered differently than other paths. This is causing the JQuery and other components to not load correctly. I've tried setting this in civicrm.settings.php, but can not see to get them to use the correct URL

CiviCRM 5.25.0, Drupal 7.72, Panheon is the host (thus the path weirdness)

```
<link type="text/css" rel="stylesheet" href="https://carolinaclimbers.org//srv/bindings/e138c004c7534c17a7b6a73b59bc743dsites/all/modules/civicrm/bower_components/select2/select2.min.css" media="all" />
<link type="text/css" rel="stylesheet" href="https://carolinaclimbers.org/sites/default/files/css/css_QSUBb92PTdLEfkMP9h64X2An1s-ea4NW9lWznW1IB3U.css" media="all" />
<link type="text/css" rel="stylesheet" href="https://carolinaclimbers.org/sites/default/files/css/css_k0Qak2KC5ckGFoWNds-UCkJ19u5TyvmyprcB27dAxHw.css" media="all" />
<link type="text/css" rel="stylesheet" href="https://carolinaclimbers.org/sites/default/files/css/css_KLevn940KsaVS6iNiCt9sY13XTqU54F_5IOxYTblXpA.css" media="all" />
    <script type="text/javascript" src="https://carolinaclimbers.org/sites/default/files/js/js_h8Od-FAGkhR_7A30HaaMaTrO_5Hale-5uw8QHV7ogq0.js"></script>
<script type="text/javascript" src="https://carolinaclimbers.org//srv/bindings/e138c004c7534c17a7b6a73b59bc743dsites/all/modules/civicrm/bower_components/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="https://carolinaclimbers.org//srv/bindings/e138c004c7534c17a7b6a73b59bc743dsites/all/modules/civicrm/bower_components/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://carolinaclimbers.org//srv/bindings/e138c004c7534c17a7b6a73b59bc743dsites/all/modules/civicrm/bower_components/lodash-compat/lodash.min.js"></script>
<script type="text/javascript" src="https://carolinaclimbers.org//srv/bindings/e138c004c7534c17a7b6a73b59bc743dsites/all/modules/civicrm/packages/jquery/plugins/jquery.mousewheel.min.js"></script>

the l-10n-js script has these lines:

CRM.config.resourceBase = "https:\/\/carolinaclimbers.org\/sites\/all\/modules\/civicrm\/"; CRM.config.packagesBase = "https:\/\/carolinaclimbers.org\/\/srv\/bindings\/e138c004c7534c17a7b6a73b59bc743dsites\/all\/modules\/civicrm\/packages\/"; – Brian Payst 1 min ago     Edit

```

# Answer
> 2 votes
This ended up being a Pantheon environment variables and path change, I fixed if following the suggestions here, edited for my non-starter kit environment: github.com/herbdool/civicrm-starterkit-drops-7/pull/17/commits/

---
Tags: configuration
---


# Question
Title: Civimail is not sending scheduled mailings, could it be Cronjob syntax or Bluehost?
**Relevant set-up information:**

* Hosting: Bluehost Shared Hosting
* CMS: WordPress
* CiviCRM version: 5.25.0

Here's what works:

1. Sending email from via "Contacts \> New Mail"
2. Sending a test mail from "Settings - Outbound Mail"
3. Sending a test mail from a mailing in CiviMail under "Define Mailing" from the Preview pane

Here's what doesn't work:

1. Sending a scheduled mail via CiviMail's "Review and Schedule", neither in "Send Immediately" nor "Send at:";
2. Going to Schedule Jobs and hitting Execute Now for Sending Mail;

Now I'm told by the system that Cron jobs are not set up, though I have put one in CPANEL.

Here is my CRON command that is running every 5 minutes:

```
wget -O - -q -t 1 'https://<domain>/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=<username>&pass=<password>&key=<sitekey>&job=execute'

```

The "username" is an Administrator.

Tech support says my Cron jobs are running. "Scheduled Jobs Log\> Send Scheduled Mailings" states that jobs are getting kicked off

```
Entity: job Action: process_mailing
Summary
Finished execution of "Send Scheduled Mailings" with result: Success (a:1:{s:9:"processed";i:0;})
Details

Parameters parsed (and passed to API method):
a:1:{s:7:"version";i:3;}

Full message:
Finished execution of Send Scheduled Mailings with result: Success (a:1:{s:9:"processed";i:0;})

```

Despite all this, no mails are showing up in the test groups inboxes.

Is it my Cron job settings? If so, has anyone been able to set up cron jobs effectively in CPANEL for CiviCRM?

# Answer
Success, with minor change in syntax I am now able to send schedule mail using Cron jobs to kick off schedule mails. Here is my method for running CiviCRM cron jobs on Bluehost shared hosting every 16 minutes. Previously I had also specified the the parameter job.execute, which I have removed.

```
wget -O - -q -t 1 'https://<my-domain>/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=<username>&pass=<password>&key=<sitekey>'

```

I have scheduled 5 different mailing jobs at 15-60 minute intervals and each has delivered within 3 minutes of scheduled sending. Moreover, my Cron status is "Cron Running OK".

Bluehost does limit the frequency of cron jobs on shared hosting to between 16 and 25 minutes, so cron is kicking off as frequently as possible.
> 2 votes

# Answer
Welcome to SE! If it were working when you use 'Execute now' but not from cron, then I'd look at the cron settings. But in your case 'Execute now' is not producing mails and that does not involve cron.

=== edited ===

* Are you using Mosaico and Flexmailer - if so, which versions?
* What are your settings for outbound mail?
* At the place where you add recipient groups, how many recipients does it count?
> 1 votes

---
Tags: wordpress, civimail, cron-job
---


# Question
Title: Multiple item tax sub-totals are shown incorrectly on confirmation pages and emails
We have a site with tax and invoicing enabled on contribution settings. Drupal 7 civi 5.24.6

Where there is just one item to purchase on a page. The totals and subtotals appear as expected...

*Payment amounts from Contribution confirmation page*

*Payment amounts from confirmation email*

But when multiple taxable items are available on a contribution page the taxable subtotals show incorrectly...

*Payment amounts from Contribution confirmation page*  Here the total VAT (tax) amount shows as £260, when it should be £520- but both line items show correctly and the Payment Total is the correct overall total

*Payment amounts from confirmation email*  The email acknowledgement for these items is even more broken The amount before tax shows £2860 instead of £2600, basically a tax amount has been added here. total VAT line is fine at £520, but the Total Tax line is only showing £260

Again the overall total is correct.

Anyone any idea where these different amounts are being drawn from? How to correct this?

# Answer
> 2 votes
This issue is reported at https://lab.civicrm.org/dev/core/-/issues/1603 and there was a fix merged into 5.27 which is scheduled to be out today, unfortunately the fix was reverted since it created regression bug.

---
Tags: contributions, receipts, taxes
---


title: Fields from CiviGrant as tokens?

text:
# Question
Title: Fields from CiviGrant as tokens?
What is the best way of getting fields from grants available as tokens for mail/PDF-merge?

No native tokens? Not available in form processor extension?

# Answer
> 1 votes
If the tokens for grants are not available in core (which I can imagine) and appartently the data-processor tokens extension does not work with them either, the option you have left is to create an extension that adds them as custom tokens.

---
Tags: tokens, civigrant
---


# Question
Title: New 'Contact Exported' and 'Activity Exported' activity
One of our clients has noticed that every time they export a contact (Adv Search or via a Report) an activity is created against each contact of type 'Contact Exported' with the date and the staff member who ran the export. They do a lot of exports and its causing a problem.

Has anyone seen this before? I'm pretty sure its not a core function (or if it is its new). I think someone may have installed an extension then removed it but its left this function in place.

Olly

# Answer
The latest version of the GDPR extension does this. It records when contacts have been exported for audit purposes.
> 4 votes

---
Tags: export, activity
---


# Question
Title: Save before custom fields load overwrites with blank record
Is there a patch for this.

I have an activity with quite a lot of custom fields and lookup fields. The loading of the custom section takes quite a time, but the Save button is already displayed.

If you hit the SAVE before the custom fields are loaded, then the record is saved with blank data - overwriting the existing data.

It does not validate against the custom data - otherwise that would fail - it goes direct to overwriting.

# Answer
I don't think there's any kind of patch that would help you. The easiest way to achieve what you want would be through a simple java script which disables/hides the save button until the page is fully loaded.

For this you would need to create an extension.
> 1 votes

---
Tags: activity
---


# Question
Title: Where can I find Documentation for Drupal 8 Webform CiviCRM module?
Would love to see official docs/examples with lots of screenshots!

# Answer
> 6 votes
Yes! Official documentation is being created and can be found here: https://docs.civicrm.org/webform-civicrm

---
Tags: webform-civicrm, drupal-8, documentation
---


# Question
Title: Tokens missing in Webform Email Settings (and thus not populated in Emails received) (after upgrading)
Running Drupal 7.69 / CiviCRM 5.25.0 / PHP 7.3 After upgrading some Modules : Webform, Views Bulk Operations, i18n, and Content Access,

Emails Tokens (\[submission:completed\_date:long\], \[submission:user\], \[submission:values\], \[submission:url\]) are not populated in received mails.

And those usual tokens are not shown when browsing "available tokens" in the Webform Email Template Setting.

I have asked the question on the Drupal SackExchange, but my notation there is too low to get an answer.

Any help is welcome.

# Answer
> 2 votes
Thank you to both of you (Karin and Pete) for your suggestions : I have solved the problem.

I have disabled Token and Entity Tokens Modules (and requested associated Modules)

... then reactivated :

The probem comes from the Advanced User Management Module : when it is enabled, most of the tokens cannot be browsed (among which the default proposed ones in the mail content).

I will post this answer on the Drupal StackExchange.

# Answer
> 0 votes
Submitter \[submission:user\] def. shows for me in available tokens

Drupal core 7.72

Webform 7.x-4.21

Webform Tokens 7.x-4.0

---
Tags: webform-civicrm, tokens
---


# Question
Title: Having trouble changing settings on Donations Page
I need to change a checkbox on the Donations page to a box where people can put their own dollar amount in and it will be added to the total at the bottom of the screen. I cannot locate where to go to make that change.

# Answer
On Amount tab of contribution page (**Contributions menu \> Manage Contribution Pages**, then click **Configure** next to the page in question) you can either choose price set or other amount section to have text field where people can input there own amount.

See : https://docs.civicrm.org/user/en/latest/contributions/online-contributions/#amounts-tab

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

**Price set:** You can create a price set as text field with amount set to 1 and include the price set in contribution page

OR

**Other amount:** On amount tab of contribution page you can choose other amount option and choose if you want donor to donate minimum to maximum X amount.(can leave blank if dont need the restriction)
> 3 votes

---
Tags: contribution-page, price-sets, donations
---


# Question
Title: Membership status changing from Grace to Expired a day later than expected
CiviCRM 5.24.5, Drupal 7.72

The job "Update Membership Statuses" is set to run once per day. According to the log, it ran on July 1st but no records were updated. I expected to see all memberships that were in status 'Grace' change to 'Expired', instead this didn't happen until July 2nd.

The membership: Fixed, 1 year, starts January 1st fixed rollover day of June 30th.

Grace period: Start Event: end date, no adjustment End event: end date End Event Adjustment: 6 months

Expired: Start Event: end date Start Event Adjustment: 6 months

Thanks for any insight as to what may be causing the 1-day delay.

# Answer
The 'Fixed Period Rollover Date' relates to the start of memberships and is not relevant here.

This is about date maths ...

Grace is defined as End Date (Dec 31) to End Date + 6 months. So what date is "6 months" after Dec 31? If you increment the month and leave the day of month fixed, you get "June 31". That doesn't exist, but if we think of "June 31" as the day after June 30, you get to the last day of Grace being July 1 (not June 30).

So then changing to Expired on July 2 makes sense.

Intuitively we think of Dec 31 as 'end of December', and so 6 months later is 'end of June' - but that's not how it is calculated.

See Example #3
> 3 votes

# Answer
Based on Aidan's helpful explanation you may be able to fix by changing to days. This calculator may help

https://www.timeanddate.com/date/durationresult.html?d1=31&m1=12&y1=2019&d2=30&m2=6&y2=2020&ti=on

which gives 183 as the answer if we set "Include end date in calculation (1 day is added)" though I am not sure if that is correct.
> 2 votes

---
Tags: civimember, scheduled-job
---


# Question
Title: database is marked with an unexpected version number
I drew a mysqldump from a site built with a composer.json file reading in relevant part:

```
     "require": {
        "composer-plugin-api": "^1.1",
         "civicrm/civicrm-asset-plugin": "^1.0",
         "civicrm/civicrm-drupal-8": "^5.24.0",
         "civicrm/civicrm-packages": "^5.24.0",

```

the footer indicates that it installed:

```
Powered by CiviCRM 5.28.alpha1

```

Reinstalling this same composer file is now giving me a footer reading:

```
Powered by CiviCRM 5.27.0.

```

and a 'CiviCRM System Status' page reading:

```
Database In Unexpected Version

Your database is marked with an unexpected version number: 5.28.alpha1.
The v codebase may not be compatible with your database state. You will
need to determine the correct version corresponding to your current
database state. You may want to revert to the codebase you were using
until you resolve this problem.

OR if this is a manual install from git, you might want to fix civicrm-version.php file.

```

my attempts to update the composer.json and rebuild the site, with these settings:

```
     "require": {
        "composer-plugin-api": "^1.1",
         "civicrm/civicrm-asset-plugin": "^1.0",
         "civicrm/civicrm-drupal-8": "^5.28.alpha1",
         "civicrm/civicrm-packages": "^5.28.alpha1",

```

are resulting in an installation reporting in the footer, that:

```
Powered by CiviCRM 5.27.0.

```

and the same `database is marked with an unexpected version number` error.

Any thoughts on how I might resolve this would be appreciated. Several hours of work have been invested in the 5.28.alpha1 version of the database I am working to restore.

Thank you for your consideration, -- Hugh Esco

**UPDATE:**

I updated by composer.json to read:

```
        "civicrm/civicrm-drupal-8": "^5.28.x-dev",
        "civicrm/civicrm-packages": "^5.28.x-dev",

```

which yielded this output in my jenkins console:

```
Notice: /Stage[main]/Ymd_apache2::Drupal::Install::Composer/Exec
[composer_install_drupal_for-example.com]/returns:     -
The requested package civicrm/civicrm-packages ^5.28.x-dev
exists as civicrm/civicrm-packages[4.4.17, 4.4.18, 4.4.19,
4.4.20, 4.4.21, 4.4.x-dev, 4.5.0, 4.5.1, 4.5.2, 4.5.3, 4.5.4,
4.5.5, 4.5.6, 4.5.7, 4.5.8, 4.5.alpha1, 4.5.alpha2, 4.5.beta1,
4.5.beta2, 4.5.beta3, 4.5.beta4, 4.5.beta5, 4.5.beta6, 4.5.beta7,
4.5.beta8, 4.5.beta9, 4.5.x-dev, 4.7.31, 5.0.0, 5.0.1, 5.0.2,
5.0.x-dev, 5.1.0, 5.1.1, 5.1.2, 5.1.x-dev, 5.10.0, 5.10.1,
5.10.2, 5.10.3, 5.10.4, 5.10.x-dev, 5.11.0, 5.11.x-dev, 5.12.0,
5.12.1, 5.12.2, 5.12.3, 5.12.4, 5.12.x-dev, 5.13.0, 5.13.1,
5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.x-dev, 5.14.0, 5.14.1,
5.14.2, 5.14.x-dev, 5.15.0, 5.15.1, 5.15.2, 5.15.x-dev, 5.16.0,
5.16.1, 5.16.2, 5.16.3, 5.16.4, 5.16.x-dev, 5.17.0, 5.17.1,
5.17.2, 5.17.3, 5.17.4, 5.17.5, 5.17.x-dev, 5.18.0, 5.18.1,
5.18.2, 5.18.3, 5.18.4, 5.18.x-dev, 5.19.0, 5.19.1, 5.19.2,
5.19.3, 5.19.4, 5.19.x-dev, 5.2.0, 5.2.1, 5.2.2, 5.2.x-dev,
5.20.0, 5.20.1, 5.20.2, 5.20.3, 5.20.x-dev, 5.21.0, 5.21.1,
5.21.2, 5.21.x-dev, 5.22.0, 5.22.1, 5.22.x-dev, 5.23.0, 5.23.1,
5.23.2, 5.23.3, 5.23.4, 5.23.x-dev, 5.24.0, 5.24.1, 5.24.2,
5.24.3, 5.24.4, 5.24.5, 5.24.6, 5.24.x-dev, 5.25.0, 5.25.x-dev,
5.26.0, 5.26.1, 5.26.2, 5.26.x-dev, 5.27.0, 5.27.x-dev,

5.28.x-dev,

5.3.0, 5.3.1, 5.3.2, 5.3.x-dev, 5.4.0, 5.4.1, 5.4.x-dev, 5.5.0,
5.5.1, 5.5.2, 5.5.3, 5.5.x-dev, 5.6.0, 5.6.1, 5.6.x-dev, 5.7.0,
5.7.1, 5.7.2, 5.7.3, 5.7.x-dev, 5.8.0, 5.8.1, 5.8.2, 5.8.x-dev,
5.9.0, 5.9.1, 5.9.x-dev, dev-4.7.31-rc, dev-master]
but these are rejected by your constraint.
Error: '/usr/bin/php -d memory_limit=512M
/usr/local/bin/composer update \
  --ignore-platform-reqs \
  --no-plugins \
  && /usr/bin/php -d memory_limit=512M \
  /usr/local/bin/composer install'
returned 2 instead of one of [0]
Error: /Stage[main]/Ymd_apache2::Drupal::Install::Composer/Exec
[composer_install_drupal_for-example.com]/returns: change from
'notrun' to ['0'] failed:
'/usr/bin/php -d memory_limit=512M \
/usr/local/bin/composer update \
  --ignore-platform-reqs \
  --no-plugins \
  && /usr/bin/php -d memory_limit=512M \
  /usr/local/bin/composer install'
returned 2 instead of one of [0]

```

Next I will test with an explicit version, rather than the caret, to see if that works any better.

***UPDATE #2:**

No, that does not seem to work, whether setting the CiviCRM versions in composer.json to `^5.28.x-dev` or explicitly to `5.28.x-dev`, I still get `Powered by CiviCRM 5.27.0.` in the footer and the `System Status Error` reporting: `Database in Unexpected Version`.

**UPDATE #3:**

. . . to provide slightly more context on my composer.json file. This is all it requires, package wise.

```
    "require": {
        "composer-plugin-api": "^1.1",
        "civicrm/civicrm-asset-plugin": "^1.0",
        "civicrm/civicrm-drupal-8": "5.28.x-dev",
        "civicrm/civicrm-packages": "5.28.x-dev",
        "civicrm/cv": "^0.3.2",
        "composer/installers": "^1.2",
        "cweagans/composer-patches": "^1.6.5",
        "drupal/core-composer-scaffold": "^8.8.4",
        "drupal/core-recommended": "^8.8.4"
    },
    "require-dev": {
        "drupal/core-dev": "^8.8.4"
    },
    "conflict": {
        "drupal/drupal": "*"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "sort-packages": true,
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },

```

I wonder, does accessing: `5.28.x-dev` requires that I add some repo other than: `https://packages.drupal.org/8`?

**UPDATE #4:**

Demerit: I regret only that I had but a single upvote to share with you, kind sir. composer require "civicrm/civicrm-core:5.28.x-dev" did the trick. Your coaching here has given me further insight into the operation of composer. Now instead of a 'System Status Error', I am seeing a 'System Status Alert' that a 'Database Upgrade (is) Required'. Now, that is something I know how to address. Thank you very much for walking me through this.

This seems to have done the trick.
Had to add civicrm-core explicitly to make things all happy.

```
composer require "civicrm/civicrm-core:5.28.x-dev"
composer require "civicrm/civicrm-drupal-8:5.28.x-dev"
composer require "civicrm/civicrm-packages:5.28.x-dev"

```

# Answer
Try "5.28.x-dev" instead of alpha1 or beta1. Packagist uses different ways to specify the version numbers. https://packagist.org/packages/civicrm/civicrm-drupal-8
> 2 votes

---
Tags: civicrm-home
---


# Question
Title: Fatal error when activating CiviCRM fails and throws up catchable fatal error
Catchable fatal error: Argument 1 passed to CiviCRM\_WP\_REST\Autoloader::add\_source() must be an instance of CiviCRM\_WP\_REST\string, string given, called in /var/sites/b/caftest.site/public\_html/wp-content/plugins/civicrm/civicrm.php on line 691 and defined in /var/sites/b/caftest.site/public\_html/wp-content/plugins/civicrm/wp-rest/Autoloader.php on line 64

# Answer
Do you have the CiviCRM WP REST API Wrapper plugin installed? If so,try disabling that as it's not required with newer versions of Civicrm
> 2 votes

---
Tags: wordpress
---


# Question
Title: Can’t embed any forms using a block editor in Wordpress
Created a page and selected full width content from the block menu. CiviCRM button allows me to access a form selection area but once a form is selected there’s no ‘submit’ button to embed the chosen form?

# Answer
I will take a wild guess here since we don't know the versions or Wordpress and CiviCRM and which block. Since you mentioned the block editor, which does not provide a CiviCRM block, I will guess that you are using a TinyMCE block that still displays a CiviCRM button -- perhaps the Classic block or Classic Paragraph block?

In my case (Wordpress 5.4.2 and CiviCRM 5.27.0), I no longer see a CiviCRM button. This is consistent with documentation at https://docs.civicrm.org/sysadmin/en/latest/integration/wordpress/. Instead, I use the Shortcode block or I directly enter a CiviCRM shortcode in a paragraph block, using the shortcode formats described in the doc.
> 1 votes

---
Tags: wordpress
---


title: Editor Log-In Through WordPress

text:
# Question
Title: Editor Log-In Through WordPress
Rookie here. Installed CiviCRM WordPress plug-in, and it works great. We've given permissions to several people for entering contact data, events, etc., however, I would prefer they not go in through the WP dashboard, to keep them from accidentally messing up the website from poking around. Is there a way to create a WP log-in page for them so they can get into CiviCRM without going through the WP dashboard? If it's in the setup, I'm afraid I didn't find it.

# Answer
WordPress allows you to specify a redirect in the URL. So if you make this their "Log In" link:

https://example.org/wp-login.php?redirect\_to=https%3A%2F%2Ftest.9to5.org%2Fwp-admin%2Fadmin.php%3Fpage%3DCiviCRM&reauth=1

They'll drop into the CiviCRM dashboard upon successful login. Replace `example.org` with your own URL, of course.
> 1 votes

# Answer
You should take a look to Peter's login redirect plugin. Very simple and you can setup redirects by WordPress roles. https://wordpress.org/plugins/peters-login-redirect/
> 1 votes

---
Tags: wordpress, dashboard
---


title: Translation of Terms and Conditions

text:
# Question
Title: Translation of Terms and Conditions
The wording of the GDPR texts is translated (into Dutch), but the title still says "Terms and Conditions". Where to find the string to translate? Or how can it be translated? Please include a translation in next releases. It's odd on an event registration in local language to speak about "Terms and Conditions"!

# Answer
As a quick fix, you can use the word replacement feature of CiviCRM, which is located in the admin section. Just note that the character '&' is encoded as a html special character. Therefore the original English string you want to replace is `Terms & Conditions`. Hope this helps.
> 3 votes

# Answer
Currently the string in question isn't properly translated into Dutch.

CiviCRM's translation project(s) live on Transifex. There are two "teams" (to use Transifex's nomenclature!) for translation.

These are:

Within each "team" the translations are broken down into "resources" - groups of strings. For core these are functional areas of the software. For extensions it's a single resource per extension.

The GDPR extension is setup on Transifex for translation under the extensions team and having checked there is some progress that could be made to achieve a more complete translation into Dutch.

Simply register on Transifex and use their somewhat clunky UI to translate the strings - then they will be automatically built into .mo files by a nightly job and will soon be available to use in CiviCRM.

Hope that helps!
> 3 votes

# Answer
Op 3 juli is de vertaling naar het Nederlands van de GDPR-extensie op Transifex afgerond.
> 1 votes

---
Tags: civievent, translation
---


# Question
Title: jquery datepicker missing (wordpress) after updating to 5.26 from 4.6.33?
A site I inherited a while back finally needed to be updated to a much more modern level including PHP version, MariaDB version and Wordpress version along with CiviCRM. Seen first in the LYBNTY report - the date range fields are simply dropdowns with entries like 'Yesterday', 'Last week', etc. but no ability to actually pick a date range. I have checked Access Control which all looks good (but I am administrator so should have all those already). Checked the header links for jquery and seems I have access to them. Is there a setting somewhere to turn jquery entities off/on? Or could I be missing a path even though the update was in place and not moved? Everything else seems to be working just fine. I might add that the Summary Fields extension is still quite old and is marked as needed an update. Could this have anything to do with this as in not being compatible with the 5.26 version of CiviCRM? I'm stumped here so any suggestions would be fantastic!
TIA!

# Answer
> 1 votes
Never mind - all working now. I modified the CiviCRM Resource URL from the default that was in there of \[civicrm.root\] to be the full URL http://example.com/wp-content/plugins/civicrm/civicrm and the choice of 'Choose Date Range' showed up in the drop down giving the functionality needed. Or it is entirely possible that Choose Date Range was there the whole time and I just missed it. Been such a slog of updating this ancient site that that is entirely possible. Strangely, that jquery error is still showing up in the console, though. But I will look at that tomorrow.

---
Tags: wordpress, jquery, date-range
---


title: Barcodes on membership cards?

text:
# Question
Title: Barcodes on membership cards?
We use Civicrm to manage our membership database. Members get in to the museums free. My front desk staff would love it if it was possible for Civicrm to generate a barcode for each member, that would be printed on their card, that they could then scan when they use their membership to visit the museum. This would help us see how often different members visit. Is this possible? I've seen a variety of thread about event check-in with barcodes, but nothing with memberships more broadly. . . .

# Answer
> 1 votes
There has been some work relating to QR codes and barcodes linked below. It sounds like the model you might need to aim for is to make cividiscount work with QR/bar codes then some of the bits of what is required could work.

https://civicrm.org/extensions/qr-code-checkin

Quickly entering attendance with barcodes

# Answer
> 1 votes
Kai, welcome to civicrm stackexchange. I am afraid to say that this is not supported at the moment in Civi and also i doubt if there are any extension available for this. But you can achieve this if you have experience in programming than you can write an extension and implement hook to create token that will generate barcode.

Thanks

Pradeep

---
Tags: civimember
---


title: Exporting Contacts to a .csv file

text:
# Question
Title: Exporting Contacts to a .csv file
How do I export all contacts to a .csv file?

# Answer
> 7 votes
Do a search that finds all contacts (for example, Find Contacts and then search without entering anything), then select "All nnn contacts" and choose Export from the drop down menu. You can select all primary fields or specific fields to export.

---
Tags: wordpress, contacts, export, csv
---


# Question
Title: Can't seem to find the correct CSS selectors for public buttons - contributions pages (Save, Cancel and Review Your Contribution)
Does anyone have the correct CSS Selectors for these 3 buttons? I want to remove the icons (they don't display on all browsers) and change the overall style of the buttons to match buttons on the rest of the site.

https://wordpress-435088-1363156.cloudwaysapps.com/join/ https://wordpress-435088-1363156.cloudwaysapps.com/volunteer-scpa/

# Answer
> 1 votes
It should be something like

```
div.crm-submit-buttons i { display: none; }
div.crm-submit-buttons span { /* your styling */ }
div.crm-submit-buttons input { /* your styling */ }

```

If you want it specific to the page you'd add something like `div.crm-contribution-page-id-1` or `div.crm-profile-name-volunteer_interest` in front.

---
Tags: wordpress, css
---


# Question
Title: I've got 100% discount, PayPal and the register button does not show for civiEvent, how do I get it to show?
CiviCRM 5.26.2 Ominpay version of PayPal payments CiviDiscount

We apply the 100% discount code and the payment form is hidden. There is no register button.

Using the browser inspection tool, there is inline script that always hides the buttons. I can't see this in the CiviCRM source code am unsure where it comes from.

```
CRM.$(function($) {
  $('.crm-submit-buttons', $('#billing-payment-block').closest('form')).hide();
});

```

We suspect that this is a PayPal related feature as the PayPal 'off site' workflow is different.

# Answer
> 0 votes
This is what we did to get the payment buttons to display when the payment value is $0.

The logic is borrowed from CiviDiscount

CiviDiscount apply button refreshes the page, there are 2 processes

* Person fills out the form and applies the code. The page is refreshed and we check the state to determine whether the register button is shown
* The code is applied before the form is filled out completely. We wait for a form valid state.

The conditions to show the buttons are

* If payment form is hidden
* The value is $0
* A discount code is specified
* The form is valid

In conclusion the following is the code. The *apply discount* button does a page refresh so we can check the value and whether a discount has been applied on page load.There is a watch on this as the inline script that hides the buttons runs after the other scripts. There is also an observer to check whether the form is valid.

```
CRM.$(function ($) {
'use strict';

function interlatedIsTotalZero() {
 var zero = false;
 $('.price-set-option-content input').each(function () {
  var currentTotal = $(this).data('amount').replace(/[^\/\d]/g, '');
  if ($(this).is(':checked') && Number(currentTotal) === 0) {
    zero = true;
  }
 });
 return zero;
}

function interlatedCheckFormValid() {
  var form = $('#billing-payment-block').closest('form');
  return form.valid();
}

// The whole page is reloaded on discount code
function interlatedShowSubmitButtons() {
  // Is the payment form shown?
  var paymentInformation = document.getElementById('payment_information');
  var paymentInformationShown = paymentInformation.style.display;
  var submitButtons = $('.crm-submit-buttons', $('#billing-payment-block').closest('form'));
  if (interlatedCheckFormValid() && paymentInformationShown === 'none' && $('#discountcode').length > 0 && interlatedIsTotalZero()) {
    submitButtons.show();
    return true;
 }

// Form is not valid or similar.
submitButtons.hide();
  return false;
}

// Discount code reloads the whole page. Not a mutation.
interlatedShowSubmitButtons();

// Timing of the jquery to hide the buttons is unpredictable
const buttonsDetectShow = function (mutationsList, observer) {
  for (let mutation of mutationsList) {
    if (mutation.type !== 'attributes') {
      return;
    }
    var buttonsBlockShown = mutation.target.style.display;
    if (buttonsBlockShown === 'none') {
      interlatedShowSubmitButtons();
    }
  }
}

function addObserverIfButtonsAvailable() {
  var buttonsEl = $('.crm-submit-buttons', $('#billing-payment-block').closest('form'))[0];
  if (!buttonsEl) {
    window.setTimeout(addObserverIfButtonsAvailable, 500);
    return;
  }
  interlatedShowSubmitButtons();
  observerButtons.observe(buttonsEl, {attributes: true});
}

const observerButtons = new MutationObserver(buttonsDetectShow);
addObserverIfButtonsAvailable();
var recentMutation = new Date().getTime();

// What happens if we show the button but then the form becomes invalid
const formErrorsDetect = function (mutationsList, observer) {
  var now = new Date().getTime();
  if ((now - recentMutation) < 200) {
    return
  }
  recentMutation = now;
  var mutation = mutationsList[0];
  if (mutation.type !== 'childList') {
    return;
  }
  if (mutation.target.classList.contains("error")) {
    // Show or hide the buttons depending on whether the form is valid
    interlatedShowSubmitButtons();
  }
}

function addObserverFormErrors() {
$('.crm-profile .crm-section .content  ', $('#billing-payment-block').closest('form')).each(function () {
  var formEl = $(this)[0];
  observerFormErrors.observe(formEl, {childList: true, subtree: true});
});
}

const observerFormErrors = new MutationObserver(formErrorsDetect);
addObserverFormErrors();

});

```

---
Tags: civievent, paypal, cividiscount
---


title: combining log and error output

text:
# Question
Title: combining log and error output
I want to combine the output written to the civicrm log file and php\_error.log. This is because I cannot alway conclude based on the time stamp what the order is of the messages in those files. Ideally, I would have them in a single file so that the 'whole story' is in one place.

Is this possible? Ideally, I could catch the warnings that are sent to php\_errorlog and write them with the same routine as I use for writing to the logging.

# Answer
> 2 votes
I can think of a way to do it the other way around, by defining your own civicrm logger and having it send to syslog. The problem is large stacktraces might get cut off and be formatted badly because of the way that works.

To get php to send all its errors including 500-level errors to civi might not even be possible, because they happen before civi even gets to the point where it would be capable of writing a log. If civi can't even load because of error 500, it can't possibly write to its own log.

Or if the error were to be in the CMS, then it might not be able to get to civi either.

# Answer
> 1 votes
If you can't correlate the events in order, are you logging from different machines?

Event correlation is a rabbit hole and there are a lot of great products (free and not free to do it) however, you should start by looking at your logging environment (which it sounds like you are).

If you are using stock syslog, I recommend moving to syslog-ng. NG was designed to better acocmodate event correlation and is way better for diagnostics.

Here is a link to an article on event correlation with NG but you should start by finding a good howto for installing NG on your distribution.

https://lwn.net/Articles/424459/

Good luck,

Karl

---
Tags: civievent, debugging, logging
---


# Question
Title: Why am I getting mangled menus and why can't CiviCRM find its own /ext directory?
My composer build D8/CiviCRM instance looks great on my local server where I built it - but then when I add it all to git and push it to a production server -\> it looks like this: menus are messed up and CiviCRM is not able to find its own extension directory that it ships with.

# Answer
When you install D8/CiviCRM with Composer you end up with CiviCRM's `.gitignore` file in the `vendor/civicrm/civicrm-core` directory. Renaming that `.gitignore` outoftheway solves the problem. No `civicrm.settings.php` file edits required! Of course you can be more selective but think of not ignoring `bower_components` as well as the `/ext` -\> that's what solved this issue instantly.
> 2 votes

---
Tags: drupal-8
---


# Question
Title: Geocoding error on fresh Wordpress Install
I have a fresh install of CiviCRM (5.27) running on a Google Cloud Server Debian buster.

System is fully updated WordPress is 5.4.2

I wish to use Geocoding and of course noticed it is not in the searchable list of extensions.

I went to the download page and see that it says 5.26 - the documentation here leads me to believe that means "at least 5.26" so 5.27 should (in my mind - and correct me if I am wrong) be ok.

I put the zip file in the ext directory and changed the ownership to www-data:www-data and unzipped.

I refreshed extensions loader and saw it there and pressed install and then got a blank screen (civicrm themed so not a WP error) saying my wordpress install had a critical error.

Refreshing the page still shows the option to install and everything else works.

I hope I have given sufficient detail and am prepared to do any level of debugging.

I did not wish to try anything in case anyone wishes to see this error pristine (I did try install one second time).

Thank you,

Karl

PS, here is an error log entry:

\[Tue Jul 07 00:57:43.003646 2020\] \[php7:error\] \[pid 26414\] \[client 107.143.245.58:56972\] PHP Fatal error: require( ): Failed opening required '/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/ext/org.wikimedia.geocode r-1.4/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php' (include\_path='.:/var/www/html/civiwalk.com/wp-co ntent/plugins/civicrm/civicrm:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/packages:/var/www/html/ civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/tecnickcom:/var/www/html/civiwalk.com/wp-content/plugins/civ icrm/civicrm/vendor/phpseclib/phpseclib/phpseclib:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/ven dor/pear/pear\_exception:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/pear/auth\_sasl:/var/ww w/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/pear/log:/var/www/html/civiwalk.com/wp-content/plugin s/civicrm/civicrm/vendor/pear/console\_getopt:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/p ear/pear-core-minimal/src:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/p in /var/www/html/c iviwalk.com/wp-content/plugins/civicrm/civicrm/ext/org.wikimedia.geocoder-1.4/vendor/composer/autoload\_real.php on line 66, referer: http://www.civicafe.com/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&action=add &id=org.wikimedia.geocoder&key=org.wikimedia.geocoder

# Answer
> 2 votes
It sounds like an incomplete install. You might need to run `composer install` from inside the `ext/org.wikimedia.geocode` folder.

But you don't need the extension if you just want to use basic geocoding in civicrm, you just need to set it up at administer - system settings - mapping and geocoding. The extension just adds more features.

UPDATE: It seems like the download version of the extension *was* an incomplete install. A new version is now available.

---
Tags: wordpress, geocoding, install
---


title: Word limit on Case Details

text:
# Question
Title: Word limit on Case Details
After updating to CiviCRM 5.27.0 on Drupal, a user reports that pasting large text content in the "Details" box in CiviCase activities cutoff the text. Is anyone else seeing this issue?

# Answer
The emoji part sounds familiar. If the db tables are not utf8mb4 then emojis get cut off (or fatal error depending on mysql/mariadb/version).

You can convert your db tables to utf8mb4.

In addition you may also want to apply this patch https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-core/pull/17716.patch
> 2 votes

---
Tags: civicase
---


title: Prorating Memberships and Cividiscount

text:
# Question
Title: Prorating Memberships and Cividiscount
CiviCRM is prorating memberships and I do not think I have setup any feature for prorating the cost of the membership. It appears to show up when I apply a discount code. For example this outrageous example. See:

I checked and there are no CiviCRM errors, Apache error, and JS logs. Any ideas are appreciated.

Thanks, Josh

# Answer
> 2 votes
The issue was the Membership Extra module. I have not dug into a specific component. We had not configured it but turned it on. Turning it off fixed the problem.

---
Tags: civimember, cividiscount
---


# Question
Title: Can I get a list of contacts without created case?
I'm wondering if it's possible to get a list of contacts without a created case (even if the case is closed).

We have a workflow when some beneficiaries "apply" to be "active beneficiaries" to receive companion from volunteers. Then, after an evaluation, the CiviCRM users open a case to that beneficiary to follow up their activities. How ever, we need to know how much and which contacts in that "active beneficiaries" doesn't have a case created, to don't lose any contact that could be unattended.

I tried with advanced search, but this is a negative criteria with an "empty" field. I mean, this should be "Contacts in X group AND Not in a case?

Thanks for your feedback,

# Answer
Pete's answer should work but I think you can do it faster if you go to CiviReport - Case Reports and run the Contact Demographics Report and on the Filters tab set "Cases?" to exclude cases.
> 2 votes

# Answer
This might do it for you or point you in a direction

Create a Group of All Contacts (A)

Create a Group of All Contacts who have ever had a Case (B)

Use the Custom Search: Include/Exclude Groups and set it to A-B
> 2 votes

---
Tags: contacts, civicase, contact-view
---


# Question
Title: List activity for all members (whether they have contributed or not)
Our treasurer has asked for a report to show the payment history for each contact, even if that contact has never paid anything.

'Contribution Aggregate by Relationship' report is perfect, we select all the relevant years and it presents the data beautifully but the problem is that it's only showing contacts who have made a contribution in one of the years selected. We need it to show a line of data for each member, regardless if they have paid or not.

'Contribution and Membership Detail' report also has the information needed albiet in a different format, but again, it only shows contacts who have made a contribution.

If there is a built-in report for the data we need, apologies, I'm struggling to find it. Does anyone know if any of the civi extensions might do this?

Thanks for your time!

# Answer
> 1 votes
How comfortable are you with Excel? If you do your contribution aggregate and check the box for Contact ID as a column and then export the results, and then also do an export of all your members and also include contact id, then you can use excel to merge the two lists based on contact id.

Also unless you need the relationship you can also look at Search - Custom Searches - Contribution Aggregate which should be the same thing just in a less spread out format which would make it easier to work with in excel.

# Answer
> 0 votes
Not a coherent solution but maybe a feasible workaround: You could install the civicrm summary fields extension which provides aggregated contribution amounts in contact custom fields. You could then simply use a contact search & export or a report that includes those number.

However, you would only be able to pull data up to the fiscal year before last, unless you extend the extension :)

---
Tags: civicontribute, civimember, civireport
---