# Question
Title: PayPal Receipts Showing a Pending (Incomplete Transaction)
The confirmation is returned from Paypal and the Thank You page is displayed, however the db still shows Incomplete Transaction, and confirmation email is not sent. I'm pretty sure this issue was introduced by an update in Feb 2016. Anyone found a resolution yet please? (Joomla 3.5.1 currently) Thank you

# Answer
> 1 votes
The guys on the core team have done a tremendous job in resolving this issue in v 4.7.13 - you can refer to the following JIRA ticket for details: https://issues.civicrm.org/jira/browse/CRM-18483

Hope this helps! Tamar

---
Tags: joomla, paypal, ipn
---


title: API to load Personal Campaign Pages

text:
# Question
Title: API to load Personal Campaign Pages
I've explored the APIs for CiviCRM 4.7.

I can't seem to find an entity for PCP or Personal Campaigns. Tried using the campaigns API but personal campaigns don't come up with it.

Does anyone know of the PCP API and have some sample code?

I've tried

```
$result = civicrm_api3('Campaign', 'get', array(
            'sequential' => 1,
           // "created_id" => $contactId,
        ));

```

# Answer
> 1 votes
There is an "unofficial" api for pcp from Jon: https://civicrm.stackexchange.com/a/3037/246

It would be super useful if you could contribute the needed tests and add it to the core. You know you want to ;)

# Answer
> 0 votes
Campaign is a different entity than PCP (it's part of civicampaign) so not the right one indeed

# Answer
> 0 votes
This feature has been added to version 4.6

https://docs.civicrm.org/user/en/4.6/contributions/personal-campaign-pages/

https://github.com/civicrm/civicrm-core/pull/9049

---
Tags: drupal, contacts, civicampaign, personal-campaign-pages
---


# Question
Title: What's best practice in terms of handling Gift Aid within CiviCRM
I'm just setting up the 3.0 beta Gift aid extension (https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid and https://civicrm.org/extensions/gift-aid-extension-uk), as provided by Compucorp (and for which many thanks) for CiviCRM 4.6.

However I'm a tad confused, because there's also the Gift Aid Online Submission extension from Veda Consulting (https://civicrm.org/extensions/uk-hmrc-online-gift-aid-submission). Studying the available documentation, neither extension appears to reference or make mention in any way of the other. I've a vague memory from CiviCon London a few years back that the online submission extension builds on the Compucorp extension by enabling straightforward submission direct to HMRC, but I'm not clear. Can anyone cast any light?

If I can get some clarity, through my own experience and that of other folks that have gone through this I'll be happy to write it up in a way that might be helpful to other users.

# Answer
> 1 votes
You are correct - the Veda extension is for submitting the Gift Aid application to HMRC and the Compucorp one does the rest. It's a shame this isn't better documented. Be careful of the version of the Compucorp one though, as I don't believe the one of the Civi extensions page works with 4.6 - get a working version from Git here

---
Tags: gift-aid-extension
---


# Question
Title: Cant Change “Accept profile submissions from external sites” to No
I'm getting two errors when logging into the Civi admin back-end. The first is

> Remote Profiles Enabled Warning: External profile support (aka "HTML Snippet" support) is enabled in \>system settings. This setting may be prone to abuse. If you must retain it, \>consider HTTP throttling or other protections.

The second is

> Notice: Undefined offset: 1 in \>/home/jgsny/public\_html/administrator/components/com\_civicrm/civicrm/CRM/Utils/\>\>check/Security.php on line 383

I navigate to system settings using the link in the error message which brings me to Misc settings page. The option "Accept profile submissions from external sites" is set to 'yes'. I change to 'no', save and return to the control panel, and the error message is gone. However, on next login the error is back and the setting has reverted to 'yes'

# Answer
> 1 votes
I'm guessing this is a 4.6 site based on the second error message? If upgrading isn't possible you could try something like updating the database directly:

```
UPDATE civicrm_setting SET value='i:0;' where name='remote_profile_submissions';

```

---
Tags: profile, joomla, error, html
---


# Question
Title: modify API request using searchmodule_civicrm_apiWrappers
I'm trying to change the CiviCRM API getquick search to support legal name, but without a core override. (To remove the need for hacks).

I have the following code:

```
            function searchmodule_civicrm_apiWrappers(&$wrappers, $apiRequest) {
              if ($apiRequest['entity'] == 'Contact' && $apiRequest['action'] == 'getquick') {
                $wrappers[] = new CRM_Utils_API_LegalSearchAPIWrapper();
              }
            }

```

And the following class:

```
            <?php

            require_once 'api/Wrapper.php';

            /**
             * Class CRM_Utils_API_LegalSearchAPIWrapper
             */
            class CRM_Utils_API_LegalSearchAPIWrapper implements API_Wrapper {

                /**
                 * @var CRM_Utils_API_ReloadOption
                 */
                private static $_singleton = NULL;

                /**
                 * @return CRM_Utils_API_ReloadOption
                 */
                public static function singleton() {
                    if (self::$_singleton === NULL) {
                        self::$_singleton = new CRM_Utils_API_LegalSearchAPIWrapper();
                    }
                    return self::$_singleton;
                }

                /**
                 * @inheritDoc
                 */
                public function fromApiInput($apiRequest) {
                    return $apiRequest;
                }

                /**
                 * @inheritDoc
                 */
                public function toApiOutput($apiRequest, $result) {

                    $name = json_decode($apiRequest);
                    $name = $name['params']['name'];

                    $result = civicrm_api3('Contact', 'get', array(
                        'debug' => 1,
                        'sequential' => 1,
                        'return' => "sort_name",
                        'legal_name' => array('LIKE' => "%$name%"),
                    ));

                    return $result;

                }

            }

```

The class executes, so no issues there, but I'm unsure how to append the query with a legal name attribute. When I write a seperate query for the API to return sort\_name, it generates a DB error in the API.

# Answer
Solved. It's easier to append the results, that modify the original query, which is long, verbose and complex.

```
                public function toApiOutput($apiRequest, $result) {

                 //  $result format
                 //
                 //   [id] => 12345
                 //   [sort_name] => Last, First
                 //   [email] => first.last@gmail.com
                 //   [data] => Last, First :: first.last@gmail.com

                    $search_term = @$apiRequest['params']['name'];

                    if (strlen($search_term) > 0) {

                        $additional_result = civicrm_api3('Contact', 'get', array(
                            'debug' => 1,
                            'sequential' => 1,
                            'return' => "sort_name, email",
                            'legal_name' => array('LIKE' => "%$search_term%"),
                        ));

                        // Increment count
                        $result['count'] += $additional_result['count'];

                        foreach ($additional_result['values'] as $key => $api_result) {

                            $result['values'][] = array(
                                'id' => $api_result['contact_id'],
                                'sort_name' => $api_result['sort_name'],
                                'email' => $api_result['email'],
                                'data' =>  "[L] " . $api_result['sort_name'] . " :: " . $api_result['email']
                            );
                        }
                    }

                    return $result;

                }

```
> 1 votes

# Answer
Have you tried your API call in the API Explorer first and does that not show any errors? That would be my first step, it would show if the problem is in the return...and I would also add a try/catch around your API call
> 0 votes

---
Tags: civicrm-entity, civicrm-home
---


# Question
Title: Is there an online store where I can buy CiviCRM stickers, t-shirts, books, etc? Should there be?
I'd like to buy CiviCRM stickers, CiviCon t-shirts, books about CiviCRM and other CiviCRM stuff.

Is there an online store where I can buy such things? If not, should CiviCRM.org create one?

Thanks for your thoughts!

# Answer
> 1 votes
I can buy the new, second edition of **Using CiviCRM**by Erik Hommel, Joe Murray and Brian Shaughnessy on Amazon.com .

CiviCRM.org could set up a store on **CafePress.com** to sell t-shirts, stickers and other stuff. I would buy some stuff that way.

---
Tags: amazon
---


title: Setting email reminders

text:
# Question
Title: Setting email reminders
I would like to be able to set email reminders for individual actions to be completed on a set date/time. Can I set these via customer records so that I receive an email reminder on the date I specify?

# Answer
You could use Scheduled Reminders (accessed via the Admin menu) to link an email reminder to an activity that you set up in the contact's record.

Or you could set up CiviCase to create a workflow if you want a series of connected actions/emails
> 1 votes

---
Tags: scheduled-reminders
---


title: How to download CiviCRM - no coding?

text:
# Question
Title: How to download CiviCRM - no coding?
How do I download and start using CiviCRM if I know no coding? Is it possible? Is there any easy step by step tutorial?

# Answer
> 4 votes
The simple answer is YES, it is possible to use CiviCRM without coding. You will need hosting and installation, and if you do not want to do that yourself either there are enough suggestions in the other answers. But I concur with William that you would best start with reading the user guide.

# Answer
> 2 votes
Check out CiviCRM on bitnami at https://bitnami.com/stack/civicrm . Start with a "cloud" version and go on from there.

Or, if you just want to try a running version of CiviCRM, go to the demo site at https://civicrm.org/demo .

# Answer
> 2 votes
CiviCRM is by its nature a technical system and requires some technical understanding (or the willingness to learn) to get started with it.

I would suggest that you start by reading the user guide.

Alternatively you could work with a CiviCRM partner and get them to set CiviCRM up for you. Some partners offer hosted CiviCRM systems that you can use without worrying about the technicalities of hosting it or setting it up.

---
Tags: installation, evaluating-civicrm
---


title: Adding to a specific group

text:
# Question
Title: Adding to a specific group
I am creating a wordpress based website with Civicrm. Now users can register by submitting a membership form and they will become member of a group called Free Members. FreeMembers can access a contribution form to make membership fee, after making the membership fee how can I include those members to a group named PaidMembers ? I am using CiviCRM 4.4 on Wordpress latest version.

# Answer
> 0 votes
There are several possibilities I think. I can think of two:

1. Use the membership status rules. If the membership is created initially I reckon they would get the status 'pending', which is then changed to 'new' (or 'current' depending on your setup) once they pay. You can use this in Smart Groups to distinguish between the two. More background in the user guide on memberships This is for 4.6, but the concepts have not changed dramatically from 4.4
2. Use the CiviRules extension to get what you want. There is a wiki explaining what CiviRules can do.

I would prefer the first option as I think you can manage this with core CiviCRM but it would require you to study and configure your membership statusses?

---
Tags: civicontribute
---


# Question
Title: How to perform searches with groups of OR statements joined by AND statements
Search Builder in CiviCRM allows groups of AND statements to be connected by OR statements, but not the other way around.

That is, I can perform a search like:

(X AND Y AND Z) OR (A AND B AND C)

but not:

(X OR Y OR Z) AND A AND B AND (C OR D).

If I want to do the latter, I have to rewrite the entire query for each of the elements in the OR statements. That gets pretty tedious pretty quickly.

My questions are:

1. Why is it like this?
2. Is there some way to search (within CiviCRM with all the benefits and options for search results) as per my second example?

Thanks, Lewis

# Answer
> 1 votes
The best way to do what you want is to :

* create a smart group for (X OR Y OR Z) using search builder
* create a smart group for (C OR D) using search builder
* use search builder to combine all the criteria using Contact -\> Group -\> '=' -\> (the group you have created)

I agree it's pretty tedious... but someone will have to re-work the search builder to allow the logic you want. It's not a simple task.

# Answer
> 1 votes
There are also Custom Searches which allow for AND / OR statements. Under the Search pull-down go to the last item "Custom Search".

# Answer
> 1 votes
As well as the excellent answers already given, I thought I'd introduce De Morgan's Laws.

In short, you can do everything you need to through the interface as is :)

There's also scope to rework it to use http://querybuilder.js.org/ if you've a need. It's more featureful.

# Answer
> 0 votes
Re your question "2.Is there some way to search (within CiviCRM with all the benefits and options for search results) as per my second example?"

check out the API Explorer - go to Support -\> Developer -\> API Explorer.

Not an ideal solution but it should work.

---
Tags: search-results, search-builder
---


title: Changed URL- and getting errors

text:
# Question
Title: Changed URL- and getting errors
I'd installed my WP like this: **www.original\_domain\_name.com/wordpress**. Now I've changed the index.php to call the installation under **www.original\_domain\_name.com** (i.e. so that it shows as a root URL) - no moving files/databases etc.. That works fine and e.g. CiviCRM profiles are being shown correctly under e.g. **www.original\_domain\_name.com/profile**

Second change - I've added a new domain name, and while everything displays fine when not invoking CiviCRM, I get following error when e.g. profiles are supposed to be displayed -\> e.g. **www.new\_domain\_name.com/profile**

```
Could not find the required contact id parameter (id=) for viewing a contact record with a Profile.

```

Is there anything I need to change to reference the new www.new\_domain\_name.com?

Cheers

# Answer
> 1 votes
Yes! Update the contents of your civicrm.settings.php file.

Then clear cache in CiviCRM.

Then clear your browser's cache.

\[But my gut tells me that that error is unrelated.\]

---
Tags: wordpress
---


# Question
Title: CiviCRM Contact,get with group - change in result format
*Where (which JIRA issue, if any) did this change in API behaviour come from, and was it documented/expected?*

The same `Contact,get` API call returns different results between 4.6 and 4.7.

IMO the new style is better, but I'm not sure the change was intended/documented. (I want clarification so I can expect the new behaviour to stick!)

I've confirmed this behaviour today by testing on the 4.6 (Joomla) and 4.7 (Drupal) demo sites.

API call for `Contact,get` with `return=group` shows groups in the results.

```
civicrm_api3('Contact', 'get', array(
  'sequential' => 1,
  'return' => "group",
  'id' => 3,
));

```

In 4.6 the result has groups shown by their group "title" (not name). Since group titles may contain a comma, there is some lack of certainty in the results (leading to workarounds like this).

```
[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => 'Example group,Example smart group',
      'id' => '3',
    ]
  ]
]

```

In 4.7 the result has groups shown by their group ID, which is a bit more predictable to work with.

```
[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => '4,7',
      'id' => '3',
    ]
  ]
]

```

I've checked the CiviCRM API Changelog and enquired on chat.civicrm.org without any luck so far. Help me, SE!

# Answer
This is not an answer to your question, but were I to post it as a comment the whole thing would be on one line/unreadable. It seems to me that the most desirable format is:

```
[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => array(4, 7),
      'id' => '3',
    ]
  ]
]

```

... or even:

```
[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => array('Example group', 'Example smart group'),
      'group_ids' => array(4, 7),
      'id' => '3',
    ]
  ]
]

```
> 1 votes

---
Tags: api, documentation
---


title: Remove events from webform when full?

text:
# Question
Title: Remove events from webform when full?
I've looked about but to no avail - hopefully one of you fine people know the answer!

I have a webform with a user-select list for event registration. I would like the events to disappear from the list when they're full. Does anyone know how to make it happen?

I do have the 'show remaining space in events' popup at the top on, so that registrants can see the capacity, but it'd be more user-friendly to have full events removed from the select list.

Many thanks!

# Answer
It strikes me that this is something which (if you're a coder) could be done via a webform hook, or even better, by modifying the code to do it (should be a simple-ish change to add as an option). This is a good idea for a feature - so why not suggest it at issues.civicrm.org?
> 1 votes

---
Tags: webform-civicrm
---


title: Name Badge Date Format

text:
# Question
Title: Name Badge Date Format
In CiviCrm 4.7 Drupal I created a new Name Badge Layout which includes Event End Date. The site language is Italian, so I need the date to be printed as "15 Ottobre 2016", but it comes out as "Ottobre 15th", which does not make any sense.

Where can I change this setting? I looked everywhere but it seems to be hardcoded somewhere and I can't it.

Many thanks.

# Answer
> 1 votes
Ok, I found it.

In CRM/Badge/BAO/Badge.php around line 101 it says:

```
// hack to fix date field display format
if (strpos($element, '_date')) {
  $value = CRM_Utils_Date::customFormat($value, "%B %E%f");
}

```

So I just re-hacked the hack and replaced "%B %E%f" with "%e %B %Y".

---
Tags: civievent, localisation, pdf, dates
---


# Question
Title: How to show the City (Location) of Events in Event Lists using Drupal Views
We need to show a list of upcoming events on our website. For this I have installed and integrated the Drupal Views module. The Events List in Views works like a charm except for one thing. We would also like to display the city of the Location where each Events is being held in the list. Unfortunately I can not find this field when clicking the Add field button in the Views create Display page. How to go about? Am I missing something?

Many thanks for your kind attention.

# Answer
> 3 votes
The location of an event is stored as a CiviCRM Address field, not as a field on the event. As such, it won't show up if you are filtering fields for CiviCRM Event in the Add fields dialog. Remove the filter, or filter on CiviCRM Address instead, and relevant fields should show up. Here is a screenshot for adding a field in CiviCRM 4.7 on Drupal 7 on one of our sites:

Similarly, any custom event fields you have will appear under the field grouping under CiviCRM Custom.

Note that not every address field is populated when you add an event address, but the city should certainly be one of them.

---
Tags: civievent, drupal, drupal-views, location
---


# Question
Title: Quickbooks Merchant Services Payment Processor extension
Anybody know if the Intuit Quickbooks Merchant Services Payment Processor extension is still in the works?

https://forum.civicrm.org/index.php?topic=15856.0

or if this will work with civi 4.6x, I see it's been used on 4.X as recently as 2015.

Is the Intuit processor active/functional?

thanks.

# Answer
> 1 votes
I am curious if anyone knows if this extension mentioned here: Is the Intuit processor active/functional? is still working now that Quickbooks changed to the Quickbooks Merchant Services.

Any help thoughts would be appreciated.

---
Tags: civievent, civicontribute, payment-processor, recurring-contributions
---


title: Merging memberships issue

text:
# Question
Title: Merging memberships issue
When I merge two contact together and each contact has a membership, I need to tick the 'add new' box to keep both memberships. Otherwise one of the memberships is deleted.

However one membership reads Member since 01/01/2000. Membership Ends 01/01/2016.

The other membership reads Member Since 01/01/2016. Membership Ends 01/01/2017.

Now clearly its a renewal so I want just one membership that reads Member since 01/01/2000. Membership Ends 01/01/2017.

How can I do this without manually changing one membership and manually deleting the other.

The merge membership deletes one membership but does not amend the membership to the new dates.

Many thanks,

Andy CIVICRM 4.5.8 Drupal

# Answer
AFAIK, CiviCRM can’t do this natively, as you can see in that question. I’m facing the same problem, I will *try* to solve it by doing an extension.

## Update (2017-11-20)

I’ve started to work on a patch for CiviCRM. The work-in-progress PR is available here. Comments are welcome ;)

Olivier;
> 1 votes

---
Tags: civimember, duplicate-contacts
---


# Question
Title: Would it be feasible to store the fact that a scheduled reminder has been sent, without storing the content of the email?
Our DB is larger than we would like. Just two tables, activity and log\_activity make up more than 25% of the DB size.

We send secheduled reminders for memberships and to potential new members who have visited our booth at expos. We want an activity that records an email was sent, but we don't need to store the content of the emails in the activity, just the subject is enough. We removed the content of the emails on our staging site and the tables dropped to about 30% of the original size.

At the moment when creating a scheduled reminder there is a tick box for "Record activity for automated email". Would it be appropriate and feasible to have another tick box to indicate whether or not the content of the email should be stored in the activity? (Probably for some schedule reminders of, say, payments owing storing the content of the email on each activity would be desirable.

Am I right in thinking this should be tackled via an extension?

# Answer
> 1 votes
A variation that might be easier is put whatever you did to test removing the content into a script and run it daily via cron. I'm assuming you did something like

UPDATE civicrm\_activity set details='' WHERE (something)

---
Tags: extension, activities, scheduled-reminders
---


# Question
Title: Initialization Error when going to Civi CRM dashboard and adding pages/posts
I've had Civi CRM integrated in my website for a couple years no with no issues. However recently I've not been able to update any pages or posts or even go into the Civi CRM dashboard. All that shows is this error:

```
Initialization Error

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

    [code] => -26
    [message] => DB Error: insufficient permissions
    [mode] => 16
    [debug_info] =>  [nativecode=1044 ** Access denied for user 'rcboa171_civicrm'@'localhost' to database 'rcboa171_saveskahapark_civicrm']
    [type] => DB_Error
    [user_info] =>  [nativecode=1044 ** Access denied for user 'rcboa171_civicrm'@'localhost' to database 'rcboa171_saveskahapark_civicrm']
    [to_string] => [db_error: message="DB Error: insufficient permissions" code=-26 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [nativecode=1044 ** Access denied for user 'rcboa171_civicrm'@'localhost' to database 'rcboa171_saveskahapark_civicrm']"]
)

```

Although my pages view fine from the front end and I can upload media.

Has anyone seen this before? Why would this be happening now? I haven't done any updates to my database or touched/changed anything in the last few months as it's pretty big site and I'm worried about updating the plugin or cms.

Any advice would be appreciated!

# Answer
It looks like CiviCRM is unable to access the CiviCRM database. This is often separate from the content management system database (i.e. the database for WordPress, Drupal or Joomla). This means that you may be able to access and log in to your website, but not access CiviCRM.

I'm not sure why this has happened in your case but I would suggest that you check your hosting package and see if there have been any changes to the databases or database users. You should also check that the database settings in your CiviCRM settings file are correct.
> 1 votes

---
Tags: database
---


# Question
Title: Joomla PayPal standard IPN configuration - Pending (Incomplete Transaction)
What should the IPN be for a Joomla site

Joomla 3.6.2 Civicrm 4.7.11

PayPal standard transactgion are sticking as pending. The documentation states that the IPN should just be http://www.domain.com/ however this no longer works.

CRM-18483 has been logged about this issue. However it appears to be down to the IPN settings. What should they be???? Anyone got an example that is working?

http://*domain*/administrator/components/com\_civicrm/civicrm/extern/ipn.php

...doesn't work.

# Answer
> 1 votes
Take a look at this thread:

Paypal payments - Pending (Incomplete Transaction)

Every time we upgrade CiviCRM I have to overwrite ipn.php with a version from 4.4 to get Paypal payments working again.

---
Tags: civicontribute, joomla, paypal
---


title: Contact Form 7 API plugin

text:
# Question
Title: Contact Form 7 API plugin
Trying to do a contact form in WordPress, and failing on tiny little things. A Profile using the Notes field sends an e-mail that always attaches only the first Note on a record. Creating a custom field, the field gets overwritten every time a new form is filled out by the contact. The Contact Form 7 API plugin seems promising as I can get it to e-mail everyone, including a CiviCRM processing account, and include it as a note. However, then I can't get it to update/fill in other fields on the contact record. Documentation is a little weak, as it was a custom created plugin for a specific purpose and then released with the hopes that somebody would find it useful and take off with it. Has anyone got it working to "create or update" a contact and add an activity? The API call seems to point only towards doing one thing from a form and not being able to handle an either/or situation.

CiviCRM 4.7, Wordpress

# Answer
Yes, we did with the Contact Form 7 API (which we created for a specific customer as you mentioned :-))

The Contact Form 7 API submits the form data with an API WpCivi Submit with a form type which links to the class that is called in CiviCRM. You can find the CiviCRM part of the customer extension we created here, hope that helps you on your way!
> 1 votes

---
Tags: wordpress, api, forms, plugin
---


title: Bulk sms is changing my URL

text:
# Question
Title: Bulk sms is changing my URL
When I send out a bulk sms with an URL, the URL is changed before it is sent out.

Original message in template:

* Hi John! Check out this link: wikipedia.org/somethingfunny

Received message on phone:

How to make CiviCRM not change this?

# Answer
> 0 votes
You could schedule a bulk sms mailing (not send immediately), and then go into the database and change two values.

In the table civicrm\_mailing, set the value 0 (from 1) on the fields url\_tracking and open\_tracking

Then you could send (or wait until the scheduled time is met)

# Answer
> 2 votes
My preferred solution is to use this extension (which should be 4.4 compatible) rather than manually digging around the database. Hope that helps!

https://github.com/PalanteJon/coop.palantetech.nosmsurltracking

# Answer
> 0 votes
Disable tracking!

Need to add another 13 chars to sub answer...

---
Tags: sms, civisms
---


# Question
Title: When switching to CiviCRM from another system, what do I need to consider?
We are currently using a different software for managing members, fees and donations and now considering to move to CiviCRM because it is easier to for multiple people to work on the data.

What are general things we should consider before switching to CiviCRM?

What are important steps or best practices for a migration from a different system to CiviCRM?

# Answer
> 5 votes
# Migrating Existing Data

Migrating data (and processes) from a previously used (CRM) system is not a routine task. It will probably involve discussions, how existing workflows can be represented in CiviCRM - or what might even be changed.

Data can be imported into CiviCRM in the csv format. There is a field for "External Identifier" in the CiviCRM database that can save the connection to the identifiers of records in the old system.

# General Aspects to Consider

There are a number of different aspects to consider. The CiviCRM User Guide actual provides a lot of good information about this.

## Cost

see What is the price of CiviCRM?

CiviCRM is open-source and therefore itself available for free but you will need to pay hosting it on a server. Also, if you're not a techie you may need to pay for an expert for installation and support.

## Hosting

see CiviCRM User Guide: Hosting

If you take care of administering the system yourself on a webserver it will be cheap. If you lack the technical expertise and need a stable system, consider getting a complete hosted CiviCRM system from a provider.

## Change Management

see CiviCRM User Guide: Transitioning to CiviCRM

Don't forget to get the people from your organisation on board with your plans.

---
Tags: evaluating-civicrm
---


# Question
Title: Installation Issue - Database Triggers not allowed by hosting provider
After spending 3 months configuring and testing CiviCRM on a locally hosted/internal server (and being suitably impressed), I attempted to install onto our website which is hosted with GoDaddy.

I kept running into an error that prevented CiviCRM from installing being that I am unable to install triggers on the DB due to permissions in a shared server environment.

I appear to have 2 options: 1 - fork out more $$$ to get a dedicated server or VPS. Not possible.

2 - Move from GoDaddy to HostGator who claim to allow triggers. "We can enable trigger privileges for your database, simply contact us via phone or Live Chat with the database, database user, and the tables that you require the permissions on."

Can anyone provide a list of tables that require the trigger permissions added please?

Or provide an alternate hosting solution/suggestion, noting that the organisation is a Not For Profit based in Nepal and not able to spend much money on a solution.

Thanks, Joe.

# Answer
> 2 votes
The tables that use triggers are: `civicrm_contact`, `civicrm_address`, `civicrm_phone`, `civicrm_email`, `civicrm_im`, and `civicrm_phone`. Additionally, if you turn on advanced logging, all tables have triggers. The Summary Fields extension also creates triggers.

The "core" triggers are mainly used for updating the `modified_date`, though they also generate a value for a hidden numeric-only phone field (used for SMS etc.).

In all though - I would NOT use GoDaddy for hosting. CiviCRM uses far more resources than a brochureware WordPress site. While I hear your concerns about cost, there's plenty of VPS services that cost the same as GoDaddy hosting - assuming you or someone else is willing to manage the server. I use Linode, whose $10/month plan will give you far better performance than any shared hosting out there. There's equivalent plans from smaller VPS providers too.

---
Tags: database, installation, mysql
---


# Question
Title: How do I email a report automatically oh the 1st day of each month?
I want to sent multiple reports (group membership lists) to different individuals (the co-ordinator of each group) on the 1st day of each month. Scheduled jobs only allows hourly or daily mailing (not monthly) so I believe I may have to use CiviRules, but can I trigger a rule for a specific day of the month? We use Civi with Drupal.

# Answer
> 5 votes
Ramesh's comment is correct. The best overall solution is most likely to upgrade to CiviCRM 4.7, which adds a "Monthly" option.

If upgrading is not an option and you're on CiviCRM 4.6, you can install the Flexible Jobs extension to get this functionality.

---
Tags: drupal, user
---


# Question
Title: Contribution page not displaying when member is logged into site
The contribution page displays just fine when the member is NOT logged in to my site. I have Joomla 3.6.0 and CiviCRM 4.6.19. However, when the member is logged in, the contribution page does not display and instead the link throws you back to the homepage. Since the page is open to the public, I can't see where this problem is coming from.

# Answer
> 1 votes
Have you checked the permissions in CiviCRM?

If, say, profiles are set to be viewable only by Guest and are included on that page, then it would only be viewable if not logged in.

---
Tags: civicontribute, joomla
---


# Question
Title: After server migration, cannot add contacts
Joomla vers 3.51 CiviCRM Vers 4.7.6

I´ve done a migration to a dedicated server. I did the copy of files and database with Akeeba Backup, then edited the usual files: /administrator/components/com\_civicrm/civicrm.settings.php /components/com\_civicrm/civicrm.settings.php /administrator/components/com\_civicrm/civicrm/civicrm.config.php /media/civicrm/ConfigAndLog/Config.IDS.ini

I opened civicrm, cleaned all cache, and checked all settings.

Everything seemed to work ok: menus, contact browsing, mailing browsing, but when adding a new contact, there is an error (at the end of this message).

I did a copy in a test subdirectory, deleted all civi tables, uninstalled civicrm and did a clean installation of the same civicrm version. Now I can add contacts without errors, all is ok.

Civicrm settings files are identical (besides the test subdirectory) between both installantions, so this is not the problem.

Any sugestions to find and resolve this problem?

```
#0 /var/www/clients/client562/web1961/web/administrator/components/com_civicrm/civicrm/CRM/Core/Error.php(182): CRM_Core_Error::backtrace()
#1 [internal function](): CRM_Core_Error::handle(Object(DB_Error))
#2 /var/www/clients/client562/web1961/web/administrator/components/com_civicrm/civicrm/packages/PEAR.php(931): call_user_func((Array:2), Object(DB_Error))
#3 /var/www/clients/client562/web1961/web/administrator/components/com_civicrm/civicrm/packages/DB.php(976): PEAR_Error->PEAR_Error("DB Error: unknown error", -1, 16, (Array:2), "INSERT INTO civicrm_contact (contact_type , contact_sub_type , do_not_email ,...")
#4 /var/www/clients/client562/web1961/web/administrator/components/com_civicrm/civicrm/packages/PEAR.php(564): DB_Error->DB_Error(-1, 16, (Array:2), "INSERT INTO civicrm_contact (contact_type , contact_sub_type , do_not_email ,...")

```

Any sugestions to find and resolve this problem?

# Answer
Have you tried deleting everything in media/civicrm/ConfigAndLog and templates\_c?
> 1 votes

---
Tags: joomla, database
---


# Question
Title: CiviCRM on Joomla or WordPress? Any recommendations?
Does anyone have a recommendation for choosing Joomla or WordPress as the framework to run CiviCRM? Or some high-level pros and cons for a CiviCRM newbie? I'm less experienced with Drupal so I'd prefer not to go that route.

Any help would be much appreciated.

Thanks!

# Answer
The integration with Drupal is still the best. WordPress is slowly catching up, but not there yet. Joomla has the least integration.

So if you have the choice between Joomla and WordPress, go WordPress.
> 5 votes

# Answer
I think it really depends on what your needs are for the site - we run CiviCRM on both Joomla and Wordpress because of the CMS needs. If you have a site that will need a lot of ACL, Joomla is better and more of a workhorse CMS. Wordpress has come a long way and is a good mid-weight CMS with good support.
> 2 votes

# Answer
I'd say it depends on what you need to use both the CMS and the CRM for.

Joomla-Civi doesn't have the equivalent Drupal's Civi WebForms integration - so if you want to get, say, event or profile data out of Civi and have full control over styling to integrate that with your site's content views, there is no existing extension to do that. I think there is a CiviCRM Gravity Forms integration for Wordpress.

If you're just using Civi to take payments, newsletter signups, sell memberships, or have standard Civi events/profile pages, then that will work fine with either CMS, ie go with the CMS that best suits your needs. Certainly Joomla Civi upgrades are quick (unless something has gone wrong with the install) and for access control, such as selling Membership to access certain parts of your website is straightforward on Joomla with the CiviAuthenticate plugin.
> 2 votes

---
Tags: wordpress, joomla
---


# Question
Title: CiviMail/Cron Fails using BeeFree template
Interesting situation... we use BeeFree to compose responsive emails, however they are failing to send, resulting in a scheduled/sent email as "running". We use EasyCron to trigger the scheduled jobs, however when using a BeeFree template, only the starting job is visible in the log, hence we see:

> Entity: Job Action: process\_mailing Summary Starting execution of Mailings scheduler Details Parameters parsed (and passed to API method): a:1:{s:7:"version";i:3;} Full message: Starting execution of Mailings scheduler

But we never see the "finished execution" message. I suspect this is why the status of the emailing is perpetually set to "running". If we try to then trigger the cron via the URL, the result is an internal server error 500.

Here's where it's interesting... if we compose a new HTML email and just drop some text in there, along with the require tokens, everything works perfectly. If we review the cron logs provided by EasyCron we see that the only difference between the successful and failed jobs (in the logs) is that the successful job log has this additional line:

> X-Proxy-Cache: BYPASS

The log of the failed job does not have this line. I know this is probably way out there as far as an issue, however any insight into this would be great. We're running CiviCRM 4.7.11

# Answer
> 2 votes
I think this might be related to the `CSS` brackets `{}` in the `<style></style>` tag a the top of your email source code, and/or Smarty enabled in CiviMail.

Removing entirely the `style` tag should fix the issue.

I think BeeFree already does inline styling, so it should not affect the formatting of the email.

---
Tags: civimail
---


title: Import contributions without name

text:
# Question
Title: Import contributions without name
Previously I could import contributions without name (contact ID was enough).

I no longer have this option. It now demands first and last names.

Is there a workaround? My raw data often has variations of the name and I want to keep my original.

Lal

# Answer
> 2 votes
By default, CiviCRM requires at least one of email, first name, or last name. You can change this at Contacts \> Find and Merge Duplicate Contacts, creating a new rule and setting it for usage when unsupervised, or, more appropriately, by selecting it as the Dedupe Rule when importing at Contacts \> Import Contacts. Beware of setting the rule to identify duplicates too loosely, as you will end up with lots of duplicates in your database. This is a complicated, tricky area...good luck.

---
Tags: civicontribute, import, fields
---


# Question
Title: Unable to browse images on the CKEditor in the admin area
When I try to browse and upload images on the CKEditor in the admin area I get the error below. Can someone give me a clue? See the screenshot. WordPress 4.6.1, CiviCRM 4.7.9

```
Fatal error: Uncaught exception 'Exception' with message 'Failed to locate civicrm.settings.php. Please boot with settingsFile, search, or CIVICRM_SETTINGS; or normalize your directory structure.' in /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/civicrm.config.php:125 Stack trace:
#0 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/civicrm.config.php(415): Civi\Cv\Bootstrap->boot() #1 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/packages/kcfinder/integration/civicrm.php(45): require_once('/nas/content/st...')
#2 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/packages/kcfinder/integration/civicrm.php(140): checkAuthentication()
#3 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/packages/kcfinder/core/bootstrap.php(39): require('/nas/content/st...')
#4 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/packages/kcfinder/browse.php(15): require('/nas/content/st...')
#5 {main} thrown in /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/civicrm.config.php on line 125

```

# Answer
Have you looked to see if your civicrm.settings.php file is still in-tact? See if it is there and then make sure it has the correct permissions. In Drupal sites, it lives in sites/default/civicrm.settings.php.

Edit: In Wordpress sites, it should be in /wp-content/plugins/civicrm/civicrm.settings.php
> 1 votes

---
Tags: wordpress, civievent, ckeditor, kcfinder
---


# Question
Title: Automatically sync new Wordpress registrant to CiviCRM Contact
We are in the process of switching a database of several thousand contacts to CiviCRM. We have a legacy Wordpress site, so we have CiviCRM nicely integrated in. We are about to go live. We don't want to force ALL our existing contacts to become Wordpress users, but as they renew memberships, give donations, sign up for events, we want to give them the option to register as a Wordpress user (Subscriber - we currently have 0 Wordpress Subscribers and a handful of WP Administrators). We are only requiring email and password to register. How do I get the new registrant to automatically either (1) become a new contact if the email is not in the CiviCRM contacts or; (2) simply assign the login to the right CiviCRM contact when the email matches? We can register new Wordpress users and run "Synchronize Users to Contacts" which works as desired, but we don't want to run the manual step. When they register the first time on Wordpress, we want the Contact relationship established immediately, so that they will be logged in and then can do the kinds of things we want our CiviCRM members and donors to do online.

Thanks for any help - we're pretty new at CiviCRM, really like it, but are still coming up to speed.

# Answer
> 1 votes
CiviCRM does this by default. Every time a new user signs up for a Wordpress account on your site it will create a CiviCRM contact record automatically.

---
Tags: wordpress, contacts, user
---


title: MailGun through WordPress

text:
# Question
Title: MailGun through WordPress
I am trying to use the MailGun extntion by teamsinger in WordPress ( Civicrm 4.7.11 )

https://github.com/teamsinger/uk.teamsinger.civicrm.mailgun

The main issue I am facing is the webhooks back.

The documentation gives the path https://www.example.com/civicrm/mailgun/bounce

Which may well be appropriate for Drupal but not for WordPress.

The code seems to create a page for the hook.

Accessing that page manually

https://www.example.com/?page=CiviCRM&q=civicrm%2Fmailgun%2Fdrop&reset=1

I can see that it is being reached via

https://www.example.com/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fmailgun%2Fdrop&reset=1

(as it is giving the correct validation failure generated by the code )

The issue is I need MailGun to reach that page and Mailgun is not logged in of course and

https://www.example.com/?page=CiviCRM&q=civicrm%2Fmailgun%2Fdrop&reset=1

returns with "Sorry, no content matched your criteria." response

I have turned off all plugins except CiviCRM & turned off permalinks and given "Master control for access to the main CiviCRM backend and API" to annoymous

All to no avail?

Any ideas?

# Answer
> 3 votes
OK Solved

The URL should be

https://www.example.com/civicrm/?page=CiviCRM&q=civicrm%2Fmailgun%2Fdrop&reset=1

AND permalinks must be turned on.

Annoymous access is not required (it seems) for this extension

---
Tags: wordpress
---


# Question
Title: Can we add an approval process/queue to emails sent through CiviCRM?
We're a fairly large NGO that is trying to consolidate and control emails to major gift donors (VIPs). We have an accounting department and a student sponsorship department that produce different content for VIPs. We'd like all emails to be consolidated through the major gift department, who can then act as personal assistants to the VIPs.

Currently we can be reactive, viewing Activities previously sent. Our boss wants us to add our own email addresses into VIP contacts, meaning all emails will be sent into our inboxes to curate when we can, and we can forward on the emails to the VIPs.

We were hoping for a different solution, like some sort of workflow approval queue that we could check when necessary. The sponsorship team sends a bulk mail to all sponsors, but it's not sent to VIPs until we go through the list and click "yes, yes, no, yes".

We've experimented with placing "Hold" on VIPs, but it means the content from the bulk mail (with tokens and media) is never created, necessitating manual creation.

CiviMail and emails sent through CiviCRM are different; is it possible to have such a 'quality assurance' queue for both?

(as an aside, is there any way to add a large visual indicator or something to a contact's page informing database users that 'this contact is a VIP'?)

# Answer
> 1 votes
I'd recommend a different concept - maintain a VIP group and then exclude those group members when you're creating a group to send the mail to (use custom search "Add/Remove Group").

The reasons are: 1) No further development required! 2) If you have to approve each bulk email they receive, they may receive a lot of emails at once. It effectively bypasses any frequency control your staff are producing for the main members.

---
Tags: civimail, drupal, email, workflow, donations
---


title: How can I preview a contribution page

text:
# Question
Title: How can I preview a contribution page
I am creating a number of different contribution pages for membership levels and I find it confusing without being able to preview a contribution page to see if I have it configured correctly. I am using CiviCRM in Joomla 3.6

# Answer
> 2 votes
Hi Paul and Welcome to CiviCRM StackExchange.

You can preview a contribution page like this:

1. In the Navigation click on "Contribution" --\> "Manage Contribution Pages"
2. You will find a list of contribution pages and on the right side "Links" which has "Live contribution page" (creating actual payments) and "Test Drive" (creating test contributions BUT real contacts)

Click on the link you want to use. To see the page as a visitor would, open the link in a private window of the browser.

---
Tags: contribution-page
---


# Question
Title: Updating an option value with drush cvapi
I'm suprised that it is so hard to update an option value in a certain group using our API.

I have been writing scripts as follows:

1. get option group id where option group name = X (save as OptionGroupIDX)
2. get option value id where option value name = Y and option group id = OptionGroupIDX =(save as OptionValueIDY)
3. update OptionValueIDY title to Z

I'd like to be able to write scripts that look more like:

1. update the option value X in option group Y to value Z

The real world shell script I'm using at the minute is as follows:

```
OPTION_GROUP_ID=`drush cvapi OptionGroup.getvalue return=id name=from_email_address`
OPTION_VALUE_ID=`drush cvapi OptionValue.getvalue return=id option_group_id=$OPTION_GROUP_ID`
drush cvapi OptionValue.create id=$OPTION_VALUE_ID label='"Fixed" <info@fixed.org>'

```

Anyone able to help me get it closer to a one liner? Would be awesome if so because patterns like this seem to come up a fair amount when I'm working with the API. Would chaining help here?

# Answer
In Civi 4.6+, you can use pseudoconstants instead of IDs in many places - including for `option_group_id`. Civi 4.7 expands the number of places you can use it.

So you can get this down to 2 lines by replacing the first two with:

```
OPTION_VALUE_ID=`drush cvapi OptionValue.getvalue return=id option_group_id=from_email_address`.

```

Here's the trick: If the API Explorer allows you to select the value from a select list, that means that pseudoconstant substitution is available on that field.

Unfortunately, I don't think you're going to get this down to one API call. `create` requires an ID; you're just not going to get the ID without a `get` call.

EDIT: It MAY be possible to get this down to one line! See "options.match" and "options.match-mandatory" on this page.
> 2 votes

# Answer
Looks like a case for API chaining. This or something like it *should* work:

```
drush cvapi OptionValue.getvalue return=id option_group_id=from_email_address \
    api.OptionValue.create={label:'"Fixed" <info@fixed.org>'}

```

Unfortunately, API chaining via drush does not appear to work. Thanks to @noah-miller for pointing that out. I tried chaining via cli.php and that doesn't appear to work either. It seems not to register the *api.Entity.action* parameter at all (which makes me optimistic it is not a difficult fix).

Jon's suggestion could be combined with what you already have to put it on one line, though the readability of this code is questionable:

```
drush cvapi OptionValue.create id=`drush cvapi OptionValue.getvalue \
    return=id option_group_id=from_email_address` label='"Fixed" <info@fixed.org>'

```
> 2 votes

---
Tags: api, cli
---


# Question
Title: Is it possible to limit access to field through ACL or drupal permissions?
We want to create a user that has read only access to the civicrm database. However, we only want the user to have access to specific info and not for others. For example, the user can only view name, address, and email, and not anything else (like phone or birthday).

I think it can be done for custom fields (through groups) but can this be done for the builtin fields without involving lots of coding/programming?

Thanks!

# Answer
> 1 votes
One option with Drupal for this sort of scenario is to actually keep your 'read only' users completely out of CiviCRM and deliver whatever they might need through Drupal Views, and if necessary, Webforms (for making updates to data)

---
Tags: drupal, acl
---


# Question
Title: Search for address of person contacts through current employeer
I'm looking for a way to search for contacts for which we have an address of their current employeer on record. How do I do that?

I often find myself in this situation, wanting to find contacts based on the fields of an other contact, one relation "distant". Is there a simple way to do these searches or is that always a programmed "Custom Search"?

As a bonus question, we tend to not add address information on the person, but keep that on the organizations. But it seems CiviCRM is built for "single contact" handling, rather than relation-based searches. Is there a way to handle this in a practical way?

# Answer
At the top of extended search you can chose the type of result to search for. There's an entry like "Relationship to contact". Take this one and select 'Employee' relationship below. Your search input now applies to your organizations but the displayed results will be their employees.
> 2 votes

---
Tags: search, relationships
---


# Question
Title: Batch edit one contact field (source) with same information
I have over 50,000 contacts that I would like to batch-edit with the same contact "source" information. What is the best way to do this?

# Answer
> 2 votes
Personally I'd write a tiny php script but you could use the api explorer under `civicrm/api`:

1. Chose entity contact and action get
2. Add your search criteria
3. Add option "limit" to something high enough (Defaults to 25) or combine with option "offset"
4. Hit "chain api call"
5. Chose entity contact and action create
6. Enter json like "{source: 'your source'}"
7. Run

You could test it with one contact by adding it's id in the get criteria.

---
Tags: import, database, fields
---


title: Sending SMS on event registration

text:
# Question
Title: Sending SMS on event registration
We'd like to send an SMS with the event title, start time and info page to contacts who've been registered to attend an event.

Theoretically, we should be able to do this with scheduled reminders, but haven't been able to get that working. It is setup is as follows:

We've also looked at using CiviRules to send that out, but as that relies on setting up a message template, we weren't able to add in the event tokens that we'd need.

Is anyone able to give any insight on how to make this happen?

# Answer
Definitely use CiviRules. Why can't it use event tokens? If there's a specific shortcoming, why not log it with the team? I've a feeling some work may be done on it in the UK CiviSprint next week... ;)
> 2 votes

---
Tags: scheduled-reminders, civirules
---


# Question
Title: Column deductible_amount not getting filled in on table civicrm_line_item
We use price fields/line items for all of our contributions. I noticed that on the line\_item table the column deductible\_amount is not filling in. I checked and Price Fields do not seem to have an option for "Is Tax-deductible". Financial Types do have the check box.

My set up is Financial Types:

* Donation (tax-deductible is checked)
* Tuition
* Reimbursement

Line Items under Donation:

* General Fund
* Capital Improvement
* Staff Salaries
* Other \__________________

What do I do to have it fill in the tax-deductible amount in the line item table?

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

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

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

Hope this helps, Tamar

---
Tags: php, price-sets
---


# Question
Title: Is there a way to include OpenID as a drop down option in the contribution lis? or Is there a way to convert OpenID to external identifier?
When I imported contacts, I listed their identification number as OpenID. Now, I am trying up import the contacts' contributions. Along with their name, amount, date of donation, I am including their OpenID.....yet, the drop down options in the import contributions does not include OpenID...therefore, the import will not function.

a) Is there a way to include OpenID as a drop down option in the contribution list? if not... b) Is there a way to convert OpenID to external identifier?

Thank you!

# Answer
a) Is there a way to include OpenID as a drop down option in the contribution list?

If you created a custom data field called "OpenID", you need to make sure the field can be used for contributions and that it is marked as searchable for it to appear in the list of fields when mapping contributions for import,

**BUT**

if memory serves me correctly, the system will require either an internal or external contact ID when importing contributions, so...

b) Is there a way to convert OpenID to external identifier?

Since you already imported the contacts, you can export all contacts being sure to include the OpenID and internal contact ID fields, then the update can be done in one of three ways - which ever you find easiest:

1. Use the import contacts wizard to update all contacts mapping the OpenID to the external contact ID field using the internal ID as the link, **OR**
2. Use a vlookup in csv to match the internal contact ID to the OpenID in your contribution data import file, and then import your contributions based on the internal contact ID, **OR**
3. Use an SQL statement that will copy the OpenID to the external contact ID field by contact ID directly in the database

Hope this helps, Tamar
> 1 votes

---
Tags: import, contributions
---


# Question
Title: How to create a drupal 'contact me' link where the user is a contact reference field of Contact B in a civi relationship
I have an organisation with members across many institutions around Australia and each institution will have one of those members as a contact for that institution.

On each institution's landing page on my site, I want to display a 'contact me' link for the designated contact person for that institution.

The data for both the institution and individual are held in CiviCRM, although the individual contacts are users in Drupal as well.

The way I have structured the data is to have the institution contact person be a custom contact reference field in CiviCRM that is attached to the Organisation contact type.

On my institution landing pages, created with a Drupal view, I can display the organisation data from Civi, including the institution contact person, and, using a CiviCRM relationship (B to A), list the members who are at that institution.

However, what I cannot figure out is how to link the institution contact person to their Drupal ID, so as to be able to rewrite the output of that field and link their name to a Drupal contact form.

I can link the list of members to Drupal ID's because they are Contact A of the CiviCRM relationship, but the institution contact person (who is also in the list of members, of course) is a field of Contact B, which does not have a Drupal ID.

\[EDIT\] A more concise way to describe the problem. I have a view based on the relationship between an organisation and its members. One field of the organisation is a contact reference.

I want to:

1. Display fields from the organisation
2. Display a list of members of the organisation
3. Link the contact reference field of the organisation to its Drupal user

I have managed 1. and 2.

I presume that the question related to 3. above is how do I access the full contact record (including Drupal ID) of the contact in the contact reference field when the view is based on a different CiviCRM contact, namely the organisation?\[\EDIT\]

Questions:

1. Is there a way to solve Point 3 above with relationships and filters in views the way I have the data structured, and, if so, how?
2. Is there a better way to structure the data, and, if so, how? For example, would it be better to create a CiviCRM relationship to define the contact person, e.g. "Contact person for"/"Our contact person", and then try to set up multiple relationships with the institution in Views to get the links right?

If 2, then some advice as to how to proceed with relationships would also be appreciated.

Thanks, Lewis

# Answer
> 1 votes
Okay. Answering my own question here. Not sure what the etiquette is, but felt like it just needed to be closed off.

I asked two questions above and I think now the answers are:

1. I don't know, but the odds seem stacked against this way of solving my problem.
2. Yes, there is a better way. Use CiviCRM relationships. In my case, I created a relationship called 'Campus contact' that I could use to extract the data I wanted within the View. That meant the View was dealing with two relationships, Members -\> Organisation and Campus contact -\> Organisation.

My inspiration came from petednz, in his post, referenced in my comment below (?), on daisy chains of relationships in views.

His post was specific to A-\>B-\>C arrangements, which wasn't precisely my problem. My arrangement is A-\>C and B-\>C.

Because of that difference, because petednz was giving a bare bones outline of the idea rather than a detailed account of the background and logic of it, and because my question title here won't be found by people trying to figure out relationship chains in views, I intend to ask and answer a separate question about my situation, so as to provide a resource for others more generally.

Will edit to include link in due course.

# Answer
> 1 votes
There may be a reason you want this as a 'drupal contact me' link but if you have the contact ID for the person you are wanting to be contactable in your View, then you should be able to provide a link to a webform with that cid1=x and therefore load that persons details in to the webform and use that as your 'contact me' option.

But to try and answer the other question, I would expect you to be able to add a 'drupal user' relationship to your existing relationships in the view, and set it to use the existing relationship that relates to the contact person

---
Tags: drupal-views, relationships
---


title: CiviCRM 4.7 contribution receipts

text:
# Question
Title: CiviCRM 4.7 contribution receipts
Prior to updating to CiviCRM 4.7 our customers received receipts that included:

* Membership fees with each item listed separately with a description and price.
* Transaction number
* Billing Name and Address
* Credit Card Information (only last four of credit card)

Also, the subject line used to reflect wether this was a receipt or an invoice.

After we installed 4.7 this information stopped displaying on the receipt. Issue here https://issues.civicrm.org/jira/browse/CRM-18027 CiviCRM 4.7.10, drupal 7.50

$contributeMode is being set to "notify" for credit card payments, which is why credit card information isn't being printed.

I'm trying to update the receipt template to work around this issue. Can someone explain if it's correct behaviour that $contributeMode is being set to "notify" for credit card payments, or is that a bug ? What does it mean ?

Is there a(nother) way to check, in the receipt template, if a payment is not only of $contributeMode 'notify' but specifically a credit card payment ? I read 'paymentMethod' is supposed to be set - who should be setting that ?

As far as I can see, the default receipt templates in 4.7.10 don't mention 'paymentMethod' anywhere. Should they, or do I have outdated templates ?

# Answer
This seems to have been worked on, here https://issues.civicrm.org/jira/browse/CRM-18027
> 0 votes

---
Tags: civicontribute, civimember, receipts
---


# Question
Title: CiviMail - KCFinder upload issues - "You must be logged in with proper permissions", Chrome only
We are having some issues being unable to upload images to CiviMail. This only seems to happen on Chrome (52 on OSX, but perhaps not exclusively), while the same user has no issues in Safari. Seems to affect some users all the time, but not others with similar setups, and other users intermittently.

These two messages are logged for user Anonymous (though the user is obviously logged in):

LOCATION https://secure.wildsight.ca/sites/secure.wildsight.ca/modules/civicrm/packages/kcfinder/upload.php?cms=civicrm&type=images&CKEditor=crmUiId\_1&CKEditorFuncNum=3&langCode=en REFERRER
MESSAGE $Fatal Error Details = Array ( \[message\] =\> You must be logged in with proper permissions to edit, add, or delete uploaded images. \[code\] =\> )

LOCATION https://secure.wildsight.ca/sites/secure.wildsight.ca/modules/civicrm/packages/kcfinder/upload.php?cms=civicrm&type=images&CKEditor=crmUiId\_1&CKEditorFuncNum=3&langCode=en REFERRER
MESSAGE $backTrace = #0 /var/www/civicrm/4.6/CRM/Core/Error.php(364): CRM\_Core\_Error::backtrace("backTrace", TRUE) #1 /var/www/civicrm/4.6/packages/kcfinder/integration/civicrm.php(68): CRM\_Core\_Error::fatal("You must be logged in with proper permissions to edit, add, or delete uploade...") #2 /var/www/civicrm/4.6/packages/kcfinder/integration/civicrm.php(140): checkAuthentication() #3 /var/www/civicrm/4.6/packages/kcfinder/core/bootstrap.php(39): require("/var/www/civicrm/4.6/packages/kcfinder/integration/civicrm.php") #4 /var/www/civicrm/4.6/packages/kcfinder/upload.php(15): require("/var/www/civicrm/4.6/packages/kcfinder/core/bootstrap.php") #5 {main}

Civi 4.6.18, Drupal 7.44

# Answer
I had the same problem in civicrm 4.6 drupal 7.50.

I made this patch to fix the issue, i hope that will be useful. https://github.com/rubofvil/civicrm-packages/commit/563a422384ae20cc0077225bebb748813fa6b22d.patch
> 2 votes

---
Tags: civimail, kcfinder
---


# Question
Title: Installing CiviCRM 4.7 in Drupal 7 can't match requirements
I'm trying to install CiviCRM 4.7.12 in Drupal7 but I'm unable to proceed with the CiviCrm Installer. Right at the top of the page (outside of the Installer box) I have this error:

> Warning: mysqli\_real\_escape\_string() expects parameter 1 to be mysqli, boolean given in ...\docroot\sites\all\modules\civicrm\install\index.php on line 1256

Which is this line: `$query = sprintf("CREATE DATABASE %s", mysqli_real_escape_string($conn, $database));`

After that I can't make the requeriments match, and because of this, I can't procced with the installation. Apart from the error: `Your database settings don't appear to be correct`, which seems to be default, according to the Installation guide documentation, I have this list of errors:

**CiviCRM Database Details**

> Are the access credentials correct? -\> That username/password doesn't work: Access denied for user 'civicrm'@'localhost' (using password: NO)
>
> Can I access/create the database? -\> I can't create new databases and the database 'civicrm' doesn't exist. (user 'civicrm' doesn't have CREATE DATABASE permissions.)
>
> Can I access/create InnoDB tables in the database? -\> Unable to create InnoDB tables. MySQL InnoDB support is required for CiviCRM but is either not available or not enabled in this MySQL database server. Could not determine if MySQL has InnoDB support. Assuming no.
>
> Can I create temporary tables in the database? -\> Could not login to the database.
>
> Can I create lock tables in the database? -\> Could not connect to the database server.
>
> Can I create triggers in the database? -\> Could not login to the database.

**Drupal Database Details**

> Are the access credentials correct? -\> That username/password doesn't work: Access denied for user 'drupal'@'localhost' (using password: NO)
>
> Can I access/create the database? -\> The database: 'drupal' does not exist.

I just started a blank Drupal instance and the only thing I'm trying to install is CiviCRM, I'm also following these steps, the only one o got a little confused was step 2.

Am I supposed to replace my settings.php with that line of code? Because mine just have this `$databases = array();` while the one on the guide is filled with information.

What am I doing wrong?

# Answer
The real issue is that your database credentials are invalid.

`Access denied for user 'civicrm'@'localhost' (using password: NO)`

`Access denied for user 'drupal'@'localhost' (using password: NO)`

Most likely the warning you are seeing is due to the connection object being FALSE as a result of not being able to connect, instead of a mysqli connection object.

`The database: 'drupal' does not exist.`

You should also at the very least create the `drupal` and `civicrm` databases you intend to use; Drupal and CiviCRM's installation will create all the necessary tables.
> 2 votes

---
Tags: installation
---


# Question
Title: Managing multiple CiviCRM relationships in a Drupal View: A case study for A->C plus B->C relationships
Here is the fruit of my journey so far with multiple CiviCRM relationships in Drupal Views.

My original question that sparked this question is here: How to create a drupal 'contact me' link where the user is a contact reference field of Contact B in a civi relationship

I wanted to create a landing page for each organisation where my gang has members, so I needed a single Drupal View that would do three things:

1. Display fields from an organisation (name, logo, motto, website, etc.)
2. Display a list of members of the organisation (photo, name, etc.)
3. Link a 'Campus contact' person for the organisation to its Drupal user, so that I could create a 'Contact me' link using the built in Drupal Contact module

With Point 3, the real issue is how to expose the fields of that 'Campus contact' person to the view, so that I could rewrite their name as a link like 'user/\[drupal\_id\]/contact' in order to open a contact form. That is, I needed the Drupal user ID of the Campus contact person.

The basic problem is how to expose the data from three different, but related, CiviCRM contacts in one view.

In my case, the arrangement of the relationships is A-\>C and B-\>C. I have two different contacts related to the same organisation each by a different relationship.

For a quick and dirty tutorial for handling a chain of relationships, like A-\>B-\>C, e.g. Parent-\>Child-\>School, see petednz's answer here: How to create a Drupal View with multiple CiviCRM relationships?

If you struggle to connect all those dots because of certain gaps in your understanding of how CiviCRM relationships work, either in Civi itself or in Views, then I recommend you come back to my answer here, as I intend to make the background and logic explicit, before following those instructions. Hopefully, with the information below, you will be able to customise your own views to suit your own specific needs.

Okay. Have to run. I will get around to the answer about 5 hours from now. Hold tight!

# Answer
> 7 votes
Here's my solution for achieving the three goals outlined in the question. I may edit this a bit as I find errors and where commenters declare confusion.

First, the caveats. Second, some info about relationships in CiviCRM. Third, building the view.

**Caveats**

1. I am writing this as a tutorial as if you are following along. Obviously you won't have the same data to work with, but this will work for any arrangement where you have multiple contacts who are related by the same relationship type to a single organisation and where that organisation is related to a third contact, e.g. a CEO, a secretary, a captain, a fundraiser, via a second relationship type, e.g. a sports team with players and a captain or a committee with members and a chairman or a company with employees and a CEO.
2. We will use a contextual filter in the view, but I am not explaining the guts of filters.
3. I'm sure there are modules other than Views required to make this work, CiviCRM integration modules at the very least, but I can't remember what they might be. If someone wants to track down all the modules that are being used here and edit this post, that would be brilliant.
4. I am also not going to get into formatting, but can later if people are interested.
5. I am showing you how to rewrite the results of a field to create your own custom link, but will not be going into detail. The rewriting feature is how you would create links to the organisation pages themselves from, say, a page where all the organisations are listed in a table, but I am not going to take you through how that would work.

**The CiviCRM relationship alphabet**

CiviCRM tracks relationships from two sides, Side A and Side B.

I am an 'Employee of' The University of New South Wales, Side A -\> Side B.

The University of New South Wales is the 'Employer of' me, Side B -\> Side A.

When you create a new relationship type in CiviCRM, you have the choice as to which side of the relationship is going to be A and which side B. For the relationship types that 'ship' with CiviCRM, the A side is the individual and the B side is the organisation or household, that is, the group.

You can see how it works at Administer-\>Customize Data and Screens-\>Relationship Types. Here's a snapshot of my set up. For the sake of the rest of this tutorial, note lines 2 and 5, 'Campus contact at' and 'Employee of'.

Individual (A) is 'Campus contact at' organisation (B), so this is a relationship starting from Contact A.

Organisation (B) 'has Campus contact' individual (A), so this is a relationship starting from Contact B.

While tedious in its repetition, this is the most important information to have firmly fixed in your head as you create your view.

Create whatever relationship types you need for your data structure and add relationships to contacts as required. I've created a few dummy contacts and will use a university where my mob don't have contacts in order to keep this anonymous.

**Create your view**

1. Create a new view - Show 'CiviCRM Contacts', 'Display format' doesn't really matter, but you want a list of 'Fields' of some description.
2. After saving the new view, open up the 'Advanced' column on the right hand side of the view display.
3. You will be adding several relationships and the order matters because context is king in views, i.e. one relationship creates a new context for the next, and knowing which B is related to which A is essential.
4. Click to 'Add' your first relationship. Check the box for 'CiviCRM Contacts: CiviCRM Relationship (starting from contact A)' and click Apply. That takes you to the field settings window.

5. In the 'Identifier' box, you'll see the name of the relationship you just selected. Click in the drop down for 'Choose a specific relationship type' and select the required relationship type. This defines the first two types of contacts that your view will be handling. For me, I will select 'Employee of|Employer of'. This gets me access to all employee data and all employer organisation data in my database, and allows me to accomplish the first two goals, display organisation fields and display a list of members (employees) of those organisations.

6. Now add some fields to the view. Let's add the employer display name and the display names of employees of that organisation. Click to Add a field. Type 'display' in the search box and select 'CiviCRM Contacts: Display Name'. Click Apply. You can leave the Configure Field box alone, so click Apply again.
7. If you look at the auto-preview at the bottom of the views interface, you are likely to see both individuals and organisations listed. Remember when you added the display name field, there was no way to indicate which side of the relationship you meant to display. We need to add another relationship.
8. Add relationship. Type 'id b' in the search box and select the 'CiviCRM Relationships: Contact ID B' relationship. You may think we should now also add the data from Contact A; however, this is where the alphabet soup breaks down, but we'll explain that when we get to adding other fields later.
9. Click Apply to bring up the Configure field window. There is a new 'Relationship' option. Click the drop down and look at the options: 'Do not use a relationship' and 'CiviCRM Contacts: CiviCRM Relationship (starting from contact A)', which is the relationship you added earlier. Select that option in order to tell views that the Contact B data you want is from that particular relationship type, that is, employer organisations. Click Apply.

10. Now go back to Fields and click on the field you already added, display name. You will now see the same Relationship option in this window as in the previous configure relationship window a minute ago. Click the box and look at the options. You should see 'Do not use a relationship' and 'CiviCRM Contact B'. Select 'CiviCRM Contact B'. Click Apply.
11. Now look at the auto preview. You should see a list of employers only because you have told views that the display name you want to display is that of Contact B from the relationship starting from Contact A defined as an Employee/Employer relationship.
12. Add another field. Add display name again, but this time select the 'Do not use a relationship' option for Relationship. Click Apply. You might expect we should be choosing the display name of Contact A of the relationship we set up earlier, but views takes Contact A of the first relationship you create to be the default Contact for the view, so when you want to display fields from that contact, views says you are not using a relationship. That is, that data is treated as the data views would display, if you had never set up a relationship in the first place. From now on, displaying employee data will mean choosing 'Do not use a relationship'.
13. Check the preview. Things will likely look rather messy because views is displaying all employer names and all employee names in no particular order or grouping. Don't fret. We need to add a Contextual Filter to help views make sense of what we want. Remember, I am creating a landing page for an organisation, so I want to see data from one org per page, but with all the employees listed for that org.
14. Add a Contextual Filter. These filters will be arguments in the url for the page. In this case, we need to tell the view which org page we want to see, so the url might be http://example.com/employers/9728, where employers is the path to the view and 9728 is the Contact ID of a particular employer. The filter interprets the number it finds in the url as a field of one of your contacts. When the url is parsed, we want that number to be understood as the Contact ID of a CiviCRM employer organisation.
15. In the 'Add contextual filters' window, select the 'CiviCRM Contacts: Contact ID' option and click Apply.
16. In the configure field window, select 'CiviCRM Contact B' for Relationship. Click Apply. That will mean the argument in the url is now interpreted as the Contact ID of an employer organisation.

17. Before checking the results in the preview, go into Civi and find a Contact ID number of one of your employer organisations to use for the filter. Then enter that number in the box 'Preview with contextual filters' and click Update preview. I am using Bond University which has Contact ID 9728.

18. The preview should now have org names alternating with employee names (I've changed the labels to make it easy to see). The org names should all be the org with contact id you entered into the filter and the employees should all be from that org. Obviously, this isn't the way you would display the page, but we are just trying to make the data available, not format anything.

19. We've accomplished goals 1 and 2 and tidied up the output with a filter to display data from only one organisation per page. All the concepts are in place and we just need to get the third contact involved, the Campus contact. Campus contact is related to our existing Contact B in the same kind of relationship as employee to employer and you could imagine we would create another A-\>B relationship where A is defined as the Campus contact. Here's where I plead ignorance! It doesn't work and I'm not 100% sure why, but it may be some kind of confusion with the fact that it already has an A and B related in the same way and can't make sense of the query. Don't know about that, but I do know how to make it work in an equally intuitive fashion.
20. Add relationship. Select 'CiviCRM Contacts: CiviCRM Relationship (starting from Contact B)' and click Apply.
21. Select relationship 'CiviCRM Contact B' to ensure views knows you want to use the existing Contact B as the basis for the new relationship.
22. Choose the 'Campus contact at|has Campus contact' relationship type. Click Apply.
23. We know from the previous work that in order to be able to access data from the Campus contact, we will need to add a relationship to that contact, which is now defined as Contact A in our new relationship.
24. Add relationship. Check 'CiviCRM Relationships: Contact ID A'. Click Apply.
25. In the configure relationship window select 'CiviCRM Contacts: CiviCRM Relationship (starting from Contact B)' as the relationship, so that Contact A will now be the Campus contact. That should be the end of adding relationships for my purposes.

26. Add a field. Add display name a third time, but select CiviCRM Contact A as the relationship. Check out your preview. You should see three lines for each employee: org name, employee name, and campus contact, and the org name and campus contact should be the same for each different employee.

27. We now have access to data from three different contacts in the one view. Congratulations! The last item is to link my campus contact field to the Drupal contact form for that user. Child's play compared to what you've just been through!
28. Add a field. Add the 'CiviCRM Contacts: Drupal ID' field and click apply.
29. I want the Drupal ID of CiviCRM Contact A, so select that relationship and click Apply.
30. Learning moment. Back in the Views control panel click to edit the display name field for Campus contact.
31. We need to rewrite the output of that field to make it a link to the contact form. For that we need access to the Drupal token \[drupal\_id\], so that we can create the url user/\[drupal\_id\]/contact.
32. Scroll down and expand the 'Rewrite results' section. Scroll down again to 'Replacement patterns' and expand that section. You will see several tokens for display name, but no Drupal ID. What those tokens have in common is that they are for fields above the Campus contact field in the field list.
33. Context is king in views. We need to move the Drupal ID field up in the list until it is above where we want to use it, so anywhere above the Campus contact field.
34. Click the arrow next to the Add field button and move the Drupal ID above the Campus contact field. Apply.
35. We don't need to display the Drupal ID either, so I would edit that field and check the Exclude from display box.
36. Edit the Campus contact field again. Look at the replacement patterns under rewrite results and you should see \[drupal\_id\] as an available token.
37. Scroll back up and check the 'Rewrite the output of this field' box and the 'Output this field as a link' box.
38. In the link path input, type user/\[drupal\_id\]/contact. Apply those changes.
39. Now gaze in wonder at your preview. The Campus contact field is now a link.

40. Click the link and, if you have the contact module turned on, it should take you somewhere like this. We've achieved all three goals! Well done.

41. If you would like me to add some more about how to do some quick and dirty formatting for this kind of view/page, just ask, but I can't do it now.
42. I hope this has been helpful.

---
Tags: drupal-views, relationships
---


# Question
Title: How can I create a report that shows contacts with no activities within a certain date range?
I'm trying to create what my client calls a "Lag Report" that allows them to get a list of contacts with no activities related to them within a certain date range.

"Who are my contacts who we have not been in touch with in a month?"

I assume we'd want to start with a constituent detail report template, but there are no activity filters to add there.

Thanks!

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

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

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

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

# Answer
You could create a smart group of contacts which has activities within a specified date range using Search Builder. Something like -

And then use `Constituent Summary report` to filter contacts belonging to this group.
> 1 votes

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


title: DB Error at Installation

text:
# Question
Title: DB Error at Installation
I have been runnning civiCRM for more than 2 years until now ; but I meet some problems (phone number cannot be saved).

So I try to install a new CiviCRM (4.7.11) on Drupal 7.50, the simplest way : install Drupal via Cpanel, upload civicrm tar.gz, and then install via sites/all/modules/civicrm/install/index.php (fetching Data Base credentials inside settings.php).

I have made several trials (http or https, same or separate database(s)) : all of them end with a

> "Sorry but we are not able to provide this at the moment. DB Error: unknown error".

However, all the civicrm tables are created, and the CiviCRM Menu can be displayed, but whatever I want to do (e.g. create a new contact), I get this DB Error again, and the info is not saved.

My hosting is based upon PHP 5.5, MariaDB 10.0.27 (supposed to be fully compatible with MySQL) (and a friend of mine, who uses the same hoster, has no such installation problem)

The significant error information is:

> DB\_Error-\>DB\_Error(-1, 16, (array:2), "SHOW function status WHERE db = database() AND name = 'civicrm\_strip\_non\_numer...")

and

> DB\_common-\>raiseError(-1, NULL, NULL, NULL, "1728 \** Cannot load from mysql.proc. The table is probably corrupted")

A backtrace from when I try to create a new contact is shown below.

Any help would be highly appreciated.

# Answer
> 1 votes
Finally, I found that this was due to a .htaccess jam (between drupal and civicrm) : inconsistencies and contradictions in "rewriterules", used to https:// the site, delete initial www., and redirect (and keep) to the pertinent civicrm directory.

# Answer
> 0 votes
I've seen this before. It's when the host upgrades mysql and system tables don't get upgraded. I had to ask them to run mysql\_upgrade.

See also http://www.myguysolutions.com/2013/10/30/how-to-resolve-mysql-error-code-1548-cannot-load-from-mysql-proc-the-table-is-probably-corrupted/

---
Tags: error, installation
---


title: Member since date before 1995

text:
# Question
Title: Member since date before 1995
I'm cleaning up membership data that was imported and need to make changes in the "member since" field. Some people have been members since the 80's. When I try to add pre-1995 dates, I get the following error:

Please enter a date between 01/01/1995 and 12/31/2025

How can I increase the date range so that I can add correct historical membership data? Thanks, Kate

# Answer
> 15 votes
For CiviCRM 4.6+ go to **Administer menu \> Customize Data and Screens \> Date Preferences**. From there, change the Start Offset of SearchDate.

For CiviCRM versions before 4.6, this is part of the Advanced Date settings linked from **Administer \> Localization \> Date Format**.

# Answer
> 2 votes
Further to Jon's helpful answer, for CiviCRM 4.7.12 (and possibly earlier) the date preference setting that needs to be changed is 'activityDate', as the description makes clear.

---
Tags: civimember, search, date-preferences
---


# Question
Title: Deduplicating - unexpected over-ride behaviour
We're using Civi 4.5.4 and Drupal 7, and finding that the deduping rule is confusing us - or we have a bug.

1. Unexpected duplication of addresses. Contact A (the duplicate) has a home phone, email or postal address Contact B has the same of any of these. We choose not to include these in the duplication merge - we don't check its merge checkbox.

We expect that Contact A's home detail will not be moved over to Contact B. Instead, after the merge we find that Contact B now has an additional home address containing the same email, phone and/or postal address as Contact A. In other words, the merge process is duplicating the home address.

If we do check the merge checkbox, then the merge process over-writes or adds as expected.

Any ideas?

(We did explore using the demo site, but it was in Russian, and we weren't sure if it was wise or kind to set it to English for our purposes, nor how to do this.)

# Answer
This does sound like a bug with 4.5.x. But it's worth noting that a lot of effort has gone in to improving the dedupe process in 4.7.x, and there are now automated tests in the core suite that test this sort of thing.

If you cannot recreate the issue on the demo sites (4.6.x LTS or 4.7.x) then I would say the issue has since been resolved and I would recommend updating to whichever version you feel more comfortable using.
> 2 votes

---
Tags: duplicate-contacts
---


# Question
Title: How to create a directory of event participants with custom fields?
I want to create something that would allow someone to enter an event id (ideally multiple event IDs), and generate a report that includes participant fields that I choose.

What I have in mind is something similar to a directory, that shows name/location/employer of all the participants of a chosen event.

Is this best done through creating a report, or by creating a standalone form?

# Answer
Assuming the 'someone' that needs to access the information is an administrator then you could set up a report to do this using 'Reports \> Event reports \> Event participants list. In the 'Columns' you can select the fields (including standard and custom fields) to display. In the 'Filter's you can specify which events to display participants for - which is something that your admins can change.

The documentation for using the reports for CiviEvents can be found here: https://docs.civicrm.org/user/en/stable/events/reports/

This is an approach that's built in to Civi. But there are of course other solutions, such as using Drupal's Views module to expose the information (as suggested in the comments). This could be useful if you wanted to expose the information to end users.
> 1 votes

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


title: Contributions - Follow up alerts

text:
# Question
Title: Contributions - Follow up alerts
Looking for a way to have follow up alerts after a donation is received. e.g. If no custom activity "Sent Receipt", alert admin with email or have alerts on dashboard

Any suggestions on how best to do this.

Tks Alan

Wordpress & CiviCRM latest versions

# Answer
It sounds like the CiviRules extension might fit your requirements https://civicrm.org/extensions/civirules

This extension allows to you trigger actions when certain events happen. If x happens then do y.

There are some good examples in the 'cookbook' - linked to from the page above - that should help you get started.
> 1 votes

---
Tags: wordpress
---


# Question
Title: 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).

# Answer
> 1 votes
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.

---
Tags: upgrade
---


title: Opt out bulk email option ignored

text:
# Question
Title: Opt out bulk email option ignored
With our CRM the unsubscribe button adds a user opt out for the bulk emails.

The CRM still sends bulk emails to people who use the unsubscribe button or has the do not email and opt out of bulk email options.

Any help would be great.

# Answer
> 2 votes
I haven't been able to recreate this issue on our sites, or on the demo site.

The test I did was:

---

* Add a user with an email address to a group
* Include that group in a new CiviMail mailing
* 1 recipient is displayed (correct)

---

* Change the user to have the 'No bulk email' setting
* Create a new CiviMail mailing, including the group
* 0 recipients are found (correct)

---

I couldn't see an automated test that ensures this (I've logged this on JIRA: https://issues.civicrm.org/jira/browse/CRM-19473).

What version of CiviCRM are you using that encounters this issue? Are you sending emails straight from Civi or integrating with a third party email provider? Perhaps you could write out the exact steps to recreate the problem?

---
Tags: civimail, email, mailing
---


title: Widget tracking total contributions

text:
# Question
Title: Widget tracking total contributions
I'd like to have a widget track all contributions on the site but it appears that is not possible as each widget is tied to a contribution page. Is there any custom code anyone has developed to do this?

Alternatively, I've just done a work around solution that is not that optimal. I could manually switch the "Online Contrubution Page" it is under by going to Edit Contributions\>Additional details. The one concern I have is would this have any adverse effect on paypal monthly recurring donations? Would PayPal and CiviCRM still communicate properly?

Thanks all, this is my first post to the forum though I've been using CiviCRM for a few years.

# Answer
> 1 votes
I'm not sure, but these extensions may help:

1) CiviStats: https://civicrm.org/extensions/civistats 2) CiviWCI: https://civicrm.org/extensions/civiwci

# Answer
> 0 votes
You can use civicrm api to display report. Just replace the the api link in your widget.

---
Tags: civicontribute
---


# Question
Title: Edit profile the triangle just keeps spinning
I am using a new install of 4.6 with no additional plugins installed. I go to contributions\>manage contibution pages \> member Sign up\> Configure then profiles. I click the edit edit button next to any of the dropdowns and the triangle page pops up and just spins. I have to refresh and start over.

Any thoughts?

# Answer
This sounds like a javascript error. Try going through the following troubleshooting steps:

Troubleshooting popups, autocompletes, or other javascript problems.
> 1 votes

# Answer
Check console error for more details. Most of the time it's happened because jaisey version or cIvicrm cache issue. Check after clearing the civicrm cache or jquery version change.
> 0 votes

---
Tags: installation
---


# Question
Title: Do mass SMS work in 4.7.11 using Clickatell?
I can send a single SMS in 4.7.11 using Clickatell. But a mass SMS fails with the following message from the cron task 'finished execution of Send Scheduled SMS with result: Failure, Error message: DB Error: syntax error'. I have installed version 3.0 of the Clickatell extension from Veda Consulting. Anyone know if this extension is supported in 4.7? Any comments?

# Answer
> 1 votes
Looks like fix is not present in v4.7.11. But there is a ticket already - https://issues.civicrm.org/jira/browse/CRM-19327. Might be available in v4.7.12.

Anyway seems like a minor patch to apply?

---
Tags: 4.7, sms
---


# Question
Title: HowTo: crmApi get rows with date between
I want to get all memberships with start date between '2016-01-01' and '2016-06-01' using crmApi(). Here's my code that's not working:

```
  angular.module('angularmemberships').config(function($routeProvider) {
  $routeProvider.when('/memberships', {
    controller: 'AngularmembershipsMembershipsCtrl',
    templateUrl: '~/angularmemberships/MembershipsCtrl.html',

    resolve: {
      memberships: function(crmApi) {
        return crmApi('Membership', 'get', {
          sequential: true,
          rowCount: 100,
          start_date: ['2016-01-01', '2016-06-01'],
          sort: 'start_date DESC',
        });
      },
    }
  });
}
);

```

If I specify single date (start\_date: '2016-01-01') it works (returns rows fot that date), but how do I get rows for a date range?

# Answer
> 2 votes
Oh, I've found in my crm menu Support - Develper - API Explorer and there was a solution:

```
start_date: {'BETWEEN': ['2015-01-01', '2016-01-01']},

```

---
Tags: ajax
---


# Question
Title: Event Search results - hide Event ID and display another custom field
When results are displayed in the Manage Events default page view, is there any way to change the columns that are displayed in the results? I'd like to hide the system generated ID field that appears to be appended to the Event Name, and add a new column that displays a custom field that I have already created. This seems like it should be a configurable thing but I cannot seem to find where this can be done.  Thanks, Joe.

# Answer
> 0 votes
I could find no way to configure the component dashboards via the user interface, but you may wish to make use of dashlets from your user dashboard - the following link provides instruction on how to do this: https://docs.civicrm.org/user/en/4.6/the-user-interface/menu-dashboard-and-dashlets/

Hope this helps, Tamar

# Answer
> 0 votes
Are you using Drupal? If so, you can make a Drupal view for this.

---
Tags: civievent, search-results
---