CiviVolunteer permissions to allow registered (Drupal) users to view assignment details I've just set up CiviVolunteer, and set permissions for both anonymous and authenticated users to sign up for volunteer opportunities. (That is, they have Drupal permissions for Access AJAX API and CiviVolunteer: Register to Volunteer.) I have set up the user Dashboard to show "Assigned Activities" and authenticated users can see their volunteer assignments listed. So far, so good!

The "Your Assigned Activities" section begins with the message, "Click on the activity subject for more information." However, when I click on an assignment subject while logged in as a non-administrator role, I get the "Access denied. You are not authorized to access this page." error.

Where can I set the permissions for users to view more information about the assignment, as suggested by the note and obvious links?

Also, is there any way for authenticated, non-administrator users to change their assignments? (Either through the Dashboard list of assigned activities, or through returning to the CiviVolunteer sign-up page and seeing a list of assignments that they already have?) This doesn't seem to be part of the CiviVolunteer permissions, but I'm wondering if there is something else that would do. Note that my users already have Access CiviCRM permissions.

Thanks!

Rowan...

First, I think you want to remove "Access CiviCRM" from all users, unless you want them to be able to access CiviCRM's back end. Ordinarily, you assign that to people who have access to database functions (entering and updating contacts, recording donations, etc) and not people who just need access to the contact dashboard.

I'm pretty sure that the permissions you need to assign to the Authenticated User role (or another role if that's more appropriate) are "View My Contact" and "Edit My Contact." Volunteer assignments are stored in CiviCRM as activities and the contact permission also gives you access to the activities associated with a contact.

There currently isn't a built-in UI for volunteers to update their assignments, although there has been work done for volunteers to report their hours worked. The lead developer, Frank Gomez, is out of the office this week. I'll make sure he sees this and can give you a better idea of when this will be released. On Drupal, it might be possible to create something with the Views and Webform CiviCRM modules.

Other clients have requested some type of Volunteer Dashboard functionality. Everyone's idea of what this entails is a bit different, though. I'll reach out to you separately to get some details about what you're looking for.


Webform created for case activity and multiple case types Drupal 7.39
Webform Civi Integration version 7.x-4.11.

Just noticed that for contacts with multiple open case types, a new activity submitted via a webform does not always go to the correct case type.

In the Civi Webform settings under Activities, File on Case section I have Test Case as the Case Type, open and resolved selected under Case Status and contact 2 selected for Case Client.

Nothing selected under the Case section of the webform.  In the past, I didn't add anything here for an activity on an already open case.  Should I be using this section if the case is already open or is this section just for changing case roles, status, etc.?

One case client has two open cases, an open Test Case and an open Other Case Type.

When I click on the link to add a New Test Case Activity, the correct webform comes up with the correct client name.  Once submitted however, the activity is filed under Other Case Type and not Test Case.

If I use the same form for someone with only a Test Case, the activity is created in the correct case.

I tried with enabling the Case processing section, but still encounter the same error.

I thought I had this working before, but I could be wrong.

Looks like this was a bug in the comparison logic. See if this fix works for you:
https://github.com/colemanw/webform_civicrm/pull/17


How to successfully install CiviCRM w/Wordpress on WPEngine hosting I've seen other questions indicating CiviCRM will not install properly on WPEngine, at least not without some extra work, such as: Install problem civicrm with wordpress

The installer says it was successful, but no menu appears and no links work.

I haven't been able to find out what exactly needs to be done to make it work, in case anyone knows.  It appears perhaps WPEngine changes where files are placed or permissions or something like that. They are very restrictive and will often delete plugins without asking us. (I do actually have a lot of years experience with web applications including Wordpress & Drupal, but in this case my hands are tied due to IT)

I just would like to know so that I can relay this info to my IT department which controls all access and communication with WPEngine (and picked them for all Wordpress hosting).
Thanks for any help with this.

The shortest answer I have is :

The issue is the way WP Engine builds the user directory structure.   We have a proposed patch in : https://github.com/civicrm/civicrm-core/pull/8494

Until that is merged, you can use the answer listed here: Word Press Install Missing civicrm.settings.php; dashboard unavailable; no menus

Make sure the global $civicrm_setting; precedes $civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'http://example.com/example-resource-url/';


Send fee type to Authorize.net along payment I need to assign a unique code to each fee label for accounting purposes. I can do that using price sets and use the fee type to add the code. Is it possible to see the fee type information in the Authorize.net report? knowing that one transaction can have multiple fee types.
Thanks for any guidance.

By fee type I am assuming you mean financial type, but if I am not mistaken, financial type information is not transferred to any payment processor - that all remains within CiviCRM, so to get that information from a report you generate from Authorize.net would not be possible without having something developed specifically for that purpose.

If I have misunderstood and you are referring to a report that you run from within CiviCRM, it could be that you either have a custom report or renamed a built-in report - if it is the latter, please let me know the name of the report that you are using.

Hope this helps!
Tamar


Access permission for Print Merge Documents I have CiviCRM installed on Wordpress. I am trying to limit the Print/Merge Document function shown in the below image, to only certain Wordpress roles. Is there such a setting in CiviCRM for this? If not, how else can we achieve this?

Also, if you are willing to develop an extension, you need to check https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_summaryActions/ hook to add permission to the "Print/Merge Document" action link.

Something like -

function mymodulename_civicrm_summaryActions(&$actions, $contactID) {
  $actions[print_pdf_key_name]['permissions'] = array(...); //your list of permission
}

If you need to create a new permission for this task - you need to check https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_permission/ hook as well.

Hope that helps.


individual - location-type work address examples

Individual 1: Thomas Hess, work address bank of switzerland, 8050
Zürich
Individual 2: Steven Müller, work address bank of switzerland,
8010 Zürich

So I have 10 individuals of this kind and each works in another office of this bank.

It is confusing to add 10 new organisation only to have a work address. And to
add a Work address I need a field for the companie's name but there are only supplemental 1 and 2 field.

How can I add an work address?

Let me think a bit on how I would tackle this. I suppose that if I was only interested in the work addresses of Steven and Thomas I would simply add the work address on the Individual contact level. If I am however interested in the employer/employee relationship as well I can see no other option than having each branch as an Organisation. I would probably add a contact_sub_type for this, something like 'local organization' with a relationship 'Local Branch of' with the main office so I have the whole pattern clear.


Webform CiviCRM 'Registration Status' for Event not Updating each subission We're using the latest on D7 to have a nice RSVP form for an event. We made a custom status 'Not Attending' and of course have 'Registered' as the other status. The form has 4 contacts on it, cloned, all with the same stuff. No prices, just name/email/phone for 4 contacts with the RSVP field (civicrm_1_participant_1_participant_status_id)

When they first submit the form their choice is saved, works great.

But, when they return to the form, and submit again with a change in RSVP, the update is not reflected on their civicrm participant record.

Is this by design, or an error I have made? I assumed it would be cool to let people change their mind!

I'm not sure from your description how exactly your form is configured. For the update participant status you may need a second form and specific url to reach it which includes the user's contact id and the event id.

See the responses to this question for more (and clearer) details:
How do I get Retrospective feedback for an event using a Webform (participant Custom Data)?


{mailing.viewUrl} returns faulty URL When I click on the {mailing.viewUrl} inside an email the URL formed is as follows:

www.http.com//www.example.com.au......

I am not sure why the www.http.com is replacing http:

Cheers
Martin Fuggle

Ooops - my mistake. I had included "http://" in the href before the token. Sorry for the trouble and the answers


How to start with CiviCRM and creating an extension to add Contact Tab in PCP I'm new to CiviCRM. I tried to create an extension for CiviCRM to add a tab in PCP and access CiviCRM from the videos on youtube and the document. But I failed to start.
I'm trying to create a Contact Tab in CiviCRM which displays a list of the personal campaign pages that a contact has created.

The tab should show the personal campaign page title (with a link to the page), status, contribution page or event that it is funding for, no of contributions, amount raised, target amount and a link to the edit page form.

Which approach should I follow to get acquainted with CiviCRM and thus able to create an extension. I'm using CiviCRM on Drupal.

You can find instruction on how to create an extension in the CiviCRM documentation here: https://wiki.civicrm.org/confluence/display/CRMDOC/Create+an+Extension

I would recommend you first think about:

what hooks are you going to use (check https://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference)
what API calls are you going to need
do you need to create new pages, forms, reports or API's?


Import Contacts with dedupe rules Recently I have encountered a problem related to the import of contacts and has to do with the dedupe rules.

When you import a list of contacts through a CSV file and select a dedupe rule, the CRM seems to ignore that rule and go directly to use the 'Unsupervised' rule.

For example, if there is a user with mail xxxxx@eeee.com and you use a 'General' rule with the Weight Threshold and the Weight of 10 in email but in the 'Unsupervised' rule the weight is 10 and the Weight Threshold is 15, the mail would be introduced in the CRM even if the rule that was chosen was the 'General'.

This behavior also happens in dmaster.

Is there any reason to prioritize the 'Unsupervised' rule to the rule you have chosen to perform the import?

EDIT

After more tests I have been able to conclude the following:

Importing data: Name, Last name and email and selecting the skip option.

Unsupervised rules:

A) Name (10) Last name (10) Treshold (30)
B) Email (10) Treshold (10)

General rules:

C) Name (10) Last name (10) Treshold (20)
D) Name (10) Last name (10) Mail (5) Treshold (25)

Then:

A + C = duplicate entry. If the general rule would have been applied correctly should not been duplicated, just skipped.

A + D = duplicate entry.

B + C = skip the entry (works fine)

B + D = skip the entry (works fine)

So as Jon G - Megaphone Tech said, the unsupervised dedupe rule always run, and from there, run your dedupe as well.

So the import first check the unsupervised rule and if the Treshold is greater than the weight of the fields always will import the contact independently the general rule you select.

The import code's use of dedupe rules as of this writing (Civi 5.1) is...interesting.

The rules, which are defined in CRM_Contact_Import_Parser_Contact::getPossibleContactMatches involve short-circuiting the dedupe matching if the external identifier is a match.  After that, it will ALSO run the unsupervised dedupe - and from there, run your dedupe as well.

While it'd be great to fix this (it's happening here) realistically it will take someone putting in resources (coding time or hiring a coder) to resolve this.

For now, the workaround is to modify your unsupervised rule.


"You cannot transfer or cancel as you are not currently registered for this event." CiviCRM  5.16.3
Logged on as Administrator
Can not click 'Transfer or Cancel' on event tab or detail of event registration without receiving error: "You cannot transfer or cancel as you are not currently registered for this event"

Ideas?

edit - we installed this (https://github.com/lcdservices/biz.lcdservices.moveparticipant) in a pinch and it worked.

Also noticed that this is a pending/pay-later event registration, could that be why?

Also noticed that this is a pending/pay-later event registration, could that be why?

Yes, according to the latest code till 5.19.1, I see transfer or cancel is only possible for participant with status = Registered


How to change the name of the receipt attached to new membership By default it's called receipt.pdf and I would like to rename it and make it French also ;-).
Where can I set this name?

by the way, is it possible to not have this receipt attached?

While this technique might not find everything, a general technique for some of the translation questions you have can be solved by using grep from the root of the civicrm folder, e.g.

grep -r receipt.pdf *

If you know that it's likely to be under the CRM folder, which seems likely here, you can save some speed by cd'ing into that folder first.

If you don't know exactly how it's written, for example sometimes strings are concatenated, you can do something like:

grep -r receipt * | grep pdf

which will find all lines that have both "receipt" and "pdf" in the line somewhere. In fact doing that shows that the offline membership receipt is already translated with ts().

It looks like there's a few places, so you can replace receipt with ts('receipt') in the places where it isn't already ts'd:

CRM/Contribute/BAO/ContributionPage.php:441:        'PDFFilename' => 'receipt.pdf',
CRM/Contribute/Form/AdditionalInfo.php:474:        'PDFFilename' => ts('receipt') . '.pdf',
CRM/Contribute/Form/CancelSubscription.php:302:              'PDFFilename' => 'receipt.pdf',
CRM/Contribute/Form/Contribution/Confirm.php:1307:        'PDFFilename' => 'receipt.pdf',
CRM/Contribute/Form/UpdateBilling.php:371:        'PDFFilename' => 'receipt.pdf',
CRM/Contribute/Form/UpdateSubscription.php:336:          'PDFFilename' => 'receipt.pdf',
CRM/Member/Form/Membership.php:1077:        'PDFFilename' => ts('receipt') . '.pdf',

For your other question, there's a settings at Administer - System Settings - Misc to not attach pdf receipts, but it might not apply everywhere.


Webform with existing contact results in undefine index Running into this problem in a form to create an activity with two existing contacts.  The form creates the activity successfully, but the UX is marred by angry red error messages.  I replicated the problem in a test form with nothing but one existing contact.  This test form is accessible at http://cc.unidosnow.org/node/7?cid1=200.    Submitting the test form results in similar error messages as seen with the full fledged form:

Notice: Undefined index: address in wf_crm_webform_postprocess->saveContactLocation() (line 751 of /home/unidosnow/www/www/sites/all/modules/webform_civicrm/includes/wf_crm_webform_postprocess.inc).
Notice: Undefined index: email in wf_crm_webform_postprocess->saveContactLocation() (line 752 of /home/unidosnow/www/www/sites/all/modules/webform_civicrm/includes/wf_crm_webform_postprocess.inc).

Seems to be wanting address and email (to enable contact creation?), but the only thing checked in the webform's CiviCRM tab is Existing Contact and that's all I need from the contacts in the full fledged form.

I am running CiviCRM 7.x-4.7.29, Drupal 7.58, Webform 7.x-4.16, Webform CiviCRM Integration 7.x-4.20, PHP 5.6.

Thoughts?

It looks like a fix for this issue has been committed to the webform_civicrm project and should be present in version 7.x-4.21+

Details are here: https://www.drupal.org/project/webform_civicrm/issues/2966760

The fix itself is here: https://github.com/colemanw/webform_civicrm/pull/139


CiviSMS merge option prior to sending? When exporting search results or preparing a New Mailing in Civi Mail, there is an option to merge contacts from the same household/address (export) or remove duplicate emails (CiviMail).

Does a similar merging option exist for a New SMS in CiviSMS?
If not, what is best practice for preventing multiple SMS going to duplicate phone numbers?

Backstory: Our organization has a large number of families, so parents will often register their children with the parent's mobile number.  Thus the high probability of duplicate mobile numbers for mass SMS.

It appears there isn't a merge option for SMS.
At present, I am exporting my search results and/or group, finding/removing the duplicate mobile phone numbers in Excel (via Conditional Formatting), and re-importing the remaining contacts and numbers as a new group that I can then target for the New SMS.

I don't know of a purely Civi way of doing this, but if someone has other ideas, I'd love to hear them.


Why am I getting no data when using PHP API on wordpress page? CiviCRM 4.6.6 Wordpress 4.2.4

The code in my wordpress page:

[insert_php]
// Perform bootstrap
civicrm_initialize();

$result = civicrm_api3('Event', 'get', array(
  'sequential' => 1,
  'return' => "title,summary,custom_31",
  'event_type_id' => "",
));

print_r($result);
[/insert_php]

the ouput on my page:

Array
(
[is_error] => 0
[version] => 3
[count] => 0
[values] => Array
(
)

)

There should be data.

What am I doing wrong?

Thanks.

Just messed up with my code:

[insert_php]
// Perform bootstrap
civicrm_initialize();

$result = civicrm_api3('Event', 'get', array(
  'sequential' => 1,
  'return' => "title,summary,custom_31"
));

print_r($result);
[/insert_php]


If I've set up a Financial Type of In-Kind Donation, how should I properly set up the required Payment Instrument? I've looked at other questions and answers similar to this, but I am still unsure of the best way to proceed. I am aware that I can add a payment instrument and call it whatever I want (e.g. In-Kind Material Donation or In-Kind Volunteer Time), but I would also have to assign it a Financial Account. We have many Financial Accounts set up for managing different types of transactions, but the four that show up in the New Payment Instruments Option window are Accounts Receivable, Deposit Bank Account, Payment Processor Account, and Premiums Inventory. So my questions are: When I set up a new Payment Instrument for In-Kind Donations, which Financial Account should I link it to? Should I choose one of those 4, or should I choose the In-Kind Donation financial account that I created? If I should choose the In-Kind Donation financial account, how do I get it to show up as one of my choices on the New Payment Instruments Option Financial Account drop-down box?

In order for the 'In-Kind' financial account to show as an option when you setup a new payment instrument it needs to be setup as an Asset account.

You should review the account relationships (under Financial Types) to make sure they meet your needs.

Depending on your accounting setup and reporting requirements I recommend looking closely at this setup to assure you get the results you require.

Hope this Helps!


ContactLayout extension not working with civicrm 5.10 So we are using Drupal 7 and civiCRM 5.10. We want to use this extension https://github.com/civicrm/org.civicrm.contactlayout

We have installed angular profiles (4.7.31-1.1.2) and API v4 (4.3.0) as well as the contact layout (1.3.1). We also have shoreditch.

When we navigate to Administer -> Customize Data and Screens -> Contact Summary Layouts all we get is an empty civicrm screen. When we try to view a profile with these enabled we get the error 'Api ContactLayout get version 4 does not exist.'

Any ideas about this one? I have tried having a search on here and a google of this error message, but so far I haven't seen this issue?

Short answer: you need to update your extensions. Visit your extension admin page and apply all updates.

Longer answer:
There are incompatibilities between older and newer versions of the ContactLayout and Api4 extensions. The breaking change was introduced in ContactLayout 1.4 and Api4 4.3 (which were both released on the same day).

Either both extensions need to be at or above those versions, or both need to be below those versions. If one is below and the other is above, things will be broken.


No contact names in activity emails but only name_{contact_id}. Why? The emails that are sent by civicrm 5.5.3 (but had same problem with 5.4.1) to a an assigne of a case activity don't have the names of the client, assigne, etc but only a signpost made up of name_{contact_id}.
Why?

Example from an e-mail:

> Client    name_74294
> Activity type Incontro Individuale
> Subject Incontro Test 2
> Created by name_74294
> Riportato Da  name_74294
> Assegnato a   name_28453

Any idea, advice?
Johan

The comment by Demerit solved my problem:

Check under Administer - CiviCase - CiviCase Settings, there's an option that says "Redact Activity Email". That was set to "Redact Emails" and I had to set it to "Do Not Redact Emails".


How to do ab testing on transactional emails? Some transactional emails have call to action (eg "click here to confirm your subscription") and I'd like to see if I can improve how many actions are taken by ab testing.

Is there an easy way to implement that, eg could I leverage some of the existing features of the ab testing in civimail?

What I'm doing right now is to use the contact id to split the contacts into two buckets (if it's odd, group A, even group B).

So in the email, I use smarty:

{if $contact_id % 2}
   one of the two texts I want to test
{else}
   and the other test I want
{/if}

And measure the result:

SELECT count(id) as total, mod(id,2) as bucket FROM civicrm_contact join whatever ... group by mod(id,2);

It's a bit of a hack and needs a bit of sql massaging, but seems to work. Do you see any problem using the id % 2 as way to randomly distribute between the groups?

And I'd like to be able to measure open rate and click rate, but haven't quite figured that one yet. Any suggestion more than welcome...


What is recommended using Drupal web services or CiviCRM APIs What is recommended to collect data from CiviCRM to external Drupal application and why? Drupal web services or CiviCRM API

I think that you should call the CiviCRM API directly. This allows you direct access to the CiviCRM system.

If you use Drupal Web Services you still would need to wrap the services around CiviCRM API calls (or direct calls if needed).

So Drupal Web Services just adds additional complexity to something that the CiviCRM API does an excellent job of all ready.  Just use the CiviCRM API services.


is there a maximum number of memberships? Is the number of contacts or memberships we can manage for free limited ? I don't see this information on your website.

CiviCRM is a free, open source software package. You can download it for free, and you can do what you like with it.

The number of contacts or memberships supported is not limited by licensing or restricted in any way. Practically speaking, the limit will be what your website hosting can support.

For most cases this is effectively unlimited - some CiviCRM sites have millions of contacts. Organisations of that size tend to spend more on hosting than smaller orgs. Your mileage will vary according to your needs. I know of sites running some thousands of contacts on "commodity" website hosting. While this works, it can be more work (and cost) than using a provider familiar with CiviCRM.

Getting up and running is the first step, but in future you'll likely need help keeping your site running well, ensuring your contact data is secured appropriately when updates are released, and configuring or customising the features your org needs.

You'll find there is a great community supporting CiviCRM and its users, with places like the forum and IRC. If your org has technical skills "in house" you'll probably be able to get up and running by yourselves. Even so, find some allies to help you on your way. You might find some orgs in your space or existing network who are using CiviCRM, and there are a range of commercial outfits supporting CiviCRM as well.

https://civicrm.org/experts
https://civicrm.org/ambassadors
https://civicrm.org/hosting-providers


Sybunt and Lybunt Report fields I'm confused why Organization Name and Prefix are in the Lybunt report but not in the Sybunt report.  They both have

'fields' => $this->getBasicContactFields(),

which I thought included these fields.  Maybe I'm missing something.

I can quickly add Organization with this:

'organization_name' => array(
            'title' => ts('Organization'),
          ),

but I'm unclear how to add the prefix_id and convert it to the correct output (Mr., Mrs., etc)

   'prefix_id' => array(
            'title' => ts('Prefix'),

Thanks in advance for your help.

Drupal 7.51, Civicrm 4.7.11

Agreed that the correct solution is to work within getBasicContactFields(), but since your question is a good one with a more general application:

When you add organization name and prefix, you're doing so by adding them to the class's _columns property.  As you note, this doesn't look up "pseudoconstants", such as converting prefix_id to a prefix.

That happens in the alterDisplay method toward the bottom of the same file.  Here's a good example in the Lybunt report of using a pseudoconstant lookup to convert the gender ID to a gender:

https://github.com/civicrm/civicrm-core/blob/master/CRM/Report/Form/Contribute/Lybunt.php#L719

Hopefully this example is what you need; otherwise feel free to comment/update the question!


Multi-select not working with crmUiSelect AngularJS select2 directive I created a select2 element with CiviCRM's crmUiSelect AngularJS directive by using the following code in my controller:

$scope.options = [
  {"value": "foo", "label": "Foo"},
  {"value": "bar", "label": "Bar"},
  {"value": "baz", "label": "Baz"},
  {"value": "bat", "label": "Bat"}
];

and the following code in my template:

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

{{myVar}}

It sort of worked, but here's what I ended up with:

As you can see in the above screenshot, this element has the following problems:

myVar is an array with only one element, even when multiple options are selected.
The list of options contains options which have already been selected (and the element actually allows these options to be selected more than once).

How can I fix this element so that it works as expected? I want myVar to become ["foo", "bar"] in the screenshot above, and I want the user to only see options which have not already been selected.

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

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

{{myVar}}

That produces the desired behavior:


How to remove CIviCRM from menu for some roles We have a group of users who have privileged, but very limited, access to functions on our website. Chiefly, they are able to add blogs. That's about it. We do not want them being able to go in and access the CiviCRM. The list of CiviCRM-related privileges are appropriate and everything works beautifully except one piece I am stuck on.

In my current design, the blogger users use the same admin menu, which only shows what they are given permission to see with the exception of a link to the CiviCRM. Since they don't have access to the CiviCRM backend, the link just renders an error. It's a dead link. How can I get it to disappear for this type of user?

I am using a Drupal module called admin_menu_toolbar without any customizations, however, the problem persists using the default toolbar also.

Drupal 7.59
CiviCRM 5.1.2

I typically take it out of the black toolbar menu (disable it) and then use shortcut-per-role to add a CiviCRM menu option to users with certain roles (i.e. in the grey toolbar).


Embed Contribution Page Error D7.56 Civi4.7.22

I'm attempting to embed the bulk of a contribution page inside a block shown in a view. The view shows multiple of these blocks.

I copied them by using inspect to get the HTML underneath.

This works fine at first, however intermittently I experience the following error when clicking the button:

"Your browser session has expired and we are unable to complete your form submission. We have returned you to the initial step so you can complete and resubmit the form. If you experience continued difficulties, please contact us for assistance."

How can I circumvent this? I suppose that the HTML needs to be regenerated, not copy and pasted. How can I do this?

John

My immediate thinking is that you will probably need to do some form of iframing on the block. The reason for that is that i don't think i can think of a way to have proper session keys and static html copied across. The session key is generated when the first step of the form is loaded. You may also need to look at a drupal module like themekey if you need to switch themes to make the iframe look nicer in the block

Seamus


Stripe "No such token: Stripe Token" Having problems getting Stripe working.

Joomla: 3.9.4
CiviCRM: 5.11 (is this a problem?)
Stripe extension: 5.3.2
Stripe API: 2019-2-19

Getting this result on the contribute page:

  Failed to create Stripe Customer: Payment Response:  Type:
  invalid_request_error Code: resource_missing Message: No such token:
  Stripe Token

Stripe shows this:

  Request POST body {   "description": "My test name (CiviCRM)",
  "card": "Stripe Token",   "email": "tester@jonssweb.net",
  "metadata": {
      "civicrm_contact_id": "15"   } }

  Response body {   "error": {
      "code": "resource_missing",
      "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
      "message": "No such token: Stripe Token",
      "param": "card",
      "type": "invalid_request_error"   } }

I've been scouring the forums for ideas to try and have checked my API keys many, many times.  We have Stripe working fine with Wild Apricot.   Any ideas would be appreciated.  Thank you!

Turned out to be a problem with my Resource URL paths. Changed from the relative CiviCRM URL variables to absolute paths.


list of all participations for a contact I am trying to get a list of all Ids of participations for a certain contact_id (to use it in JS). Currently I am using the _civicrm_buildForm hook to do that, but to extract the contact_id from the passed in $form object I need to use reflection, since is is stored under _form_values which is protected and $form->getFormValues() always returns NULL.

Also CRM_Core_Resources::singleton()->addScript($script, 5, 'page-footer') doesn't seem to have any effect, probably its too late to call it. So I'm simply echoing the script.

==> all less then ideal
I assume it is possible to get the participant ids with smarty or an ajax call, but haven't found any example how to express a "Where-Clause" with those. This is the SQL-Query I'm trying to perform:

SELECT `id` FROM `civicrm_participant` WHERE `contact_id`= x

So any help to prettify the first approach or an example for the others would be much appreciated .

Ouch - you're doing it the hard way!

Getting a list of participant records by contact ID is pretty simple using the API.  It sounds like maybe you haven't discovered the API Explorer.  Without knowing your Civi version (and CMS software/version) I can't tell you exactly where to find it.  If you're on Civi 4.5 or 4.6, then in the Help menu (renamed to Support menu in 4.6.5+), go to Developer > API Explorer.  If you're on an earlier version, in Drupal it's example.org/civicrm/api/explorer - I can't speak to other CMSes.

Below I've copy/pasted my API Explorer results for finding all the participant records for contact ID 247.  Note that some of the syntax for Javascript may not work in Civi earlier than 4.6, so run API Explorer yourself to double-check!

Rest

/sites/all/modules/civicrm/extern/rest.php?entity=Participant&action=get&api_key=yourkey&key=sitekey&json={"sequential":1,"contact_id":247}

Smarty

{crmAPI var='result' entity='Participant' action='get' contact_id=247}
{foreach from=$result.values item=participant}
  {$participant.some_field}
{/foreach}

Php

$result = civicrm_api3('Participant', 'get', array(
  'sequential' => 1,
  'contact_id' => 247,
));

Javascript

CRM.api3('Participant', 'get', {
  "sequential": 1,
  "contact_id": 247
}).done(function(result) {
  // do something
});


How do I import both student and parent information together? I am trying to find out how to import student and parent information at the same time.  I have seen instructions about importing student and then adding the parent information afterwards, but I have a school roll of over 1000 students and adding parent information manually afterwards would take forever!!

Thanks for any assistance.

Steve

No need to do this manually! Providing that you have a spreadsheet/data source that has all students and a parent/guardian column - so that you can create relationship during import. I'll try dig up a field mapping for you - and post it here shortly.

EDIT: found a wiki page for you: https://wiki.civicrm.org/confluence/display/CRMDOC/Importing+Student,+Staff+and+Parents

PS - though tailored for CiviSchool - which is no longer supported - the import/mapping screens will show you how what import/mapping to use.

EDIT: highlighting the key screens from this Wiki - it's a two pass import:

First: import the student:

Next: import the parent: key is Child of relationship to the Student:


Online registration error Trying to set up online registration. All events get the following error message: "Error Online registration is not currently available for this event (contact the site administrator for assistance)."
CiviCRM 5.33.2 on Drupal 7

As said by @demerit you will need to enable online registration for the event. You see the option for turning on online registration under 'Online registration' tab of event.


Exporting related contact's information on a contact that is a subtype We have a relationship type that is designated between a "Student" subtype of Individual and a "School" subtype of Organization ("Student of/Student is"). When we do a search for Students and try to export the School name via the relationship, we find that the "Student of" relationship does not show up in the fields available for export so we cannot select "Student of > Organization Name" as an export field.

However, if we modify the relationship so that it is for all Individuals rather than just for Students, it shows up.

The JIRA bug report is here.

It sounds to me like you've already confirmed it's a bug, if you can replicate it on the demo server.  I'd open an issue for this.


How Do I Fix Mail Send Stopping at 500 Sends? When using Civi Mail, we have a recurring issue wherein the system stops sending emails at 500 sends. The job shows as incomplete.

It is not a php timeout, as the hosting company (https://www.rochen.com/) has increased all our limits during testing, with no change.

We can re-initiate the mail send, and it will send out the next set of 500 emails, then stop again. We have to continue manually triggering the send to get the full job completed.

Any thoughts on the culprit?

System info:
CiviCRM 4.2.6
Joomla 2.5.28
php 5.3.29
MySQL 5.5.42-cli

Check Administer menu > CiviMail > Mailer Settings, and see if the "Mailer Batch Limit" is set to 500.


Need help solving unserialize():Error at offset Thank you all for your continued patience with me.

Since the past two updates, I keep getting the following error:

Notice: unserialize(): Error at offset 0 of 8 bytes in Civi\Core\SettingsBag->loadValues() (line 153 of /home/[usrpath]/public_html/[sitedirectory]/sites/all/modules/civicrm/Civi/Core/SettingsBag.php).

I know this is related to a mySQL database problem, but for the life of me I cannot figure this out.

I am running CiviCRM 4.7.14 on Drupal 7.52

Thank you again

This line reads the data from the table civicrm_setting and specifically the column value.  You could use a SQL client to run the query:

SELECT id, name, value FROM civicrm_setting;

Typical values would look these:

NULL
i:0; (an integer)
b:1; (a boolean?)
s:20:"CRM/common/fatal.tpl"; (a string)
a:1:{s:3:"key";s:5:"value";} (an array or dictionary)

Skim them and see if one of the values looks to have a different/unexpected format.

(UPDATE) Seamus Lee pointed me to https://www.drupal.org/node/1114304 which uses a clever technique for finding badly serialized data. Take the error message (Error at offset 0 of 8 bytes) and note the length (8 bytes). Search on that:

SELECT id, name, value FROM civicrm_setting WHERE length(value) = 8;


Highly unusual matching error One of my users created a petition: Both he and I responded and it appended our responses to the wrong records. I wasn’t logged in and it tried to write to an {surname matching mine]. I suspect that this is the first A. Ross and it is only matching surnames. It appends my data to the existing record.

I just re-submitted my petition signature and it over wrote it again...
Re-submitted petition after changes - Logging Details

Top of Form
Change to Mrs Peter Ross made by on 2015-12-14 10:00:03:

Field
Changed From
Changed To
Sort Name (id: 1945)
Ross, Alison
Ross, Peter
Display Name (id: 1945)
Mrs Alison Ross
Mrs Peter Ross
First Name (id: 1945)
Alison
Peter
Modified Date (id: 1945)
2015-12-14 09:15:43
2015-12-14 10:00:03
Source Record (id: 1375)
7
Activity Type ID (id: 1375)
Petition Signature
Subject (id: 1375)
Petition to xxx xxx
Activity Date (id: 1375)
2015-12-14 09:58:53
Activity Status (id: 1375)
Completed
Priority (id: 1375)
Normal
Test (id: 1375)
false
Auto (id: 1375)
false
Is this activity a current revision in versioning chain? (id: 1375)
true
Activity is in the Trash (id: 1375)
false
Campaign (id: 1375)
12

What is the default unsupervised dedupe rule you have? it should probably have first+last+email if you want to be on the safe side and avoid incorrect merging


Exported custom date fields formatted incorrectly The error seems to occur during the export process and affects only custom date fields, not those that are built-in.

My custom date field is set to use "mm/dd/yyyy", and stores correctly in the sql table as "yyyy-mm-dd hh:mm:ss". But then after export, the CSV in notepad shows "Month day, year" (ex: August 17th, 2015).

The "th" in "17th" prevents Excel from recognizing it as a date when opening the CSV. That can be fixed with find/replace, but doesn't address the root problem.

Where can I change the date export format for custom fields, or at least get rid of those ordinal suffixes?

Based on your description, I think the export format might be controlled by the "Complete Date and Time" and "Complete Date" settings at Administer > Localization > Date Formats.  The default values for those fields are:

Complete Date and Time - %B %E%f, %Y %l:%M %P
Complete Date - %B %E%f, %Y

The help text on that screen reads:

  Use this screen to configure formats for date display and date input fields. Defaults are provided for standard United States formats. Settings use standard POSIX specifiers. Available specifiers and the values produced will vary based on your operating system and locale.

  Commonly Used Specifiers

  %b - abbreviated month name ('Jan'..'Dec')
  %B - full month name ('January'..'December')
  %d - day of the month as a decimal number, 0-padded ('01'..'31')
  %e - day of the month as a decimal number, blank-padded (' 1'..'31')
  %E - day of the month as a decimal number ('1'..'31')
  %f - English ordinal suffix for the day of the month ('st', 'nd', 'rd', 'th')
  %H - hour in 24-hour format, 0-padded ('00'..'23')
  %I - hour in 12-hour format, 0-padded ('01'..'12')
  %k - hour in 24-hour format, blank-padded (' 0'..'23')
  %l - hour in 12-hour format, blank-padded (' 1'..'12')
  %m - month as a decimal number, 0-padded ('01'..'12')
  %M - minute, 0-padded ('00'..'60')
  %p - lowercase ante/post meridiem ('am', 'pm')
  %P - uppercase ante/post meridiem ('AM', 'PM')
  %Y - year as a decimal number including the century ('2015')

If you change the values for those settings, perhaps the export format will change?


How can I skip display of repeat events on the manage events page? I need to skip showing repeat events on the manage events section.How can that be implemented programmatically?

You need to add some custom code via extension to hide some rows on manage event page. Some quick thoughts are -

Override templates/CRM/Event/Page/ManageEvent.tpl file and hide the rows having repeating text on it via js or using some tpl if condition.
Use hooks to modify the template variable $rows which is printed on the page. Some hooks that you can check is hook_civicrm_buildForm, hook_civicrm_alterContent, hook_civicrm_pageRun, etc. See the list at https://docs.civicrm.org/dev/en/latest/hooks/list/


Version check error - Permission on Bitnami/Google Cloud According to the log, the version check is not being executed: (after a plain/basic deployment of Bitnami CIVICRM package at Google Cloud).

Output log from: ( Administer -> System Settings -> Scheduled Jobs Log)

*Parameters parsed (and passed to API method):
a:1:{s:7:"version";i:3;}
Full message:
Finished execution of CiviCRM Update Check with result: Failure,
Error message: File not writable*

permissions on /opt/bitnami/apps/civicrm/htdocs:

-rw-r-----  1 bitnami daemon    6604 Feb 21 12:28 authorize.php

-rw-r-----  1 bitnami daemon  111736 Feb 21 12:28 CHANGELOG.txt

-rw-r--r--  1 bitnami bitnami      4 Mar 12 18:55 composer.json

-rw-r-----  1 bitnami daemon    1481 Feb 21 12:28 COPYRIGHT.txt

-rw-r-----  1 bitnami daemon     720 Feb 21 12:28 cron.php

-rw-r-----  1 bitnami bitnami    720 Mar 14 20:19 cron.phpbkp

drwxr-x---  4 bitnami daemon    4096 Mar  8 02:32 includes

-rw-r-----  1 bitnami daemon     529 Feb 21 12:28 index.php

-rw-r-----  1 bitnami daemon    1717 Feb 21 12:28 INSTALL.mysql.txt

-rw-r-----  1 bitnami daemon    1874 Feb 21 12:28 INSTALL.pgsql.txt

-rw-r-----  1 bitnami daemon     703 Feb 21 12:28 install.php

-rw-r-----  1 bitnami daemon    1298 Feb 21 12:28 INSTALL.sqlite.txt

-rw-r-----  1 bitnami daemon   17995 Feb 21 12:28 INSTALL.txt

-rw-r-----  1 bitnami daemon   18092 Nov 16  2016 LICENSE.txt

-rw-r-----  1 bitnami daemon    8710 Feb 21 12:28 MAINTAINERS.txt

drwxr-x---  4 bitnami daemon    4096 Mar  8 02:32 misc

drwxrwxr-x 42 bitnami daemon    4096 Mar  8 02:32 modules

drwxr-x---  5 bitnami daemon    4096 Mar  8 02:32 profiles

-rw-r-----  1 bitnami daemon    5382 Feb 21 12:28 README.txt

-rw-r-----  1 bitnami daemon    2189 Feb 21 12:28 robots.txt

drwxr-x---  2 bitnami daemon    4096 Mar 11 20:39 scripts

drwxr-x---  4 bitnami daemon    4096 Mar  8 02:32 sites

drwxrwxr-x  7 bitnami daemon    4096 Mar  8 02:32 themes

-rw-r-----  1 bitnami daemon   19986 Feb 21 12:28 update.php

-rw-r-----  1 bitnami daemon   10123 Feb 21 12:28 UPGRADE.txt

-rw-r-----  1 bitnami daemon    2200 Feb 21 12:28 web.config

-rw-r-----  1 bitnami daemon     417 Feb 21 12:28 xmlrpc.php

Looking at <civiroot>/CRM/Utils/VersionCheck.php, it looks like the file downloaded is version-info-cache.json.  On my installs, that's in the upload folder.  Since that looks like a Drupal install, check the permissions on <webroot>/sites/defailt/failes/civicrm/upload and see if the web server user has write permissions.


Event Registration Emails I have set up an event and everything works fine, but no confirmation emails are being sent. we are only getting the emails from Paypal informing us of payment. I have tested the mail settings and left it at the default "mail" and the site is on a linux server. I do receive an email when I test the settings. I have made sure the email addresses entered are correct. I have added email addresses to make sure it's not just one server not receiving them.

The emails were working correctly for an event last year. Since then I have updated to 4.7.1.

Joomla 3.4.8

I don't know what else to do.

Thank you for any help.
Patti

Yes, pay later option their is no email sent in Civicrm 4.7.1 / 4.7.2
 Where as when payment is made using dummy payment processor an receipt is been sent out

I guess this is an Bug in this version so you could wait till the next release or you need to roll back to CiviCRM Version 4.6.10 where this option is working fine - Please raise an issue for the same so this gets fixed in next release

I guess this helps


How can I let users specify which address is their preferred address (e.g. work or home) within a profile? When I'm using a profile that my users might be filling out for the first time (membership form for example), I generally ask for both a work and a home address, email address, etc. How can I let them choose which one to use as their primary contact information (mail and email as well as phone)?

Adding as an answer since user never came back on this one.

This can be done via webform_civicrm for sites using Drupal where Location Type and Phone Type can be provided as 'user select' fields.


Is there a way to display a CMS username in a profile? We are using Drupal 7.

We have a makeshift membership directory using profiles.  That works great.  But our members often forget their usernames, and we have some systems where members can uniquely identify other members by their usernames.  So it would be nice to display their user name in the membership directory.  Is there a way to do this?

This could be done in Drupal via Views where you can easily join the civi contact to their drupal user record and hence show both the civi 'name' and the user 'name'.

(mostly adding this for completeness as it 'is' an Answer, and SE likes answers ;-) )


Sparkpost Cividesk integration - processing of bounces I have installed the Cividesk Sparkpost extension and am able to send mass mailings with CiviMail via my Sparkpost account (REST API).

However, CiviCRM apparently doesn't process bounces.
Would I have to configure something else, besides the SparkPost extension?

Any Cron Job to run?

Many thanks
Ton

Start here for background reading:
https://wiki.civicrm.org/confluence/display/CRMDOC/Bounce+Handling

I found all I had to do was to just follow the Documentation: https://docs.civicrm.org/sparkpost/en/latest/install/

Update
Bounces are processed through a callback (no need for an email account dedicated to bounce processing), but CiviCRM only processes bounces for CiviMail-originated emails. CiviDesk is planning to extend bounce processing to transactional emails in the future as well.


Membership Contribution Page for Cash or Check Payment I want Finance Administrators to have the ability to record cash or check membership contributions with predefined Price Sets.

In this aim, I have created a Contribution Page with no Payment Processor.

But when I use this Contribution Page to record someone else's Check or Cash Contribution (i.e. with ...&cid=0)(e.g. https://mysite.com/civicrm/contribute/transact?reset=1&id=8&cid=0), and select the pertaining user, his email is not displayed (while it is if my Contribution Page specified a Payment Processor) :

... and I get the following message : email is a mandatory field

Is there any solution, or is it a bug ?

(I am in Drupal 7.51 / CiviCRM 4.7.12)

I presume you are trying both to simplify things for your Finance Administrators and restrict who has direct access to CiviCRM, but I don't think using a front-facing CiviCRM contribution page will accomplish those aims.

If monetary contributions are involved then a front-facing CiviCRM contribution page will need either to have a payment processor specified or to have the "Pay later option" ticked. Once the pay later option is enabled then the email field will be pre-filled when an existing contact is selected.

However, if the pay later option is ticked then the payment is recorded as "pending (pay later)" so the Finance Aministrators will still need direct access to CiviCRM to record the payment.  You also then have a two-step process rather than a one-step process.

It might be easier to use permissions to restrict what Finance Administrators can do in CiviCRM and train them to use a rear-facing form.

And just for completeness for other people looking at this Q&A, at this time CiviCRM pricesets cannot be used with webforms.


database connection fails, but only in cron I moved a site - actually copied a production site to a development region.

The site is working in the development region, including CiviCRM, but the CiviCRM cron job fails:

Jun 29 16:33:02  [info] $Fatal Error Details = Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

    [code] => -24
    [message] => DB Error: connect failed
    [mode] => 16
    [debug_info] =>  [nativecode=mysql_connect(): Access denied for user 'hostuser_drupal'@'localhost' (using password: YES)]
    [type] => DB_Error
    [user_info] =>  [nativecode=mysql_connect(): Access denied for user 'hostuser_drupal'@'localhost' (using password: YES)]
    [to_string] => [db_error: message="DB Error: connect failed" code=-24 mode=callback callback=CRM_Core_Error::handle prefix="" info=" [nativecode=mysql_connect(): Access denied for user 'hostuser_drupal'@'localhost' (using password: YES)]"]
)

I can log into the site as the same user that the cron job is using, and everything works. But the cron job fails, saying that the Drupal database user is denied.

There is a Drupal database and a CiviCRM database. There is a MySQL user for each database. At this point, both users have access to both databases.

Obviously the credentials in the config files are correct, since Drupal and CiviCRM work as normal in the browser. But the cron task fails as described above, whether called by cron or by using the cron URL in the browser.

Here is the cron job:

wget -O - -q -t 1 'http://somedevsite.com/sites/all/modules/civicrm/bin/cron.php?name=admin&pass=33333333333333&key=44444444444444444444444444444444'

What could be going on?

EDIT
I switched the cron task to call /civicrm/bin/cli.php directly (via php) and it fails in exactly the same way.

OK, I was being stupid. Typo in the Drupal database password in the CiviCRM config file.

Digging into civicrm/packages/DB/mysql.php and inserting some logging showed that the passwords being used for the Drupal user were just slightly different between Drupal and CiviCRM. CiviCRM was adding an extra '@' to the end.

Didn't see it before because due to the CiviCRM config file format, it was a double @ - my eye didn't see the double.

define( 'CIVICRM_UF_DSN'           , 'mysql://host_drupal:123456789@@localhost/host_drupal?new_link=true' );


Users with Case roles cannot edit activities assigned to them: is this a bug? first post so please forgive any netiquette transgressions.  I'm following the guide https://civicrm.org/bug-reporting to get confirmation this is a bug.

Version: 4.6.12 (also present in 4.7.1)

CMS: Wordpress

* Bug description *

User 1 (admin) creates a case and assigns a role to user 2.  User 1 creates an activity on this case and assigns the activity to user 2.

User2 has the ACL role "edit my activities and cases" and logs in.  They can see their case and Manage it.  When user2 clicks the Edit link alongside the activity user1 assigned to them they get an error, "Sorry an Error Occured
You are not authorised to access this page.".

This also generates the following in the Apache error log:

PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /wp-content/plugins/civicrm/civicrm/CRM/Case/Form/Activity.php on line 121, referer: https://ourtestdomain.co.uk/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontact%2Fview%2Fcase&reset=1&id=3&cid=16&action=view&context=dashboard&selectedChild=case

Line 121 should be passing a case ID into the array_key_exists() call and that case ID should be an int or a string.  The comment at the top of Activity.php suggests that the original author expected it to be an int.  However the variable passed holds an object that contains the case id in question.  This generates the warning in the error log and the pop-up seen by the user.  If the case id is extracted from the object and passed into array_key_exists the user can edit the activity.

User2 has permission to edit this activity and I believe its a bug that they cannot.

NB because of the need for multiple users I haven't been able to recreate this on the demo install where you only have one user.

If you could confirm this I will file a bug report per step 7 of the guide.

Many thanks.

axa

I've posted a preliminary fix in JIRA.

Joseph


"Membership status cannot be calculated for " Renewal Error! I am on Joomla 3.8.7 and civiCRM 4.7.31. Recently, Two members received the following error message when trying to renew their memberships:

  "The membership cannot be saved because the status cannot be calculated for start_date: 20170101 and end_date: 20171231 join_date: 20170306 as at 2018-05-04 22:00:50"

Over 100 members have successfully renewed their memberships this year so I'm not sure why this is happening.

Can someone help?

Using the CiviCRM menu, if you navigate to Administer > CiviMember > Membership Status Rules (civicrm/admin/member/membershipStatus) you should see a list of membership status rules. These dictate the "workflow" of a membership, and they need to chain together correctly. For example, on the sample site I have handy the rules are:

New - ends +3 months from "member since" start date (configuration pictured below).
Current (rest of membership - doesn't have start/end config in my sample site, but is the "default" state)
Grace - starts end of membership, ends +1 month from that date
Expired - starts +1 month from end of membership
Pending, Cancelled, Deceased - not part of the automatic process.

Here's what "New" looks like.

I suggest you inspect the dates those members are trying to renew and work out where in this workflow they would fall given the rules on your site (expired or grace presumably, since you seem to have a fixed year membership and it's now May in the next year). It may be that a membership state has been removed from the workflow and this leaves a gap, or that the timeline has been adjusted for one but not another.

Just a guess, that's where I'd look first!


Does CiviCRM VERP work with a mailbox on Microsoft Small Business Server 2011? If an organization is using Microsoft SBS 2011, can they configure it to support Variable Envelope Return Path (VERP) for the required CiviMail mailbox(es)? What implications will this have on bounce handling if not?

No version of Exchange supports subaddressing.


Disabling Breadcrumbs in CiviCRM I want to disable the CiviCRM breadcrumbs inside the program code for security reasons.
I tried modifying sites/all/modules/civicrm/CRM/Core/DAO/Menu.php by adding $skipBreadcrumb['type'] = TRUE; in the public static function &fields() function (where $skipBreadcrumb is set).
I also tried commenting out the public function addBreadCrumb() and its call in public function preProcess() inside the sites/all/modules/civicrm/CRM/Report/Form.php.
I know the path sounds incorrect for what I want to do, but it was the only search result for 'breadcrumb' in a function that I could find.
Can anyone give me a hint?
Edit: Probably it was exaggerated to talk of security reasons here. It is more about not making any pages visible as default that users don't need, that is, keeping the (visible) system slim.

Did you tried using Disable breadcrum drupal module?


How does the Sympa integration deal with unsubscribes We're looking at the various listserv options, e.g. mailman, sympa, mailchimp that have some sort of integration to civi.

So if someone receives an email via Sympa integrated to civi and wants to unsubscribe, how is it handled?  What is the process?

CiviCRM-Sympa Syncronization includes unsubscription pages (it was introduced with this commit). On « sympasync » configuration page (https://example.org/civicrm/a/#/sympa/admin), you’ll find the URL that can be added to your list’s footer. URL will look like https://example.org/civicrm/sympa/unsubscribe?gid=1.

Problem is that you can’t override the default unsubscription mechanism in Sympa, so you’ll need to disable the ability for users to unsubscribe in your list configuration (to force them to use sympasync’s link). If you let Sympa’s default mechanism, people will be able to unsubscribe (and it will be effective), but information won’t be pushed back to CiviCRM.

So by adding the unsubscription link at the end of each mail sent on your Sympa mailing list and by disabling the ability to unsubscribe in your list configuration, you’ll get what you want.


Broken Navigation Image Gifs,and Thanks for assisting .. I have just a couple of questions:

1)  I'm a little puzzled by missing navigation icons (see below)..and it would appear to be using a relative reference. I'm hosting CiviCRM on the Google cloud thru Bitnami which is by and large working pretty well. Nowhere in the configuration would appear to allow me to put in specific reference of the IP where CiviCRM is hosted.  I can see the image gifs with the specific IP and image path.  Saw a post Broken Image Link (Menu)  but didnt quite work for me.

2) In configuring the Navigation Menu, I could not remove the sub menu items of Events and other top menu items.  I was able to do so in a local install previously when I would simply click on the Events link, and all the sub menu items displayed below, and I simply deleted the sub menu items, click to refresh and it was done.  With this install on the cloud - there is no response when I click on Events menu item.  But I could right click on it do Rename, Delete and Edit the main menu item.

The Base URL is set in civicrm.settings.php.  From your screenshot, it looks like you're running CiviCRM on Drupal; find civicrm.settings.php in <drupal root>/sites/default/civicrm.settings.php.


Attendance and custom field tracker My question is could I use civicrm and Drupal for this.

There is a sign up form for students, I have attached an image, all fields would not be used, this is just an example.

There are an estimate of 10 students.

Daily attendance needs to be tracked (Present or Absent) and the date. Would also be nice to add a custom field to be able to track....let's say points for good behavior.

So daily, someone can input if john was present or absent for a particular day and how many points for "good behavior".

A search so someone can see how many students were present on a certain day, or how many females attended and how many points they received for good behavior on a particular month or day.

You could set up custom fields for each day's attendance and points. Then set up a profile using those fields

An admin user can then search for the participants, select all, Action > Batch update via profile.

If the students attend multiple similar events, the custom field for each day would be unique, eg Attendance 3/15. Otherwise you could use Attendance Day 1.

You should be able to advance search (or search builder) for the custom fields to see the results you want.

If this is something that is going to take a lot of admin time, you should consider a customized solution (extension).

Note: The question was sent to me directly and I asked him to post here on SE, in case others have a better solution and/or my option helps others.


500 Error When Migrating To Drupal 8 I have followed the great instructions on the question  Can I upgrade a drupal 7 + civi site to drupal 8? but I am running into a road block. The first time I loaded Civi it loaded without my database but I fixed the config file and now I can tell from cv that it is loading my database but in the browser I get a 500 error.

I am seeing these two errors in the logs and I have verified there is more than enough memory allocated.

[Tue Jun 09 22:58:19.026852 2020] [php7:error] [pid 20039:tid 140003429107456] [client 73.95.227.117:53058] PHP Fatal error:  Allowed memory size of 1317011456 bytes exhausted (tried to allocate 803225600 bytes) in /var/www/vendor/civicrm/civicrm-core/CRM/Core/Error.php on line 520

[Tue Jun 09 22:58:19.027004 2020] [php7:error] [pid 20039:tid 140003429107456] [client 73.95.227.117:53058] PHP Fatal error:  Allowed memory size of 1317011456 bytes exhausted (tried to allocate 803209216 bytes) in Unknown on line 0

Any help is greatly appreciated.

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

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


Drupal Webform missing edit link for fields from CiviCRM database Webform Form Components page does not show option to edit individual fields that are from CiviCRM database. Drupal fields work OK.  This was working previously but is not working after upgrading versions.   I have multiple instances and some forms show edit option and others do not.

Version incompatibility introduced in Webform version 7.x-4.12 and webform civicrm 7.x-4.13.

Upgrade webform civicrm to 7.x-4.14 solves problem.

Drupal issue https://www.drupal.org/node/2600878 details this.


button to receipt not working on live dashboard, does work on print preview screen something strange is happening at our site. The button to print a PDF receipt is not working on the live dashboard (within the site), it is working though on the print preview of the same page. On the live dashboard the links disappears from the HTML code.

HTML code from the live dashboard:

HTML code from print preview of the same page:

Yes, it is working at all of my local installs and some of our customers use this button to actually print invoices using CiviCRM 4.6.24


Error Message Customization Is there a way to change the error message that users receive when they try to register for an event online for which the registration date has passed?  Currently the message is:  ! ERROR  Registration for this event ended on April 25th, 2016 12:00 PM.

I think it is Possible to customize the error, On your install, visit the Form Registration.php in CRM/Event/Form directory.

The the error message is found in the function checkValidEvent(XXXX). and the line looks like this

CRM_Core_Error::statusBounce(ts('Registration for this event ended on %1', array(1 => $endDate)), $redirect);


Make CVV code field optional in Authorize.net payment processor in a contribution form I have a contribution form with credit card payment. Is there a way to make CVV code OPTIONAL/NOT REQUIRED when an administrator uses contribute to process a credit card transaction?

I tried hook_civicrm_buildForm() to unset the rules, but it is not working for me.

I was able to skip CVV validation in CiviCRM backend contribution forms by processing as admin. But I need to skip CVV validation in a contribution form page which will be accessed by users of a specific role.

That’s a configuration/setting ->

CiviCRM -> Adminster -> CiviContribute -> CiviContribute Component Settings


Hi, how do I run a report that shows me all the people that became a NEW member (not renewals) for the month of October 2019? how do I run a report that shows me all the people that became a NEW member (not renewals) for the month of October 2019?

If you use Adv Search and set the Date range for example to be 'Join Date' in October does that not give what you need?


On upgrade from 4.5.8 to 4.6.2 CiviCRM menu disappears until scroll, then scrambled The issue: after upgrade the CiviCRM menu will not appear at the top over the Drupal menu. It does not appear at all unless I scroll down the page a short ways and then it appears on the upper left apparently without theming (see image).

I have now tried to upgrade several times and each time the same issue happens again. I have tried changing permissions, re-uploading a new set of 4.6.2 and following upgrade instructions carefully.

This site is basic and has no particular customizations... it is a shared hostgator account. I am running the latest Drupal 7 version and have upgraded CiviCRM at least a dozen times in the past with no issues. Perhaps I have some particular issue only on my setup, but wondering if anyone else is having a similar issue. Perhaps I'll need to wait until the next release and try again. Thanks.

I was able to finally figure this out (not why, but how to fix). It somehow had to do with the Zen sub-theme I was had created was not playing nice with version of CiviCRM past, I think, 4.5.8.

I downloaded another version of the Zen 7.x5.5 version sub-theme and re-built my theme and was able to upgrade successfully. Thank you, Michael, for leading me down the right path.


Adding Captcha to the forms Hello I am trying to add captcha to both my donation page and my membership sign up page. I found the instructions to go to administer>customize data>profiles. I have added captcha to name and address, supporter profile and your resisgration info and it doesnt show up on the acutal form.

Any thoughts?

Solution was for the user to test this logged out.


Add/Edit Email field not shown when editing a contact I have created a drupal civicrm site using version 4.7.14 and noticed for some reason when editing a contact I don't have the option to edit the contact's email address nor do I have the option to add an email. I can't even find the contact's email when viewing their contact info. Normally the email is found above "website" and below "source". I'm missing this necessary field. I have created multiple drupal civicrm sites before and I have never encountered this problem until now, is it possible that because I installed the latest Civicrm version this might be a bug? The other Civicrm sites I created are older than version 4.7.14. I hope someone can help me in figuring this out soon.

Here are a couple screenshots.

No Email between source and website

No email found under contact details, also first and last name missing under "individual name fields"

-Mike

It may be possible that email field is disabled from your Display Preferences. You can find this on Administer -> Customize Data and Screens -> Display Preferences.

Make sure Email field is checked TRUE on Contact Details Column of Editing Contact Section.

Demo Link - http://dmaster.demo.civicrm.org/civicrm/admin/setting/preferences/display?reset=1


Mosaico templates don't work I have loaded Civicrm on a localhost. Everything works fine. I enabled the Mosaico extension. To do this I installed an ImageMagick plugin on Wordpress, enabled the Flexmailer and the Shoreditch theme. When I go into Mosaico, I get the message Warning Experimental Beta Version Use with Care. The templates are also blank as per the illustration. Is there a way around this issue?

The problem was caused by installing an old version of Mosaico. I installed the orginal extension version and not the latest one. I  uninstalled the old extension and installed the proper one.


Upgrade from 4.7.14 to 4.7.15 failed on Database Upgrade I tried to upgrade from 4.7.14 to 4.7.15 today.  I followed the instructions 1 - 3 in the documentation.

Everything looked good up to that point.  I got a message that installation was successful.

Then I clicked on the link to run the Database Upgrade, but I forgot to do step 4: delete the cached files in

   [yoursite]/media/civicrm/templates_c

I got the following error:

Initialization Error

Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => simpleHandler
        )

    [code] => -19
    [message] => DB Error: no such field
    [mode] => 16
    [debug_info] => SELECT *,  config_backend, locales,         locale_custom_strings
 FROM civicrm_domain

 WHERE (  civicrm_domain.id = 1 )

 [nativecode=1054 ** Unknown column 'config_backend' in 'field list']
    [type] => DB_Error
    [user_info] => SELECT *,  config_backend, locales, locale_custom_strings
 FROM civicrm_domain

 WHERE (  civicrm_domain.id = 1 )

 [nativecode=1054 ** Unknown column 'config_backend' in 'field list']
    [to_string] => [db_error: message="DB Error: no such field" code=-19     mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info="SELECT *,      config_backend, locales, locale_custom_strings
 FROM civicrm_domain

 WHERE (  civicrm_domain.id = 1 )

 [nativecode=1054 ** Unknown column 'config_backend' in 'field list']"]
)

At that point, I noticed that I hadn't deleted the cached files, and so I deleted them.

I tried to re-install 4.7.15, and again, I got a 'success' message.  When I went to run the Database Upgrade, I got the same error as above.

I've been running CiviCRM for 2 years, multiple upgrades, and no problem until today.  I checked the StackExchange and there are several mentions of this problem, and how it is fixed by running the Database Upgrade.  But if I can't run the Database Upgrade, I don't know how to fix this.

I experienced this same error today.  In my case, I had mistyped a command into the version control system - so I had a Civi 4.7.15 database with a Civi 4.4 file system!

In Civi 4.7, the way that configurations were stored in Civi changed.  You would only get this error if the code that was running was old.  I would check to see if you have another copy of CiviCRM somewhere in your filesystem.  Feel free to comment on my answer if you'd like some followup on how to find what I'm describing; let me know how you access your filesystem.


How can I show a list of events with summaries and either a register link or message saying they are full? We are collecting registrations for a conference and have a number of optional workshops on one of the afternoons. I want to create a summary page of available workshops for participants with a link to register or a message if the workshop is full.

Using Drupal 7 as CMS.

As with many problems with Drupal integration civcrm_entity is the answer.

Install the latest civicrm_entity module for Drupal in the usual way (Recommend using Drush if you can).You'll also need to enable the civicrm_entity_views_extras sub module.

We'll be using drupal views to display the results so if you have your Drupal and Civi in different databases then make sure you have civicrm cms integration configured. Go to Civicrm home and choose Administer->System Settings->CMS database integration. This will bring up a page of PHP code to paste into your current drupal settings.php to allow drupal views to fetch civicrm data. You might need to change permissions on settings.php and it's enclosing folder to edit the file, remember to change them back.

Now, create a new view to show "civicrm events", click "Create a page" and choose "unformatted list of fields" as Display format.

This will show all events in the system. For our purpose we only wanted to show events on a certain afternoon, so we added a "filter criteria" to only show events starting in the correct timeframe. Worked for us but you may need to find other filtering techniques for other purposes.

Add fields for all the information you want to display. Title, description etc.

The field that does the magic is called "Civicrm Events:event is full" this will return a 0 if there are spots left or 1 if the event is full.

So now your view knows when an event is full, to change what is displayed to the user you'll need another module—views conditional—install that and reload the view editor.

Add a views conditional field below all other fields and set it up so it checks if the event is full field and returns either the "registration link" or a custom message.

This should now be working, but you're still seeing the "Registration link text field" and "event is full" field above your conditional output. Click to change the settings of each one to "exclude from display" and check that "registration link text" is linking to where you want it. The setting sometimes seems to reset when I save the view.


Webform Civi Payment fields not showing up I just created a webform with a Civi contribution page enabled. When I save the form to test, the payment options are not showing as part of the form. Do I need to do something other then enabling the contribution section and assigning it a contribution page to get the credit card and billing address fields to show?

Presumably you are on 7.x-4.15 of webform_civicrm since you say you just upgraded.  If you switch back to 7.x-4.14, does it work?   If so, it looks like the same issue I logged here: https://www.drupal.org/node/2676752


Reconnecting CiviCRM DB in Wordpress I recently changed from Drupal to Wordpress, and am having some trouble connecting WP to my existing CiviCRM database.

I installed the CiviCRM for Wordpress plugin (and set up a new, empty database for CiviCRM). Then I edited the civicrm.settings.php file to connect to my old CiviCRM database (that I had been using with Drupal). I know the settings are correct, and yet something is wrong. The CiviCRM menu does not appear; the Dashboard appears ugly as if there is no CSS; I cannot access some admin pages (like "Resource URLS") but I can access others (like the Admin Console, by manually typing in the URL, yet as with the Dashboard there is no CSS being applied).

Can someone shed some light on what is happening, and how I can fix it?

Try these, in this order:

Check that the CIVICRM_UF value in civicrm.settings.php has been updated to reflect the changed host CMS
Try visiting /wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/updateConfigBackend&reset=1 to make CiviCRM recognise the shift from Drupal to WordPress
Clear the contents of your civicrm_uf_match table
Apply instructions from Moving an Existing Installation to a New Server or Location to your situation. (This is a huge list of "tricks", only some will apply to your situation.)


Considerations when choosing a theme for Drupal 7 + CiviCRM? I'm helping a non-profit with their website and we have chosen to go with Drupal 7 + CiviCRM, and are now looking at different themes

In the feature list for the Danland theme it says that it is "CiviCRM friendly", implying that other's might not be, so I'm wondering: What we need to think about when choosing a theme for our Drupal 7 website?

(More specifically: I have for example been looking at the Bootstrap theme which is the most popular, will this work well with CiviCRM?)

Grateful for help and with kind regards, Tord

One consideration is to use different themes for the front office and the back office.

The front office are the profile pages used to gather information from the constituents (or maybe you are using webforms in combination with webform_civicrm). These should be themed according to the official stylebook of your organization. They are part of the marketing strategy. It is often a limited set of screens, so almost any theme can be selected. But in these days responsive is a must, making bootstrap a good option.
The back office are standard CiviCRM screens used by your internal staff for searching and processing the data. These are complex screens, that work best with a simple, readable theme that uses the complete screen. I use adminimal for this task.

More of this discussion can be found at Theming Civi Vs Drupal.


Unable to add financial account I have run into an issue and I'm not sure if it's a bug or if i'm not understanding how Civi is using the Financial Accounts.

I have created a new account relationship called "Fund" in the option groups.
I created a Financial Account called "General Fund" as an Asset (EQUITY) account type.
I attempted to assign the Financial Account "General Fund" with a relationship of Fund to the Financial Type Donation. Civi just sits and spins when I click on assign account and never actually adds the account to the Financial Type.

The reason I'm doing this is so that an extension that I'm having written can pull that info from Civi to import into my accounting software.

Edit: I was able to replicate this on my site and the demo.

I'm running 4.7.11 and Drupal 7. The demo is running 4.7.13

EDIT I checked the database just to see if there was something different with the financial type and account that I created. I did notice that in the civicrm_option_value table that the row for the account relationship I created the column component_id was blank and all the others were set to 2. I changed the one I entered to 2 (it didn't make a difference).

I tried adding the account to the type manually in the database and it shows up in the UI. I can't edit it through the UI but it's there.

This was due to the exception thrown on an AJAX pop. A fix has been raised for it at https://github.com/civicrm/civicrm-core/pull/10651.

Hopefully it will be a part of 4.7.23 release.


Update 4.7.22 : Operation failed: Update Indices DB Error: already exists I'm just update to civicrm 4.7.22 on Drupal 7.56.

After the update, I received a system status warning "Performance warning: Missing indices".

I click to Update Indices and have these error: "Operation failed: Update Indices DB Error: already exists"

In the Drupal log, I have the message:

"$Fatal Error Details = Array ( [callback] => Array ( [0] => CRM_Core_Error [1] => exceptionHandler ) [code] => -5 [message] => DB Error: already exists [mode] => 16 [debug_info] => CREATE UNIQUE INDEX UI_case_contact_id ON civicrm_case_contact (case_id, contact_id) [nativecode=1061 ** Duplicate key name 'UI_case_contact_id'] [type] => DB_Error [user_info] => CREATE UNIQUE INDEX UI_case_contact_id ON civicrm_case_contact (case_id, contact_id) [nativecode=1061 ** Duplicate key name 'UI_case_contact_id'] [to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="CREATE UNIQUE INDEX UI_case_contact_id ON civicrm_case_contact (case_id, contact_id) [nativecode=1061 ** Duplicate key name 'UI_case_contact_id']"] )"

Do I need to solve this issue? And how can I?

Thanks.

There are a couple of posts on this issue. The one that worked easiest for me is the artfulrobot answer in How to find and/or fix missing indices?. You can execute steps 3-5 runing SQL commands either at the command line or in phpMyAdmin. Although the post was for drupal, it worked for me on our wordpress instance.


Disable automatic activity email to assignee Is there a way to disable the activity summary email that is automatically sent out to the activity assignee?

Thanks

Go to Administer -> Customize Data and Screens -> Display Preferences

Uncheck the "Notify Activity Assignees" box


Workarounds for Yahoo email throttling? My server host has informed me that Yahoo has massively throttled emails send from CiviMail (and thus we may be close to being blacklisted).

I have created a temporary smart group for all yahoo email addresses, to exclude from all mailings for the time being - but obviously just excluding all yahoo recipients forever is not an optimal solution to this problem.

I'm not getting bounces from this list. It's about 20,000 recipients total, about 4k of which are yahoo addresses. We send about 1-3 emails every other week or so.

Does anyone have any ideas on a workaround to maybe throttle the email delivery to Yahoo addresses separately from the rest of our list, or otherwise convince Yahoo that we're not spamming them?

Do you have DKIM keys on your domain? Yahoo and gmail get fed up real quick with poorly structured headers...

You could also switch to a service like sendgrid... and manage your reputation there. They will help you with that. You can also easily set up dkim keys to their server so they can be verified as sending email on your domain's behalf...


Reusing scheduled & sent emails - screen goes blank Very new at Civi, so please be patient!

Every time we try to reuse an existing email in "scheduled & sent" the screen goes blank. Any ideas?

Have tried different emails, users, browsers, computers and same result.
We have Civicrm 5.3.1, Joombla Version 3.8.11 stable, Joomla Platform 13.1.0, php 7.1.20, Apache, mysql.

Many thanks

The problem was somewhere between multi-lingual and logging - log_civicrm_group was missing the column title_en_GB.  Switching logging off and on again refreshed the log table schema and resolved the blank screen problem.


Embarrassing Offline Recurring Contributions A bit of an embarrassing situation for us: A recurring credit-card contribution attempted to process last Wednesday (2/21), but our vendor (iATS) did not receive it (I've checked with them, no such record). CiviCRM left the transaction in a Pending:Incomplete Transaction status. The following day(2/22), Civi tried again, and the contribution went through just fine. I thought that was the end of it.

Unfortunately, the contribution processed again each day including this morning (2/27)! The donor notified us, and I took what action I knew to do -- I cancelled the recurring contribution entirely and explained we will of course refund the money. Since iATS still shows no record of the first attempt on 2018-2-21, I also marked the open Pending transaction in Civi as Failed.

Question 1: That should be the end of it, correct? Or do I need to do something else?

I'm left trying to figure out what happened, and how to prevent this from happening again.

Curiously, the recurring contribution still had a "Next Scheduled Contribution Date" of 2018-02-21 02:07:31.  Each of the contributions that went through after the initial Pending attempt had a source of Offline Recurring Contribution. We've never had that source automatically before.

Question 2: Why did the Next Scheduled date not update to next month after the first successful attempt went through?  (I'm assuming Civi kept charging the card because the Next Sched date was still showing 2018-2-21).

Question 3: Why would the card try again if the status of the original Pending attempt was still showing Pending and not Failed?

In hindsight, I think what I should have done was mark the Pending transaction as Failed as soon as I saw the reattempt go through correctly and then made sure the Next Scheduled Date updated to next month. That would have prevented all this theoretically, ya? Now I know.

Thanks for any help!  We're using CiviCRM 4.6 LTS and iATS extension 1.5.3.

Advancing next_scheduled_date is one of the last things that happens in this sequence. So if anything goes wrong - a post_contribution hook eg - then the code can not get to the part where the date is advanced.

So look in your ConfigAndLog for clues as to what interfered with the recording/completion of that Contribution in your database.


Joomla 3.8 errors with CiviCRM I am troubleshooting a development site and the contribution pages working under Civicrm 4.6.30 and Joomla 3.6.5 are not working under joomla 3.8 and Civi 4.7.23.
Formatting of form is screwed up (alignment, form field lengths, etc.) are incorrect and most importantly, the total amount for selected options are not totaling.
I have tried reinstalling Civi 4.7.23 and experimenting with changes to civicrm.css, but nothing works. I saw a post suggesting clearing civi caches and logs, which I have done, but still no go. URL is  form url.
Any ideas would help. Thanks, K.

CiviCRM is not yet compatible with Joomla 3.8. See here. As you will see, there is a patch. The patch resolved all the issues I was aware of, but is not yet approved.


Error when upgrading from 4.7.16 to 4.7.20 I want to upgrade my site (Drupal 7.54 to 7.55, then civicrm 4.7.16 to 4.7.20).

No problem on Drupal upgrade.

But for CiviCRM, when I run mysite/drupal/?q=civicrm/upgrade&reset=1 (after having replaced sites/all/civicrm directory content) :

upgrade to 4.7.17 runs OK
upgrade to 4.7.18 fails with the following error :

(BTW, civicrm_case table is empty on my site)

It appears that the foreign key mentioned in the error message doesn't exist for some reason. I would probably go into MySQL and check.  If it's not there, just create one with the same name on the civicrm_case table. Then try the upgrade again.

A MySQL statement to create the foreign key (from CiviCRM 4.5) is: ADD CONSTRAINT FK_civicrm_case_case_type_id FOREIGN KEY (case_type_id) REFERENCES civicrm_case_type (id) ON DELETE SET NULL;


How do I print an activity? Civi used to have an option to print an activity and it would print the details of the activity. I'm in need of this and can't figure out how to print an activity now. Would be really nice if there was a print button at the bottom when viewing an activity.

What's the best way to get a nice print of an activity? We use an activity to record our meeting minutes and need to print them out to keep a hard copy.

I think you're referring to the fact that viewing an activity now happens in a pop-up window, and that window is missing a print button.

I think this is probably an oversight and would be nice to fix. In the meantime here is a workaround:

On the list of activities, instead of clicking on the "View" button, right-click it and select "Open in a new tab."
This will display the activity in full-screen mode so the print button will be available.


Slow to open at first daily use We have a two domains civicrm setup. On the first domain, everything is normal but on the second one, it takes dozens of seconds to open the dashboad (/civicrm) on the first daily use on every computer.

I can't reproduce the issue if I use a link other that the one that opens the dashboard

Resource URL are absolute.

see below: 5 minutes waiting to display civicrm?reset=1

There are several things happening on the dashboard, so you'll need to dig further into this yourself to find the real underlying issue. Here are some things which could trigger symptoms like what you're describing.

Database warmup

This is the most common cause of slow dashboards IMO, but it's dependent on your setup; see note re Timeouts below.

Your DB engine keeps frequently used data in memory. When CiviCRM isn't being actively used overnight, that information will be replaced in memory by other data, and will be read from disk. This is slower. (Nightly DB backups frequently push active daily data from memory, as does a changed traffic profile when your staff knock off.)

We have a testing server which hosts multiple WIP databases. It mirrors your description; starting work on Site A will incur a few seconds (or longer) "warm-up" time. This suggests that the server is overloaded (for production use!).

A workaround is to log into the site earlier, before your morning call / coffee brew / whatever. If we know we're working on example.com and example.org today, we can drush uli and visit /civicrm on both sites before we kick off for the day. Moving a delay can make it disappear :)

The ideal solution is to make more memory available to MySQL. Buying memory is probably cheaper than the (admin, staffing) cost of dealing with insufficient memory. :)

Timeouts

If reproducible, a specific five minute time as seen in your screenshot suggests you're hitting a timeout. This is compatible with the next answer, provided that you have a slow dashboard report which takes more than five minutes, so you reliably hit that timeout.

You request the CiviCRM dashboard
CiviCRM internally requests a report
Report spins its wheels for (at least) five minutes
CiviCRM stops waiting and serves you the dashboard minus that report.

Observing a predictable delay (=timeout) then a successful response from the server (as opposed to a predictable delay followed by error message from server, or a predictable delay then error message from the browser) indicates that the timeout is happening internally to CiviCRM.

A five minute timeout could be configured at different layers, in your webserver (eg PHP max_execution_time, apache TimeOut) or in CiviCRM codebase (eg cURL's CURLOPT_TIMEOUT). You don't really want to change the timeout, you want to speed up that process so it doesn't hit the timeout!

Dashboard reports

The dashboard is user-customisable, so the reports you choose to show there will affect the time it takes to display. Because the dashboard contents are delivered as a single page to the admin, you can't see which report is fast or slow. Disabling some reports, or observing the internal requests made from CiviCRM (by watching your weblogs) might allow you to see which reports add the load time to the dashboard.

To identify these dashboard report loads in the webserver logs, look for POST requests to /civicrm/ajax/dashboard immediately before your GET request for /civicrm/dashboard?reset=1 is completed. Timing on those requests will indicate if they are the delay factor.

Check MySQL activity too - I use mytop, which is just MySQL's SHOW FULL PROCESSLIST as a command. If you see long-running queries generating reports, you can balance whether to improve the report, remove it from your dashboard, or accept that it's worth the wait.

Reports using memberships / smart groups

If dashboard reports include smart groups or memberships, remember that memberships get updated daily (by cron), and that smart group caching is only for a limited time. Such reports would need to be regenerated the first time they are run after midnight. CiviCRM includes functionality to schedule report generation, so you could keep your contact DB warmed up (or on the boil!) by scheduling a report to display before you start work, or perhaps by embedding the same dashboard reports on a public screen in your office :)

URL / webserver configuration

CiviCRM makes internal requests while delivering the dashboard as well. Slow performance here could be indicative of a misconfiguration, eg:

CiviCRM is unable to communicate with the local site
CiviCRM is unable to communicate with CiviCRM.org infrastructure
DNS on the webserver is slow or incorrectly configured

Issues with these should trigger warnings on the admin screen which you would likely have mentioned, but it's worth checking that too. These warnings can be disabled, which might work to hide the symptoms.

Requests to CiviCRM.org

As above - CiviCRM communicates with CiviCRM.org while loading the dashboard. This functionality can be disabled (can't it?), but if doing so was working but slow or slow to return an error, you'd see a delay in rendering the dashboard also.


Need to add Contribution page for "in kind" donations with image upload I am using CiviCRM 4.7 in Wordpress.
I have taken on a new project for a local charity, what they want is to have a donation page set up for furniture, clothing ect. They have plans of doing several other things as well and CiviCRM is a perfect fit, except I cannot for the life of me figure out how to create a custom contribution page with an image upload field. Any help would be appreciated.

You can add Custom Fields to a set of fields that are specifically used for Contributions. One such field could be a file field type - and therefore you should then be able to include that in to a Profile that you then include on the Contribution form. I can flesh this out more, but if you know your way around creating Custom Fields and Profiles the above might be enough to help you advance.


How do I prevent membership renewal reminders originating from VERP addresses? On CiviCRM 4.5.5, I have an email address of contactus@example.org configured under Administration > Communication > From Address.

When I send the test email the reply to address is the correct email address.

However when I sent a membership renewal reminder the address is a random set of letters and numbers viz:

Return-Path: <b.85.1343.f05de58212341234@example.org>
Reply-To: <r.85.1343.f05de5812341234@example.org>
From: "APMA" <contactus@example.org>
To: "Paul Murdoch" <prmurd@example.net>
Subject: [CiviMail Draft] Your APMA membership
Date: Sun, 14 Jun 2015 20:27:25 +1000
Message-ID: <E1Z458P-001P0k-9z@s42.example.net>
MIME-Version: 1.0

I am guessing this has to do with the automated tracking of newsletters or similar. However I would like the reply to email address to be contactus@example.org.

How do I debug, track this down and correct this?

Testing this on v4.6.3, you can define the reply address for a scheduled reminder by editing it at Administer > Communications > Schedule Reminders (civicrm/admin/scheduleReminders). Check if you can configure it there first? I've tried a scheduled reminder just now and see the expected email address when I receive it.

The "random set of letters" is a feature called Variable Envelope Reply Path ("VERP") which permits CiviCRM to better identify and track bounces, unsubscribes and other mail system errors by having them "return" to a unique, identifiable email address.

See also this question: How does Civimail reply tracking and forwarding work?


Recording/ tracking time spent on Events One of the activities of our organization is providing workshops etc. to the public. In order to facilitate all processes involved I have setup a coupe of events in CiviCRM. Each event represents a certain course, training or workshop. Next I have added participants (contacts) to those events with the role of Attendee. The event/workshop also requires one or more trainers so I added trainers (contacts) with the role of Trainer to the event/workshop. A requirement is that we have an overview/summary of each event showing who is involved in a certain event/workshop (e.g. who is/are the trainer(s), people taking care of logistics, participants, etc).

We would like to track the training time spent for each trainer and also to be able to generate a report listing e.g. the training name, date, training time spent and also the total training time for each trainer per (selectable) period (e.g. from/to date).
What would be the best way to record the training times for each trainer? Could or should this be done in the event itself (e.g. custom fields) or should we add activities to each assigned trainer and aggregate activity durations? Any other solutions to accomplish this?

Many thanks in advance for your kind attention.

I would recommend you to create custom field associated along with participant record - where you can also specify the Event type

Once you have created the custom field as per your requirement then try to create a new profile for the participant custom fields

Then you can add the created profile against Event

Also while creating the custom field make it searchable so you can view the column in the report

I guess this helps !!!


Having Trouble With Paths I'm new to civicrm so I'm not totally sure if I'm using all the right language here.

Something seems to be messed up with the way civiCRM is resolving system paths. Causing jQuery to fail in resolving its own path and/or paths to some of the assets.

This problem is manifesting itself as a javascript error which causes various front-end features to break.

I have attempted running the tools at: Admin > System Settings > Cleanup Caches and Update Paths. No effect.
I've looked at /wp-content/uploads/civcrm/civcrm.settings.php the paths look correct.
/wp-content/uploads/civicrm/templates_c/ is getting new files written, so I don't believe there is a permissions issue.

Any ideas?

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

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


Trigger Membership Status Calculation for all memberships manually? I've had to amended membership statuses and have a large amount of memberships with the wrong status.

Is there a easy way of triggering these to be recalculated across all memberships?

There is a CiviCRM schedule job 'Update Membership Statuses' that calculates membership status and updates the membership. You can either execute it manually through browser or turn on and run through cli or cron.


Uncaught CRM Core_Exception Transaction/Manager.php Joomla 3.4.3
CiviCRM 4.6.4
Apache/2.4.12 (Unix)
5.5.43-MariaDB
PHP 5.4.41

Attempt to quickedit existing entry and get "Network Error -- Unable to reach the server. Please refresh this page in your browser and try again."

Attempt standard edit and get "Sorry but we are not able to provide this at the moment -- DB Error unknown error"

Web server error log shows: "PHP Fatal error:  Uncaught CRM_Core_Exception: [0: Transaction integrity error: Expected to find active frame\n\n  thrown in /var/www/htdocs/beast/administrator/components/com_civicrm/civicrm/Civi/Core/Transaction/Manager.php on line 107"

No other errors show. Have tried purge cache, Firefox, Chrome, and IE. This problem did not exist with civicrm-4.5.6-joomla.

What should I look for?

SOLVED: It was a mariadb error on mysql.proc. mysql_upgrade neither ran nor threw an error. Aftert mysql_upgrade, all seems well!