Our dashboard reports are inaccurate - caching issue? We have a number of dashlets set up for various users to monitor what's going in in CiviCRM.  Sometimes data is missing though.  We run the report the dashlet is based on, and the data does show up there.  Afterwards, it shows up on the dashboard too.  Smells like a caching issue to me.

What is the best way to deal with this?  Is CiviCRM caching strictly controlled by the CMS (Drupal in our case)?  I have just set a maximum value for cache life; it was "none" before.

This one also throws me occasionally. You should reduce the dashboard cache timeout setting to '0' in /civicrm/admin/setting/misc?reset=1

Then it will load the reports dynamically each time you access the dashboard.


Getting templates images on Mosaico in Mosaico templates the images the images can't be seen.
I don't understand why they are uploaded through this link:
GET https://mydomain.com/mosaico/img/?method=placeholder&params=534,200

[HTTP/1.1 401 not found]

I think normally it should be https://mydomain.com/civicrm/mosaico/img/?method=placeholder&params=534,200, but both these url give me "401 not found" and CIVICRM_CLEANURL is enabled.
This is my configuration:
CiviCRM Version: 5.28.0 on Wordpress
Mosaico 2.4.1592820024
Wordpress: 5.5
Thank you for your answers.

It turns out this is actually to do with the base page url - it should not have a trailing slash. @massetto knows this I think, because he created the GitHub issue where this is explained so this answer is really for anyone else looking at this later.
From Matt Wire of Veda:

Check your CiviCRM paths/resource URLs and make sure that you are not overriding them if you don't need to.
In CiviCRM make sure that "Wordpress Base Page" is setup as "civicrm" with no "/" - see civicrm/civicrm-core#18332 so this will be fixed in 5.29.
In Wordpress make sure you have a CiviCRM base page (should be at https://yoursite.com/civicrm).
Important: Go to Settings -> Permalinks and click "Save Changes".
Now Mosaico images should work and navigating to https://yoursite.com/civicrm/mosaico/img should give a 200 OK and a blank page.

v5.29 is available now, so sounds like upgrading to that should resolve the problem.


Does Price Set for Memberships also allow for Recurring on a Donation Goal is that a Membership page will have a Price Set that offers Membership (not auto renew) plus 'other amount' that would have option of being set as recurring.
I read http://wiki.civicrm.org/confluence/display/CRM/Price+Sets+for+Recurring+Contributions but it doesn't leave me any wiser (yet).
I set up a Price Set on demo here http://d46.demo.civicrm.org/civicrm/admin/price/field?reset=1&action=browse&sid=11&new=1 but see no option on the Donation price field to make it recurring.
I confirmed that there is no such option either when I set up a Price Set for a Contribution page, so conclude that for Donations, it uses the 'recurring' settings from the Contribution page settings, but that if we use a Price Set for Memberships, we have to turn off "Contribution Amounts section enabled" and hence concluding that there is no such an option for a Membership page. Is there a way to to this that I have missed?

I think this is resolved in our case by not using Price Set now that I twigged that the 'financial type' setting on the Contribution page ONLY affects the Donations, while it is the 'financial type' setting on the Membership Type that takes care of the other.

  If you are using this contribution page for membership signup and renewals, the financial type configured in the membership type settings will be used when recording the membership payment. The financial type selected here will only be used if you are also collecting additional contributions (as configured on the Membership Settings page).

So the outcome is

recurring donations work
donations get recorded as 'donation' financial type
memberships get recorded as 'membership' financial type


Is it possible to add just a time as a custom data field for an event? We want to show multiple dates for the event, each with its own start and stop time.

Day 1
  Start Time #1
  Stop Time #1

Day 2
  Start Time #2
  Stop Time #2

But in custom data (Administer > Customize Data and Screens > Custom Fields), it doesn't seem to be possible to add a field that is just a time without a date.

I realize we could create two fields, each of which contains both a date and a time:

Day 1 Start
Day 1 End
Day 2 Start
Day 2 End

But we'd have to enter each date twice, extra work and introducing an opportunity for errors in entering the redundant information. For each day of the event, we want to enter three items: the date, a start time and a stop time.

You could create custom text fields, then add these 3 lines of javascript somewhere to your site where it will get loaded on every CiviCRM page:

CRM.$(document).on('crmLoad', function(e) {
  CRM.$('input[data-crm-custom="Event_Time:Start_Time"], input[data-crm-custom="Event_Time:Start_Time"]', e.target).timeEntry();
});

This assumes you've named the custom group "Event Time" and the fields "Start Time" and "End Time". Adjust the code as needed to match the actual names of your fields (while creating/editing an event, right-click on a field and "Inspect" it - in your console look for the data-crm-custom attribute).

The .timeEntry() widget will store the data in human readable format (e.g. 12:53PM). If you prefer it to be stored in a searchable format (so you can sort your events by time, etc) use .crmDatepicker({date: false}) instead of .timeEntry().

Also be careful you don't load this snippet on every page of your website as it will cause an error on non-civi pages due to the lack of CRM variable. hook_civicrm_coreResourceList is a good choice for achieving this.


How do I add a column to a Contribution Summary report which will show the date and amount of the most recent payment/donation? When running a payment report using the Contribution summary,  along with the columns showing number of payments, payment aggregate and payment average, I would like to be able to see the date and amount of the last/most recent payment. This information can be separately gathered by running a Contribution detail report, but it is a lengthy process going through two separate spreadsheets when, ideally, I would want this information regularly, so having the data within the Contribution summary report who be ideal.

I recommend the summary fields extension:
https://civicrm.org/extensions/summary-fields
It'll keep a calculated copy of the last contribution amount (and many other useful fields) as custom fields of the contact, making reporting like this much easier.
Because contributions are stored in a separate table, generating fields like 'last contribution' tends to be complicated and mixing it with other values isn't going to be well supported in most reports, but pulling in custom contact field values is almost always supported.


Contact URL image display in civiCRM 5.12.4 I'm using civicrm v5.12.4

a while back I made this post. - Upgrade from 5.10 to 5.12 contact images no longer appearing

As I was having issues with contact images displaying. It seemed the issue I was having then was that I was developing locally, with a locally created SSL certificate.

The Contact Images are really important to this project and so I got some hosting with a ssl certificate and set up wordpress and civicrm

I installed it originally on a hosting platform without enforcing Https.
Then I enforced https and found I needed to edit the civicrm.settings.php file and replce all instances of http:// in the file, to make the site work.

Now, everything seems to be working smoothly, with the exception of contact images. I'm not getting any error messages, the images are just displaying as broken image icons.

This happens whether I try to attach an image via the edit contact civicrm pages or a profile page.

Does any one have tips for how I could trouble shoot this?

I managed to get this working. I did a clean install of everything,

Followed the wordpress civicrm install instructions for clean URLS

Enforced SSL using the siteground hosting built in tools

Enforced SSL in civicrm

Then in the wordpress permalinks settings removed any reference to index.php.

Not totally sure whether this combination of things was essential or what caused the issue in the first place. But the key was removing index.php from the wordpress permalinks. It was interrupting a lot of civicrm pages


Pledge reminder emails sending out invalid payment links Periodically, we have people complaining that their pledge reminder email has a link that doesn't work.  They get the "0 Error" with text "Sorry but we are not able to provide this at the moment."  If I edit the pledge and change something in the Payment Reminders section, the next email they receive will contain a link that is exactly the same but will have a different number after "cs=" and it will then work as it should.

This is in CiviCRM 4.4.5 but I can't find any issues in the issue tracker that seem to be related.

It might be an issue about the checksum that has a lifetime of (by default( 7 days. I suppose that's the ones taking more than a week that experience that problem?

you can set a longer lifetime in the admin misc setting
/civicrm/admin/setting/misc?reset=1


"Related Permissions Module" settings I installed the extension "Related Permissions Module", and now how do to configure the acl for single organization?

What this extension provides is the ability to deliver access control via Relationships.

Hence if you make Relationship Type xxx a permissioned relationship and then make JOHN a manager for MYCO, and if MYCO has permissioned relationships for Mary and Bob, and you set CiviCRM permissions so that people with Role of Manager to not view/edit ALL contacts then John will be able to only see Mary and Bob, and not other contacts who have no relationship to MYCO


Compare fields in CiviRule? Is there a way to compare Fields in CiviRule? I need a rule that adds a relationship based on the identity of a field. Something like "compare if new contact has an external ID that already exists and then link them together as partner organizations".
Is this possible?
(I found this old post back to '17)

Yes you can do some comparison in CiviRules using the Field Value Comparison condition. Assuming that your external ID is a custom field (in CiviCRM an external identifier has to be unique....) you might be able to work your way through. It might mean you have to develop a specific condition though.
And please note that the "link them together as a partner organization" is an action, not a condition :-) And it will definitely be bespoke development, but possible.


How do I make a CiviEvent accessible to the public? After I create an event in CIVI where does it then go?  How can outsiders find out event?
I participated in a class the other day and was successful at the application but now that I have created the event I am unsure how to find it and how others can find it to register.  Thank you kindly.

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

See the user guide for more details: Online event registration


Show different events to different user groups I have users in different groups; depending on the group they are in, when they see the events listing, I'd like them to only see events that are relevant for them based on the group(s) they are in.

For example, let's say I have users in 3 groups: Employee, Manager, Contractor.  Manager gets to see events for all groups.  Contractor only gets to see Contractor events.  Employee gets to see events for Employee and Contractor.

Right now I am just using the basic CiviEvent listing: https://mysiteurl/civicrm/event/ical?reset=1&list=1&html=1.

One option I have thought of is to use the "Event Type" as a filtering mechanism because you can then use URLs like https://mysiteurl/civicrm/event/ical?reset=1&list=1&html=1&type=XXX.  So then for event display I would create my own event listing page and embed iframes.  I would still need to find a way to identify programmatically what group the user is in and only display the iframe for that user.  The problem with this option is that it does not show the events in date order: it would show the Employee events in date order, then in a separate section the Manager events in date order, and in a third section the Contractor events in date order.  I feel this would become confusing for people.  I'd rather show them just one single event list that is in date order and only shows events that are relevant to them.

I guess it might be possible to use views?  But I don't know much about views.

So I'm looking for advice or help.  I haven't been able to find any plugins or sample code that might do this but it seems like it would be a super common use case?

THanks!

PS: I am on Drupal 7 and Civi 4.6.X.

I solved this by:

Enabling the PHP module that comes as part of Drupal 7 core but is disabled by default.  Enabling this module creates a new text format called "PHP Code"
Creating a new page and setting the text format of that page to "PHP Code".  I called the page "Calendar of Events".
Putting the following code in the body of that new page:

  <?php
     $role = user_role_load_by_name('My Role');
     if (user_has_role($role->rid)) {
       header("Location: https://mysite/civicrm/event/ical?
       reset=1&list=1&html=1&type=7");  /* Redirect browser */
       exit();
     }
     ?>

This solution requires you to have a separate Drupal role for each group of users you want to show different events to.  It also requires that you have defined different event types.  So for example, users in the group Managers would see events that have event types such as "Manager Meeting", "Employee Meeting", and "Very Secret Meeting".  You define the event types in CiviCRM's Administer menu for CiviEvent.  The &type=X is what defines what event types will be displayed; the X value comes from the event type list in CiviCRM's CiviEvent administration.  You can comma separate the &type=X,Y,Z for example to show one user role multiple event types.


Add column to Membership Details report It seems to me that this should be easy - but I cannot figure out how to do this. I would like to create a Membership Detail report and for those members who are of type Individual, I would like to show their Employer. What is an easy way to accomplish this?

Thank you.

On current versions of civicrm as per demo at http://d46.demo.civicrm.org/civicrm/report/instance/22?reset=1 you can click on Column tab and tick 'Organization Name' (which is the organisation the person is an employee of).

Organization Name was added as of CiviCRM 4.6.9 - see here.


Why does CiviCRM keep logging me out of the website admin? When I am doing various things in CiviCRM and want to save the changes, I keep getting logged out of the admin panel. As an example, but not the only scenario, I was trying to set up a custom profile for an event form. Set up the profile name and other data, hit save....went straight to the WP login screen! Anyone got any ideas? Most other functions working OK, but this is really annoying! Also happens when editing an event details, and select 'save and done' - 'save' works OK! HELP!

Using latest CIVICRM build 4.6.10 and Google Chrome on Windows 10.

Check that the URL configured for your WordPress site matches the URL in your CiviCRM civicrm.settings.php

If these have different URLs, you will appear to be logged out when you move "between sites". This sounds like it could match what you're describing.

The URLs must match for all of protocol (http vs HTTPS), domain (example.org vs example.com) and hostname (www.example.com vs example.com).


Why does profile&gid= get converted to profile_gid_ to in the navigation menu? I need to use the navigation menu hook to add a URL with arguments. I can't figure out why

'url' => 'civicrm/profile&gid=20'

gets converted to

 civicrm/profile_gid_20

by the time the menu renders. I've tried using

 'url' => 'civicrm/profile&amp;gid=20'

instead, but that doesn't help.

Try using a question mark instead of an ampersand:

'url' => 'civicrm/profile?gid=20'


Participant getCount is too slow I want to show how many spots we have left in an event, but it takes like 20 seconds to get the number of participants using the getCount action. What else can I do to get that number?

What is the number of participants you have?

depending of the entity, getCount is just a wrapper around get, so it might be the issue if you have lots of participants.

I haven't looked for participants, but writing (and contributing that back to civicrm core) a custom getCount api with a simplier query that only does select count() would probably makes it way faster


Upgrading WP to 5.0.1 deletes civicrm uploads folder When upgrading a WP multisite to 5.0.1, it completely removed contents within the civicrm uploads directory. I then restored the folder from the backup and all worked.

But this is weird, does anyone know why this happens? Has it happened to anyone else? Not feeling secure to upgrade on production yet when I see things like this.

It makes you run a db upgrade for all sites on the network but that shouldn't have anything to do with the uploads folder.

Not seeing this on my only 5.01 site, which uses the old WP CiviCRM file structure.  That is, the files are in <webroot>/wp-content/plugins/files/civicrm and not <webroot>/wp-content/uploads/civicrm.


I want to display the date on reports as mm/dd/yyyy I'd like the dates to display as mm/dd/yyyy instead of Month dd, yyyy.

Go to Administer, Localization, Date Formats at civicrm/admin/setting/date?reset=1 and change the Complete Date to the format you'd like.

I think %m/%E/%Y is what you're looking for.


How can I get rid of the "Name" field in a profile listing? I'm trying to create a membership directory, and I don't want to display the "Name" field, which shows the "sort name".  How can I accomplish this?

This question was asked 5 years ago on the old CiviCRM forum, here.

Here's a solution updated to work with CiviCRM 4.6.10:

templates/CRM/Profile/Page/Listings.tpl
@@ -59,26 +51,30 @@

       {foreach from=$columnHeaders item=header}
-
-        {if $header.sort}
-          {assign var='key' value=$header.sort}
-          {$sort->_response.$key.link}
-        {else}
-          {$header.name}
+        {if $header.sort neq 'sort_name' }
+          {if $header.sort}
+
+            {assign var='key' value=$header.sort}
+            {$sort->_response.$key.link}
+
+          {else}
+            {$header.name}
+          {/if}
         {/if}
-
       {/foreach}

       {counter start=0 skip=1 print=false}
       {foreach from=$rows item=row name=listings}

-      {foreach from=$row key=index item=value}
+      {foreach from=$row key=index item=value key=field}
+        {if $field gt 1}
         {if $columnHeaders.$index.field_name}
           {$value}
         {else}
           {$value}
         {/if}
+        {/if}
       {/foreach}

       {/foreach}


Send contribution receipt when updating contribution via API On my CiviCRM site, I have a v3 API to update the status of a pending contribution (for payments sent offline). The current PHP code for this is the following:

$params = array(
  'contribution_id' => $contribid,
  'payment_instrument_id' => 4, // check = 4
  'note' => 'Contribution record updated via group updater',
  'contribution_status_id' => 1,
  'version' => 3,
);

$result = civicrm_api( 'contribution','create',$params );

This works well, but I would like to be able to send a receipt to the person that submitted this contribution via this API call. Is that doable?

I found my own answer in this api function:

civicrm_api3('contribution', 'sendconfirmation', array('id' => $result['id']));

This triggers the confirmation email to be sent.

P.S. I wish there was something similar for the Event Participants, that seems to be quite trickier.


How to get all active states & provinces from one api call? I would like to get all active (i.e., in countryLimit) states & provinces available in my site for use in HTML tag. Can I query for that with a single JavaScript call to CRM.api3?
I've tried:
CRM.api3('Setting', 'get', {

"sequential": 1,
"return": ["countryLimit"],
"api.StateProvince.get": {}
but that just gives me two unrelated arrays. Can I join them somehow?

CRM.api3('StateProvince', 'get', {
  "sequential": 1,
  "return": ["name","country_id.name"],
  "options": {"limit":0}
})

UPDATE: I haven't tried this but Lodash v3 is loaded on most civi pages so you might be able to use filter or forEach to combine the results of the above with the countryLimit array to remove inactive ones.


How do I use a hidden column in a custom search template? I have created a custom search based on relationships.
Each row shows a contact and a related organisation in separate columns as well as other info.
Each contact is automatically linked to the view page in the search results but I would like the organisation to also be linked. I return a column aliased to "org_id"  in the all function select piece.

, tempTable.org_id
, tempTable.organization_name

I have not added org_id to my columns array in the constructor because I do not want it to display. If I do then the template file works but I have an extra column.

I have sucessfully overridden the template file as follows:

{if $fName eq 'sort_name'}
   <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.contact_id`&key=`$qfKey`&context=custom"}">{$row.sort_name}
{elseif $fName eq 'organization_name'}
   <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.org_id`&key=`$qfKey`&context=custom"}">{$row.organization_name}
{else}
   {$row.$fName}
{/if}

It does display a link on the organisation name cell. However the template is not seeing the org_id value and the link stops at cid= EG. civicrm/contact/view?reset=1&cid=&key=fb7ffdb351588d7d7d9df84f3b3e03f5_1119&context=custom

Edit: I have also tried this without the template override and used alterRow. This also only works if the org_id result column is added to the columns list of the custom search.

  function alterRow( &$row ) {
    $url = CRM_Utils_System::url('civicrm/contact/view', "reset=1&cid={$row['org_id']}");
    $row['organization_name'] = "{$row['organization_name']}";
  }

OK. I figured it out eventually. This is how I got it to work. It seems a little wonky but it functions

Add the column to the list of columns
Override the template
Alter the rows to add the link
AND unset the column in Alter rows

The constructor columns must contain

  ts('Org id') => 'org_id',

The override

  public function templateFile() {
    return "CRM/Contact/Form/Search/Custom/mySearch.tpl";
  }

The template

Add snippets in each of the column headers section and the rows section skipping an item in the loop. Eg. {if $header.sort neq 'org_id'}

For the headers:

 {foreach from=$columnHeaders item=header}
    {if $header.sort neq 'org_id'}

      {if $header.sort}
        {assign var='key' value=$header.sort}
        {$sort->_response.$key.link}
      {else}
          {$header.name}
      {/if}

   {/if}
{/foreach}

For the rows:

{foreach from=$columnHeaders item=header}
   {assign var=fName value=$header.sort}
   {if $header.sort neq 'org_id'}
     {if $fName eq 'sort_name'}
       <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.contact_id`&key=`$qfKey`&context=custom"}">{$row.sort_name}
      {else}
        {$row.$fName}
      {/if}
   {/if}
{/foreach}

The alter rows

Note the added unset line.

function alterRow( &$row ) {
  $url = CRM_Utils_System::url('civicrm/contact/view', "reset=1&cid={$row['org_id']}");
  $row['organization_name'] = "{$row['organization_name']}";
  unset($row['org_id']);
}


Contacts age as a search criteria/smart group? I would like to create 2 smart groups. 1 for members under 18 and one for members over 18. There is no search criteria for age rather only a static date.
Any idea?

Although it doesn't help you right now, search by age will be in 4.7 - CRM-16160.  You can try it in on the demo: http://dmaster.demo.civicrm.org/


"participant listing options" how to add another option with more fields The existing options are
name only
name and email
name, status and register date

How do i add an option with more fields eg role, phone etc is it a template somewhere?

This is how i would do

Create Extension
Add install code via Managed hook to install new option value for option group 'participant_listing'

snippet:

{
  "option_group_id": "participant_listing",
  "label": "Your Name",
  "value": "4",
  "name": "Your Name",
  "description": "CRM_Event_Page_ParticipantListing_YOURNAME",
  "is_active": "1"
}

Copy CRM/Event/Page/ParticipantListing/NameStatusAndDate.php and CRM/Event/Page/ParticipantListing/NameStatusAndDate.tpl into your extension folder and rename the files to YOURNAME.php and YOURNAME.tpl resp.
Change the code(in YOURNAME.php) in respective function like run(), preProcess(), orderBY() as per your need and you can also modify the tpl file as per your needs.
Test! Test! Test!

HTH

Pradeep


Event Fees display as total of contribution when they should not Is there a way to have events not total into a contact's contributions?  I want to register people for events but each time I do and use event fee it shows the running total in contributions which is not correct for our usage case.

I see contributions as donations so I don't want fees from events (in this case a theater production) to show as a contribution (donation) for tax purposes.

Any ideas?  I have tried to change how the funds are

There are two solutions:

Make your events free in civicrm but I assume that is not what you want
Differentiate in your reports between financial types. CiviCRM has Financial type system to register event fees with the type event fee, and donation with the type donation. You can also add other financial types.

See the manual: https://docs.civicrm.org/user/en/latest/contributions/key-concepts-and-configurations/#financial-types-financial-accounts-and-accounting-codes


Cron job with shared hosting CPanel I've tried different ways to setup cron jobs.

When using that cron job, the file is not able to read the parameters (like key, etc.)

  /usr/bin/wget -O - -q -t 1 http://www.site.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXXX&pass=XXXX&key=XXXXX

The e-mail I received says: ERROR: You need to send a valid key to execute this file.

When using those cron jobs, they are not running:

  /usr/bin/wget -O - -q -t 1 'http://www.xxxx.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXXX&pass=XXXX&key=XXXXX'

  /usr/bin/wget -O - -q -t 1 "http://www.xxxxx.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXXX&pass=XXXX&key=XXXXX"

When working with php-cli:

  php /home2/xxx/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.php -s xxxxx.org -u XXXX -p XXXXX -e Job -a execute

The PHP error log says:

  PHP Fatal error:  cli.php can only be run from command line. in /home2/xxxxx/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.class.php on line 91

When submitting the link directly in the browser, it works well.

PHP 5.4.43
CiviCRM 4.6.7
Wordpress 4.4.1

You may want to try creating a wgetrc file that contains all your values.  Check the man page for wget as a reference.. Here's a wgetrc of mine:

post-data=name=civicron&pass=<password>&key=<sitekey>
output_document = -
quiet=on
timeout=1

Also - check your Apache/nginx logs for the actual URL that was requested that corresponds to a wget that resulted in a "You need to send a valid key" error.  Maybe something is getting truncated; the web server log can help determine this.


Can an optout link be included in a scheduled reminder? We have started collecting "prospective members" from callers to our 24/7 helpline.  Email addresses are collected via a webform and at the same time a civicrm activity is created.  We have set up one scheduled reminder to go out 24 hours after that activity is created and a second to go out 29 days after the activity created date.

We want to give these prospective members the ability to optout from all communications with us from either email.

It appears that {action.optOutUrl} does not work for scheduled reminders.  Is that correct and if so, can anyone suggest a way to let these prospective members opt out?

We are using CiviCRM 4.4.19 on Drupal 7.

Provide them with a link back to a webform with checksum plus activity id if necessary so the existing Activity is loaded, and set the webform submission to change the status of the Activity to something that is excluded in the Scheduled Reminder.

(NB I am trying to get some unanswered questions answered as that is currently the 'weakest' aspect of our Beta civicrm stackexchange according to these [stats][1])


Report of groups and number of members I would like to have a report that lists:

the name of each group
the description of each group
the number of members in each group

How can I do that?


How to allow a user 'edit' on activities? Users have ACL 'edit' access to a group, and can access the contacts in the group OK.  They can create an activity, but then cannot edit it - for each activity they just get 'View' and 'File on Case' possibilities and not 'Edit'.  There are no  permissions to edit activities - only view and delete.  How can I allow them to edit activities?  Using 5.6 and Drupal

I fixed this problem by changing ACLs.  Originally the user was in role 'A' and the contact where they could create but not edit an activity was in group 'B' - and role 'A' had edit access to group 'B'. By changing the target contact to be in the same group as the 'A' role and giving that role 'edit' access to itself (its group) then they get edit access to activities.  As it happened, putting the target contact into this group is OK but this might not always be the case.  Seems like 'edit activities' should be a permission - this has been discussed before.


CiviCRM Profile Forms: Label and TextBox on the same line Need your help....I have a form (created via a profile) which contains textboxes with labels...The default view shows the textboxes below their respective labels...Is it possible to show the textboxes right next to the labels?

You can add some CSS to your theme to do this; use Firefox Firebug / Firefox Developer Edition or Chrome's Developer Tools to inspect the html and find the class you need to edit - to float the elements side by side.


How to Transfer Big Data to a Different Domain I received a SQL error while updating CiviCRM. He asked me to restore the old database, but I didn't have a backup at the time. Therefore I could not make a healthy update. Then I applied all the updates, but I still get "Database Partially Upgraded - Database check failed" warning for the database.

I have very serious data. I don't want anything to happen to this data.

So I thought of something like this. I'm going to build a new Joomla - CiviCRM. In my setup, I will rebuild all the fields as in the old site. Then I will import the data from the old domain.

But here's the thing. There are more than 130000 activities. It is not possible to transfer such data in bulk. It is not even possible to get 100 pieces because it gives a constant error.

Here are the data I'm trying to get.

Contact ID, Contact Type, Sort Name, Display Name, Contact Source, Contact Hash, First Name, Last Name, Email Greeting ID, Postal Greeting ID, Addressee ID, Created Date, Modified Date, Addressee, Phone, Phone Type, Activity ID , Activity Type, Activity Type ID, Subject, Activity Date, Duration, Details, Activity Status, Activity Priority, Source Contact, Source Contact ID.
I also have custom fields that I have created for Activity Types.

How can I transfer all this without problems.

I have used "big dump"to move big databases ozerov.de/bigdump/ with good success


Can you include html in word replacements? We have a contribution page, it says the following when credit cards are declined:

Your payment was not successful. Please try again

we want it to say:

Your payment was not successful. Please try again. If you continue to have issues, please email us.

When I use email us the word replacement gets garbles the input.

Is there another option?

There's a WIP PR (work-in-progress code change) that if I remember right while reviewing it made it mostly work, but I do think html is iffy right now.

https://github.com/civicrm/civicrm-core/pull/15836#issuecomment-553702913

You could do it with an extension that just inserts some jquery that appends your text to the existing <div>. https://docs.civicrm.org/dev/en/latest/framework/region/


Remove Employer/Job Title Fields and Reorder Fields How do I remove the "employer" "job title" "nickname" fields in the Individual contact summary? Is there a way to reorganize the information on this screen (e.g., demographics should go first)?

I'm currently running the most recent version of CiviCRM 4.6.3.

You can adjust the order of the panels under Display Preferences here: civicrm/admin/setting/preferences/display?reset=1

The order of your custom data sets will be based on the order of your Custom Data here: civicrm/admin/custom/group?reset=1

Under display preferences you can also hide some fields, but not the ones you're after. We never customize our installations to remove those types of fields. Unless you have the skills in house for those types of customizations, you may end up relying on a developer for each upgrade to hide them every time. Most find that an unnecessary expense and just ignore them.

Heather.


Is the cache field 'expired_date' no longer used? After inspecting some cache entries in the civicrm_cache table I've come across the field called 'expired_date' which is set to NULL in all cases.

The only reference to the field I can find anywhere in the codebase is in the schema file. So it looks like this is an old field definition that is no longer used and can be removed?

I had the same reaction when I saw that field -- it doesn't appear to be used.

In fact, I don't think it was ever used. Grepping some of the older releases (http://svn.civicrm.org/civicrm/branches/v2.0, http://svn.civicrm.org/civicrm/branches/v2.2), the field appears as part of the 2.1 schema upgrade; however, even then it's not used in any logic.

My suspicion is that the field is more aspirational. (Theory: One person designed the cache layer and included expired_date in the schema because it's standard in caching systems; then another person implemented the cache logic but ignored that part of the design.)

I wish the cache supported expiration/TTL, so I'm not anxious to remove the field. It would be even better if someone finished TTL support.


CiviCRM WordPress Member Sync - adding a new role or changing an existing one Christian Wach's excellent set of Wordpress plugins make that CMS viable for member's only sites - wouldn't work otherwise!

Here's the query. Using the "Roles" option as the synchronization option, a Wordpress user with the Wordpress user role being e.g. "Membership pending" signs up for a CiviCRM membership and via the plugin gets assigned to the Wordpress user role "Membership granted".

However, the Wordpress user now has two roles: "Membership pending" and "Membership granted".

The $64.000 question then is:

Is this by default, i.e. CiviCRM WordPress Member Sync does not switch Wordpress roles, but rather adds them, or
I do have the Member's plugin installed, with the multiple roles option not checked (although it had been in use previously), and I've now screwed up any forcing of only one user role per user until the end of time?

If latter condition is in fact false - any ideas of how to make (the plugin?) not add a role but in fact switch it?

Cheers!

The CiviCRM WordPress Member Sync plugin provides basic sync functionality and does not necessarily cover all possible use cases. What I would do in your case is use the civi_wp_member_sync_add_role hook to capture which user is being assigned which role. You can then remove the "Membership pending" role and make sure they only have the "Membership granted" role.


Can I control visibility of CiviCRM profiles that are used for "View/Edit Drupal User Account" using permissions and/or ACLs? I want to set up some profiles that are visible and editable only to Drupal users with a given role. However it looks like regardless of the permission settings I use, all users can see the profiles in their user account. Is this expected behaviour?

If this is problematic it could be easier to provide these as Webforms which have fine grained access settings


How do I configure Webform and CiviCRM for event registration including optional donation When setting up an Event Registration plus optional donation using Drupal's webform/Civi integration module, is it better to set the Contribution Page to Donation or Event Fee?

I understand what you’re trying to do.

Try set it to Donation. That will make your Contribution level financial type = Donation - but looking at the lineItems within that you should see two lineItems: 1) Financial Type associated with the CiviCRM Event Page for the Event monies and 2) the Financial type Donation for the extras;

That’s how it works for Memberships and top-up optional Donations (for sure - doing that on a number of projects). The Financial Type for the Member $ is what is defined in the Membership Type Config settings.

If this does not work like that for Event registrations - I think it should (it should pull the Financial Type from the Event config); One should be able to have one Contribution with three lineItems - each with a different financial type:

Member Dues
Donation
Event Fees

The first two in combo are working for sure. I’ve not yet tried other combinations.

Keep me posted on what you find.


Case Types page 'blank' When I go to Administer > CiviCase > Case Types, that page has no content on it and the breadcrumb link at the top just says 'CiviCRM'.

In the web console, I get this error when loading that page (I've removed the domain and added spaces to keep links from showing in the post):

GET h ttp :// **.******.org/go/wp-content/uploads/civicrm/persist/contribute/dyn/angular-modules.a136d84bc8cc935bcae2e81386c212ea.js net::ERR_ABORTED 404

admin.php?page=CiviCRM&q=civicrm/a/:198

GET h ttp ://**.******.org/go/wp-content/uploads/civicrm/persist/contribute/dyn/angular-modules.a136d84bc8cc935bcae2e81386c212ea.js 404

VM6993 admin.php:199

Uncaught Error: [$injector:modulerr] h ttp ://errors.angularjs.org/1.5.11/$injector/modulerr?p0=crmApp&p1=Error%3A%20%5B%24injector%3Anomod%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.5.11%2F%24injector%2Fnomod%3Fp0%3DcrmApp%0A%20%20%20%20at%20http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A6%3A426%0A%20%20%20%20at%20http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A25%3A235%0A%20%20%20%20at%20b%20(http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A24%3A282)%0A%20%20%20%20at%20http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A25%3A20%0A%20%20%20%20at%20http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A40%3A17%0A%20%20%20%20at%20q%20(http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A7%3A371)%0A%20%20%20%20at%20g%20(http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A39%3A382)%0A%20%20%20%20at%20fb%20(http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A43%3A381)%0A%20%20%20%20at%20c%20(http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A21%3A19)%0A%20%20%20%20at%20Gc%20(http%3A%2F%2Fgo.mediationla.org%2Fwp-content%2Fplugins%2Fcivicrm%2Fcivicrm%2Fbower_components%2Fangular%2Fangular.min.js%3Fr%3DQcNK7%3A21%3A332)
    at angular.js:38
    at angular.js:4692
    at q (angular.js:325)
    at g (angular.js:4653)
    at fb (angular.js:4575)
    at c (angular.js:1809)
    at Gc (angular.js:1830)
    at se (angular.js:1715)
    at HTMLDocument. (angular.js:32616)
    at i (jquery.min.js?r=QcNK7:2)
(anonymous) @ angular.js:38
(anonymous) @ angular.js:4692
q @ angular.js:325
g @ angular.js:4653
fb @ angular.js:4575
c @ angular.js:1809
Gc @ angular.js:1830
se @ angular.js:1715
(anonymous) @ angular.js:32616
i @ jquery.min.js?r=QcNK7:2
fireWith @ jquery.min.js?r=QcNK7:2
ready @ jquery.min.js?r=QcNK7:2
K @ jquery.min.js?r=QcNK7:2

angular.js:38

FIXED. I have CiviCRM installed on a subdomain. Using the advice in this answer: https://civicrm.stackexchange.com/a/21878/6594 I changed the URLs on the 'Resource URLs' page (Administer > System Settings > Resource URLs) from relative URLs with shortcode (ex. [civicrm.files]/persist/contribute/) to absolute URLs (ex. http://***.******.org/wp-content/uploads/civicrm/persist/contribute). That made all of the pages that were appearing blank work properly.


How do I removed accordions in the advanced search My charity needs a custom address field, rather than the address field that comes with civicrm. This is mostly set up, but there is one issue we have.

We have removed the fields from the advanced search, but the accordion for 'address' fields is still  there. I have tried going through the templates, but I have no idea where to find it to remove it...

Here is a screenshot that shows what I mean. How can I remove this 'Address fields' accordian/ where is it located in the files.

(I would also like to rename the custom fields accordion, but I'm hopeful that this would be in the same place )

Unchecking the box in the image below for each field in your custom data set ensures it is not searchable. If no fields within the custom data set are searchable, the "accordion" is removed from the advanced search. If just one is searchable, then the accordion appears.

Just confirmed this with 5.10.3.

As for your second question, if you want to rename "Custom Fields" to something else, you can do that using CiviCRM's word replacement tool. Go to Administer > Customize Data & Screens > Word Replacement.


Custom fields for individual using tab with table causes 404 not found for popup just recently started with CiviCRM 4.7.23 and Wordpress 4.8.2 and most everything seems to work the way that we are needing it to. However, tried creating some custom fields for individuals to capture employment history and when using either "tab" or "tab with table" I receive a "network error". If I switch to "inline" it shows up fine and I can edit but of course, want to be able to record up to 3 employment records per contact so "tab with tables" would be preferred.

Tried doing a search for this issue and did come across checking the baseurl and civicrm.root in the civicrm.settings.php and all seems to be ok.

Our url is on a subdomain http: //data.metrorelief.org

civicrm.root shows to be /home/metrorel/data.metrorelief.org/wp-content/plugins/civicrm/civicrm/ (I replaced /home/metrorel/ with http:// but that caused blank screens on CiviCRM admin section)

baseurl shows to be http://data.metrorelief.org/

I tried removing all plugins and I don't have any extensions in CiviCRM. I also tried different browsers and refreshing but no luck. When I turned on debugging and backtrace and turn on the console I receive the following:

Any help would be appreciated, thanks!

Try switching your theme to WP Twenty Seventeen or something basic like that.  I tested "Tabs with Tables" on my install (Civi 4.7.23, WP 4.8.2) and in the Civi Sandbox (Civi 4.7.26, WP 4.8.1) and they both worked. If it works with the different theme, the simple fix is to temporarily switch themes when you need to edit these. Hopefully that is not very often. I have a conflict with my theme in a similar area.


Need to resend event confirmation email We need to be able to resend individual event confirmation emails (e.g. corrections to the registration, sometimes not received etc.).
Up till last year's event in August this was no problem. There was a check box on the participant record to allow you to resend upon saving the record.
Since upgrading to our current version CiviCRM 5.22.0 this appears no longer an option. Has this been moved elsewhere?
For our event (https://www.capelcarshow.com/show-registration/) it is a critical feature. We are really in problems without it. Any suggestions or help out there?

OK - I have now found the setting. The functionality has changed.

Go to 'view Event Participation' -> click 'change selections' -> now the checkbox is visible and an email can be generated.

Thanks


Something is seriously wrong with CiviCRM - Replicating Contacts Wordpress 4.7.5 & CiviCRM 4.7.19

My contact is replicating in our system, to the point there were 700+ records with just my email and name.  I am not sure what is happening but I have some ideas. Every time I do something on CiviCRM it creates a new contact.  Not sure if this is true, but it does not seem to make new contacts while I am away.

Lastly, when I login with my other admin account, none of these issues exist and my user does not replicate anymore.  When I login to my user account, it replicates again.

Should I not have users that are also members, donors, etc act as administrators?

You can change the email account associated with a WordPress (or other CMS) account by editing the "UFMatch".  If you're SQL-savvy, the correct table is civicrm_uf_match.  If you want to do it through the web browser, and you acknowledge that this is a tricksy maneuver, you can do this:

Go to Support menu > Developer > API Explorer.  "Support" menu might be called "Help" menu, it switched somewhere in 4.6.
Set "Entity" to "UFMatch", "Action" to "Get".  In "Parameters", Set "CiviCRM Contact ID" to your admin account's name.
Press "Execute".
In the "Results" area below the "Execute" button, note the value of "id".  There are two "id" values - you want the one INSIDE the "values" stanza.  See screenshot below.
Copy/paste the entire results somewhere safe in case something gets messed up!  Better yet, do this on a test copy of the database.

Now that you have the ID of the UFMatch record you want to change, go ahead and enter the new details:

Keep "Entity" as "UFMatch", change "Action" to "Create".  For "UFMatch ID", put in the ID you just found.
Press "Add Parameter" twice.
Set the "CMS ID" to the WordPress user ID of the account you want to link to.  Set the "CMS Unique Identifier" to the email address of the same WordPress account.
Press "Execute".


allow anonymous users to view profiles in WordPress? It has been suggested that I may need to allow anonymous users to view profiles. I am running CiviCRM on a WordPress site.

From what I'm reading here ...

https://wiki.civicrm.org/confluence/display/CRMDOC/Linking+Profiles

... I'm gathering that this may only be possible on Drupal, not WordPress.  Is that correct?

If so, is it the case that non-logged-in users on WordPress are automatically allowed to view profiles?

I'm using the profile to create a public directory:
1) Create a number of custom fields
2) Create a profile ("Trainers and Coaches", gid=17) that includes those custom fields, as well as some standard fields like First Name, Last Name, etc.
3) Create a front-end profile view.

This works when I'm logged in to WordPress. (Though I had some questions about inconsistent results when clicking on fields in the profile view.)

When not logged in to WordPress, I get errors.

Using a shortcode:  [civicrm component="profile" gid="17" mode="search" hijack="0"]

I get:

Sorry but we are not able to provide this at the moment.
The requested Profile (gid=17) is disabled OR it is not configured to be used for 'Profile' listings in its Settings OR there is no Profile with that ID OR you do not have permission to access this profile. Please contact the site administrator if you need assistance.

(The profile is not disabled and is configured for use with Standalone Form or Directory and Search Views, so I guess permissions are the remaining option.)

If I use this:     http://mysite.org/trainers-coaches/?page=CiviCRM&q=civicrm/profile&reset=1&force=1&gid=17

I get:

 Sorry but we are not able to provide this at the moment.
We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.

Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.

Error type: Could not find a valid session key.

(Cookies are enabled, I've tried Chrome and Safari in OSX, and Chrome and IE in Windows, with the same results. And the URL defined in WordPress is http://mysite.org.)

Any help will be greatly appreciated!

Wordpress 4.7.5 CiviCRM 4.7.17

Go to CiviCRM's **Administer menu » Users and Permissions » Permissions
(Access Control).
Click "WordPress Access Control".
In the "Anonymous User" column, check "CiviCRM: profile view".
If your profile contains custom fields, check "CiviCRM: access all custom data".
Press "Save" at the bottom of the page.

Note that this is a quick-and-dirty approach that assumes you're OK with ANY profile being accessible by anonymous users if "Standalone Form or Directory" is checked.


SQL error trying to delete activities following CRM-20958 Now that Civi version 4.7.25 has introduced creation_date for activities, I am having SQL errors when I try to create a new activity or delete a recent activity, which results in fatal errors:

  Unknown column 'created_date' in 'field list'

I can't replicate this in the CiviCRM sandbox (http://dmaster.demo.civicrm.org/civicrm/), although that is running Civi 4.7.28.

If I run the SQL command in phpmyadmin, then it gives the same error, so I guess there's some problem with the table civicrm_activity since updating to 4.7.25

Any ideas?

Start by checking that the civicrm_activity table does have a created_date column.  If not, maybe something went wrong with the upgrade process - which is a bigger issue.

If it does exist, do you have logging enabled?  When you change civicrm_activity, a trigger will update the related log_civicrm_activity table and if that does not have created_date then the original action will fail.  If that is case, you can disable and then re-enable logging at Administer > System Settings > Misc which should fix the problem.


building a group from a list of email addresses of contacts I have a list of email addresses of contacts. I want to create a group out of those contacts. What would be the easiest way to do that on 4.5.3 ?

Note, the IN operator of the search builder doesn't seem to work on 4.5.3. it basicly always returns 'sorry'.

If you are not able find a search method that results in the people you want to add to a group. And you have a list of email addresses of the people in the group. You can use the import feature.

The import allows you to add contacts (newly imported or existing matched contacts) in to a group.

Contacts > Import Contacts ("For Duplicate Contacts" use Update)


How to get name of Financial Type ID? I am adding some custom code to the Bookkeeping Report so that each Financial Type's sub total is added to the bottom in the statistics. I have successfully done so, but I can't figure out how to list the name of the Financial Type ID instead of the ID itself.

For instance it is currently listed as 6: $300, 17: $540, etc. I would rather have it listed as: Event Income: $300, Fundraisers: $540, etc. I know this is listed in the table civicrm_financial_type and I can manually build it into the function; however, I did not know if there was an API or a function already built that returned the name of the ID.

There is a FinancialType API which returns the name with the ID, for example:

$financialTypeName = civicrm_api3('FinancialType', 'Getvalue', array('id' => $financialTypeId, 'return' => 'name'));


localization on wordpress I'm trying to translate civicrm into french but can't figure out how to do it.
I tried to put the l10n and sql folders in wp-content/plugins/civicrm/ and in wp-content/plugins/civicrm/languages. I also tried to put the fr_FR subfolder directly in these folder and directly the l10n/fr_FR/LC_MESSAGES/civicrm.mo file in the same places.
I also tried to chown these files and folders to www-data and to run a chmod 777 on them...
In the admin, only the default english appears, whatever what I try.
I checked the doc but I couldn't find the wordpress documentation (I just found for joomla and drupal).
Can you help please?

Thanks a lot!

For Wordpress, make sure you have the following structure of files:

plugins/civicrm/civicrm/l10n
plugins/civicrm/civicrm/l10n/fr_FR/LC_MESSAGES/civicrm.mo
plugins/civicrm/civicrm/sql/civicrm_data_fr_FR.sql
etc

Reference documentation:
http://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress


Profile registeration interaction between wordpress and civicrm I have been trying to get my head around using Civicrm (5.13.1) with wordpress (5.2) to create membership options for our organisation. I'm not sure I understand the process of creating a user account though that is synchronised between wordpress and civicrm.
I managed to set up the membership types, payment processor and sucesfully tested that. I tried setting up some plug ins like CiviCRM WordPress Member Sync, Members and Profile Builder but not sure how to set things up. Ideally we would like to set up a member's only forum eventually, but for now we would like users to be able to log in and edit information like adresses, cancel autorenewals and etc...

Is there a tutorial or resource somewhere that shows one how to set up user log in details for wordpress that can be 'registered' as part of a member signing up to a civicrm membership?

Sorry for the vague question, I'm just a bit lost for directions here.
thank you so much for the help,
best regards,
David

A good place to start is in the documentation at https://docs.civicrm.org/user/en/latest/membership/online-membership-sign-up/ in the Civicrm user guide. It would be best to read the whole membership documentation before and after the link given.
For Wordpress you will need a login system like the one you mention "Profile Builder" which I use myself and can recommend.  You will need to switch on wordpress/settings/General/Membership/Anyone can register but also first get a good security system plug-in otherwise you'll more than likely get a mass of brute-force attempts to infiltrate your system.
You may want to consider a plugin to prevent non-members from seeing certain membership pages.  Alternatively, after you've set up a membership profile, you could use civicrm to forcibly get non-registered users to open a WordPress user account by using the registration option in ...civicrm/administer/customize data/profiles/settings/advanced settings.
There's a lot to be considered.  Hope this helps you to get going.


Error "CiviCRM must be installed via composer" in Drupal8 Drupal 8.6.3, CiviCRM 5.7.0, PHP 7.2.10.  Followed the instructions in https://github.com/civicrm/civicrm-drupal-8/blob/master/README.md (skipped "load dummy data" and -b'd "master" instead of the missing 8.x-master). The error comes up after the final instruction, "install CiviCRM Core." I now have composer.phar and seems to be ready to go, but what are the appropriate command line args & working directory given where I'm at? I'd prefer not to have to scratch everything to follow the directions here or here!

I asked on Friday in chat.civicrm.org and it sounded like the current state is still like those other instructions you've linked. I wasn't able to get it working with the automated vagrant setup and haven't got around yet to trying those manual instructions with the latest code, but maybe someone else can confirm sooner.


Migrating email servers We are migrating our hosting and need to point to a new email server. Can we turn off/delay scheduled/automatic notifications (CiviMail) while we reconfigure/test? Perhaps this is not necessary (i.e. mail is held if the connection to the mail server is lost).

Maybe there is a better way? Any advice to best manage pointing to the new server so as not to lose automatic mail scheduled while migrating would be great.

I'm reasonably sure that if you don't have a valid mail server, the mail will be lost.  I mitigate this by installing a mail server (Postfix) on the same server as CiviCRM, and use that to relay to the third-party server.  Not only is this more robust - Postfix will hold the e-mails that don't go through while your main mail server is down for testing - but you get much finer-grained control over e-mail.  For instance, throttling the number of e-mails per second.


Can I export custom data from a Contact, an Organization and an Activity in one export? I am trying to set up a custom field mapping to export after I search for Activities.  I would like to export data associated with the Activity, but also include data from the Individual Contact and related Organization.  All the fields are available when I export my activity, but the data does not export for the Organization.

Thanks

There is a very useful extension called "Extended Reports" that has an Activities report that allows you to pull information about the Source, Target and Assigned contacts, but if you are looking for information about an organization that is related to one of those contacts but is not directly linked to the activity (and you don't have access to a developer), then you'd probably be better off searching twice:

Search > Advanced Search
Search 1:

  Select "Display Results as" = Activities
  Enter desired search criteria for Activities
  Search and Export search results

Search 2:

  Without changing the criteria you used to search for the activities, click to expand the Edit Search Criteria bar
  Select "Display Results as" = Related Contacts
  Select the relevant relationship
  Export results

Use a vlookup function to match data accordingly (facilitated if you export contact IDs)

Hope this helps!
Tamar


Adding Guests to Count - CiviEvent The agency I am utilizing CiviCRM for has been doing excel sheets for years for event invitations and RSVP's. Typically, households are invited personally but I only have the head of household name. We also will get RSVP's with just the head of household name and number of tickets they want (no information on guests). From my research I understand that CiviEvent runs on the basis of every guest having a profile, which doesn't work with our model.

Some people have suggested making a custom field for number of additional guests, but this number will not count against the final total, which is not ideal if there is a cap for the event. I was curious what some people have done to get around this, as having unnamed guests is common practice, and will obviously affect final count for ticket sales.

with Price Sets you can add a field that is an integer that you can set so that those people are counted as 'attendees' for the sake of counting the number of registrations. You should find some helpful instructions here but I am not seeing images currently.

You should then be able to use either the front or back end to make a registration for the 'head of household' and then e.g. put 6 in that price set field to have that registration be counted as having 6 attendees.

That may go some way to what you need.


Activitiy's email content - how is it generated and can it be changed? When assigning an activity in CiviCRM to a contact using the field "Assigned to". Unless deactivated those contacts get send an email.

My question is, how this email is generated - is there a template somewhere? Or any other way teh email could be changed?

I think the template you're looking for can be found at Administer -> CiviMail -> Message Templates, i.e, navigate to civicrm/admin/messageTemplates?reset=1 and click on System Workflow Messages.

The template name is Cases - Send Copy of an Activity. Note that you don't need to enable CiviCase component to view this template. It is displayed by default and used to send emails to assignees(both case and normal activities).

Also, if you want to disable the sending of email to assignee for some activity types, there is a new configuration setting added at civicrm/admin/setting/preferences/display?reset=1.

The setting is only displayed when the above checkbox of Notify Activity Assignee is enabled.


How to display recent upgrade messages? Trying to semi-automate my upgrade process by using "drush civicrm-upgrade", but I'm concerned that any critical messages, e.g. that default message templates have changed, won't be displayed in the shell.

I have a vague recollection that there exists a URL which will display the site's most recent upgrade messages, but I can't find it now in the documentation. Is there such a URL?

And does drush civicrm-upgrade display such messages in the shell?

I just ran drush civicrm-upgrade-db and saw upgrade messages in the output.

While the formatting could certainly be improved, this does seem to work (in some cases?).

As Coleman notes below and in CRM-16946 - pre upgrade warnings/notices are not displayed by Drush upgrade, while post upgrade notices are.


"Unable to reach the server" error After executing a search that returns more than one page of data, I get an error when I click on "next". "Unable to reach the server. Please refresh this page in your browser and try again."

The Apache2 error log shows:

apache2/error.log shows [Mon Jul 08 12:58:29.922448 2019] [php7:warn] [pid 4022] [client 96.9.90.28:57008] PHP Warning:  fopen(/var/www/vietfeir.com/public_html/wp-content/uploads/civicrm/ConfigAndLog/CiviCRM.4a976861044aadd15e2c85b9.log): failed to open stream: Permission denied in /var/www/vietfeir.com/public_html/wp-content/plugins/civicrm/civicrm/vendor/pear/log/Log/file.php on line 216, referer: https://ccrmdemo.vietfeir.com/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontact%2Fsearch&_qf_Basic_display=true&qfKey=082061e63d30f54afa566bb

All of my files have permissions set to 644 and the directories are 755.

All files are owned by www-data:www-data

This is intermittent. I sometimes do not get the error.

Eileen McNaughton wrote:

  It's possible you have FULL_GROUP_BY mode enabled in mysql & that is
  causing problems - the log file should be
  /var/www/vietfeir.com/public_html/wp-content/uploads/civicrm/ConfigAndLog/CiviCRM.4a976861044aadd15e2c85b9.log
  (or similar) and have more error details – eileen 16 hours ago

I removed the ONLY_FULL_GROUP_BY mode and the problem was solved. Thanks, Eileen.


Memberships not being inherited by related contacts I'm working on a new CiviCRM implementation in Wordpress. I have imported contacts with an External ID in each record, imported contributions, memberships and relationships. The related contacts are not showing a valid membership by relationship and the Primary Member's membership record states "One contact is currently eligible to inherit this relationship."

I have tried deleting all records and reimporting in a different order; updating memberships; running update membership scheduled job.

I don't know where else to turn - I don't want to enter all of these manually.

Open to more ideas to solve the issue.

Thanks in Advance

Wordpress 4.5.3
CiviCRM 4.7.9

This is an on-again gone-again bug. At FF Towers we were never able to fix it and ended up writing an extension that did edit save on the membership to get it to work. Horribly hacky but day saved. Recommend more UTs.


Recurring contributions no longer showing Custom Fields in subsequent contributions Drupal 7.69
CiviCRM 5.20.0
iATSPayments 1.7

Around the end of Nov 2019 we updated to Civi 5.20 and at the same time we moved to a new server. Since then our recurring series are not including the custom fields from the first contribution. Would this be related to an improper cron setup after the server move or would it be related to the CiviCrm update?

How contributions are created as part of a recurring series is not well-defined by CiviCRM core, it depends on the payment processor.

iATS Payments will create the new contribution in the recurring sequence based on a combination of:
1. the settings in the recurring record and
2. it's best guess of a previous contribution to use as a template (i.e. the most recent contribution in the sequence that has a matching amount).

The code that generates the contributions and payments is here: https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/api/v3/Job/Iatsrecurringcontributions.php

So either it's not finding the right contribution to use as a template, or in your case, since it's an issue with all recurring contributions, I suspect it's a code issue, worth posting to the iATS extension issue queue, here:

https://github.com/iATSPayments/com.iatspayments.civicrm/issues


How can I use the Omnipay processor to audit missing payments? I was told that I could use the Omnipay processor to detect missing payments.

I've determined that I need the API action PaymentProcessor.getmissing, and I can call this with: wp cv api PaymentProcessor.getmissing payment_processor_id=7.  However, when I call that (or wp cv api PaymentProcessor.query payment_processor_id=7), I get the following error:

PHP Fatal error:  Class CRM_Core_Payment_OmnipayMultiProcessor contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (CRM_Core_Payment::doDirectPayment) in /home/members/healthcarenow/sites/dev.healthcare-now.org/web/wp-content/civicrm/extensions/nz.co.fuzion.omnipaymultiprocessor/CRM/Core/Payment/OmnipayMultiProcessor.php on line 34

What am I doing wrong? How can I successfully call this API?

What version of CiviCRM are you on? It should work on the latest 4.7  - & it's working for me (I'm using latest of github) - but there might be something more or less forgiving in the config


Where is IPN information stored in Civi? We are using Civi 4.7.29 on Wordpress 4.9.4

Recently we moved our civi install of the root directory oursite.com to a subdomain subdomain.oursite.com.

While we were on the root directory, we were able to take recurring payments with out any problems.  Suddenly on the subdomain, we are not able to accept recurring transactions anymore through paypal.  It shows the recurring transactions as Pending/Incomplete in civi.

It just occurred to me that the IPN paths might still be hooking to the root directory and need to be changed to the subdomain.

Can someone tell me which folder these IPN hooks are in, so I can review them?

Thank you.

Your IPN path is configured in paypal - the best path to point it to is yoursite/civicrm/payment/ipn/x where x is the number of the processor. Once you have updated it in paypal it is possible to re-send missed ipns from the paypal console


Unable to upgrade in WordPress from 4.6.12 to 4.7 I have a Civicrm installation that's been running for quite some time. I've never had an issue upgrading until now. I've been able to upgrade to 4.6.12, but then I try 4.7.0 or 4.7.1, all I get is "[]" on the progress screen. There's no error log generated. I'm running WordPress 4.4.2 with PHP 5.6.

There are a million reasons why this could be happening - you could look in your PHP logs (which, if you're running Apache with mod_php, will be in your Apache logs).  you can also check your CiviCRM log in the ConfigAndLog directory.

I find that if an upgrade isn't working, I'll often have better luck with an upgrade from the command line.  Unzip CiviCRM as you would normally, but instead of visiting the upgrade script page, run wp-cli civicrm upgrade-db.  This presumes you have wp-cli with the CiviCRM extension installed, of course.  I'll also get better error messages, in general.

Since you've got a failed upgrade, don't forget to roll back your database - and don't forgot to drop your database before you reload the backup, or you're likely to have more upgrade errors!


Uploading null email address Is there a way to overwrite a Contact's email address with a null value?

I tried uploading contact info (via: Import Contacts) with a blank email field, but this doesn't override an existing email address.

Thanks!

A NULL value won't be a valid email address, so you'll struggle to get this into CiviCRM. This is intentional - why store an email that's not valid?

Remove address by contact edit

Correct procedure is to remove the address you want to get rid of. When editing a contact, you should be able to click on the email section, delete the text in the email field, and hit save.

Does that solve your problem? Your question doesn't indicate why you'd want to store a NULL instead of just deleting the relevant email entry.

Remove addresses by SQL

Since you say you have a bunch of "bad" addresses, you can remove them via SQL. Accessing the underlying data in CiviCRM may have risks (eg other data might be associated with an address you delete), so this should be done with caution. Here's the SQL command to delete emails none@none.com

DELETE FROM civicrm_email WHERE email='none@none.com';

(If anyone can suggest issues to this approach, please do so in comments?)

Remove addresses via API

You can also use the API - slightly more complex, but you're updating CiviCRM via its proper interfaces and it will be better able to handle the business logic around removing related data.

There's an API explorer in CiviCRM at civicrm/api/explorer, and using the tools there you can compose API commands to do what you want. Example code is given in the API explorer for javascript, PHP etc. For example, to find then remove addresses none@none.com using javascript (works from browser console if logged in with appropriate rights).

CRM.api3('Email', 'get', {
  "sequential": 1,
  "email": "none@none.com",
  "options": {"limit":0}
}).done(function(result) {
  result.values.forEach(function(email) {
    CRM.api3('Email', 'delete', { "id": email.id });
  });
});

You could use the sample PHP provided there instead, via a custom extension or module.


Where to report Gitbook error (Problem loading page) When I try to visit CiviCRM's GitBook I am forwarded to https://docs.civicrm.org/user/en/4.6 with the following error:

Who should I report this to?

If you experience this problem when trying to view the documentation it may be that your browser is either Chrome or Firefox and that you have previously visited the same page prior to 22 March 2016 (or for Firefox perhaps just visiting the main site https://civicrm.org could be enough).

The gitbook link now redirects to http://docs.civicrm.org/user/en/4.6 (the read the docs version). The read the docs version previously used https and the switch to http can cause problems. I am not an expert on this but I know it has something to do with HSTS. I think that Chrome and Firefox will redirect to https even if you specifically enter http if the sub-domain previously used https.

I was able to solve the problem with Chrome by deleting docs.civicrm.org from chrome://net-internals/#hsts (clearing caches or browser history did not work for me).

I have not yet managed to solve the problem with Firefox. Again clearing caches or browser history did not work for me.


Why do front end dashboard/profile views create a duplicate Civi contact? Civi 4.6.8 on J! 3.4.4

I have synced J! to Civi contacts. J! users can log in to see additional menu options including view Civi contact dashboard and use a profile search form to see other contacts.  For some users - but not all - using these Civi functions creates a new Civi contact with their email address.  First, I can't see why a contact should be created at all simply by viewing; second, I don't understand why this happens for some users and not others. I think they all have the same permissions. Can you advise me where to look to troubleshoot?

Thanks

So a careful look at the civicrm_uf_match table revealed that some of the Joomla user IDs in the table were not the current user IDs of those users. Clearly the original Joomla users had been deleted and recreated with new IDs but the civicrm_uf-match table had not kept in sync with the changes. I'm not sure why - probably some past database problem that I've forgotten.  In Joomla installations, Civi only checks Joomla users for a linked Civi contact record when they interact with Civi as documented here.  So the matching of the Joomla user to the Civi contact was failing.  I manually changed the records in civicrm_uf_match to correct the Joomla user ID and all is now OK.


Custom Email Greeting token doesn't work I've done a custom email greetings that have this structure:

{capture assign=l}{contact.preferred_language}{/capture}
{capture assign=g}{contact.gender}{/capture}
{if $l=="en_US"}Dear
{elseif $l=="et_EE"}Kallis
{elseif $g=="Female"}Дорогая
{else}Дорогой{/if}

It works fine in the summary tab of the contact profile. But token {contact.email_greeting} doesn't work when I am sending emails. There is nothing instead of email greeting.

Do you have any suggestions how can I fix this problem?

Thanks in advance.

Any chance you don't have smarty enabled for civiMail so your capture-assigns and ifs aren't working in the mail?

Try checking your civicrm.settings.php file and look for the line

define( 'CIVICRM_MAIL_SMARTY', 1 );

as per https://backofficethinking.com/blog/tip-how-personalize-emails-civicrm. If you don't find it, or if it's set to 0, you'll need to add/change it for this to work.


Why do the contribution page amount labels now appear before the amounts? All of a sudden in 4.6, contribution pages using the regular "fixed contribution options" (i.e. not using a price set) display the options as:

Donor - $25.00
Supporter - $50.00
Champion - $100.00

and so forth.  This is a sudden change that a client pointed out--the options used to appear as:

$25.00 Donor
$50.00 Supporter
$100.00 Champion

Both are reasonable, but does anyone know why it changed after working this way for years?

I can't find the exact issue or commit at the moment, but these changes were made to standardise the order the of the label and the price. Depending on the type of field used, the price and label were sometimes in a different order.

For example, in 4.4:

And in 4.6:

As a sidenote, I think we decided on the order 'Label - Price' because you would normally look at what you wanted to buy, and then how much it is. That made the most sense I think, when choosing ticket options for an event for example.


Participant Search - Failed to interpret input for search In the latest version of CiviCRM on the latest stable version of Drupal 7, if I attempt the following:

Events > Find Participants
Enter an event name AND a participant status

The search results in an error - "Failed to interpret input for search"

This doesn't happen if you enter the event name only, or the event name and participant role. It also doesn't happen where the combination of event name and participant status results in a 'no matches found' result - it only happens when the search would generate a result.

I've done a 25 second screencast of the issue in action:
https://drive.google.com/file/d/1RmpVyqxX6g99UsKLc5H9pcZtXLpCtqmG/view

Any advice gratefully received!

CiviCRM version 5.13.2, Drupal 7.67

Thank you

This appears to be a bug since i can replicate at https://dmaster.demo.civicrm.org/civicrm/contact/search/advanced?reset=1

gives

Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.

Failed to interpret input for search

Have mentioned in https://chat.civicrm.org/civicrm/channels/product-maintenance


Customization of the donation receipt All,

How is it possible to customize the receipt following the payment of a donation?

I would like to add the logo of our association, customize the text and of course add an incremental receipt number

Tx for your support

SL

You can customize receipt templates at Administer > Communications > Message Templates > System Workflow messages

You can find more information on CiviCRM Documentation The guides are searchable.


How do I solve a string extractor issue? I'm still having some English mixed with French even though these strings are translated since years in transifex.
Like in this example:

  Veuillez vérifier attentivement les informations ci-dessous. Cliquez sur Retour si vous avez besoin d'y apporter des changements. To complete your contribution, click the Continue button below.

And forcing to translate in word replacement doesn't work either. Of course I cleared all caches.

The concerned file is /sites/all/modules/civicrm/CRM/Core/Payment/Manual.php line 255

Any idea?

POST : I'm getting confused. The text

  To complete your contribution, click the %1 button below.

is supposed to be translated since 8 years but should appear in

  templates/CRM/Contribute/Form/Contribution/Confirm.tpl

when it's not and is to be find in

  /sites/all/modules/civicrm/CRM/Core/Payment/Manual.php line 255

This string has changed in core, somewhat recently, so it has broken the translation.

The short answer, is that the new string had not been yet pushed to Transifex, and this relies on a manual intervention by project admins. It has now been updated today.

This process has been somewhat problematic for a while. It was not much of an issue because user-facing strings do not change that often, but recently as we tweak more the interface, it has become more apparently. We definitely need to further automate this process.

I started restructuring the documentation on the translation wiki. Hopefully we can make the process clearer and simpler, so that we can automate it at some point.

If you would like to help improve this process, please join us in the CiviCRM translation channel.


Recording of refunds for an event For an upcoming event, I gave a number of our members refunds using Stripe. These refunds were recorded in the personal dashboard of each member, but they still appear as paid attendees for the event, even after receiving their refund, which causes confusion

Welcome to SE!  There are many reasons why one might refund an event participant payment which would affect how the event registration is recorded.  For example, if you refund because someone cancels you also want to cancel the event registration.  If they have paid but they are a speaker you might refund the payment and want to change their role from 'attendee' to 'speaker'.
Conversely, just because someone cancels does not necessarily mean you want to refund the payment.
What is the reason for the refund?  How do you want their registrations to show now? If they are not attending you could select those registrations and set the status to 'Cancelled'


How can I have a fixed date membership with no rollover date? An organisation I'm working with wants to edit a membership type to change it from annual rolling to annual fixed. When I set the fixed option CiviCRM appears to require a rollover date (if I don't set a date for this field CiviCRM flags it up and won't save my changes). But we don't want a rollover at all. Instead we are offering reduced fees based on when in the year the new member signs up.

There doesn't seem to be any option to not have a rollover date. The start date for the membership is Jan 01. If I set the rollover date as Dec 31, then I'm concerned that someone signing up on Dec 31 2015 will get low price and get a membership lasting 1 day, plus the rollover year, with and end date of Dec 31 2016. Any other date I could set would simply extend this rollover window.

I tested this a bit and you are correct.  If someone signs up Dec 31st they get the whole next year.  Probably the easiest thing to do is not offer a discount for the Dec.  Pay the full price and then make the rollover date Dec 1.  Yes they will get one month free but only the first time.

Probably the code should be changed so that it is greater than and not >= since the membership starts the next day by default anyway.  Or if you set the start date and rollover date the same, it doesn't give you two full periods for the price of one.


After upgrade to 4.6, should I get "No available releases found warning" in Reports->Available updates? In the Drupal menu item "Reports->Available updates", I get the below.  Is this normal or is there something I could / should do to fix this?

civicrm 4.6.0                                     No available releases found
Includes:
Enabled: CiviCRM, CiviCRM Contact Reference Field, CiviCRM Theme, CiviEngage, CiviGroup Roles Sync, CiviMember Roles Sync
Disabled: CiviCRM OG Sync, CiviCRM Rules Integration

The 'no available releases found' is due to fact that CiviCRM is not distributed through Drupal.org's release infrastructure. The other enabled and disabled modules seem normal. If this doesn't address your concerns could you be more specific about what you are concerned about?


API creation: my action is not found (only on Linux server) Using civix I create an extension containing a new API (WD2.importdata).
As result I obtained the file:

..ext\org.civicrmitalia.washdog\api\v3\WD2\ImportData.php

containing the following 2 functions:

function _civicrm_api3_w_d2_ImportData_spec(&$spec) {
}
function civicrm_api3_w_d2_ImportData($params) {
}

In my development server (Windows+Joomla+CiviCrm 4.7.25) the API is working properly. As I copied it in production server (Linux+Joomla+CiviCrm 4.7.25) both the API explorer and the Scheduled Jobs returns the error :

error_message": "API (WD2, importdata) does not exist (join the API
team and implement it!)

I also tried to modify the function name in "_civicrm_api3_w_d2_importdata_spec(&$spec)" or "_civicrm_api3_wd2_ImportData_spec(&$spec)", without success.

Even i have faced such problems many times in past. But i do some work around and fix it. What i would do

rename file ImportData.php to WD2.php
move WD2.php to org.civicrmitalia.washdog\api\v3\
Use lower case as function name. eg civicrm_api3_w_d2_importdata($params)

HTH

Pradeep


Title for Containers? I'm trying to add a title to a container. I've created the following:

However, I would like to have a title like this, for example:

Is there a default CSS class that I could use? Currently, I've wrapped a table with a div of

class="crm-tabset ui-tabs ui-widget ui-widget-content ui-corner-all"

Found a workaround under the 'Membership' section:


Checking across all email addresses for contact registration We use Drupal and have a lot of users with more than one email address (but not within the Drupal accounts) - they forget they registered with one email and try to use another to login and failing that, use this other address to create another account.  We thus get duplicate accounts.

To add better account information etc to Drupal, i.e. to store proper address details and more than one email address, I thought I would try out CiviCRM.

Last week I set up a local dev environment (Ubuntu 14.04, CiviCRM 5.5.2, Drupal 7.59, PHP5.6.37, MySQL  5.5.61) and synced users.  I amended the Name and Address profile to customise it to our requirements and so that users could amend their address details.

I am 100% sure that when I tested someone trying to register through the (now amended) Drupal registration form, it would reject the registration if the email address was already in another field, like 'Other' or 'Home'.  I could also login to Drupal with any other the email addresses a CiviCRM user had in their record.

I have rebuilt my environment (to prepare for a pilot) and the duplicate checking and login behaviour has now stopped...  I did a demo to a colleague and so I was not dreaming this!  I do not remember specifically 'enabling' duplicate checking etc, but it was working exactly as we needed and I was really pleased.  It also made logical sense that, as CiviCRM hooks into to the registration screen etc, that somewhere in the background there would be a check on existing email addresses etc.

The other thing I notice is that I am unable to add other email addresses to the Name and Address profile - they just do not display.  They do in the user profile (from Drupal) so I am assuming that this is a permissions thing somewhere.

Rebuilding has clearly reset something - does anyone anyone have any ideas as to why this behaviour has changed?

Many thanks

Martin

On the Drupal side, there is a Multiple Email Address module that will allow for multiple emails to be associated with the same user account (not sure if you can configure specific email fields to map to the corresponding location types in Civi such that whatever changes/additional emails are added on the Drupal side would be communicated to the same contact record on the Civi side - you might want to check on that). The first paragraph at the link above indicates the following:

  Only one e-mail address is considered to be the "primary" email address, and will continue to behave as normal. Non-primary accounts are mostly functionally meaningless, except that during user registration any e-mail address registered to a user cannot be used to create a new account.

The Multiple Email Address module will in effect prevent duplicate contacts from being created in Civi as well.

Without this module, there is a 1:1 relationship between a drupal user account and a primary email address of a Civi contact record (keep in mind, the primary email address can be of any location type - if you were able to login with more than one email address without having the above module installed, it may be that you have duplicate contact records in Civi with a different email location set as primary - you can check the civi contact IDs associated with the drupal user IDs directly in the database in civicrm_uf_match). With regards to duplicate matching, the default behavior is as follows:

When a user creates a Drupal user account using anything other than a primary email address of an existing Civi contact record, a new contact record is created in Civi
If a user attempts to login with an email address that is not their primary email address, they will not succeed
Conversely, Drupal does not allow a duplicate user record to be created for the same primary email address

You mention additional email fields are not displaying in the Name and Address profile - I am assuming this is a Civi profile configured with email fields of various location types - the same behavior happens on my end and I have a faint recollection of this being a programmed behavior to avoid overwriting the primary email address - but not 100% sure about this - anyone else who can confirm that please chime in.

Hope this helps!


Summary Fields triggers settings not enabled On the extensions admin screen I see

I tried following this solution but rebuilding triggers had no effect.

How do I get the triggers to be enabled? The cron job Call SumFields.Gendata API says it is successful and runs every hour.

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

  Full message:  Finished execution of Call SumFields.Gendata API with
  result: Success (a:1:{i:0;s:89:"Original Status: scheduled:2020-05-04
  15:33:23, New Status: scheduled:2020-05-04 15:37:48";})

That is the only cron job I see.

Sorry for the slow response - I am just now seeing this question.
The status should be: "Setting changes were saved on 2020-05-04, data calculation will be performed on every cron run." I'm not sure why that confusing message is displayed instead. Do you have the summary fields cron job enabled? If not, that could be the problem. When the summary fields cron job runs, it should create the triggers and calculate as needed.
For testing, you could also try updating the settings manually. In other words, where it says "When should these changes be applied?" - select "When I submit this form". Then click the save button.
If the status still says the triggers are not created, trying de-selecting one of the fields in the configuration and saving. Then, re-select and save again (summary fields pays attention to whether there are any changes in the list of selected fields and will only update the triggers if there is a change).


Status message "Thank you. Your information has been saved." is missing on profile submit I'm currently testing our recent upgrade from 4.7.19 to 4.7.29 on our test server.  We have a public email list signup page on our website using a civicrm profile with a re-direct to a new (empty) email list signup page.  On our live site under the old release, when someone completes and submits this page, they get the message "Thank you. Your information has been saved." along with the fresh page.  But under the new release we don't get that status message displayed.  If I take out the re-direct I'll get that message but I don't like that generated page with the inappropriate ">>Back to Listings" link.

Is there a (non-programming) way for me to get that message displayed again as it was under the old release, or is this an inadvertant bug?  Thanks for your help.

Wordpress 4.9.1

There might be JS error which is causing status message not to appear. Please check for any JS error on browser console. i feel some wp plugin might be conflicting with CiviCRM plugin.


How to I track down this problem when I try to CIVIMail? Sorry an error occurred and your information was not saved While in CiviMail I keep getting this message

"Sorry an error occurred and your information was not saved."

Did you check your firewall settings?
The wordfence plugin (on WordPress) was doing that for us. Had to white list the params.
Also, can be an error in the html of your email (or a smarty error).
As @demerit said it's a generic error and can be plenty of things.


Webform Event Fees in Combination I have a webform that users use to register themselves and their family members for events. These events have fees, and in the past I have linked users to a contribution page that they use separately form registration. We just got a better payment processor, so now webform can take fees! If, that is, I can figure out how to make it work.

Right now, I have it working like this:

User selects events they want to register for
"Event Fee" field is private so that it is hidden from the user
There are 2 conditionals in the webform so that if user selects event1, the fee is $15, and if user selects event2, the fee is $20.

Currently, this results in the correct fee if users select any one event, but if they select both, it charges the higher price ($20) for both events, for a total of $40.

So my questions are:

Can event fees be combined using conditionals, and if so what settings would you use?
or
Can webform fees be automatically generated in webform another way?

Ah yes - you can do this without Conditionals! @Coleman showed me at the CiviCON sprint back in Ft Collins - Here's how in screenshots (below):

NOTE: the only downside is... that CiviCRM core isn't expecting that this is possible - so if you end up checking a participant record - it thinks you owe someone a refund [having paid $500 - the event was only $300]. But if you can make that clear to your admins - they can work with this.

1. In Webform CiviCRM tab -> Event Registration:

2. In Webform tab -> hit Edit on the two participant fees - and add a $ number:

3. This is what it looks like for the user (View Webform):

4. And on the Payment Page of the Webform:


Stripe Authorises payment before form validation causing problems CiviCRM 5.17.4  Drupal 7.67 Stripe 6.2.2

Our problem is we have a fairly complicated booking form with quite a few required fields and a stripe payment option.

When a client opts to pay by stripe, but then selects to continue before filling in all required fields, Civi of course warns that not all info has been entered and does not continue but Stripe will authorize the payment and it appears in the stripe dashboard as an uncaptured payment.

Some people simply don't notice the incomplete fields warning and abandon the booking.

They then complain that the money has been taken from their account despite not completing the booking. (From their point of view this is correct as Civi scheduled jobs only cancels uncaptured payments after one day) and they (or we) have no confirmation of the booking (which again is correct because they didn't complete the booking)

Is this behaviour right? We would far prefer it if Stripe didn't authenticate payments if required booking fields were not filled in..

I believe this is correct behaviour.

The flow with Stripe is slightly opaque due to the complexity of maintaining a level of PCI compliance while using a CiviCRM form for payment.

The credit card part of the form is actually an iframe hosted with Stripe (that's what allows for the PCI compliance trick), which will take the credentials and test them by trying put a hold on the contribution amount, and then it'll pass back to the form a one-time "token" that can then be used to complete (capture) the payment.

That completion is only performed after the form is submitted, so it needs to have a reliable hold on the funds.

If you want the uncaptured hold to be release earlier, you can likely submit a PR and/or run the scheduled job more often.


Is there any way I can know from which page I came from? I am working on a CiviCRM plugin that will act as a unified solution for social media login.

Once someone clicks the Login button which this plugin adds (eg to an event page), he or she is redirected to a new page for further data exchange (eg login on Twitter, Google+ etc).

Is there a way I can get to know from which the button was clicked?

One way is to store the same while clicking the button or send it to the new page as a GET or POST variable. I just wanted to check if we already storing/getting it up somewhere in CiviCRM.

This sounds similar to a payment processor flow (especially the "button" style processors). In those, you typically pass a "return URL" to the remote site, and they would in turn direct your visitor back to the specified URL.

If the return URL needs to be a separate callback (eg an IPN URL), then you might add additional parameters (&return=civicrm%2Fevent%3Fid%3D1%26reset%3D1) to the IPN URL, and the IPN can in turn decode that (civicrm/event?id=1&reset=1) and perform a final redirect to land the user on the page they originated from.


Create and manage a custon table in an extension: How to In my extension (it's the first one I'm writing) I have the need to create a new DB table and to manage it (insert, update, delete records).
How can I do it?
Thanks
Marcello

Check this section on the wiki: https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension#CreateaModuleExtension-Addadatabaseupgrader/Installer/uninstaller
You will need to add an upgrader to your extension, and from that upgrader you can manage your database file installs. Also, you might want to add a DAO class?


How do I suppress the "are you sure you want to leave this page" popup from contribution page Where could I suppress the "are you sure you want to leave this page" popup when leaving a contribution page (e.g. donation) without actually proceeding with the contribution.
I realize it may be there to prevent leaving the page accidentally mid-way through filling out the form but I actually think it's more annoying than helpful in the fraction of accidental cases.
Also, I have a Facebook login on the page, which, when utilized, forces the page to reload and thus invokes the 'leave this page' popup. This is confusing to the user who wouldn't know they need to hit the "leave this page" button in order to get logged in (not to mention they'll actually stay on the page, hence the confusion).

This is on Joomla (3.4.4 w/ CiviCRM 4.6.9)

I'm assuming there's an onbeforeunload function - one appears in /administrator/components/com_civicrm/civicrm/js/Common.js

The warning appears even when the user has not made any entries on the form. Shouldn't the warning only pop up when they do?

Thank you for any pointers.

CiviCRM uses jQuery to watch form inputs and give a warning only if there are unsaved changes. You'll find the code for it in Common.js. When I try out a sample contribution page on the demo server it looks to be working correctly; if I open a contribution page, enter nothing and close the tab, I get no warning. But if I enter an amount and then try to leave it pops up the onbeforeunload message.

If you're up for it, debugging the CRM.utils.initialValueChanged function to find out why civi thinks the form has been changed when it hasn't would be helpful feedback for us improving the software.

Or you could just add a little javascript to your FB login button. If the existing markup looks like <button type="submit"> then you could add to it so it looks like <button type="submit" onclick="window.onbeforeunload = null;">

But seriously, the debugging feedback would be helpful.