Recurring contributions frequency label ("every month") is unstyleable - looks bad If you set up a contribution page to accept recurring contributions, the label for this option on the page is "I want to contribute this amount FREQUENCY" where FREQUENCY is from the contribution page settings (e.g. every month). The "I want to contribute this amount" part is inside a label tag, while the "every month" is just plain text on the page, not inside any tags, so if a theme changes the label font, this looks terrible. There is also an extra space before "every month" so it looks like this "I want to contribute this amount  every month".

Anyone know how to deal with this? The div that this text is all inside has class "content" which is used in other places, so not a great way to deal with this.

You can add some css for the label tag that copies the style of the other text. Some margin or padding css on the link tag will take care of the spacing issue. As to the div.content, just be more specific on your selection so it only styles the labels you want to style. You should be able to select deeper than the div.content for those labels Or you might have to start your selection all the way up at the specific page to keep it from impacting the rest of the site.

There is no way around it, you might have to make adjustments in the future if your theme changes (just like you said).


Is there a token for base url? We are often caught by having links in Message Templates that work on live, but then incorrectly take us to the live site when testing on dev - which can result in confusion or worse, errors or incorrect conclusions.

Anyone know if there is such a token but it just isn't visible via the token selector?

No, there is no token for base URL is available in civicrm. If you want to use base URL in templates, you can try this:

 // Declare $config;
 $config = & CRM_Core_Config::singleton();

 $baseUrl = $config->userFrameworkBaseURL;

This will gives you base URL and use variable "$baseUrl" in your template.

Another way is, you can create your custom token for base URL.Refer following link:
http://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens


Registrant and Contribution status remains "Partially Paid" even though amount owed was paid off STEPS:
1. User buys tickets for an event (e.g. 2) - this is set up as a Price Set w/ a Text / Numeric Quantity price field
2. Later wants to buy more - CiviCRM admin goes to the contact record, locates the event and using Change Selections adjusts the number of tickets (e.g. 5)
3. This creates a Balance owed on the event registration and the status of the Registration and the Contribution changes to "Partially Paid"
4. The admin then processes an additional payment for the amount equal to the balance owed using the Record Payment link/function

RESULT:
Both the Event and the Contribution statuses remain "Partially Paid"

EXPECTED:
The Event Registration status should change to "Registered" and Contribution Status to "Completed"

QUESTION:
Do I have this right/wrong?

System: Joomla 3.4.8; CiviCRM 4.6.11
Reproduced on the Joomla demo site

Thanks a lot, P

I think this may be resolved in 4.7 based on what I read in JIRA (there's a variety of tickets on payments topic so it's hard to tell whether one of them will solve this per se but it seems so). I'll test 4.7 and will come back to this topic if it's not solved. For now, I'll mark this as the answer.


Returning from all contributions of a contact to all contributions at all? a bug? If I have a look at a contribution of a contact with more than 50 contributions (and let me show all of its contributions!) civiCRM does NOT return to the contact but to ALL contributions at all. Because we have more than 500 000, this takes ages!  Is this a bug?  CiviCRM 4.4.19  Drupal 7.39  Rolf  - ROBIN WOOD e. V.

If you examine the link to view all contributions from the bottom of the contributions tab, it actually takes you away from the contact record and directs you to the contribution search, with your search parameters (namely, the contact ID) prepopulated.  Once you're done viewing the contribution, you get taken back to the contribution search page (without your previous search parameters, alas).  I would agree that it's not as user-friendly as it could be, but I wouldn't classify this as a bug per se.  One workaround might be to open up the contribution info in a new tab, which will leave your contact's contribution search intact.

Lesley


How can I search for all employees of several (a limited set of) employers Can someone tell me how I can easily search for all employees of several employers, ideally using a single search string - i.e. something like:

employee of: 'employer A' OR 'employer B'? Ideally the results are displayed as a list from which I can select some or all for action.

Thanks!

You could tag the Employers, then search for them, but set 'display results as' (top right of Adv Search pre-4.6, bottom of first section in 4.6) to 'show as related contacts' which you would set to 'employees of'


REST API - how to write new options for a custom field with select type? Using the contact - getoptions method you can read the list of options for a custom field with select type.

  /civicrm/civicrm/extern/rest.php?entity=Contact&action=getoptions&api_key=userkey&key=sitekey&json={"sequential":1,"field":"custom_5"}

But how can I create new options using the API?

Use CustomField - get method to get data for the select custom field who's options you want to edit. Note down the "option_group_id" value.

Then use the OptionGroup and OptionValue API methods with the Option Group you just noted. With this you can add new options.


Adding a column to search results i try to add a custom column to the search results of "find contact". I use the hook "searchColumns", i can easily add a column with:

$headers['summary'] = array('name' => 'Summary');

, but when a add the data like:

$rows[$id]['summary'] = 'BBBBBBBBBB';

, the header shows up in the results but the data not.
The whole code is:

function contactsearchshowsummary_civicrm_searchColumns($objectName, &$headers, &$rows, &$selector){
    if('contact' == $objectName){
        $headers['summary'] = array('name' => 'Summary');

        foreach($rows as $id => $row){
            $rows[$id]['summary'] = 'BBBBBBBBBB';
        }
    }
}

Unfortunately you can't use searchColumns to add column on contact search result. The layout in tpl doesn't respect the 'searchColumns' hook.

However you can still use the hook by doing some additional UI setting or using javascript. Here are some alternate approaches

Create a profile with same column as Find contact and set 'Visibility' to 'Expose publicly and for listings' and Results Column? to true for each field. Navigate to CiviCRM >> Administer >> Customize Data and Screens >> Search Preferences. Use the created profile as 'Default Contact Search Profile' option. Alter the code accordingly to adjust the result display.
Add javascript to insert a column(td) for each row(tr) against each contact using the contact id defined in id or class for tr element. Iterate based on $rows assigned to tpl.

HTH

Pradeep


Is Civi compatible with Wordpress5.0? *SOLVED* We just upgraded from WordPress 4.9 to 5.0 and right away Civi 5.2 disappeared.  Is there something in WordPress 5.0 that prevents Civi from operating?  The most current download for Civi says WordPress 3x to 4x.

****SOLVED****

****SOLVED****

The issue is caused by the Civi-Calendar extension. I have contacted the developers about it and asked them to upgrade their extension to make it compatible with civi 5.8. The below files caused specific problems and were disabled.

public_html/wp-content/uploads/civicrm/custom/custom_php/CRM/Core/SelectValues.php

Breaks the Add Relationships function.
Breaks the search box on the top left corner.

public_html/wp-content/uploads/civicrm/custom/custom_php/CRM/Core/Event/BAO/Event.php

Breaks page: Events > Manage Events Result Error 500


Change Reply-To for System Workflow Messages? Is it possible to change the reply-to for system workflow messages?

This is similar but slightly different from How to send email report FROM other than default email address?

So a similar workaround would be to use hook_civicrm_alterMailParams.


Can't send or test bulk mail, but test mail succeeds in System Settings / Outbound email / SMTP Civi 4.7.20 / WP 4.8

For the past several weeks, we've been unable to send out any emails or test mails through CiviMail. No errors are logged, and even with backtrace displayed and error debugging enabled, there's no indication of any error. Yet every time we submit a mailing, every recipient email address bounces and is switched to On Hold. The There are no messages in the bounce email inbox (it's a conventional address, same domain name as the website), so it seems those emails never went out from the mail server.

Sending test email in System Settings / Outbound Email / SMTP succeeds, so we know the outbound email settings are correct.

Someone suggested the problem may be VERP is no longer supported on the mail server, so I contacted the hosting provider. I now know for certain that VERP was deprecated, and worse yet, catch-all email accounts are not permitted for shared hosting accounts.

In my limited understanding of CiviMail mechanics, I think we're supposed to either have VERP support or a catch-all email account. But we have neither. Is there a work-around?

Any ideas?

ADDENDUM:
Though we're also experiencing buggy behavior in Reports, I did manage to coax Bounce Reasons out of our system. Syntax errors seem to be the culprit, and they all look like "Failed to add recipient: {email address redacted} [SMTP: Invalid response code received from SMTP server while sending email. This is often caused by a misconfiguration in Outbound Email settings. Please verify the settings at Administer CiviCRM >> Global Setting"

Also, per Chris' suggestion below, I looked at the "Track replies using VERP" option, and discovered it's already deselected. So while my original question was Can't send or test mail, neither VERP nor catch-all supported, I am changing it to Can't send or test bulk mail, but test mail succeeds in System Settings / Outbound email / SMTP.

The symptom as you describe it seems to be that any mail sent via CiviMail will fail immediately and will cause the recipient to be marked as bounced. CiviMail knows when the remote mail system rejects an email, so if that remote system doesn't work as configured, this is the expected behaviour (frustrating as it must be).

You need to understand why CiviMail is not able to deliver ANY messages but regular "Send Email" delivery works for you in CiviCRM.

Probably the most accessible option is to try a replacement mail provider. A few of those listed in this CiviCRM wiki page on mail providers offer a free tier, but everything has its price.

The more complex option is to debug what's actually happening when those mails get sent. This will involve understanding the code that communicates with your mail system as configured, and making the response from the SMTP server visible. I believe you want to start in civicrm/packages/Net/SMTP.php, CiviCRM fetches this from PEAR's Net_SMTP with this patch applied.

The latter option gives you more insight into the issues you're experiencing and might help some future CiviCRM sites who hit the same issue on your hosting environment. If you are confident at debugging, or can find someone to work with through CiviCRM community, that's what I'd try to do. If you just want to get the client live again, you should probably try a replacement provider (or two).


How to change DB user password for CiviCRM 4.7.3? For my own reasons, I needed to change the Civi database user password. After doing so in my hosts CP, this of course broke CiviCRM (WP). I'm a Civi newbie so I was expecting I might be able to easily find the file to change the pw like WP's wpconfig file. No such luck.

What files and their locations must I change so I can reconnect Civi to its DB?

Ok, I figured it out and for the benefit of anyone who might Google search this same question, here's the answer.
 1. Go to your webhost's file browser.
 2. The file should be located in /public_html/wp-content/uploads/civicrm/civicrm.settings.php
 3. Open the file with the code editor.
 4. Modify the credentials string which contains the password and save.


Is there a way to customize Activity Type screens? Trying to customize individual Activity Type displays but couldn't find any info on the proper procedure.

I'd like to hide certain fields from certain activity types. For instance, for our food bank activity, I'd like to have the end user enter only the date and names of all households that came. I can't use a profile or a webform because we may have 100 families that use the pantry that day so we are trying to set it up for one activity per day with multiple households. This activity has no need for follow-up, assignees, etc.

I have custom templates up and running and can successfully alter the basic Activity display but would like to get control of each individual type.

Thanks

I've handled this with a .extra.tpl file with some jQuery in it. I also used a template override for one or two customizations, but shied away from them because of the overhead of upgrading them. However, the project in question was in many ways a customized activity form, so I went ahead and did it.


Drupal taxonomy and Civi option groups integration Is there any kind of integration between Civi option groups and Drupal taxonomy vocabs?

For instance I'd like to create a Civi custom field with an option group whose options are populated from a Drupal taxonomy. Or vice versa!

Has that ever been acheived? I'd be glad to know if it has. Thanks for your thoughts.

This is definitely possible.  I've done it to have a custom field store a term id, and user selects from a select list of term names...

You need to implement hook_civicrm_customFieldOptions().
http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_customFieldOptions

In this provided example below I am using EntityFieldQuery to fetch all terms of the vocabulary with machine name center.
$fieldID is the custom field id

The custom field with ID 4 in my example was configured as an Alphanumeric data type with a Multi-Select widget, but you could use a regular select widget as well.

I hope this gets you started!

function YOURMODULE_civicrm_customFieldOptions( $fieldID, &$options, $detailedFormat = false ) {
    if($fieldID == 4) {
        $center_query = new EntityFieldQuery();
        $center_query->entityCondition('entity_type', 'taxonomy_term');
        $center_query->entityCondition('bundle', 'center');

        $centers_ids = $center_query->execute();

        $detailed_options = array();

        $centers = entity_load('taxonomy_term', array_keys($centers_ids['taxonomy_term']));

        foreach($centers as $center) {
          $label = '';

          $label .= ' ' . $center->name;
          if($detailedFormat) {
            $detailed_options[$center->tid] = array (
              'id' => $center->tid,
              'value' => $center->tid,
              'label' => $label,
            );
          }
          else {
            $options[$center->tid] = $label;
          }

        }

        if($detailedFormat) {
          $options += $detailed_options;
        }

        asort($options);
      }
}


Invoices are sent from the host domain instead of the proper From Address A constituent pointed out that she received an emailed invoice from "[4-digit-number]@[host-domain]" rather than from our normal organization email address. (We use CiviHosting's shared server.)

I haven't made any changes to the Civi settings, and upon checking, the default From Email Address is set to "office@[our-domain]" as expected and the mailer is set to "mail()".

Other emails are sent as expected:

individual emails
bulk email
automatic receipts for online contributions
automatic registration confirmations for events

I have discovered that when a back-end user triggers "Send Invoice" for a contribution, if one of that user's email addresses is chosen as From Address to use, it is ignored and the host-server address is used. If, however, one of the CiviMail-configured From Addresses is used, it is sent properly.

I just became aware of this last week, and I have a copy of an invoice sent a few weeks before that with the correct From address, so something happened within that window of time to cause a change.

civi 5.9.0, joomla 3.9.5

I think this might be the same type of problem as in Confirmation receipt sent from strange sender address, just maybe a different set of code.


The overlay window became all greyed After upgrading to CiviCRM 4.6.5, I cannot access any more to any popup window. This overlay window is somehow slightly greyed.
It doesn't react anymore (not event the cancel button) and the only way to remove the window is pressing the escape button.

In drupal administration I have this warning :

Warning : array_shift() expects parameter 1 to be array, string given dans civicrm_permission() (ligne 67 dans /home/website/public_html/sites/all/modules/civicrm/drupal/civicrm.module).

Is it a Drupal issue or a Civi one ?

Thanks for advice and help.

====

From what I can tell, css from your drupal site is majorly interfering with CiviCRM. Specifically, the interference is targeting jQuery UI, probably because you have a copy of jQuery UI loading via Drupal. Try:

Disabling the jQuery UI module (or find a way to disable it just for CiviCRM pages)
Choosing a simpler theme for CiviCRM pages, particularly one that does not bundle a copy of jQuery UI.


Click-throughs not being recoreded We sent out a mailing this week - one in a series - and have so far had 1400+ opens from a list of 2600 or so.  However, despite the URL Click-through tracking being set to "On" we have only recored 3 click-throughs.  Data we have recorded in Google Analytics for the same mailing is much higher.

What reasons could there be for the click-through tracking not to work?

Not all URLs get magically converted to being click-through tracking ones. Most internal ones, for example, do not (e.g. a link to a donation page with the cid and hash).

If you look at the email being generated (look at the actual html of the email, using something like 'show original'), you should be able to see which ones should be click-through ones because their path looks like this:

/modules/civicrm/extern/url.php

Here's a related inverse question:
avoiding tracking of some links

If your links really are click-through tracking ones and people are clicking on them, they'll get counted (unless the click-through links are badly formed due to an incorrect configuration, but that seems unlikely if you're not noticing a lot of other errors).

Update

If you go into your email client and copy a message you recieved from CiviCRM and then paste that as a new message into CiviMail, you will be copying the magically-generated click-through tracking urls from that past mailout (and ones that are specific to you). The new mailout will generate click-through tracking for the previous mailout, all as if it was you that clicked on the links. This is a super bad idea, don't do it.

In a better future world, CiviCRM should give you a big red warning if you try to directly include urls of the form /modules/civicrm/extern/url.php in your message source.


Using Profiles to allow member to view/edit own details only I am trying to work out how to use a profile to allow a registered member of an organisation/registered user of a Wordpress site, to access/view their own information and edit certain fields.

In theory this appears to be possible, but even though I've used profiles quite a lot over the years, I can't work out how to do this.

Ideally the user would login to the front end of the website (not the backend/dashboard), view their own membership details, view/edit their personal contact details, but not have access to any other details.

The part I don't understand is how the User Contact ID would be populated to the profile in such a way as that contact's information was automatically selected after login.

Or would this all be done more easily using the CiviCRM API and a bit of programming?

Maybe this is what you're asking for:

Create a new profile. Call it something friendly for the user like "My Contact Details". Tick it as a "Standalone Form or Directory"
Fill it with the fields you want the user to edit.

Pick the page you want them to be accessible and edit it. Use the CiviCRM button to pick the profile or enter in the shortcode yourself.

It should similar to,

[civicrm component="profile" gid="123" mode="edit" hijack="0"]

When a user is logged in, this will contain the fields you selected to be edited by the user.

Edit: while the anonymous visitor will not see the profile fields until he/she is logged in,  I guess it'd be good practice to make the wp page private to avoid any slips and keep the design fluid  - or use a plugin to limit the page to logged in users.


Available countries list won't appear when set in Localization We just upgraded to version 4.7.1, which reset our localization values.

Our forms need to display a list of all possible countries for our contact address fields.

However, when I go to Language and Currency Localization and remove all options from "Available countries," which leaves the field blank, our forms display a squashed box with only one option: the United States.

When I then go back to the Language and Currency Localization page in CiviCRM, I see that the United States has been added back into the Available countries field.

How can I include a list of all countries without manually adding them one by one, which looks to me right now like my only option?

If I understand your question correctly you are asking how you can select all countries in one go.

You can do this by clicking on the first country, then scroll down, press shift and click on the last country. Now press "Add".

If you want to add or remove countries from the selection press Ctrl and click.

Edit: please note that this only works in CiviCRM 4.6 and before.  It is not possible to do this in CiviCRM 4.7.  See related question - How can I select all countries to be available for address fields in CiviCRM 4.7?


How are folk storing lots of Files on Cases? I know there are File fields on Activities, and we can add File Fields to the case itself.

But say there are 20 documents to add over time.

while googling I found this which sounds interesting https://github.com/CiviCooP/org.civicoop.documents since their roadmap talks about searching by 'case type'

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

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


Wordpress plugin configuration will not launch I have installed CiviCRM on my wordpress site and I am able to activate the plugin. When I go to the configuration page, I get a blank screen and nothing happens. No errors are generated but I can't move forward. Any suggestions?

Edit: I am hosting the site at Arvixe. The server error logs are blank.

After activating CiviCRM, did you run the installer?
See instructions here at http://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress


Honoree Information - notify another person I have a use-case for the Honoree section and I am unsure of whether it can be accomplished with the default functionality.

We'd like to add additional fields to the "Honoree Individual" profile to allow the donor to enter the name of someone to notify regarding the donation. (For example, if the donation is in memory of someone, they may wish a notification be sent to a certain living relative.) It's easy enough to add address fields to the profile:

However, this doesn't allow entry of the name of the contact to be notified, and I believe it attaches the address to the honoree. Is there a way to do what we want in the core contribution page, or should I set up a Webform with multiple contacts for this functionality?

You can't do it without doing some custom work.  The profile is going to create one contact for the honoree, and unfortunately, that's that.  One approach is to have a custom field for the information of who to notify, and then have a report of folks where that's set.  A staff member (who would presumably need to mail things anyway) could check that report and set up a new contact manually.

We have a client who wanted something like this, including automatically sending an email to the other person.  We built a custom extension to do it, and it might be a good starting point for abstracting it into an extension for others.


Where can I see the database upgrade script? I want to see which indices were supposed to be created in the last upgrade I ran because I get a status report message saying that some indices are missing, but when I click "Update Indices" I get an error saying "DB Error: already exists". So I'm pretty sure some of the indices are missing, but not all of them. So I want to manually create only the missing ones.

There are a number of other threads around this issue and you may find the specific advice you need if you read through them eg

How to find and/or fix missing indices?

or this one

Missing indices status after upgrading to CiviCRM 4.7.21 on WordPress 4.8


Issue with sending html email from civicrm with Smarty I am testing some templates with smarty and I don't succeed to send them when the email is - apparently - encoded in html.
I could send them as normal text message. I could also send html templates that I have. But I can't send messages using both HTML template and Smarty.

I am sending from within Civicrm and it runs endlessly, when other types of messages are immediately sent (and well received).

Is this due to a limitation, a bug or should I set some parameters somewhere?

It might be because you have syntax error in your smarty code. Try not to use editor if you want to use smarty code or use this configuration to use smarty using ck-editor


Is there a hook to impact custom data before it's saved? I feel like I've hit this issue before and found a solution, but I'm drawing a blank right now. I need to be able to compare the value of a custom data field before it's saved in order to conditionally perform another action. For core fields I would typically do this with the pre hook -- as you can look up the existing value and compare with the value passed in the hook. But the pre hook is not hit with custom value updates (why?), and the custom hook is hit after the data is saved, so you can't compare with the prior value (it's basically the equivalent of the post hook, specific to custom data).

I'd rather not work with form hooks, as I want this to be universally triggered without me needing to track down all the forms where the data might be potentially updated.

Any suggestions?

Not as far as I know. You could, however, apply this patch, which introduces generic preInsert and preUpdate hooks to CiviCRM. The copy and demo code for PR explains how you can use these hooks.


Webform Civicrm Custom Fields across Multiple Contacts not working in Drupal 7 and Drupal 8 I created a custom fieldset in CiviCRM, with the following field types,

File Field
Two Date Fields
Two Country Fields

With a "Tab with table" style
A webform with CiviCRM Integration and multiple contacts were created and the custom fields on contact 2, contact 3, etc were enabled.
I created a webform submission. The custom fields on contact 2,3+ aren't added to CiviCRM, only on Contact 1.  Please help, I have a very important system that I'm working on for an immigration assistance NPO, and would appreciate help on what might be causing this
Thanks

Re -> Tab with Table style are these Multi value custom fields? We recently fixed a bug re: such custom fields in WFC D8/D9 and backported it to D7. What versions are you using? Are you able to clone from git or pull in a patch?
PS Multi value custom fields do complicate things (like eg reporting) so it may be a better option to create a regular Custom data set with the fields you need in it.
For sure non-Multi value custom fields across multiple contacts are working well - we're collecting custom fields data for up to 5 Contacts in e.g. a Family Registration form (up to 2 Adults + up to 3 Kids) - we did this in D7 -> and now on D8 (this project just upgraded).


After a failed upgrade, is updating the table structure enough? tl;dr: After a failed upgrade, is updating the table structure enough?

I had a failed upgrade due to a mysql crash a few days ago (4.7.6 to 4.7.11). The database worked fine once mysql was back up, but I had a warning about a partial upgrade. Putting the backup back in place and rerunning the upgrade didn't do the trick, so I went table by table, comparing it to a successful upgrade, and updated the table structures accordingly. I then went into the domain table and updated the version number. Assuming the table structures are perfectly updated, are there factors I haven't considered?

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

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

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


custom fields become unavailable after a period of time I have created some custom fields to collect size data as part of an event registration form. When I first create the fields I am able to include them in a profile and use them on the form. At some point though the profile becomes unable to display them and nothing appears.
A regular profile preview just shows an empty box, but if I try to preview a single field in the profile then I see the message "This CiviCRM profile field is view only".

However, the field is most definitely not view only:

I have not found any way to make the fields display again. If I create new ones and use them, they will work for a while and then stop.
The further mystery is how they could be broken after a time? A scheduled job? Most of the enabled tasks are "always" and so I would not expect the form to work very long at all (cron runs every 10 minutes on this site). I wonder about the "clean-up" task since it runs hourly, but I'm at a loss to imagine how that would affect custom fields.
Any thoughts folks?
Running 5.31.1 on Wordpress 5.5.3

Ultimately, the answer was simply to enable "CiviCRM: access all custom data" for all users in Administer->Users & Permissions->Permissions->WordPress Access Control.
I am unclear whether this presents a data risk. The wording of the permission makes it feel a bit like this, but I guess if a user only has limited access by context then it isn't an issue. I am fervently hoping this is so.
The reason it appeared to work at first was related to browser and server caching. As soon as the caches cleared it failed.


Where do I submit bug for summary fields extension? Where can I submit the bug for the Summary Fields extension?

It seems that the Summary Fields extension has an issue with Relative Dates. In Advanced Search I choose the Date of Last Contribution as Last 60 days including today. When I go back to saved Smart Group later, the relative date is replaced with fixed date (when the group was created).

As KarinG pointed out, best way is probably to raise the issue in GitHub: https://github.com/progressivetech/net.ourpowerbase.sumfields
In general, if someone created and shared an extension it does not automatically mean they will fix all bugs you report. It might mean they come back to you and ask if you would fund the fix. Just to manage your expectations :-)....


Rules for Inbound Mail Processing (multiple addresses? searches?) We'd like to use inbound mail processing with a bit more granularity so we can do a post-processing search that will let us easily tag new or updated constituents as YOUTH or ADULT.

Currently, we bcc: inbound@ourdomain.org and the new or updated records are created. However, we need to inspect each inbound email to understand if the contact should be tagged youth or adult.

I don't think we can have two inbound email addresses...if we can, I'd love to know how.

I thought maybe I could do something like use inbound+1@ourdomain.org (for youth) and inbound+2@ourdomain.org (for adults). This does result in the email and the +1 or +2 flag coming in to Civi!  However, I don't see a way to isolate what we need.  For example:

An advanced search for CONTACTS with an INBOUND EMAIL ACTIVITY has a check box for with/added by/assigned, but does not have a place to provide the address of inbound+1@ourdomain.org. If it did, I think this would give me a list of contacts that I would tag as youth.

Another option is an advanced for CONTACTS with INBOUND EMAIL ACTIVITY that contains "inbound+1@ourdomain.org". But I don't think the address shows in the activity records.

Another work-around I thought of is to include a distinct "code" in the emails we write and bcc to inbound@ourwebsite.org. For example, I could put ++y after my sig file when I know I'm writing to a youth and then do an advanced search for CONTACTS that have INBOUND EMAIL ACTIVITIES containing ++y in the body of the inbound email.  This would work but seems way too complicated.

I'd appreciate any thoughts on this process. Thanks!

We're Wordpress 4.7 and CiviCRM 4.7.17.

What you're requesting is possible by writing a custom extension, or possibly with CiviRules.

I managed the creation of such an extension, which is available on Github.  This extension changes the activity type of any inbound email sent to inbound+support@example.org to a different activity type.

If you're a coder, you can adapt that extension to your purpose.  If not, try using CiviRules with a trigger of "when an activity is created" and conditions that match your inbound email, and an action of "add a tag".


Error when upgrading to 4.6.9 on Drupal 7 I received a string of nine similar error messages when trying to upgrade to version 4.6.9.  There is also a smarty error message.  Please dan you help?  This is the first time I have attempted an upgrade.
Regards
Graham

•   Warning: opendir(/Applications/MAMP/htdocs/RCSQ/drupal/sites/all/modules/civicrm/CRM/Core/xml/Menu/): failed to open dir: No such file or directory in CRM_Utils_File::getFilesByExtension() (line 428 of /Applications/MAMP/htdocs/RCSQ/drupal/sites/all/modules/civicrm/civicrm/CRM/Utils/File.php).
•   Warning: opendir(/Applications/MAMP/htdocs/RCSQ/drupal/sites/all/modules/civicrm/CRM/Event/xml/Menu/): failed to open dir: No such file or directory in CRM_Utils_File::getFilesByExtension() (line 428 of /Applications/MAMP/htdocs/RCSQ/drupal/sites/all/modules/civicrm/civicrm/CRM/Utils/File.php).

User warning: Smarty error: unable to read resource: "CRM/common/success.tpl" in Smarty->trigger_error() (line 1094 of /Applications/MAMP/htdocs/RCSQ/drupal/sites/all/modules/civicrm/civicrm/packages/Smarty/Smarty.class.php).

Errors such as 'No such file or directory' or 'Failed to open resource' normally suggest that CiviCRM couldn't find certain files where it was expecting to.

The first thing to check is that all your CiviCRM files have been put in the correct place according to the installation/upgrade documentation; and the configuration in your settings file.

This was answered by Hershel and in this case CiviCRM had been unpacked into a sub-directory.


How to split Member Contribution page transactions to multiple financial types? On our Member Contribution Page, we have a price set with two fields.
1. Membership Choice - financial type 'Membership'
2. Donation Amount - financial type 'Donations'

Users pay, but the result is one contribution entered on the contacts record with the 'Membership' contribution type only (it appears).

Is there a way to get the donation to be recorded separately, or at least as its own financial type.

Larger question - best way to have Member Join/Renews and Donations on the same page, yet keep the books straight. Thanks!

The data exists in Civi, but it's a bit tricky to get at.

When making a payment for a membership with additional donation the underlying database records a single contribution, but multiple "line items".  Each line item is recorded with the correct financial type, as described in the price set.  Oh yes - if you haven't enabled a price set on the contribution page in question, that's a required first step to setting different financial types on the different line items!  Though be careful if you offer auto-renewing memberships - there's a bug that can break your auto-renew functionality if you use a price set if you don't patch it first.

Once you have the price sets, with each field using its own financial type, you're in business!  CiviAccounts will export the data appropriately if you export data to your bookkeeping program.  You can also use the Extended Reports extension to run reports on line items rather than contributions.

The one missing piece of the puzzle is to search on financial type data instead of contribution data.  This doesn't exist currently in Civi.  Someone started to write it, but doesn't have funding to finish it; if you need that functionality, please reply to this in a comment, I've been trying to round up folks to crowdsource funding for this feature.

EDIT: There's some work afoot to get line item search crowdfunded for core CiviCRM.  Contact me if you're interested at http://palantetech.coop/contact.  Meanwhile, some of you might be interested in this line item report extension.


membership tokens not showing for mail in CiviMail Using CiviCRM 4.7.24 and WordPress 4.8.2.

I'm trying to send an email with membership information in it. It works fine with a Print to PDF, but not with an email. I am using Find Membership to get the contacts (thanks to Add Membership Token to PDF Template Joomla) for pointing this out. So why is it different for emails?

some tokens are only available when sending from 'that context'. Fuzion made an extension some time ago to get around this and hopefully you will find it provides what you need.

You can check it out here


Batch update: triggered confirmation email After an event at the weekend, I batch updated all 'pending due to pay later' participants to 'attended'. It appears that this triggered the re-sending of the confirmation email to all those people. Does anyone know why this might have occurred and how to avoid it in the future? We're using CiviCRM 4.6.3.

In my CiviCRM experience, this does indeed happen. CiviCRM seems to expect participants to be Registered before they are Attended. If you try to skip this step in the bulk update, it will move them to registered and trigger the email. Have a look at those participants and see if their status is now Registered.

We ensure that the are moved from the pending status to registered prior to the event as this also ensures that they get the registered email confirmation which they won't have received if they were still pending.


Change Payment Method without creating additional transactions A version of this has been asked before - but the answer was quite complex - so I am hoping for an ELI5.

Essentially - when manually adding contributions - sometimes people make mistakes.  when editing a contribution - from check to cash for example - a debit and a credit is processed.  See example below of a contribution that was entered as Check but was actually cash and was changed. While that's typically fine - when trying to find a specific contribution - these old records clutter the results.  Is there a way to make sure they do not appear in searches and reports - or is there a way to simply delete the old payment detail records - as really there was only supposed to be one in the first place.

So the answer is that it is not possible to change a payment method in core without creating additional financial transactions.

Background: a decision was made by some with decision powers that every edit should produce such transactions so this is working exactly as designed and the argument given is that this is in order to be compliant with accounting standards. The odd thing is that of all the projects we render IT services for every single CA considers such transactions noise and not helpful at all. I hope at some point we are able to revisit this and be allowed to simply delete payments [possibly with a permission level so a superadmin would need to authorize it] - it's completely reasonable to be able to delete transactions that never happened but were entered accidentally b/c of a default payment method e.g.

Your current options: a) via the GUI the only way to 'fix' this is for staff/admin to delete the entire contribution and re-enter it. b) via the Database: if you have access to mysql like you do - you can remove the extraneous transactions across a number of tables. I did one for a client this morning. Before you do this track a couple of contributions/'refunds' all the way through through all financial_ tables to familiarize yourself with the structure.

Another way to look at this is: admin/staff are allowed to delete all financial transactions - 3 in your case (by deleting the contribution) but are not allowed to delete a subset of the 3 - i.e. 2 in your case; whereas if you have permissions to delete all contacts, you can delete a subset;

PS - in credit card payments when mistakes are made a payment can be voided after it has been authorized but before it has settled. Such payments do not show up on a credit card statement. Perhaps we can adopt that concept and allow payment mistakes to be corrected for a limited time, as most mistakes will be caught (almost) immediately.


How do I set a case open date and/or close date with a webform? We've successfully got Webforms that open or close a case and assign a case role.

However, I can't seem to figure out how to specify a date to close or open the case.  All submissions record the status change as today.

Is there a way to specify a case start and/or end date through the webform other than today?

I've tried adding activities to the form and using those dates, but that creates separate activities on those dates and does not apply the date to the change in case status.

I don't think so, no. But then, I don't think you can do this through the regular CiviCase UI either.

Perhaps the solution would be to expose the opened and closed dates to the webform as fields? This would require patching webform_civicrm/includes/utils.php to add them under function wf_crm_get_fields). If that works for you, please submit a pull-request back :)


How to import members spreadsheet I'm new to CiviCRM and have a somewhat noob question about importing membership data from a spreadsheet.
We have this data in a way that each row is a company with organizational data (membership type and date and tax number..etc) and some of the columns in this row have also individuals (employees of the company) in them with their contact details in other columns.
How should we start the importing is my question. Should I first import our members as organizations and then do another import for the individuals...all into contacts? How to connect these to the companies? Does it work with say based on ID-s that I give to the companies beforehand?
Also how to import these same companies to the membership module?

I'm using latest Joomla and CiviCRM.

This has been answered before indeed: noob query : Importing contacts and membership
and here: https://docs.civicrm.org/user/en/latest/membership/manual-entry-of-memberships/
Thanks for the exchange:-)


Allow duplicate contacts with the same email On Civi 4.7.22 and Wordpress 4.8.22

Here is the Scenario:
Jane Doe uses her email address to signup her son Joe Doe at 123 Red Road
Then Jane at 321 Blue St. decides to become a member herself, using the same email address she used to signup her son.

Instead of creating separate accounts for Jane and Joe, Jane's information overwrites Joe's information and suddenly Joe doesn't exist to us anymore.
What rules do I need to change to allow the same email address to be applied to different members?

I checked the box in the profile settings to allow duplicate contact to be created.  That did not make any difference. Even when I check "Issue warning and do not save" it still goes through and overwrites the information of the first person.

This is a scenario that happens often in our organization, so I hope there is a solution to this.

You will want to adjust your Deduping and Merging settings (top menu > Contacts > Find and Merge Duplicate Contacts). See https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/ for info.

If you're using the default rule that comes when Civi is installed, any contact with the same email will get merged automatically as you're experiencing. It wasn't good for us either because we have so many families and couples who share email addresses.

You will want to 'soften' your Unsupervised rule (the above link has instructions on how to adjust the rules). We changed our Unsupervised rule to take names and birth dates into consideration as well (see image below).  We do get the occasional duplicate contact (Robert Smith with rsmith@example.com is technically not a duplicate of Bob Smith with rsmith@example.com according to our rule), but we'd much rather have easy merges to do than the much more difficult task of 'un-merging' two contacts.


Adjusting the Contact selection display (e.g. New Contribution) When adding a new contribution (as well as a few other places, I believe) we have the option to auto-complete a contact's name or create a new contact:

When we begin typing, a list of contacts appears, including email addresses if they have one:

Is there a way we can adjust this display to show different/additional information? For example, we may want to show city in small writing like the email address currently shows:

Adams, Daren
darena55@hotmail.co.in (Bangalore)

You can, from the menu:

Administer > Customize Data and Screens > Search Preferences.

The setting to adjust is Autocomplete Contact Search.  There are a number of choices you could include.  This doesn't impact the field in question only though.  The biggest additional impact would be the Quick Search.  Note the help text:

  Selected fields will be displayed in back-office autocomplete dropdown
  search results (Quick Search, etc.). Contact Name is always included.

The next option down on Search Preferences (Contact Reference Options) may come into play for certain fields as well.  Its help text:

  Selected fields will be displayed in autocomplete dropdown search results for 'Contact Reference' custom fields. Contact Name is always included.


How to trigger the Refund Notification email There is a message template called "Additional Payment Receipt or Refund Notification" in the System workflow messages. I have tried to trigger the Refund Notification by adding contributions and then setting their status to be "Refunded" and I thought this would trigger the email notification, but it didn't. I have tried with event registrations too, but got no email. Am I doing something wrong, or did I miss a step? I couldn't find any information about the refund email notification in the CiviCRM guide either. I have tried on 4.6.33 and 4.7.27 installations but doesn't seem to work on any of them.

Let me know please if you have the answer. Thank you!

The Additional Payment Receipt or Refund Notification template is used to send receipt when payment is recorded for Partially paid or Pending refund or Pending Pay Later Contribution.

To trigger this you will need to create Pending Paylater Contribution and then under Contribution tab of Contact or Find Contribution results click on More >> Record Payment besides the contribution row.

Submit the Payment form by checking Automatically email a receipt to xxx ??

HTH

Pradeep


CiviCRM does not have full functionality support for refunds and partial payments so what is the current way to tackle this type of situation? I have applied as a GSoC student to work on a project that would provide Refunds and / or Partial Payments functionality for CiviCRM. I am seeking current solution to do this when needed so I can suggest and develop better solution. What is the manual way to use negative contributions for refunds as according to me this situation could have occurred several times.

Similarly, how are partial payments handled now with work-arounds?

Refunds and partial payments are two different things.

Currently for refunds the work-around is to edit the contribution (possibly associated with membership or event ticket purchase) and set amount received to zero (for a full refund).

For partial payments, there was a release of back office functionality in 4.5 for events ie staff could enter partial payments but the gereal public could not. I suppose one work-around for not having this available to the public is setting up a contribution page for a lesser amount, then having staff manually record the partial payments each time they come in against the event purchase, and cancel the contribution. Similarly, for a membership, a separate Contribution page could be set up to receive these payments which could be manually cancelled after a payment for a similar amount has been created manually.


(Solved) CiviEvent mandatory key missing error Drupal 7, Civi 5.12:
On submitting a live event booking I receive the following error:
Mandatory key(s) missing from params array: one of (activity_name, activity_type_id, activity_label)

The booking does update in Civi (both event and contribution) but the confirmation email and invoice do not get sent.

Any ideas please?

As Jon said, its difficult to say. But its certainly because of com.pesc.sparkpost extension. I believe the extensions is creating activity of type 'Transactional Email' which either missing of disabled.

Troubleshoot:
Check under Administer >> Customize Data and Screens >> Activity types if you can see 'Transactional Email'.

If you can't then add new Activity type named 'Transactional Email'

If you can see then

Check if its enabled.
Check the machine name for that activity type
either in database or using api explorer using params shown in screenshot (civicrm/api). If you dont get result then create a new one.

Thanks
Pradeep


If my website in in WP, can i install CiviCRM in drupal? Our NP site is made with WP, i did install Civicrm but wasnt a fan of how it looked, i learned there is a theme but its only for the drupal version.
I installed drupal as a subdomain and was planning to install Civicrm. Is there any reason to have CRM on the same CMS?

Welcome! What Masswear says is not right. You can have your website in wordpress and have CiviCRM in a Drupal installation.
You can the connect your wordpress site to civicrm with a plugin called CiviMcRestFace. This plugin creates an api connection to civicrm. So you need an API key (of the civicrm user) and the site key.
When you want to send signup forms to civicrm you can then use Caldera Forms and Integration of CiviCRM Form Processor with Caldera forms. You then also need the Form Processor extension in CiviCRM.
I believe that the Contact Form 7 CiviCRM Integration plugin also works with CiviRestFace. But I am not sure about that what I do know is that it connect to an external CiviCRM
When you want to display data from your drupal CiviCRM installation you can use the wpDataTable plugin and the Data Source CiviCRM api for wpDataTable plugin to display data from a civicrm as a table on your word press pages. Eventually you can use the Data Processor extension in CiviCRM to create custom api's through the user interface.


Scheduled Follow Up activity after creating an event We wanted to create 2 reminders after creating events within civicrm.

The first is to automatically create a follow-up activity to a particular contact after an event has been create ie pay invoice etc

The second is to automatically send an email to a particular contact X amount of days before the event date and the email to have event tokens like amount of participants etc.

I'm struggling to find ways to do this within CiviCRM or via extensions or modules like CiviRules or the Civi Rules / Civi Entity modules.

Does anyone have any suggestions?

You don't mention your CMS, but if you find CiviRules cannot be coerced in to doing your bidding, then if you are on Drupal and add CiviCRM Entity in to the mix, then you can build Drupal Rules which may provide a sidestep solution.


avoiding tracking of some links The doc's give this example: "you may wish to avoid tracking who has clicked on the "how to deal with drug issues" link on a specific mailing".

Is there a way of specifying which link(s) are not to be tracked? If so, how?

This is only a per mailing basis: you can track all the emails in one link or none.

However, a workaround might be to add a token as a parameter you do not want to be tracked. eg:

Not tracked link

So here we put the contact hash, that is not going to mean anything and is not a private information, and you put it after the #, so the browser will not send it to the webserver and won't be in the server log. And because civimail does not track links with token, you should be good.

Let me know if it works for you.

X+


Can I add a timeline to a Case programatically? Is it possible to Add a predefined Timeline to a Case from a hook, via API or otherwise?  That is, duplicate the effect of a user clicking the "Add Timeline" button in a case?

You can base it on the code found in CRM/Case/Form/CaseView.php. You'll need to adjust references to $this, etc.

  $session            = CRM_Core_Session::singleton();
  $this->_uid         = $session->get('userID');
  $xmlProcessor       = new CRM_Case_XMLProcessor_Process();
  $xmlProcessorParams = array(
    'clientID' => $this->_contactID,
    'creatorID' => $this->_uid,
    'standardTimeline' => 0,
    'activity_date_time' => date('YmdHis'),
    'caseID' => $this->_caseID,
    'caseType' => $this->_caseType,
    'activitySetName' => $params['timeline_id'],
  );
  $xmlProcessor->run($this->_caseType, $xmlProcessorParams);
  $reports = $xmlProcessor->get($this->_caseType, 'ActivitySets');

  CRM_Core_Session::setStatus(ts('Activities from the %1 activity set have been added to this case.',
      array(1 => $reports[$params['timeline_id']])
  ), ts('Done'), 'success');


Rounding differences between Contribution and Bookkeeping reports I am using Drupal 7.66 and CiviCRM 5.10.4. There is a small difference between the total of a Contribution report and a Bookkeeping report using the same filters and therefore intended to produce an identical result. However under certain circumstances there are small rounding errors between the two reports.

Take the following example. A payment of $155.00 is paid via a payment gateway in three monthly instalments. The first instalment is $51.68 and shown in the contribution report correctly (as an aside the next two payments will be $51.66).

However in the Bookkeeping report the first payment is shown as $51.67 which is the rounded up value of $155.00 divided by three which gives $51.66 recurring. In the following month the contribution report will no doubt show the payment to be $51.66 and the Bookkeeping report will display $51.67.

This error also finds its way into the Extended Reports extension. I realise that this is not a big issue but it would be nice if the reports displayed identical totals.

This looks like an error. The bookkeeping report is based on records in two different tables than the contribution report. From this report it seems the algorithm for ensuring the series sums to the proper figure used by contributions by having one value different is not properly setting the financial line item values. IIRC there have been some recent changes in this area. Please open an issue at https://lab.civicrm.org/dev/financial/issues and assign it to me.


I've got 100% discount, PayPal and the register button does not show for civiEvent, how do I get it to show? CiviCRM 5.26.2
Ominpay version of PayPal payments
CiviDiscount
We apply the 100% discount code and the payment form is hidden. There is no register button.
Using the browser inspection tool, there is inline script that always hides the buttons. I can't see this in the CiviCRM source code am unsure where it comes from.
CRM.$(function($) {
  $('.crm-submit-buttons', $('#billing-payment-block').closest('form')).hide();
});

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

This is what we did to get the payment buttons to display when the payment value is $0.
The logic is borrowed from CiviDiscount
CiviDiscount apply button refreshes the page, there are 2 processes

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

The conditions to show the buttons are

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

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

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

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

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

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

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

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

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

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

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

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

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

});


Lost database on civicrm I have been working on my membership database on civicrm for the last 4 years and since March I have not been able to access it.
I normally type this on google https://hlpacivicrm.esptest.co.uk/cms/wp-admin
and I get a prompt to put username and password but I get an unrecognised message at the moment.

Seems to be getting certificate errors that lead back to https://espprojects.co.uk
Have you tried contacting your provider who runs this as it looks like it could have been set up as a test site and contract didn't renew in April maybe?
Bari


CiviCRM for political campaign We have a custom application which has been used in to election cycles.  We are thinking of converting to the CiviCRM platform.  Can CiviCRM be configured to run a political campaign?

Yes. CiviCRM can manage

fundraising
volunteer management
phone banking
door knocking
Get Out The Vote
event management (think fundraising events, or getting folk for a door-knocking bash).

As per my comment above though, what really matters is what you need to achieve your political goals.


Meaningless error report when importing multi-value custom fields I'm trying to import some multi-value custom field and I am getting what is clearly a badly formed error message. I've eliminated most of my errors by careful perusal of my import data and correcting a couple of typos. But I can't find the last one.

It gives me a link to an error CSV to export (like normal contact import) but it contains what looks like code to me. This is what it gives me in 2x6 cells of the CSV. There is also a bit of html showing as text (line break and "warning" in bold, but I can't workout how to show these in SE)

Warning:  Declaration of CRM_Custom_Import_Parser::run($fileName  $separator  &$mapper    $skipColumnHeader = false

What does this mean???

Note that the documentation calls it multi-value, but the tag I have found is multi-record which describes it better.

It means the custom import inherits some code from the contact import, but in a way that isn't strictly valid (the parameters for the run() method are different than the parent). It would need fixing in core, and looks non-trivial, but it's a warning so the import should still run. Does it still run properly?


Can't get Cron to run on WordPress CiviCRM via Dreamhost - am I doing it right? Could anyone with more knowledge let me know if I'm doing this setup right.
I am on a Dreamhost VPS server.

What I'm trying to do is setup a Cron so the Automatic Schedules/Reminder in our installation of CiviCRM will run..

Cron job via Panel on Dreamhost:

/usr/local/php56/bin/php /home/VPSHOMEDIR/civicrmcron.php

In civicrmcron.php file:

<?php
job.execute;

Do I need to add anything else to the civicrmcron.php file or is this the right way to get cron to run on CiviCRM?

See the SysAdmin guide section on scheduled jobs for details of how to set up cron jobs.

For WordPress I use the wp method with a wrapper script:

#!/bin/sh
wp=/path/to/wp       # Path to the wp executable eg /home/X/private/bin/wp
url=https://mysite   # URL of your site eg https://example.org
base=/path/to/wphome # Path to the wordpress installation eg /home/X/www/www

out=`$wp --user=cron --url=$url --path=$base civicrm api job.execute auth=0 2>&1`

if echo $out | grep -qv '\[is_error\] => 0'; then echo $out; fi

Save the wrapper script somewhere, edit the wp, url and base settings, set up a cron user in WP with appropriate permissions, add a cron entry to call this file. Cron suppresses blank output so you only get a mail if something goes wrong.


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

This feature makes sense, but doesn't currently exist.  However, I created an issue in the CiviCRM issue tracker for this exact feature.
I have a client who wants this, but I think they're going to run out of money before we can do it unfortunately.
The good news is that they DID fund the biggest part of this - until two months ago, the self-service cancel/transfer code was only accessible from the self-service/cancel page.  They funded me to move the code to a central location.  In the next couple of weeks, I intend to clean this code up further, at which point it should be under an hour's work to add self-service transfer/cancellation links to the user dashboard.


CIVICRM respecte t'il la RGPD? Le règlement no 2016/679, dit règlement général sur la protection des données (RGPD, ou GDPR, de l'anglais General Data Protection Regulation) est applicable en France depuis le 25 Mai 2018 (normalement).

Nous avons des clients qui nous demandent la confirmation que CIVICRM respecte les règles de la RGPD.

1) Savez vous si c'est OK ou pas pour CIVICRM ?

2) Y a t'il un document qui en parle ?

Merci pour votre aide

Bonne journée

bien cordialement

Pierre COCHAT
Makoa

English translation:

Regulation No. 2016/679, known as the General Data Protection Regulation (GDPR, or GDPR, from the English General Data Protection Regulation) has been applicable in France since May 25, 2018 (normally).

We have customers who ask us for confirmation that CIVICRM respects the rules of the GDPR.

1) Do you know if it's OK or not for CIVICRM?

2) Is there a document that talks about it?

Thanks for your help

Have a good day

Best regards

Pierre COCHAT Makoa

Bienvenue sur Stack Exchange, avez-vous vérifié l'extension GDPR qui permet à vos bases de données CiviCRM de suivre les directives GDPR?

Vous pouvez l'installer via la page CiviCRM Extension Manager ou via ce lien - https://civicrm.org/extensions/gdpr

Welcome to Stack Exchange, have you checked out the GDPR extension which enables your CiviCRM databases to follow GDPR guidelines?

You can install this through the CiviCRM Extension Manager page or through this link - https://civicrm.org/extensions/gdpr


amount for working hours of volunteer on an event I need to know how many hours a volunteer works for us. Is this possible to set up using events?

Here's how I have configured CiviCRM:

a volunteer is a contact and has a relationship with our company
this volunteer is an event participant with the role Project Staff.

I don't have the CiviVolunteer extension.

Without CiviVolunteer, you can add a numeric custom field for participants and call it volunteer hours.  When you register the participant for the event, or by editing it later, you can record those hours in the field.

You will still need to have a way to total up the hours if you want to say something like, "Dave volunteered 20 hours at events this year."  You'll need to build a custom report or at the very least export participants and sum the values in a spreadsheet.

CiviVolunteer was really envisioned with your sort of situation in mind, so you might consider downloading it.


Different membership receipts for 'New' and 'Active' members We send our donors once a year an email and ask them to become members. The email contains a link with a contact checksum that directly leads them to a contribution page, where they can select their membership and do the payments.

And our existing members we send a similar email and ask them to renew.

Both pages generate an email receipt using the template Memberships - Receipt (on-line) Is it possible to make a difference between the new and the already active members?

The CiviCRM version is 4.7.26.

In the smarty template the variable $mem_status is assigned. So it can be used to insert different text fragments in the template. Here is an example in code.

 {if $mem_status eq 'New'}
 Hello, you seem to be new so this is the text fragment for new members.
 {else}
 Welcome back - not new - so here is an active member text fragment.
 {/if}


How do I pass custom field values in CiviReport urls? For example, I have a membership report /civicrm/report/instance/103 and I want to filter to only show rows where the value of a custom field with id of 65 is 'abc'

http://example.org/civicrm/report/instance/103?reset=1&force=1&custom_65_value=abc should do it.

Note that you can also pass an operator to define the type of filtering you want to do, In this case, for example, adding &custom_65_op=has means that the filter would be 'custom field 65 contains the string 'abc'.

Right clicking on the relevant field in the report and then choosing inspect will open up a window where you can find the appropriate values for different operations.


How do you change default rows per page? I want to change the default from 50 to 100. Where would I do that.

I'm not sure you can in the UI, but you can edit CRM/Utils/Pager.php and change the ROWCOUNT constant near the top.


API for update an address I'm testing the API in order to update some addressee informations (eg. the street_number) using the API Explore page.
In any test:

CRM.api3('Address', 'replace', {
  "id": 204,
  "street_number": 556
}).done(function(result) {
  // do something
});

or

CRM.api3('Address', 'replace', {
  "contact_id": 202,
  "location_type_id": "Casa",
  "street_number_suffix": 556
}).done(function(result) {
  // do something
});

I obtain the following result:

{

    "is_error": 1,
    "error_message": "Mandatory key(s) missing from params array: values"
}

How can I set the key?

@Zeno when you have create option you don't have to look for replace

please use create key word to create new or to update the record if record exist

$result = civicrm_api3('Address', 'create', array(
  'sequential' => 1,
  'contact_id' => 202,
  'location_type_id' => "Work",
  'street_address' => "test",
  'street_number_suffix' => 506,
));

Please try the above - This will work


Is it possible to copy a profile? I created a 'Membership Info' profile but now realise that, because I have diferent membership types with different qualifications, the information I need to collect will not be completely the same. Can I copy the existing profile and edit the copies to make a different version for each membership type? (Instead of recreating the whole thing from scratch each time).

Yes you can copy a Profile: when on the screen that lists the profiles on your site -> on the very right -> click more -> and select Copy Profile


Does the email address always have to be in the donation section on a Contribution Form? I tried to add an email address in the "Name and Address" profile, hoping it would remove the email address from up in the donation amounts area (keeping all the contact info in one section). Instead it deleted the email address field from the "Name and Address" profile.

Can I move that email address down somehow?

For contribution forms yes. For event registration pages, the code has been modified to detect if an email address is being recorded in the profile and if so to remove it.

Might be easiest to take a look at the event registration code and see if you can port the relevant code to the contribution side of things


Civirules send email Hopefully I am just missing something.
I use CiviCRM Version 5.18.4 for WordPress, and I am not a programmer.

I read about CiviRules, and in the documentation, (https://docs.civicrm.org/civirules/en/latest/basic-example-immediate-processing/) the very first,simplest, most basic rule demonstrated uses the action "Send email".  So I install CiviRules, and try to do just that.  Get to "List of actions..." and no "Send email."

Suddenly, I have to be a developer, to ADD the "Send email" action?  And when I look for help here I am led into a maze of suggestions about mgd.php files and adding hook directories and editing tables of the CiviCRM database.

Hey, I just want to send an email to folks when they sign up as contacts.  Do I really need to reinvent this?  Thanks for helping me understand.

You need to also install another extension which is mentioned lower down on the introduction page: https://docs.civicrm.org/civirules/en/latest/#other-useful-extensions-and-modules

You need the Email API: https://civicrm.org/extensions/e-mail-api


What is the public flag for on custom Field sets? What is the public flag for on custom Field sets?
It seems that even if a field is marked as public, it will not show up for anonymous users on a profile unless I give anonymous users the "access all custom data" permission.
What is the public flag for?

From https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/#is-this-custom-field-set-public

  Is this Custom Field Set public?
  If a custom field set is marked as public, its fields will be shown on public-facing pages.

  For example, custom fields that should be shown on an event information page should belong to a field set marked as public. Custom fields that relate to administrative information about an event should be part of a field set that is not be marked as public.

  Note that the setting is at the Custom Field Set level and applies to all Custom Fields in the Set. Individual fields cannot be marked as public or not.


Search for Individuals with Employee Relationship for Organisations with Certain Criteria We have a custom organisation option field showing the "Membership Type". I want to do a search (create a smartgroup) to find all individuals with a relationship "Employee of" for organisations that have specific membership types. So for example, I wish to find all employees of organisations with a membership type of "Current". Can anyone show me how I can achieve this? I do not want to use Drupal views.

Try using existing search forms.

Search >> Advance Search

Search >> Search Builder

Other option would be to create a smart group having organization contact with specific membership type and then use advance search to search employee of with target contacts in group.

HTH
Pradeep


utfmb4 conversion gone wrong - Some columns in the databse have utf8mb4_general_ci others utf8mb4_unicode_ci causing and Illegal mix of collations I've recently run utf8mb conversion (through API explorer) on civi 5.28. Everything seemed OK, but now whenever I try to access events dashboard I get Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) db error. And indeed when run the sql query to count columns by collations I get:
|2 | utf8mb4_bin|
|159 | utf8mb4_general_ci|
|692 | utf8mb4_unicode_ci|
|24 | utf8_general_ci|
|4 | utf8_unicode_ci|

The following query
show variables like 'collat%';

gives me
collation_connection    utf8mb4_unicode_ci
collation_database  utf8mb4_unicode_ci
collation_server    latin1_swedish_ci

Why are some columns utf8mb4_general_ci and others utf8mb4_unicode_ci? How to I resolve this?

@mattwire helped me on chat.civicrm.org to identify the problem.
It was caused by the drupal script I used to convert drupal tables (to the wrong collation), and that script included the tables from civicrm which were listed in the drupal settings.php
I've rerun the civicrm api conversion and the drupal script properly and now everything works.


Civi Rules to send an email I am trying to use Civi Rules to send me an email anytime someone donates over a certain dollar amount. Is thre a way to do this? I tried to add the activity type of send mail, but I keep getting this error message.

Fatal error:  Out of memory (allocated 116391936) (tried to allocate 16384 bytes) in /home/lifelight/www/www/sites/default/files/civicrm/templates_c/en_US/%%40/40D/40D353E1%%fatal.tpl.php on line 5

Yes you should be able to do this by specifying the amount, the period when that occured and then setting an Activity as assigned to you, which should itself then send you the email you require.

The templates_c error is unrelated to CiviRules specifically and suggests you should endeavour to truncate the en_US folder.

EDIT: Adding comment from Jon G that you need to "have the Email API extension installed ... to send emails using CiviRules"


Upgrade db failed for 5:29 I can't upgrade my database schema, I encounter error:
Found CiviCRM database version 5.29.alpha1.upgrade.
Found CiviCRM code version 5.29.0.
Cannot begin upgrade: The database indicates that an incomplete upgrade is pending. If you would like to resume, use --retry or --skip.
Retry or skip parameters doesn't change anything. How can I fix this db problem? I've tried some of the fix suggestions mostly about caches, from previous versions. Not helped.
It runs on Drupal8. Turns out the first problem occurs with:
Dropping SQL triggers...
Preparing upgrade...
Executing upgrade...
.......Error executing task: %s
[PEAR_Exception]
DB Error: no such table

When I had a similar problem under WordPress moving from 5.25 to 5.28 I discovered that the database couldn't manage the update while logging was enabled. Try disabling it (CiviCRM->Administer->System Settings->Logging) and trying again. You may need to return to a backup first.


How to find not valid email accounts? I have CiviCRM 4.4.2. When I send mailings to fictitious email addresses, CiviCRM doesn't return any error. In the report, everything looks fine (100% successful deliveries).

It is important to clean all the emails that are no valid anymore.

Any idea?

Thank you!

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

Bounce Handling

Setting Up the Return Channel


DB Error: constraint violation when I try to add profiles to contribution page I cannot seem to enable profiles on contribution pages. There are no drop-down menus for including profiles, and when I try to type in an existing profile, I get a page with "DB: error: constraint violation."  What am I missing? (I am using CiviCRM 4.6.3 on Wordpress 4.2.2.)

Update: Here is a screenshot of the page:

Update:Here is the error/backtrace:

Database Error Code: Cannot add or update a child row: a foreign key constraint fails (rpwrhsor_civicrm.civicrm_uf_join, CONSTRAINT FK_civicrm_uf_join_uf_group_id FOREIGN KEY (uf_group_id) REFERENCES civicrm_uf_group (id)), 1452
Additional Details:
Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            1 => handle
        )

[code] => -3
[message] => DB Error: constraint violation
[mode] => 16
[debug_info] => INSERT INTO civicrm_uf_join (is_active , module , entity_table , entity_id , weight , uf_group_id ) VALUES ( 1 , 'CiviContribute' , 'civicrm_contribution_page' ,  3 ,  2 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`rpwrhsor_civicrm`.`civicrm_uf_join`, CONSTRAINT `FK_civicrm_uf_join_uf_group_id` FOREIGN KEY (`uf_group_id`) REFERENCES `civicrm_uf_group` (`id`))]
[type] => DB_Error
[user_info] => INSERT INTO civicrm_uf_join (is_active , module , entity_table , entity_id , weight , uf_group_id ) VALUES ( 1 , 'CiviContribute' , 'civicrm_contribution_page' ,  3 ,  2 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`rpwrhsor_civicrm`.`civicrm_uf_join`, CONSTRAINT `FK_civicrm_uf_join_uf_group_id` FOREIGN KEY (`uf_group_id`) REFERENCES `civicrm_uf_group` (`id`))]
[to_string] => [db_error: message="DB Error: constraint violation" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_uf_join (is_active , module , entity_table , entity_id , weight , uf_group_id ) VALUES ( 1 , 'CiviContribute' , 'civicrm_contribution_page' ,  3 ,  2 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`rpwrhsor_civicrm`.`civicrm_uf_join`, CONSTRAINT `FK_civicrm_uf_join_uf_group_id` FOREIGN KEY (`uf_group_id`) REFERENCES `civicrm_uf_group` (`id`))]"]

)

Can you compare your screen with this page:

http://wp46.demo.civicrm.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/contribute/custom&reset=1&action=update&id=2

(you will need to login as demo / demo)

I suspect its not the same, and most likely there are some javascript errors occuring on your site. You should check the js console when you load the page
Seems like the values submitted (i.e. a 0 for uf_group_id) is not expected and hence u get the mysql error


Drupal User ID Token In civicrm contact summary we see Contact ID / User ID, where User ID refers to the drupal. I will need to customize a token for this User Id which I am supposed to use in civimail. Here in this link https://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens ,drupal username can be fetched. But I need it for Drupal Id. Please suggest.

The example calls $result = civicrm_api('UFMatch', 'get', $params); to get the Drupal user id that it passes to user_load() to get the rest of the  user info.

If you just want the id then it is the value being passed to user_load():

$result['values'][0]['uf_id'])


Which payment processor to use for the new 'Paypal checkout'? A while ago there was a announcement that CiviCRM now offers "PayPal Checkout".

Which payment processor should we be using to utilise Paypal checkout?

In the list of Paypal payment processors on the latest version of CiviCRM the options provided are:

Paypal express
Paypal Website payments pro
Paypal Website payments standard

Ideally i'm looking for the simplest setup to remove PCI compliance responsibility.

You need to install Omnipay extension to use Paypal checkout payment processor.


browser session expired = unable to complete event form I am using WP 5.4.2 - PHP 7.2 - CiviCRM 5.27.3 - the Plugin lite-speed 3.2.4 is activated.
UAT has raised this issue : "the browser session has expired you are unable to complete the event form subscription"
I see those post :
All Contribution pages result in "Your browser session has expired" "Could not find a valid session key"
Intermittent "Your browser session has expired and we are unable to complete your form submission" errors
And I understand the root cause is  "cache management". Yes: if I delete cache on the host-admin  the form is now available to the end.
Someone said the solution is :

Based on further investigation and discussion this seems to have been related to the WP Super Cache "Don’t cache pages with GET parameters. (?x=y at the end of a url)" setting being disabled.

But I don't understand if the fix is to be done :

on WordPress = modify WP Super Cache
on Lite-speed plugin = desactivate it
on the Host = ?

BR Hervé

thank you for your answer.
Yes I am using "WP Cleaner URL's":
-the starting page seen in civicrm-admin is: /event/info/?reset=1&id=2
page1= http://migrationccb.esy.es/2020/08/03/la-6eme-edition-des-vallees-breuilletoise-se-prepare/?civiwp=CiviCRM&q=civicrm%2Fevent%2Fregister&cid=0&reset=1&id=2
page2= http://migrationccb.esy.es/2020/08/03/la-6eme-edition-des-vallees-breuilletoise-se-prepare/?civiwp=CiviCRM&q=civicrm%2Fevent%2Fregister&_qf_Confirm_display=true&qfKey=4e151fc03d552da26b4ccef7fa052d83_8032
page3= http://migrationccb.esy.es/2020/08/03/la-6eme-edition-des-vallees-breuilletoise-se-prepare/?civiwp=CiviCRM&q=civicrm%2Fevent%2Fregister&_qf_ThankYou_display=true&qfKey=4e151fc03d552da26b4ccef7fa052d83_8032
The website is hosting by Hostinger that advice to activate LiteSpeed from his admin-page: it is LiteSpeed Cache 3.3 with defaut settings.
As a first step I decided now to

un-activate "Mettre en cache les utilisateurs connectés"
un-activate "Server stale"
set "shedule purge time" at 00:01

Thank you for suggestions


member login; view & pay pledges I run an organization that takes pledges from members. I am looking for software that would allow members to login to their accounts; view past and outstanding pledges and pay online for any money that is owed. Does CiviCRM do this? Thank you for any assistance that you can offer.

CiviPledges can be set up so that
- a logged in contact can see their upcoming Pledges on their dashboard
- a contribution page can be set up as a self-service payments page

I set one up on the Drupal demo site so it should be there for a few hours before it flushes.

Dashboard is here

Setting up a pledge is here

The self-service payment is here but will only show if 'demo' contact has a pledge set up

If you need to add a Pledge to contact called 'demo' you can do so here

Hope that helps you.


Pausing a autorenewal membership with the current covid-19 situations and mandatory closures, we are investigating ways to 'pause' autorenewals. The idea being that members who have paid for part of this month's memberships will get the remaining days of the month for free when we reopen our facility.

What is the best way to achieve this? We use Stripe as the payment processor and monthly autorenewals.

thanks for the all the help we have gotten from this great community here.

In general, auto-recurring memberships are generated via an auto-recurring payment, whose mechanism depends on the payment processor, and most especially on whether the recurring payment schedule is managed by CiviCRM or the processor.

When the schedule is managed by CiviCRM, you have more direct control and could for example use some sql to just push forward the next scheduled contribution date one month (or so). You could also manually go in and edit each recurring schedule, updating the next scheduled contribution date. You'd also want to deal with the issue of the membership status - one way would be to extend the grace period, though mucking about with membership status rules can get you in weird trouble.

When the schedule is managed by the payment processor, as is the case with Stripe, (i.e. the payment processor will trigger the recurring payment according to a schedule stored on it's servers), then you'll need to depend on whether the payment processor extension gives you the ability to update that schedule. Based on one example I just looked at, that doesn't appear to be the case.

So you'd need to use the Stripe interface itself to make any changes to the schedules.


Upgraded php from 5.6.30 to 7.0.32, civicrm still gives PHP out of date error I upgraded php from 5.6.30-0+deb8u1 to 7.0.32-1~dotdeb+8.1 and civicrm is still giving me a php out of date error.

When I run php -v it says 7.0, but civicrm still thinks I'm on 5.6.

Do I need to purge php 5.6 if php -v tells me I upgraded to 7.0?

It depends on your hosting server.  It is usually possible to specify different PHP versions for command line (eg. php -v) and php that is used by your web server.  If you have no need for PHP 5.6 then I suggest you remove it and that trigger everything to use PHP 7.0.  Otherwise you'll need to look at your webserver/php configuration to make sure PHP 7.0 is selected as default.
Also, worth noting that PHP 7.0 is end of life soon, worth going to PHP 7.1 if available.


Is it possible to restrict view to certain case activities? We are currently evaluating CiviCRM 5.4.1 and CiviCase on Wordpress 4.9.8

One of the requirements is to limit access to certain activity types.

In simple words, some users are not allowed to view sensitive activity types.

So far I only found:

CiviCRM: view all activities
CiviCase: access all cases and activities
CiviCase: access my cases and activities

But we need to restrict access to activity type: Payment

Any way to accomplish that?

Yes - you can install the Activity Type ACL extension which will give you permissions on a per-activity type basis.


how to reinstall civicrm 4.6.4 in wordpress After dealing with a corrupted wordpress site and reinstalling wordpress, i re-enabled the civicrm plugin but did not re-install civicrm.

The backend seems to work fine except that widgets do not work and the Civicrm Page needs to be recreated.  I tried to re-save the Civicrm page in the CMS integration admin form. Also tried to run the installer /wp-admin/options-general.php?page=civicrm-install but get a message: You do not have sufficient permissions to access this page.

I suppose I could disable the civicrm plugin, wipe the database, install civicrm and overwrite the database but wondering if there is a more practical solution?

I'm not sure if there is a better answer but this is what I resorted to:

Clear Cache
Disable civicrm plugin
Delete /templates_c/ contents
Copy civicrm database to civicrm.sql using mysqldump and delete all tables (or drop / recreate database)
Move /civicrm/civicrm.settings.php tocivicrm.settings.tmp
Enable Civicrm Plugin
Run Civicrm install script http:///wp-admin/options-general.php?page=civicrm-install
Page Civicrm is created and I presume other civicrm install magic in wordpress
Disable civicrm plugin
Replace civicrm.setttings.php with civicrm.settings.tmp
Restore civicrm mysql dump (e.g. mysql civicrmdb < civicrm.sql)
Re-enable civicrm plugin


Activities pane on Manage Case page Does anyone know how to make the Case activities in the activities pane display in ascending order by default (earliest first)? At the moment, they appear in descending chronological order (latest first). I'm happy to do a bit of tweaking, if someone could point me in the right direction for finding the relevant file(s) to edit. Thank you.

OK, I found the answer*. The file is civicrm/templates/CRM/Case/Form/ActivityTab.tpl, and the display settings for the activity tab are in line 77. Change 'desc' to 'asc'.

In the same line, you can also change the default number of lines displayed (change to one of the preset values 25, 50 or 100).

The details of this answer refer to CiviCRM 4.7.3, Joomla version. Not sure if there may be a difference with other platforms.


Managing & reporting Loans or Microloans to org from individuals? Our organization accepts loans of $1000 or more from individuals and repays them incrementally with interest. What would it take to integrate the management, tracking and repayment of these loans with our existing WordPress-deployed CiviCRM system and data?

A few things to keep in mind:

Each loan should be tied to either an Individual or to an Organization
After our org (manually) accepts a loan offer, lender should be able to transfer funds to our merchant account via credit card or bank card
Payments (by check) to lender would be entered manually by user
Basic columns should include user_unique_id, Loan ID, Interest rate, Term, Creation date, Principle and Current balance
Each Loan ID should be tied to a record of payments that includes date, check number and any other transaction-specific data for each payment

Is anyone else using Civi to manage incoming loans, and if so, how're you doing this? Or, is anyone interested in developing a new extension (i.e. Loans Component)? What might that cost?

You can add Custom Contribution fields (on a per 'Contribution Type' if necessary) hence if you need fields that show Interest Rate etc you can do this via the UI.

I am unclear if you need the user_unique_id since the civi 'internal id' might do the required. Ditto for 'creation date' etc as these might be data that core civicrm handles anyway.


"Expected one Contribution but found 25" After upgrading from CiviCRM 4.6.24 to CiviCRM 4.7.18 on Drupal (7.52) we are getting the error "Expected one Contribution but found 25"  whenever registering for an event with an event page.

I have tested logged in, not logged in,  with and without price sets.

The transactions receiving this error are being created in CiviCRM and not using an API call like with Webform.

I am running Apache 2.4.25 with PHP 5.6.30.

The error details that I have in Drupal Watchdog is too long to post.

It does look like the API is called in the background anyway. That would make sense as it is the preferred way to communicate with the database. It does look like the API action 'getsingle' is used and it is receiving more than one. Can you explain a little more on which point you are getting the error?


What is causing default membership type error? On contribution page, I set "Membership One" as default membership, but then "Membership Two" is what shows up as default membership choice for public. I tried changing the default to other membership type, and it never "sets" as the correct membership I want defaulted but rather chooses another membership. It's like the membership type that is visible to public, is actually programmed as something else in Civicrm. Using WP.

How do I fix this?

Thank you!

I think the answer to this was that there was a bug whereby the 'weight' was being used in one situation, whereas the type ID was being used in the other. And this error only showed up if you had changed the 'weight' ie the order of your Membership Types.

To quote the ticket in JIRA

  In the contribution page edit form, the default is selected by membership_type_id. When the contribution form is displayed, it's using the weight of the membership type instead

This has now been fixed by the Fuzion Team.


How to migrate Raisers edge data to CiviCRM? We have large data in Raisers edge.We need to migrate Raisers edge data to CiviCRM.

How to migrate Raisers edge data to CiviCRM?

It is INCREDIBLY difficult to migrate data from Raiser's Edge.  You will definitely want to use an ETL tool, as suggested in another answer.

I have made my documentation available here.  I also have my Raiser's Edge to CiviCRM transforms available here.  There's also a video available here.


Add transaction to reopened batch How do I add a transaction to a reopened batch?  The batch is expecting 20 transactions and only has 19

Its a same procedure to assign transaction to reopen batch as of open batch by visiting the transactions list page of batch and then selecting and assigning transactions to batch. The number of items or total amount in batch doesn't matter and it does get updated automatically once a batch is closed. But some organization prefer to have exact count so that it matches with their accounting integration with Quickbooks or Great plains etc

Ref: https://docs.civicrm.org/user/en/latest/contributions/accounting-integration/

HTH

Pradeep


Multiple currencies in the report totals So I've just enabled another currency. For one event, two forms are available to sign up in either US$ or in CAD$.

In the reports, how will CiviCRM show the revenue totals ? Does it know the exchange rate from US$ to CAD$ ?

I am afraid that CiviCRM will not provide a lot of features out of the box for multi-currency use. Also, it does not know exchange rates (in fact it only stores the currency and one amount value - not both).

Searches and reports will usually not differentiate between the currencies and (depending on your requirements) you may have to invest quite some time to improve reports & usability.

We thought about doing a exchange rate extension at some point but it is not quite that easy (particularly as they are fluctuating, and may be different when a contribution is created, completed...).

However, apart from the lack of features in the UI, the "currency-information" is stored properly in the database and will allow you to base custom reports & functions on it e.g. using custom reports & searches, drupal views, Civisualize or custom reporting tools such as pentaho.


Search builder participants - relative start dates and event types I'm trying to setup a search that finds participants for:

a specified event type,
with events that have started within a
variety of time periods relative to today: I need to be able to find
events that have started within the last 3 months, 6 months, 9
months, 12, 15 months... etc. I have a fairly wide variety of time
periods I need to search.

This will be used to grant access to course materials relevant to various stages through a 3 year course.

But in search builder, I do not see an opportunity to search event types, nor to search date fields based on relative dates.

Are these two features possible in any of the search facilities?

Thanks!

You don't say what version of CiviCRM you're using, but I can do this using the Advanced Search function. Using this search I can filter by event types and use relative dates for the event start date. It's under the event panel when you're adding in your filters. This will give you a list of unique contacts that meet the criteria.

If you want to see all registrations (including each registration for people on more than one course) you can use the Find Participants search in the events menu.

Or you can also use the "display results as" feature in the advanced search if you want to build up your search with other non-event data. So you can filter on all criteria in the advanced search and then "display results as" participants to see the unique registrations.


Filter in report mixing is one of and is not one of Is there a way in any report to have more than one Tag or Group filter? For instance it would be useful to to create a report with filter is of "this tag" and is not of "this other tag".
Any idea?

You could use the include exclude custom search to get the data you've described. If you wanted to include only those in a report then probably you could create a smart group from the results and use that in the group of choice.


Recent 'git' seems to be missing CRM/Event/DAO folder First noticed on a Virtual Ubuntu system, now on Windows 7 - I used the 4.6 branch (git checkout upstream/4.6) and no folder was created for CRM/Event/DAO (and no Event.php, Participant.php, ParticipantPayment.php). Other folders (BAO, Form, Page, etc.) are created. Anyone else see this?

A git clone of the CiviCRM source tree is not a complete CiviCRM codebase.

Some CiviCRM code is autogenerated, via a script named GenCode.php

See Github for CiviCRM for full instructions.