# Question
Title: CiviMail: How can I retarget the non-opens and/or non-clicks in CiviCRM?
Right now I am exploring CiviCRM as a new CRM for my non profit organization. We have a whole wish list, and one crucial wish is to be able to send new emails to a non-opens and/or non-clicks group. We saw the report option, but can we use the groups in the report to make a new group to send email to? We cannot find the answer. Not in the test installation nor in the user guide. Thank you so much for your help! It's a crucial feature for us. Best, Anne

# Answer
While we dont use it for privacy reasons it should be perfectly doable. Reports usually have the option to add its resulting contacts to a group.

If you dont mind german here is a screenshot from a mailing report for demo mailing with tracking:

Each link provides a report/search with a selected subset of contacts.

Additionally you can use the extended search to define your target group however you like and create groups or smart groups from there.
> 1 votes

---
Tags: civimail, groups
---


title: Getting into the inbox with Sparkpost

text:
# Question
Title: Getting into the inbox with Sparkpost
During testing of sparkpost we are getting into the inbox with gmail, yahoo and aol, but not with microsoft. We are getting an 8 on microsoft's bulk complaint level which AFAIK is associated with the IP used.

We are evaluating either switching to a dedicated IP or switching to another service provider on a shared IP.

One thing that puts us off a dedicated IP is the extra admin that would be involved in keeping the IP off blacklists. Some blogs also mention that you need a certain amount of traffic to maintain sender reputation (though they are vague on how much that might be - I guess because there are no hard and fast rules). Since a lot of the stuff on the web is not impartial and is based on different use cases and potentially out of date, I would appreciate some thoughts based on experience from people in a similar boat.

If you are on a dedicated IP, how many emails per month are you sending? Has monitoring your dedicated IP for blacklisting been an issue?

If you are on a shared IP (either on sparkpost or other servers) have you had trouble getting into microsoft inboxes or with the BCL? Thanks in advance for all your thoughts.

# Answer
> 2 votes
> "One thing that puts us off a dedicated IP is the extra admin that would be involved in keeping the IP off blacklists. "

That's one of Sparkpost's responsibilities (although you should also monitor, just in case, I particularly like http://multirbl.valli.org/lookup/).

> "If you are on a dedicated IP, how many emails per month are you sending? Has monitoring your dedicated IP for blacklisting been an issue?"

We send around 200k emails per month from ~ 25 domains, all on the same IP. We haven't had issues being blacklisted, but some clients have had issues with their domain appearing on some blacklists, especially if it was their first mailing (with invalid addresses).

# Answer
> 2 votes
Same advise here, we have all our customers on a few private IPs as this is the only way to not end-up been blacklisted. If you are sending with the default provider's service, tens of thousands of other domains also are, and nobody controls what they are sending - odds are that there will be at least one 'bad apple' that will get the IP blacklisted and impact all other customers. The providers usually react quickly to these incidents by moving to other IPs, but everyone is still affected at least temporarily.

# Answer
> 1 votes
Getting your own IP with SparkPost doesn't lessen their activity or responsibility under their contract to provide whitelisting for you. It probably makes it easier for them to respond quickly and effectively when it does happen. We don't monitor blacklisting ourselves because these services will notify us immediately if we appear on any blacklist.

One of my clients sends 600k+ emails / month with sendgrid on a private IP. They were very helpful when we got blacklisted due to a new type of attack (bringing down a small set of inboxes, in this case mainly .gov, by having a bot submit subscribe requests simultaneously to a very large number of sites). The client reluctantly agreed to use recaptcha, and we had to reconfirm all of the signups for a few prior months.

I'd encourage getting the IP.

---
Tags: civimail, email, sparkpost
---


# Question
Title: Civi Event scheduled reminders error - missing date causes DB syntax error
Event scheduled reminder is not executing. The error log for scheduled jobs shows failure DB syntax error.

# Answer
Problem a result of a reminder that has no sending date. (see attached image) This error results in a syntax error that **prevents all subsequent reminders from being sent**. Solution is to add date or disable reminder with no date. (ConfigAndLog error messages show the ID for the reminder that has the error.)

Will report as a bug with recommendation that reminder cannot be saved without a date.
> 3 votes

---
Tags: civievent, scheduled-reminders, scheduled-job
---


# Question
Title: How to set contact name during Drupal's user registration?
During Drupal's normal user registration process (a user registering their own self, as opposed to an admin registering a user) a Civi contact record is created for that user. That works fine but the only data set for the contact record is the email address. How do I set it up so that the contact's First and Last Names are set during that process?

Currently I have fields on the user profile for first and last names. Is there a hook I can use to save these values to the contact record?

I don't see any configuration options for this sort of thing. I'm kind of mystified by the lack of info on this particular use case when I search the web, as it seems like a standard scenario.

# Answer
By default CiviCRM comes with a profile called 'Name and Address' which is set to be used for User Registration. First Name and Last Name fields in this profile are, again by default, set as required fields. So when a site visitor goes to user/register they need not only to provide a username/email address/password, but they also see the fields exposed in the Name and Address profile and must provide First/Last name. Maybe you've disabled or removed this profile? Or you can create a new profile that's used for user registration.
> 1 votes

---
Tags: contacts, user-account
---


# Question
Title: One Time Login URL not Received : Looking for a Spare Solution
Drupal 7.56 / CiviCRM 4.7.20

Some (only a few) of my users do not receive the "one time login url" mail when they want to reset their (forgotten) password (also checked in spam and trash).

The odd thing is that if I personnaly send them a mail from postmaster@... (using thunderbird for instance), they receive it. They also receive it if I send it from CiviCRM (from any Organization or Individual). I find no explanation to that.

So, I envisage to personnaly send them their \[user:one-time-login-url\]. Can I do that ? How ?

(I know that this is rather a Drupal specific question, and I submitted it to Drupal Stackexchange, but I also submit it here just in case someone has a solution : I thought I could include this \[user:one-time-login-url\] in a mail sent via CiviCRM, but this token is not available in Civi mailing feature).

# Answer
> 1 votes
1. If you have shell access and drush - then you can generate a one time user login link using

drush uli USERNAME
2. Check the Site Name - make sure there are no non alphanumeric characters in it (they end up in the From and we’ve seen Postfix having issues parsing it). Update: specifically `:` in Site Name (as in admin/config/system/site-information - caused major issues;
3. Reputation: if email from your server arrives for some but not for others then that suggests a reputation issue - a server along the way has marked it as spam; use mxtoolbox.com to check if your domain is blacklisted somewhere.

---
Tags: email, user-account
---


# Question
Title: Recurring Contribution marked incomplete and no receipt sent but card is charged
We tested a few recurring donations and while our payment gateway, Authorize.net, shows that the transactions were completed, the user does not receive a receipt. Furthermore, their contribution is marked in their contact record as pending/incomplete. Also, the transaction details are not reported in the CiviCRM. It reports "no payments found".

We are on CiviCRM 4.7.15. Is there something I need to set up? This is the first time we've attempted to use recurring contribution feature.

I've already gone through the steps in this post.

I tailed the ConfigAndLog for errors during a transaction and nothing was reported.

# Answer
> 1 votes
There needs to be a silent post URL inputted into Authorize.net

> CiviCRM will need to be notified of the success of recurring contributions via a Silent Post URL. Within CiviCRM, get the ID number of your payment processor by looking at the URL of the form for editing your payment processor: it should read "&id=" followed by a number. That number is your ID. Within Authorize.net, go to **Account \> Settings \> Silent Post URL** (within the Transaction Format Settings section). On that page, enter the URL (the following examples are for payment processor ID 2):

```
Drupal: https://yoursite.org/civicrm/payment/ipn/2

Joomla!: https://yoursite.org/index.php?option=com_civicrm&task=civicrm/payment/ipn/2

WordPress: https://yoursite.org/?page=CiviCRM&q=civicrm/payment/ipn/2

```

> If you fail to do this, one-time contributions will succeed normally, and recurring contributions will be processed successfully by Authorize.net, but the contribution status will be stuck at Pending.

Source: https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/authorize-net/

---
Tags: drupal, civicontribute, recurring-contributions
---


# Question
Title: Problems adding Contribution form to a WP page
I just created a new contribution page in Civi and made sure it was active. When I go to create a new wordpress page and try to insert it I have no options to choose from when I click on the CiviCRM button. The only thing it shows is the dashboard options. How do I get my Civi Contribution form into a wordpress page? Is there some sort of a setting I am missing to get active contribution pages to show up as an option to choose from?

# Answer
> 1 votes
1. Disable all of your plugins (except CiviCRM) and try it again. If you can now see the Civi options, you have a couple of options: a. Set up your page, reactivate your plugins and go on with life, b. Reactivate the plugins one by one to see which is the issue.

If that does not work:

2. Switch to a WP basic theme like Twenty Seventeen or Twenty Sixteen and try the page create again. If you can see the Civi options, I would setup the page, switch back to your theme of choice. Just switch to a basic theme when you need to see the options and then back to your theme for usage.

If you do not want to mess with either above,

3. Under Contributions \> Manage Contribution Pages \> Select the page you want \> Links \> Live. This will give you a link that ends in id=# Below is an example of Civi shortcode. Replace the 2 in the shortcode below with the id# from your live link and paste it to your WP page. \[civicrm component="contribution" id="2" mode="live" hijack="0"\]

# Answer
> 0 votes
Drag the Pop up window over. Usually the drop down is rendered on a lower Z axis than the pop up.

The Select2 is being broken by a plugin or the theme. Usually it is a Fusion theme or a page building plugin.

---
Tags: contribution-page
---


# Question
Title: Upgrading from 4.4 to 4.6 stalls - Wordpress
I'm trying to update civicrm from version 4.4 to 4.6. When I try to run the update script, it stalls at "Executed: Upgrade DB to 4.5.beta2"

I found this similar post for drupal (https://forum.civicrm.org/index.php?topic=26648.0) but the answer that worked for him won't work for me. I checked and this code is already there in civicrm.settings.php:

```
require_once 'CRM/Core/ClassLoader.php';
CRM_Core_ClassLoader::singleton()->register();

```

I risked refreshing the page once, and it actually kept going a little bit further to this point: \[Executed: Upgrade DB to 4.5.beta9: SQL\]

Looking at my inspect element console, I see this ajax warning:

http://mydevurl.com/wp-content/plugins/civicrm/civicrm/bower\_components/jquery/dist/jquery.js (9664)

```
POST http://mydevurl.com/wp-admin/admin.php?   page=CiviCRM&q=civicrm/upgrade/queue/ajax/runNext 404 (Not Found)
send @ jquery.js:9664
m.extend.ajax @ jquery.js:9215
runNext @ admin.php?page=CiviCRM&q=civicrm%2Fupgrade%2Fqueue%2Frunner&reset=1&qrid=CRM_Upgrade:687

```

Thanks for your help

# Answer
> 0 votes
We finally resolved this issue by hiring an expert who updated the CiviCRM database on a different server. There was a conflict with the web hosting.

# Answer
> 2 votes
Try running the upgrades more incrementally (e.g. update to 4.4.20, then to 4.5, then 4.6, etc). (I've had the upgrade process stall on me when trying to move more than a handful of versions at a time.)

# Answer
> 0 votes
Don't try to upgrade from civicrm 4.4 to 4.6. Try to do it in steps (4.4 -\> 4.5 -\> 4.6).

---
Tags: upgrade, error
---


title: Create Drupal user from donation pages?

text:
# Question
Title: Create Drupal user from donation pages?
We have one donation page that is just for donations. No Drupal account is created. Individual members can create free accounts on the D7 site and can also donate through CiviCRM - this part is working as intended.

We want to build a second donation page where a Drupal user account is created. I was assuming there would be a simple way to enable the username and password inputs, and set a Drupal role to enable, on a particular donation page so the D7 account could be created when the form is submitted, but I don't see how to do this.

Is there a way to either require an account be created, or allow it to be an option from a donation page?

The goal here is to automate the process of setting up corporate sponsors. Sponsors need to contribute and have a Drupal 7 account created with a specific role so they can access content that is restricted to that role. They should be able to select a specific package or enter an amount they wish to contribute.

Thanks, Rachel

# Answer
Seems you need to add a profile to the contribution page with `Account creation required` enabled.

To do this -

* Check for the profile added to your contribution page on `Profiles` tab from `Manage Contritbuion Pages` or by visiting `civicrm/admin/contribute/custom?action=update&reset=1&id=<page_id>`
* Navigate to Administer -\> Customize Data and Screens -\> Profiles.
* Click on `Settings` link for the profile added to your contribution page (Create if no profile is added).
* Open `Advanced Settings` tab and look for the `Drupal user account registration option?` input field.
* Enable `Account creation required` and navigate to the contribution page to see the populated drupal username field.
> 2 votes

---
Tags: drupal, civicontribute
---


# Question
Title: How to change hard coded limit of 50 transactional emails?
I'm sure I read recently that it was possible to change the maximum number of emails that can be sent using the transactional mail in CiviCRM. Did I imagine this or can the hard coded limit of 50 be set to another value?

# Answer
It's recommended to **use CiviMail for larger mailouts**. It's worth understanding the potential consequences of using "simple CiviCRM mail" to do mails in bulk; eg:

* Harming your own site's spam reputation by sending many emails without spam compliant unsubscribe links.
* Harming CiviCRM platform email reputation by using CiviCRM without respect to spam compliance.
* Timeouts and performance issues when trying to deliver large numbers of emails in a single request.
* ... ?

So, this has long been hard-coded in an attempt to avoid people changing it. **The limit is no longer hard-coded**; it's become a hidden setting: `simple_mail_limit`. You should be able to change this setting from the default either by using the CLI tool `cv`:

```
cv api setting.create simple_mail_limit=99

```

Or by adding a setting override in `civicrm.settings.php`:

```
global $civicrm_setting;
$civicrm_setting['other']['simple_mail_limit'] = 99;

```

See configuring hidden settings in CiviCRM for more info, and do take note of advice here to reflect on *why* you think you need to change this value!
> 16 votes

---
Tags: email
---


title: Electronic Check

text:
# Question
Title: Electronic Check
We are using Authorize.net and on their site it says they accept electronic checks. How do I set up my Civi contribution page to accept both credit card and electronic check?

# Answer
> 1 votes
There is an extension that sets up the eCheck processor for AuthorizeNet. Once installed you should be able setup a separate processor for echecks.

More info in the link in KatinG's answer. This can be installed directly through CiviCRM (Administer\>System Settings\>Extensions Add New). We had a site using it under 4.6 with WordPress with no issues.

Hope this helps.

# Answer
> 1 votes
The default Authorize.net payment processor that ships with CiviCRM Core does not have the ability to handle e-cheques; try install:

```
https://civicrm.org/extensions/authorizenet-echecknet

```

do give it a good test - on a development/staging environment (with a copy of your site) - as it does not look like many people are using it; `current usage: 8`

---
Tags: contribution-page
---


title: civibuild create permission error

text:
# Question
Title: civibuild create permission error
Running this:

```
civibuild create marc --type drupal-demo --url http://marc.localhost

```

Gives me this:

```
...
#33 /home/civicrm/buildkit/vendor/drush/drush/drush.php(16): drush_main()
#34 {main}
    [is_error] => 1
    [error_message] => DB Error: unknown error
)

+++ drush scr /home/civicrm/buildkit/src/drush/perm.php
Could not find the permission: register to volunteer                                                                                [error]
Could not find the permission: register to volunteer                                                                                [error]
civicrm@civicrm-dev-vb:~/buildkit/build

```

# Answer
This is https://issues.civicrm.org/jira/browse/VOL-299

The workaround documented there works.

1. Connect to your MySql server as root
2. Run these two statements

SET sql\_mode = ''; SET GLOBAL sql\_mode = '';
3. Try again
> 1 votes

---
Tags: civibuild
---


# Question
Title: How to set the default Preferred Language
I think i must be missing something.

When I go to Option Groups /civicrm/admin/options?reset=1

and choose Language

/civicrm/admin/options?gid=75&reset=1

i see no value listed as Default, and no option when I click 'edit' on an option to set it as Default, yet if i look in the DB for values where option\_group\_id = 75 it shows en\_US as default.

I set this to the desired value but where I am being blind in terms of doing this via the UI?

# Answer
We can set default language in localization settings - `/civicrm/admin/setting/localization?reset=1`

But, if I change that, the default value in the `options_value` table doesn't change, so not sure if it meets your requirement.
> 1 votes

---
Tags: language
---


# Question
Title: Safe to run cron jobs using wget and user with full admin rights?
I recently set up cron jobs with CiviCRM using wget url method through Cpanel. I set up an administrator account and used that accounts username and password. My concern is if there is any security risk with this method and if its best practice to limit that user's account to just the bare civicrm permissions - "view all contacts", "access CiviCRM", "access CiviMail".

Your feedback is appreciated.

Using latest wordpress and civicrm releases.

# Answer
It's better to limit the cron user to the minimum permissions - but I'm not 100% sure what those permissions are. E.g. if you don't give access to CiviEvent, can you use smart groups based on participant status?

The reason why it's unsafe to give a full admin user cron access is because you're leaving an API key (essentially a password) in plaintext on a server. Depending on how `wget` is configured (with HTTP `GET` instead of `POST`) you're also leaving the api key in the server logs. Someone who accesses one of those can escalate their permissions. This is especially true if you're using `wget` from a remote server.
> 2 votes

---
Tags: cron-job, cron
---


title: CiviRules prevents adding new contact

text:
# Question
Title: CiviRules prevents adding new contact
I am having problems with CiviRules preventing a contact being added to a group.

I have a contact form where people request information, and the person is added to group "web contacts". This works nicely and the request is added as a note.

I then add a CiviRule that basically says When a contact is added to a group and the group is "web contacts" then add an activity to a contact \[Me\] to mail the contact of the fact.

This totally prevents people being added to the group "web contacts" at all.

> Trigger: Contact is added to Group
>
> Linked Condition: Group is Webbkontakter
>
> Linked Action: Add activity to contact Type: Email Status: Scheduled Assignee(s): Martin Skjöldebrand

"web contacts" == Webbkontakter above.

Am I having a brainfart or something? Shouldn't this work?

# Answer
> 1 votes
Martin, for the **send** **email** action you need the Email API extension: https://civicrm.org/extensions/e-mail-api. Once you install that, the **send** **email** action should be available in CiviRules.

I have just added a rule to my local installation as shown in the screen print, and it works in my installation (CiviCRM 4.7.25, CiviRules 1.13).

I have created a group Web Contacts, and when I add a contact to that group the email is send out.

So it is kind of hard to see what is wrong on your installation? Perhaps a first step is to configure the rule as I have?

# Answer
> 1 votes
Martin, the rule in this screen print works perfectly on my installation.

---
Tags: civirules
---


# Question
Title: Problem fixing missing indexes after upgrade to 4.7
When I run

```
cv ev 'print_r(CRM_Core_BAO_SchemaHandler::getMissingIndices())'

```

I get the following output:

```
Array
(
    [civicrm_case_contact] => Array
        (
            [0] => Array
                (
                    [name] => UI_case_contact_id
                    [field] => Array
                        (
                            [0] => case_id
                            [1] => contact_id
                        )

                    [localizable] =>
                    [unique] => 1
                    [sig] => civicrm_case_contact::1::case_id::contact_id
                )
        )
)

```

If I then go into db and try to delete the index in order to fix it I get an error:

```
mysql> alter table civicrm_case_contact drop index UI_case_contact_id;
ERROR 1553 (HY000): Cannot drop index 'UI_case_contact_id': needed in a foreign key constraint

```

Looking at the table, it appears the index is fine:

```
civicrm_case_contact | CREATE TABLE `civicrm_case_contact` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique case-contact association id',
  `case_id` int(10) unsigned NOT NULL COMMENT 'Case ID of case-contact association.',
  `contact_id` int(10) unsigned NOT NULL COMMENT 'Contact ID of contact record given case belongs to.',
  PRIMARY KEY (`id`),
  KEY `UI_case_contact_id` (`case_id`,`contact_id`),
  KEY `FK_civicrm_case_contact_contact_id` (`contact_id`),
  CONSTRAINT `FK_civicrm_case_contact_case_id` FOREIGN KEY (`case_id`) REFERENCES `civicrm_case` (`id`) ON DELETE CASCADE,
  CONSTRAINT `FK_civicrm_case_contact_contact_id` FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

```

What's required to fix this index or otherwise deal with the error message?

# Answer
> 9 votes
We have found that there are problems with both civicrm\_option\_value and civicrm\_case\_contact table indexes that have not been properly fixed by https://github.com/civicrm/civicrm-core/pull/10908 as of 4.7.25 or the rc's for 4.7.26 and 4.7.27 as of late October 2017.

When we encounter this we have been runing the following queries in the relevant MySQL database:

```
ALTER table civicrm_option_value DROP FOREIGN KEY  FK_civicrm_option_value_option_group_id;
ALTER table civicrm_option_value DROP INDEX index_option_group_id_name;
ALTER table civicrm_option_value ADD CONSTRAINT `FK_civicrm_option_value_option_group_id` FOREIGN KEY (`option_group_id`) REFERENCES `civicrm_option_group`(`id`) ON DELETE CASCADE;

ALTER table civicrm_case_contact DROP FOREIGN KEY FK_civicrm_case_contact_contact_id;
ALTER table civicrm_case_contact DROP INDEX FK_civicrm_case_contact_contact_id;
ALTER table civicrm_case_contact DROP FOREIGN KEY FK_civicrm_case_contact_case_id;
ALTER table civicrm_case_contact DROP INDEX UI_case_contact_id;
ALTER TABLE `civicrm_case_contact`
  ADD CONSTRAINT `FK_civicrm_case_contact_case_id` FOREIGN KEY (`case_id`) REFERENCES `civicrm_case` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `FK_civicrm_case_contact_contact_id` FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact` (`id`) ON DELETE CASCADE;

```

After running these queries, we go to the Admin Status Console (civicrm/a/#/status) and click the button that calls the UpdateIndices api, which rebuilds the indexes properly. (In other words, we have not found that @Alan Dixon's step 4 is required after step 3.)

There are reports that some people have duplicate entries in civicrm\_case\_contact table on case\_id and contact\_id. You'll need to delete these duplicates.

# Answer
> 4 votes
As of CiviCRM 4.7.27 this is still an issue on an upgrade from 4.6

Following the reference from Chris led to this answer from Rich Lott (Artful Robot): How to find and/or fix missing indices? which answers a potential class of similar issues, but actually gives you the specific answer to your question as the example.

To really simplify it, here's what worked for me:

1. Run the "fixer" from the status page. Presumably you've tried this and it gives you an error, that's why you're here.
2. In mysql:

`CREATE UNIQUE INDEX my_temp_key ON civicrm_case_contact (case_id, contact_id);
DROP INDEX UI_case_contact_id ON civicrm_case_contact;`
3. Run the "fixer" again - now the status page thinks you're all fixed, but you have to reverse your step 2.
4. In mysql:

`CREATE UNIQUE INDEX UI_case_contact_id ON civicrm_case_contact (case_id, contact_id);
DROP INDEX my_temp_key ON civicrm_case_contact;`

---
Tags: upgrade
---


# Question
Title: Bulk move contacts to new group after message sent
I would like to set up a workflow that will automatically bulk move contacts out of Group A and into Group B after an email is sent to Group A. Is this possible?

# Answer
> 1 votes
In principle this should be possible using the CiviRules extension: https://civicrm.org/extensions/civirules.

Documentation of this extension: https://docs.civicrm.org/civirules/en/latest/

I think you would get there by selecting the trigger Activity is added, select the specific type of activity (Email) and add one more condition that would specifically identify your mail. Then action remove from group A and add to group B.

Or if you use a mailing you should probably be able to work with a trigger on Mailing but I have never tried those myself!

---
Tags: civimail, 4.7, civirules, workflow
---


# Question
Title: All My activities show for other person name
I registered someone in CiviCRM and now after doing some activities I saw all my activities for her name and I think both of us link together how can I unlink without losing any information?

# Answer
> 1 votes
**The Problem**

When you are logged in to CiviCRM, ALL public-facing pages (event registration, contributions, etc.) will assume that you're the logged-in person. There's a warning on the page with a link to let you register/contribute as someone else (see screenshot below).

**Preventing this**

All registrations/contributions should be added via the back-office screens, not public screens. If you need a public screen, use the link circled below.

Furthermore, the excellent No Overwrite extension should be installed wherever a) it's possible that someone might overwrite another record, and b) you don't need to permit visitors to overwrite their name during registration/contribution.

**Fixing After it's Happened**

This must be fixed by hand.

* Figure out all the information on the shared contact that belongs to the new person. You can figure this out by looking at the public-facing page. Any fields on that page are most likely overwritten.
* Put the fields (name, etc.) back the way they were before the bad transaction. If you're not sure, you may want to load a backup of your database on to a test server to compare side-by-side.
* Create a new record (if necessary) for the new contact and populate it with their info.
* Additionally, this record will have one or more contribution/membership/participant/activity records associated with the transaction.
* If you **have** back-end access to the database, change the contribution/membership/participant/activity records so the `contact_id` is changed to the new contact.
* If you **don't have** back-end access, you'll need to delete the transaction and do it again (don't forget to refund the money before charging again, if applicable).
* If the contact was supposed to be added to a group based on a profile in the page, don't forget to add them (and potentially remove it from the mixed contact).

---
Tags: contacts, activities
---


title: CiviContribute Donation Form error

text:
# Question
Title: CiviContribute Donation Form error
Everything was working fine for weeks (civicrm on drupal) then this error on the civicontribute form web page:

> Fatal error: Call to undefined method CRM\_Core\_Payment\_Manual::setBackOffice() in /var/www/html/missional/donations/sites/all/modules/civicrm/CRM/Core/Payment/Form.php on line 67

And these errors on the log in page:

> Notice: Undefined index: user\_name in CRM\_Core\_Payment\_AuthorizeNet-\>\__construct() (line 56 of /var/www/html/missional/donations/sites/all/modules/civicrm/CRM/Core/Payment/AuthorizeNet.php).
>
> Notice: Undefined index: password in CRM\_Core\_Payment\_AuthorizeNet-\>\__construct() (line 57 of /var/www/html/missional/donations/sites/all/modules/civicrm/CRM/Core/Payment/AuthorizeNet.php).

Any ideas on how to resolve this?

# Answer
> 2 votes
We fixed this on https://chat.civicrm.org.

The latest versions of the Authorize.net eCheck payment processor extension (versions 1.2 to 1.2.2) break CiviCRM (the problem exists as far back as 4.7.23, probably further).

The solution for now is to disable the eCheck extension. The author of the extension (or someone else - it's open source!) will need to fix the problem with the extension.

---
Tags: drupal, civicontribute, authorize.net
---


title: Smarty code not working

text:
# Question
Title: Smarty code not working
Writing as a self-answered question since it may help others...

I am adding smarty code to a mail template. Including:

`{capture assign=designation}{contribution.contribution_source}{/capture}`

Later in the page, I call the variable as such:

`{if $designation}, for {contribution.contribution_source}{/if}`

But the template breaks when I try to use it. The code looks good as far as I can tell. What's the problem?

# Answer
The problem is that the space in the if-statement is ` ` rather than a normal space. For this reason, it's worth writing your smarty statements while viewing the Source code in the template editor.
> 3 votes

---
Tags: message-templates, smarty
---


# Question
Title: CiviCRM Extension: SMS Inbox Requirements
Does anyone have any prototype/working SMS inbox functionality?

What would you ideally like to see in an SMS inbox?

So far I've:

Mark message as read. Attach SMS to contact.

Other suggestions welcome!

# Answer
> 1 votes
If you remember, we almost did, but we'd have had to pay for the tagged VMN service (a bit like extension numbers). That or have more than one line. Otherwise if you're dealing with inbound SMS, you know who it's from, but not who it's to, because you only have one line.

Mark as read could be either the status, or a custom field on the activity.

---
Tags: sms
---


# Question
Title: Does changing a price set for an event retroactively change reports?
If a price set is changed in terms of prices etc will that affect reports for past events that used that same price set?

If it did do that we would have a huge list of price sets just to maintain reporting!

Cheers!

# Answer
Almost certainly no, but it might depend on the report you're looking at. Specifically, financial transaction data is stored with the full amounts, not just a reference to the price set, so you can't change a contribution by changing the priceset it came from.

In other words, it's safe to update a priceset from one year to the next for an annual event, for example.
> 1 votes

---
Tags: civievent, civireport, reports, price-sets
---


title: Offline data entry/access to CiviCRM

text:
# Question
Title: Offline data entry/access to CiviCRM
Has anyone seen or know of the ability to either update or add records when offline?

We have several users who often travel and at times are not able to be connected to the internet but their updates still need to be pushed once they connect?

# Answer
CiviCRM does not have any mechanism which would allow you to make changes locally, offline, and sync later to the master database; what you envision is not currently possible.

A workaround might be to record the updates into a CSV file, then import the CSV file once online.

Theoretically, I suppose one could develop an HTML5 app that stores some subset of database records in browser storage, allows them to be updated, and reads the CiviCRM log or otherwise determines how to reconcile changes made to the live record since the last sync. Even if we hand-wave things like authentication, however, it sounds like a lot of work.
> 0 votes

---
Tags: mobile
---


title: Views PDF : class not found

text:
# Question
Title: Views PDF : class not found
Probably a Drupal issue, but you never know :

I am running Drupal 7.56 / Civi 4.7.20

I have been using Views extensively for some months now. I want now to create custom pdf pages from some Views.

I have installed jQuery\_update, then Views PDF Display Module, then copied fpdi and tcpdf libraries into the Libraries folder (via FTP).

Now, when I want to add a PDF Page to a View, I get the following error message : Fatal error: require\_once(): Failed opening required 'sites/all/libraries/fpdi/fpdi2tcpdf\_bridge.php' (include\_path='/home/my\_hostname/www/www/sites/paroisse/civi\_extensions/nz.co.fuzion.cmcic-master/:/home/my\_hostname/www/www/sites/paroisse/civi\_extensions/nz.co.fuzion.extendedreport/:/home/my\_hostname/www/www/sites/paroisse/civi\_extensions/org.civicrm.sms.twilio/:/home/my\_hostname/www/www/sites/paroisse/civi\_extensions/com.drastikbydesign.stripe/packages/:/home/my\_hostname/www/www/sites/paroisse/civi\_extensions/com.drastikbydesign.stripe/:/home/my\_hostname/www/www/sites/default/fpdf:.:/home/my\_hostname/www/www/sites/all/modules/civicrm:/home/my\_hostname/www/www/sites/all/modules/civicrm/packages:.:/home/my\_hostname/www/www/sites/all/modules/civicrm:/home/my\_hostname/www/www/sites/all/modules/civicrm/packages:/home/my\_hostname/www/www/sites/all/modules/civicrm/vendor/tecnickcom:/home/my\_hostname/www/www/sites/all/modules/civicrm/vendor/phpseclib/phpseclib/phpseclib:/home/my\_hostname/www/www/sites/all/modules in /home/my\_hostname/www/www/sites/all/modules/views\_pdf/views\_pdf\_template.php on line 22

I suspect that this is due to a bad installation (btw, the fdpi library contains no fpdi2tcpdf\_bridge.php), but find no clear and up-to-date installation tutorial.

I am not a programmer (just able to edit and ftp a file if necessary)

Any help is welcome.

# Answer
I went back to fpdi-1.6.2, and the error disappeared (the internal fpdi folder content has completely changed between the two versions).
> 1 votes

---
Tags: drupal-views
---


# Question
Title: Crons are running but system status page says otherwise
I am hosting CiviCRM on a shared server with CPanel with latest CiviCRM and Wordpress versions. I have created cron jobs for all active crons using wget. e.g.

wget 'https://domain.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=NAME&pass=PASS&key=KEY&job=cleanup'

Crons are running and the last run times on the scheduled job page are updated for my active jobs but the system status page lists the last time cron ran to be when I last ran all jobs manually.

Is there something else I should do?

# Answer
You do not need to have a separate cronjob for each job: on the admin interface, set the frequency for each job you want to (nightly is good for most of them, but the one that process the mailing and handle the bounces are better run hourly or more frequently)

And then if you wget without the "job=cleanup" it will automatically try to process all the ones that you have enabled... and should properly log that they were processed
> 2 votes

---
Tags: cron-job, cron, status
---


# Question
Title: can't access "Joomla Access Controls" after upgrade from 4.2.19 to 4.7.25
I've just gone through a long incremental upgrade process from CiviCRM 4.2.19 to 4.7.25. Thought everything was working well until I discovered non-admin users were getting permission denied errors, so I tried to check the ACL settings -- and I can't access the Joomla Access Control settings.

When I go to "Administer-\>Users and Permissions-\>Permissions (Access Control)" and click "Joomla Access Control", the popup window shows

"500 - An error has occurred. JHtml: :bootstrap not supported. File not found."

Error logs aren't helpful -- nothing in PHP or CiviCRM logs, and Apache error just reports that the request for "/administrator/index.php?option=com\_config&view=component&component=com\_civicrm&tmpl=component" has returned a 500.

Help appreciated!

System details:

* Joomla 2.5.28 (yes I know it needs upgrading, that's happening as part of this whole site upgrade!)
* CiviCRM 4.7.25
* PHP 5.6

# Answer
> 1 votes
OK so in reviewing the requirements in the documentation, it seems that version 4.6.x was the last version that states explicitly it is compatible with Joomla 2.5 AND 3. The latest documentation (which I'm assuming is for 4.7?) says Joomla 3 is required.

But the download site clearly says "Download 4.7.27 for Joomla 2.5x/3x".

I'll try a rollback to 4.6.32 and see if the problem persists.

UPDATE: 4.6.32 solves this issue. So I guess 4.6.32 is the last version of CiviCRM that works with Joomla 2.5, so I have to stay with it until the Joomla site can be upgraded to 3x.

Would be very helpful if the download page were updated to reflect this.

---
Tags: joomla, permissions, 500
---


# Question
Title: CiviCRM 'Detailed Logging' removes former 'Changelog' entries on contacts
CiviCRM 4.7.x

We used CiviCRM for many years and relied upon the normal 'changelog' then we enabled 'Detailed Logging' a few weeks ago, and the old entries from the tab disappeared. Do they still exist in the DB or a file, and are they recoverable and able to be displayed?

# Answer
By default the Report `Contact Logging Report (Summary)`, that is used to display the detailed logging, requires the permission `CiviCRM: administer CiviCRM`.

If you create a CiviCRM user without this permission, you will be able to access the regular change log. This will include the entries before and after you enabled detailed logging.

This is a very usefull feature to ensure data privacy when having unprivileged backend users.
> 3 votes

# Answer
They should still exist in the civicrm\_log table if you have access to the DB.
> 3 votes

---
Tags: logging
---


# Question
Title: What are the advantages of a multi-site installation?
I am working with an organisation that is already using CiviCRM in English. It is developing with teams in a number of countries each of which is recruiting supporters, running training events and working in a different language. We now have Spanish, French, German and Finnish speaking teams. What advantages would we gain from a multisite installation?

The current English installation of CiviCRM is in a Joomla environment.

# Answer
> 3 votes
CiviCRM multisite allows you to have several organizations sharing the same instance of CiviCRM, but only a superuser can see the data across all sites.

The most common example is an organization with multiple chapters. You mention your organization is active in different countries. If:

* You require that users from country A not be able to see contacts entered in country B;
* Users in a "head office" need to see contacts from multiple countries in a single place;

Then multisite is for you.

# Answer
> 1 votes
I was looking for this issue and finally found the below link it's about WordPress and I think it could be helpful. http://www.wpbeginner.com/wp-tutorials/how-to-install-and-setup-wordpress-multisite-network/

---
Tags: multisite
---


# Question
Title: Add custom data field column to relationship tab
Is there a way to add additional field(s) in the relationship tab on a contacts record?

as " hook\_civicrm\_searchColumns is not getting triggered for relationship. ( though this hook is helpful for contribution tab and other search results.)

can any one please advice what would be best way forward to achieve this?

# Answer
> 2 votes
Some of the pages that you would expect to support `hook_civicrm_searchColumns` don't - they're mostly older screens that don't use the appropriate shared code.

Ideally, we would rewrite these pages to use `CRM_Core_Selector_Query` so the hook fires. Since that's not often feasible within a budget, I've resorted to using template overrides, with API calls within the override to pull in additional data.

If you want to avoid overrides, you could probably use JavaScript includes.

None of these are perfect, but short of rewriting the screens (a noble goal!) this is what we have to work with!

---
Tags: relationships, contact-view
---


title: View alerts messages

text:
# Question
Title: View alerts messages
I just installed 4.7.25. All messages said success. However, when I enter CiviCRM in my Joomla site, I see several warnings like No Cron running, etc. When I click on "View alerts...", the screen empties. Did a file/script get missed? Should I reinstall? Thanks for your help.

# Answer
Welcome to the world of CiviCRM! A few things to note:

* Joomla 3.8 changed the location of some files, breaking CiviCRM on Joomla. Some of these problems were fixed in CiviCRM 4.7.27, which was released yesterday. The other bugs were fixed, but not in time to make the testing phase for Civi 4.7.27. They'll be in Civi 4.7.28, releasing December 6, 2017. If you feel comfortable applying patches manually, see CRM-21203 and CRM-21208. Otherwise, you need to wait for the new release.
* Like Joomla, CiviCRM doesn't set up cron on its own - you must set it up yourself. However, scheduled jobs tend to be more important in CiviCRM (e.g. you can't send out a mass mailing without cron, or auto-update membership statuses). Instructions to set up cron vary widely depending on your host - if you have direct access to cron, you can use the instructions on this page: https://docs.civicrm.org/sysadmin/en/latest/setup/jobs/. If you use CPanel, WHM, AlternC, etc., you can set up cron through the control panel.

Note that the cron instructions are a bit messy, and have been rewritten, but the rewrite hasn't been fully edited yet.
> 1 votes

---
Tags: upgrade
---


title: Add relationship on profile submission

text:
# Question
Title: Add relationship on profile submission
Currently there is no a way to add relationship to a profile on submission. Meaning when someone submits a new profile that a relationship be attached to that contact.

This question outlines how it can be done via API How to use API chaining to create a contact and a relationship

In the case I currently need it for WP is the CMS, so I would be seeking something that is CMS independent, the Drupal modules wouldn't work.

What is needed to be done so that there is an option in the settings of the profile to create a relationship. Has anyone done any work like this or have any ideas on what makes sense to look at for something be developed?

# Answer
There is a scenario where a relationship can be created via a profile. If you add a "Current Employer" field to a profile, the employer gets created or matched by name and an "Employee of" relationship is created between the individual and the employer.

If you need more flexibility, the CiviRelate extension may help.

If this doesn't meet you needs, I would consider using the Webform CiviCRM Integration module, if that's feasible in your case.
> 3 votes

# Answer
Updating this to note that it can be done with the Caldera Forms CiviCRM integration plugin.
> 1 votes

---
Tags: wordpress, profile, relationships
---


# Question
Title: Getting counts of donors grouped into categories by giving amount
Let's say I have these groups of donors:

* Small donor, gave \< $100 in the past year.
* Medium donor, gave $100-500 in the past year.
* Major donor, gave \> $500 in the past year.

What's the best way to get a count of all these in one place? My best thought is to create smart groups - then I'd need a report of "Counts by Group". Does such a thing exist? What if I use aggregation with a Drupal View?

# Answer
> 1 votes
AGH Strategies has written a report to do this, which is available as an extension: Donor Tier Report.

# Answer
> 0 votes
you could use the Summary fields Extension. Also, CiviCRM comes with a custom search (/civicrm/contact/search/custom?csid=2&reset=1) that would allow you to search for contacts that meet the criteria and create smart groups as you suggested.

# Answer
> 0 votes
Personally I would probably always use CiviRules (https://civicrm.org/extensions/civirules) to do donor segmentation, allowing you to have groups to report on.

There is an example of donor segmentation with CiviRules on https://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Example+Donor+Classification

# Answer
> 0 votes
Yes I would use Aggregation in Views - and I would base that on using Summary Fields extension.

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


# Question
Title: My hosting company does not support SUPER privilege - can I use CiviCRM with them?
I finally after a week and 3 tickets got CiviCRM/Joomla to install on my Startlogic hosted server, but I can't add anything to the database. The final response I got from Startlogic support was "Hello Michael, We apologize for any inconvenience this has caused you. It looks like the extension which you are trying to install requires super privilege which is not supported. Also, we do not support binary logging which the extension requires. Thus, you are receiving the error message. You can try using any alternative extension and check." At this point I think they are blowing me off and about to go through the headache of switching hosts.
Is there anything I can do get CiviCRM to work on the Startlogic server, as they seem not to want to help.

# Answer
There are only two scenarios in which CiviCRM requires the SUPER privilege:

* You're using a very old version of MySQL. Versions of MySQL 5.1.6 and higher support the TRIGGER permission. Before that, SUPER was necessary. MySQL 5.1 reached its "end of life" at the end of 2013. No modern server should have it installed.
* You're attempting to use the advanced logging feature: **Administer menu » System Settings » Misc**, *Logging* set to **Yes**. If you need this feature, you really need a VPS.

All that said - @Christia is right. StartLogic is entry-level hosting. CiviCRM has heftier requirements than entry-level hosting gives you. Expect poor performance unless you move hosts.
> 4 votes

# Answer
You will either need to get a hosting plan that allows root access and "binary logging" or pay your host to install it. I recommend the former. In my experience, managed types of hosting don't tend to be easy or possible to use CiviCRM and offer a limited list of software or extensions already preloaded. There are hosting companies out there that are familiar with civicrm that can give you more control.
> 3 votes

# Answer
Unless you need Super Privilege for the two scenarios Jon G outlined - you should be able to use a shared host without an issue. Its unlikely a shared host would give you Super Privilege anyways. If you are on a budget and need a shared host, may I suggest one of the following:

Good Luck with your project.

PS: Avoid any and all hosts owned by EIG (such as startlogic)
> 1 votes

---
Tags: joomla, installation, mysql
---


# Question
Title: Why would a hosting company not provide ImageMagick on a shared server?
My hosting company (vidahost.com) have always been good about providing a Civi friendly environment for a reasonable cost & performance. However having moved some domains to a different server (to avoid a problem - see this problem) they now tell me that ImageMagick is now not available on their shared servers. This is a real problem as one client has developed some great e-newsletterws using the Mosaico extension. I'm puzzled why this should be the case - except perhaps to force people to a more expensive VPS solution. Are there other reasons why ImageMagick should be excluded from a shared server?

# Answer
> 1 votes
I use Stablehost's shared server services and have access to all PHP options including ImageMagick. Some hosts choose to restrict access to these functions in order to reduce the number of "complex" websites on their server so they can cram more websites on their server. Most reputable shared hosts provide resource usage limits that they define as acceptable for their service. Restricting what libraries you can use is a poor business choice.

While this isn't a CiviCRM question - I think questions around webhosts and what they offer are important. I hope you get VidaHost to enable it for you - if they don't - take your business elsewhere.

---
Tags: 4.7, hosting, mosaico
---


title: Stripe.js token was not passed!

text:
# Question
Title: Stripe.js token was not passed!
I have two payment processors that I am using for CiviCRM. Paypal Standard works well. Stripe was working for a while and now I get an error screen saying that Strip.js token was not passed. I have asked the author for help but he says he does not know Joomla. Can anyone shed light on where I should start looking.
Joomla 3.4.2 CiviCRM 4.6.4

# Answer
> 2 votes
This seems to be a long-standing issue with the Stripe processor, and from what I can tell (and from what I have experienced), in some cases this extension doesn't play well with other payment processors (including the "pay later" option).

Try disabling Paypal (and Pay Later, if applicable) and then test Stripe again.

See also: https://github.com/drastik/com.drastikbydesign.stripe/issues/76

# Answer
> 1 votes
We had similar problems and created a potential fix for it. It is not currently released or merged with the "official" branch as we are still testing. But (if you have a test environment) you could go ahead and try if the fix works for you:

https://github.com/systopia/com.drastikbydesign.stripe

Also, you may be interested in this CiviCRM issue if you want to collect the billing address on a contribution page: https://issues.civicrm.org/jira/browse/CRM-17082

# Answer
> 0 votes
Dragging up an old thread but I'm now successfully using my dev version of stripe on Joomla: https://github.com/mattwire/com.drastikbydesign.stripe/tree/4.7-mjwconsulting-dev

---
Tags: payment-processor, stripe
---


# Question
Title: Error: DateTimeZone::__construct: Unknown or bad timezone (7200)
I'm getting error "Error: DateTimeZone::\__construct: Unknown or bad timezone (7200)" when opening CiviCRM on my Drupal6 site. Refreshing the page clears the error. The error occurred after I upgraded to D6.38 and Civi4.7.11. My timezone is Africa/Johannesburg. Any ideas?

# Answer
I have a similar setup running Drupal 6 and CiviCRM 4.7.25. My system also showed **System Status: Critical** and no messages. The issue was is that it first attempts to set the time zone and if that fails it doesn't output any further messages for some reason.

In CiviCRM version 4.7.25 you can use the API console to run the System.check action by visiting `http://sitename/civicrm/api#explorer` and choosing Entity `System` and action `check` to repeat this test while you edit the files.

The fix is to fix the time zone problem which inherits from the Drupal 6 user and sets (in my case) an invalid time zone string which creates this issue.

For instances with **Drupal 6**, it uses the method `CRM_Utils_System_Drupal6::getTimeZoneString()` which retrieves the time zone from the user's `timezone` member in the database, which in my case is the offset in seconds, or a string `-14400` for Eastern Time.

The problem is the `DateTimeZone` code which converts this into a database time zone string supports offsets in *hours*, not *seconds*, so I added this code to detect and adjust the values, use at your own risk:

```
--- Drupal6.php (revision 4843)
+++ Drupal6.php (working copy)
@@ -754,6 +754,9 @@
     // Note that 0 is a valid timezone (GMT) so we use strlen not empty to check.
     if (variable_get('configurable_timezones', 1) && $user->uid && isset($user->timezone) && strlen($user->timezone)) {
       $timezone = $user->timezone;
+     if (is_numeric($timezone) && $timezone % 3600 === 0 && abs($timezone) >= 3600) {
+         $timezone = intval($timezone / 3600);
+     }
     }
     else {
       $timezone = variable_get('date_default_timezone', NULL);

```

Once I patched this, the check step works correctly and I can review the further messages we're getting. Another trick here, by the way, is to update `CRM_Utils_Check::CHECK_TIMER` in `sites/all/modules/civicrm/CRM/Utils/Check.php` to a small number while you're debugging, otherwise the checks update only once a day.

As always, use best practices when working on production systems and back up all source files before modifying them.

The other possible place to look is in the Drupal `variables` table for the named value `date_default_timezone` which is used if the user does not have a time zone configured.
> 1 votes

---
Tags: timezone, drupal-6
---


title: How to add menu item and content

text:
# Question
Title: How to add menu item and content
How do I add a new menu item (i.e. after the standard item Contacts, Members, Administration etc) and page which would contain a login to our mail. (Mail will display on this page (the new menu)).

Someone can point me in the right direction?

# Answer
in the menu-\>Administrater-\>Customize data and Screen-\>Navigation (civicrm/admin/menu), you can edit the menu and add entries
> 1 votes

---
Tags: custom-fields, menu
---


title: Change log - user permissions to view

text:
# Question
Title: Change log - user permissions to view
Is there anyway to give users permission to the see the full change log without giving them administrator permissions? (they definitely cannot have these!) We would like them see the details and see who made the change, in order that they can fully curate the records across the team.

We are on Wordpress/Civi 4.6.12 (soon to be version 4.7.10)

Any help appreciated.

# Answer
By default the Report Contact Logging Report (Summary), that is used to display the detailed logging, requires the permission CiviCRM: administer CiviCRM.

You can change it to a permission that you feel comfortable with for your subset of users and save the report. Otherwise you need to create a new specific permission with an extension https://docs.civicrm.org/dev/en/latest/hooks/hook\_civicrm\_permission/.
> 2 votes

---
Tags: permissions
---


# Question
Title: Can you save an advanced activity search?
After using Advanced Search to create a pretty detailed search on activities, I need to save it. If my search results were contacts, I could create a smart group based on the search which would essentially make the search permanently available as suggested here: Saving Advanced Searches for later use

However, my search is **on activities and displays activities**. I need to perform this search frequently and there is no corresponding tool like smart groups for activities.

I also need to be able to use the **Batch Update Activities by Profile** action on the search results which precludes me from simply creating a report and saving that.

# Answer
The key functionality to do this was added in CiviCRM 4.7.25, with CRM-20630.

My understanding is that it's *almost* but not quite what you need. This allows you to pass variables through in the Activity Search URL, but it won't generate the URL for you - you'll have to figure the URL out for your search. A extension to auto-generate the URL seems like a worthy project though.

The feature doesn't seem to be documented yet, but you can see examples on Github.
> 2 votes

# Answer
Look under contacts -\> 'custom search' for something that matches. If that doesn't get you something then it may be time to ask a partner to build you something bespoke, or upgrade CiviCRM for you.
> 1 votes

# Answer
Each time you create a smart group (with its gid), you create an associated saved-search (with an ssid).

Both have their own URL, that you can use to display their result :

https://yoursite/civicrm/group/search?force=1&context=smog&gid=30 or https://yoursite/civicrm/contact/search/advanced?force=1&reset=1&ssID=10&context=advanced

But they don't provide the same result : particularly, with the saved search, you can use a custom Profile to display your list, while the smart group will only display a "default view" (as far as I can see it).

You can find the link gid\<\>ssid in the civicrm\_group table (I don't know if and where you can find it in the UI, nor find a saved-search ssid)
> 0 votes

# Answer
You should be able to save it as a (contact) Smart Group. Then you would need to click 'edit Smart Group criteria' and reset the search to 'display as Activities' to get what you need I think
> 0 votes

---
Tags: civireport, activities, custom-search
---


# Question
Title: Find contacts that have been moved out of a group
Working with Advanced Search and Search Builder but I can't figure out how to find contacts that were moved out of a group.

Civi version 4.7.1 on Drupal. Thanks!

# Answer
> 7 votes
There IS a way to search for contacts removed from a group - but it's well-hidden.

* Go to **Contacts menu » Manage Groups**.
* Click the **Contacts** link next to the group you'd like to see deleted contacts for.
* Under *Group Status*, uncheck **Added** and check **Removed** before pressing **Search**.

---
Tags: custom-search
---


# Question
Title: URL issue with AWS load balancer and SSL certificate
I recently installed Civicrm on AWS. App works great! However, when I creat a load balancer with a SSL certificate and point the Domain towards the LB, I get a 503 page. If I don't use SSL, everything works fine.

What am I missing?

# Answer
> 1 votes
You should look at log the load balancer. the 503 might be generated there (ie. the LB can't reach the backend) or it might be that the LB can reach the real servers hosting civi, but they can't process the request

Assuming you trust amazon (a big assumption), you might want to say that the https LB can talk to an unsecure civi server (via http).

Otherwise if you want to be more secure and don't trust amazon, you might need to configure your civicrm server so they handle https too.

# Answer
> 0 votes
It's hard to say without knowing more about your configuration - but the first thing to check is that your BASE\_URL setting in `civicrm.settings.php` is set to HTTPS.

Besides that, I'd check the web server logs (Apache/nginx/etc.) on the CiviCRM host. It's pretty common to get a 503 from a reverse proxy when it can't connect to the backend server. Troubleshooting that is out of scope for this Stack Exchange, but it will tell you whether this problem is CiviCRM-specific or not.

---
Tags: urls
---


title: Integrating CiviCRM in Wordpress

text:
# Question
Title: Integrating CiviCRM in Wordpress
I am new to CiviCRM and I have just installed it in WordPress. Am having problems with the integration. I would like users to register to become members, once they registered, they should be redirected to their profile page where they can view their dashboard which consists of their contributions and membership status. I am not able to achieve this at all. Secondly, when deploying a form, they don't show the labels. So if someone is filling a form, they won't know if the field is asking for email or phone number. I really need help with this; I am volunteering for a charity organisation who is looking to put their membership structure in place desperately.

# Answer
As ErikH said you do have several questions here. I would suggest taking a look at the following links to the User Guide. This will help clear up the process for you.

Defining Member Types: https://docs.civicrm.org/user/en/latest/membership/defining-memberships/ Membership Sign up: https://docs.civicrm.org/user/en/latest/membership/online-membership-sign-up/

You should also look at the following as these are involved in creating online member signups:

Profiles: https://docs.civicrm.org/user/en/latest/organising-your-data/profiles/

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

You may also need to utilize a few WordPress plugins to achieve what you are looking for. If you have more specific questions please post here.

Hope this helps!
> 2 votes

---
Tags: wordpress
---


# Question
Title: Error: No block-level parent found. Not good
Using 4.7.22 and Drupal 7, I'm suddenly getting the fatal error "No block-level parent found. Not good" on various pdf generation screens (for example: when hitting Print Invoice button):

It started after a recent update to my OS (Centos6).

# Answer
That error is coming from dompdf, bundled with CiviCRM.

Here are a couple of references to that error outside of CiviCRM:

```
https://github.com/dompdf/dompdf/issues/902
https://github.com/barryvdh/laravel-dompdf/issues/389
```

The error happens for both 4.6 and 4.7, different php, so the trigger to the issue appears to be somewhat removed.

I fixed one case using the pdf setting (here: /civicrm/admin/setting/misc?reset=1). Using the wkhtmltopdf binary instead of the dompdf bundled with CiviCRM solved the issue.

I upgraded to the latest 4.7.27 version with an updated dompdf, and that did not solve the issue, but instead generated a new problem of running out of memory.

I did a bit more research and fixed the 4.6 version of the problem by removing whitespace in the html that is being fed into dompdf, in the file CRM/Utils/PDF/Utils.php, as per the suggestion by benabbotnz in the second issue linked above.
> 4 votes

# Answer
If you’re running out of memory, as per the comment in the other answer, apply this patch to dompdf (a project external to CiviCRM which you’ll find in the CiviCRM vendor directory).

https://github.com/dompdf/dompdf/pull/1570/files

Note: this patch has been merged into dompdf master, so it will be included in the CiviCRM code base in an upcoming release.

The patch above fixed the out-of-memory-problem for 4.7.27 (can now hit Print Invoice again).
> 2 votes

---
Tags: pdf, invoice
---


# Question
Title: CiviCRM 4.7.25 - No such field - unknown column a.weight in field list on Activity
Upgraded a few days ago, everything seems fine. Just word that there are some issues registering new participants/payments, the UI "hangs" on submitting the form, but still records the participation.

Trying it myself, as administrator, I could see that an error was being generated during the transaction, breaking the ajax UI for non-admins.

```
    DB Error: No such field.

```

After looking at the logs, it becomes pretty obvious that the error is being caused by a bad query relating to civicrm\_activity. It would also explain why the registrations are being recorded despite the issue.

```
[nativecode=1054 ** Unknown column 'a.weight' in 'field list']

    [type] => DB_Error

    [user_info] => SELECT a.id as `id`, a.source_record_id as `source_record_id`, a.activity_type_id as `activity_type_id`, a.subject as `subject`, a.activity_date_time as `activity_date_time`, a.duration as `duration`, a.location as `location`, a.phone_id as `phone_id`, a.phone_number as `phone_number`, a.details as `details`, a.status_id as `status_id`, a.priority_id as `priority_id`, a.parent_id as `parent_id`, a.is_test as `is_test`, a.medium_id as `medium_id`, a.is_auto as `is_auto`, a.relationship_id as `relationship_id`, a.is_current_revision as `is_current_revision`, a.original_id as `original_id`, a.result as `result`, a.is_deleted as `is_deleted`, a.campaign_id as `campaign_id`, a.engagement_level as `engagement_level`, a.weight as `weight`, a.is_star as `is_star`, a.created_date as `created_date`, a.modified_date as `modified_date`
FROM civicrm_activity a
WHERE (a.source_record_id = "77904") AND (a.activity_type_id = "6")
LIMIT 25
OFFSET 0

```

I can confirm that my civicrm\_activity table DOES NOT have the weight column...

Does anyone have any experience with this kind of nuttiness?

# Answer
> 0 votes
Comparing a fresh CiviCRM DB with my own revealed the differences between existing and expected.

I added the weight field to the civicrm\_activity table in the right place and things were resolved.

This installation has been through years and years of updates and there have been several occasions over the years where half-baked upgrade scripts have left the DB in similarly half-baked corners.

Gladly, this only caused some UI issues and is now resolved.

---
Tags: error, activities, payment
---


title: CiviCRM & PCI Compliance

text:
# Question
Title: CiviCRM & PCI Compliance
Does anyone know if the Core CiviCRM Payment Methods are PCI Compliant. We want to use the eWay payment gateway in Core but not sure what the setup is of the payment processor. I know PCI Compliance requires a whole number of other factors as well but from a Payment processor standpoint I thought I should ask.

# Answer
> 8 votes
As I'm sure you are learning, PCI compliance is a complicated business. The payment processor (I discuss eWay below) and your own operations play the biggest role in PCI compliance. Some of the issues on the organization's end are:

* your own server's security protocols (including, but not limited to, SSL)
* how the payment information is transferred to the payment processor
* in-office protocols for access to data both on- and off-line

A great starting point is http://gitbook.civicrm.org/initial-set-up/security.html

One component is whether or not your site is utilizing SSL. The CiviCRM wiki on Security and PCI Compliance has some excellent points about SSL.

CiviCRM itself does not store credit card information in the database, but if you are collecting credit card info on your Civi forms and then sending it to the payment processor, the credit card info will be on your server temporarily by default (see Lobo's comment here from 2011) so your server will need to be PCI compliant. (Eileen mentions options like direct post and transparent redirect in this CiviCon talk for certain payment processors, but that takes some semblance of custom work: Adventures in Payment Processing).

**For eWay specifically**, their website says they are tier one PCI DSS compliant. If you are sending people to an external site for eWay to process on their site (I don't know if that's an option for eWay), then a lot of the responsibility for PCI compliance gets off-loaded as well. If you are collecting credit card info on your own Civi forms and then sending the info to eWay, they have a page about your organization's responsibilities in PCI compliance.

A great explanation of PCI compliance and things an organization should consider relating to PCI compliance is available from this CiviCon Denver 2015 talk: CiviCon Denver Data Security and Payment.

# Answer
> 1 votes
I have had to research this subject for my organisation so thought I'd add this answer with more eWAY-specific detail.

The CiviCRM core eWAY payment processor and the two 'eWAY Recurring' extensions here and here all use eWAY's Legacy Direct XML API.

The CiviCRM Omnipay extension only recently added support for eWAY. This extension is built on the Omnipay multi-gateway payment processing library. It supports these eWAY gateway APIs:

* Legacy Direct XML
* Rapid Direct
* Rapid Transparent Redirect
* Rapid Responsive Shared Page

Referring to eWAY's PCI compliance page, eWAY states that:

* Legacy Direct XML and Rapid Direct APIs require PCI SAQ D (326 questions) compliance (this is the API used by the CiviCRM Core, eWAY Recurring extensions, and the Omnipay Rapid Direct and Omnipay Direct payment processors)
* Rapid Transparent Redirect requires SAQ A–EP (140 requirements)
* Rapid Responsive Shared Page requires SAQ A (14 requirements)

So using the Omnipay extension and choosing Rapid Shared is the only available eWAY+CiviCRM option that could reduce the PCI compliance scope to the lowest level, SAQ A. However, it's not that simple. Offsite payment processors such as this are only supported by CiviCRM on front-end pages and do not work for back-end pages. There is no available option for eWAY+CiviCRM back-end contributions that can result in less than SAQ D.

In the future I think it will be important for CiviCRM to support more payment processors that can reduce PCI scope to SAQ A (as maintaining even SAQ A-EP will be beyond many organisations' resources) such as eWAY's Secure Panel or Secure Fields. A problem could be that these rely on some client-side Javascript and the Omnipay project seems to not include JS in its scope and I'm also not sure that the `SecuredCardData` field that eWAY requires is catered for by Omnipay.

Another option that is available in Australia is Stripe. ~~Stripe claims that when its Stripe.js is used that only SAQ A is required, however this may be contentious. The author of the CiviCRM Stripe extension also warns of its limitations.~~ EDIT: At some point in 2018 Stripe changed its requirements: Stripe.js (on its own without Elements) will now necessitate SAQ A-EP as per https://stripe.com/docs/stripe-js.

Disclaimer: I am not a QSA and the above is just my opinion based on researching this same topic for myself.

---
Tags: civicontribute, payment-processor, pci-compliance
---


# Question
Title: How can I customize the page coming after an event registration?
we're having an event coming up and I've succeeded in setting up the event registration page in civicrm running on wordpress. I've already customized the registration confirmation e-mail, however, when it comes to the page that one is led to after finalizing the registration process, I have no idea how to customize it. Unfortunately, it contains multiple aspects I'd like to change.

Any ideas?

Thanks a lot in advance and best regards!

# Answer
I was able to answer the question myself: For WordPress, the solution is to access the following folder wp-content/plugins/civicrm/civicrm/templates/CRM/Event/Form/Registration/ and change the template called 'ThankYou.tpl'

Hope this helps.

Best regards! Jannis
> 0 votes

# Answer
In the Event Configuration \> Online Registration you can edit three locations on the confirmation page--the Title, Intro, and Footer. You can add text or html in the "Thank You Screen" boxes and it will be displayed on the confirmation page.

If you need to edit more than this, see the above answer and comments.
> 1 votes

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


# Question
Title: Whats the procedure to update a Group using a Smart group
I'm just wondering how can I update a group in CiviCRM using a smart group. Would it be possible to do this via a scheduled job.

Any thoughts would be highly appreciated

# Answer
There are a couple of ways to accomplish what you want. First - since your end goal is displaying smart group data in a View, you can instead just install the `civicrm_views_smartgroup` module. See this question: Can Drupal Views filter contacts based on Smart Groups

Another way to accomplish what you're trying to do is to add members to the static group using the CiviRules extension and remove the smart group entirely. If CiviRules has the correct triggers/rules to accomplish this for your use case, I recommend this approach for performance reasons.

Finally - I might be tempted to try to write some SQL that runs on a timer - either through cron or the Scheduled SQL Tasks extension. This is a bit risky - I'm not 100% sure how to guarantee that the smart group cache is populated at the moment your SQL runs. This is the closest to what you're requesting, but is a risky move that could put your database in an unusable state if you don't know what you're doing.
> 0 votes

# Answer
The only time I had to replace a smart group by a "normal" group was for performance reason when we started to have more than a million contacts.

Otherwise, I'd suggest to use the smart groups as you would use a normal group, and if you have performances issues, start by increasing the smart cache duration and enable the cronjob that automatically re-build them
> 0 votes

---
Tags: civimember, groups, smartgroups, civicrm-home
---


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

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

# Answer
If you install Fuzion's Extension: ExtendedReport (nz.co.fuzion.extendedreport) - specifically the Line Item report for price sets - then you can pull currency into your Reports; here's a screenshot of what that looks like (for a variety of Donations/Events pages).

You can then make a report a) for one currency and b) for another currency \[using filters\]. Hope that helps!
> 2 votes

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

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

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

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

---
Tags: civicontribute, civireport, currency
---


# Question
Title: How can I tell which template a specific report instance is based on?
If I look at a report instance, how do I know which template it comes from?

# Answer
> 3 votes
Short answer: with some difficulty.

If you only have access to the web interface, your best bet is to use the "Create Report from Templates" link under Reports to see a listing of all the available templates, and try the "Existing Reports" link on the most likely ones to see if the report is listed.

If you have database access, you can look up the report instance in the civicrm\_report\_instance table where it will tell you the class that the instance is based on, from which you can usually identify the report.

Providing the report template information on the report instance would be a great idea.

---
Tags: civireport
---


# Question
Title: Why Can't I use an Organization Profile type in a Contribution Page?
I want to create a contribution page for organizations specifically. So, I create a profile with the "Organization Name" field. This makes the profile type Organization (as opposed to Individual). When setting up my contribution page I'm unable to select my Organization Type Profile from the drop-down menu (Individual Type Profiles work fine).

I have modified the "On Behalf Of Organization" profile to include the fields I desire and selected the \[Allow individuals to contribute and / or signup for membership on behalf of an organization?\] check-box. Other than the user having to check a box to see Organization fields, this works fine.

The problem now is that I can't setup the form to be a "cid=0" URL form, which gives the user the option to lookup a contact record and have the fields populate upon selection. The lookup works on the Organization form, but when I click the organization I want CiviCRM doesn't populate the fields and I get this error: "Error Mandatory key(s) missing from params array: profile\_id"

The web form I have put together for Individuals works great with a "cid=0" URL for lookup and auto-populate. Why can't a form with organization fields work the same?

# Answer
> 2 votes
You kind of have two questions here: the second being an issue you ran across after addressing the first.

To start with, yes, the main profiles on a contribution form are limited to contribution fields, individual fields, and fields for all contact types.

The presumption is that only individuals have fingers to fill out a form; even if the form is an organization's membership or donation, it's really an individual *acting on behalf of* the organization. However, you already solved this: you started using the "on behalf of organization" options.

I know the feature you describe with the `cid=0` for filling the donation form as someone else, but that box should only allow you to select individuals, since it's filling the parts of the form that are individual-specific. Meanwhile, it wouldn't necessarily make sense to fill the organization fields, because an individual may have any number of relationships with organizations.

If someone were to extend CiviCRM to add a second box for selecting the organization that is related to the individual making the contribution, that would be a nice feature. However, it doesn't do it at the moment.

# Answer
> 0 votes
We use Drupal CiviCRM Webform to achieve this functionality. It allows us to record a contribution for an organization. In any case, we are not able to send the receipt with the information of the organization because the same reason, we can't embed a profile with organization fields.

> Cannot add or update profile field type Contribution with combination of Activity or Membership or Participant or Household or Organization

Have you found any solution in this regard? Does anyone know if it is an intentional (and the reasons) or an undeveloped functionality?

---
Tags: civicontribute, profile
---


title: Search for duplicate contributions

text:
# Question
Title: Search for duplicate contributions
We detected recently some duplicate contributions records. How to make a list of all duplicates? We use the field "source" to indicate the year of the contribution. So we are looking of a list of duplicate contributions for instance for source = "2017"

# Answer
We found a solution by using this SQL query:

```
/* === Duplicate contributions === */
/* c contact * b contribution * t temporary */
SELECT b.contact_id ContactID, c.last_name Last name, c.first_name First name,
       b.source Year, b.total_amount Contribution,
       b.receive_date Received,  b.receipt_date Processed
FROM civicrm_contribution b
JOIN (
    select b.contact_id, b.source, count(*)
    from civicrm_contribution b
    group by b.contact_id, b.source
    having count(*) > 1
    )
    t on b.contact_id = t.contact_id and b.source = t.source
INNER JOIN civicrm_contact c ON b.contact_id=c.id

```
> 1 votes

---
Tags: civicontribute
---


# Question
Title: Uncaught TypeError: $(...).crmAutocomplete is not a function
CRM.$(function($) { $('#current\_employer').crmAutocomplete({params:{contact\_type:'Organization',group:18}}); }); i got error Uncaught TypeError: $(...).crmAutocomplete is not a function

# Answer
> 0 votes
The information you are giving us is way too little to be able to know what your problem is. But I will make a wild guess....did you at some point use cj rather than $ so you get the right jQuery object? I would expect:

```
 cj('#current_employer').crmAutocomplete

```

Unless you specified somewhere that you are going to use $ for cj.

---
Tags: civievent, drupal, civicontribute, civimember, custom-fields
---


# Question
Title: Add another position to a contact or enable fullt-text search for position field
in CiviCRM running on WordPress I had to recognize that it creates problems when filling in two positions into the position field when adding a contact. The main problem is that you've got to type the exact name of the position when searching for a certain contact that's got that position. If this contact has got two positions, however, CiviCRM won't show that contact unless you search for both positions. Then, however, the search does not make any sense, since you would have to know all position of your contacts in advance...

Am I making a mistake here or is there a solution to that problem?

Thanks a lot for looking at this! Best regards Jannis

Edit: I am using the German translated version where the field 'position' is called 'Funktion'. So in an earlier version of this post it said 'function' instead of 'position'. Thanks a lot, @jitendrapurohit, for pointing at that problem! :)

# Answer
> 2 votes
You can use placeholders for this.

* '%' for any number of characters
* '\_' for exactly one character

Searching for '%CEO%' will find all contacts that have that substring somewhere in their position field.

---
Tags: contacts, search
---


title: Public Cannot Access Contribution Pages

text:
# Question
Title: Public Cannot Access Contribution Pages
All of a sudden, out of blue, none of my contribution pages can be accessed by the the public. I am installed in WP and there is no "Make online contributions" permission as an option.

(From the Wiki:

Notes on Specific Permissions Make online contributions: If you plan to use CiviContribute and want to allow online contributions, enable this permission. Be sure to assign this permission for the "anonymous" role if you want to allow un-authenticated visitors to make contributions.)

It was all working fine and then out of the blue, it wasn't. Working with 4.7.25.

# Answer
> 1 votes
I see the "Make Online Contributions" permission. I found it by going to:

* Administer menu » Users and Permissions » Permissions (Access Control)
* Select "WordPress Access Control".
* Find "CiviContribute: make online contributions". You'll probably want to check all the boxes next to it and press "Save".

See screenshots for all the steps above:

---
Tags: civicontribute
---


# Question
Title: Why am I getting 'DB Error: no such field' when editing a report?
I just upgraded to 4.7.27 under Drupal 7. Now, when I try to edit a report, I get 'DB Error: no such field' when trying to save the report. Changes are not saved. Here is the backtrace:

```
    #0 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/Error.php(187): CRM_Core_Error::backtrace()
#1 [internal function](): CRM_Core_Error::handle(Object(DB_Error))
#2 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/PEAR.php(921): call_user_func((Array:2), Object(DB_Error))
#3 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: no such field", -19, 16, (Array:2), "INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...")
#4 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-19, 16, (Array:2), "INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...")
#5 [internal function](): PEAR->_raiseError(Object(DB_mysqli), NULL, -19, NULL, NULL, "INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...", "DB_Error", TRUE)
#6 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/PEAR.php(224): call_user_func_array((Array:2), (Array:8))
#7 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/common.php(1905): PEAR->__call("raiseError", (Array:7))
#8 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/common.php(1905): PEAR->raiseError(NULL, -19, NULL, NULL, "INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...", "DB_Error", TRUE)
#9 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-19, NULL, NULL, NULL, "1054 ** Unknown column 'icon' in 'field list'")
#10 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#11 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...")
#12 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/DataObject.php(2446): DB_common->query("INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...")
#13 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/DB/DataObject.php(1068): DB_DataObject->_query("INSERT INTO civicrm_navigation (domain_id , label , name , url , permission ,...")
#14 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/DAO.php(495): DB_DataObject->insert()
#15 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/BAO/Navigation.php(98): CRM_Core_DAO->save()
#16 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Report/BAO/ReportInstance.php(196): CRM_Core_BAO_Navigation::add((Array:9))
#17 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Report/Form/Instance.php(381): CRM_Report_BAO_ReportInstance::create((Array:97))
#18 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Report/Form.php(2589): CRM_Report_Form_Instance::postProcess(Object(CRM_Report_Form_Contribute_Summary))
#19 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Report/Form.php(3242): CRM_Report_Form->beginPostProcess()
#20 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Report/Form/Contribute/Summary.php(757): CRM_Report_Form->postProcess()
#21 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/Form.php(447): CRM_Report_Form_Contribute_Summary->postProcess()
#22 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Submit.php(74): CRM_Core_Form->mainProcess()
#23 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Submit->perform(Object(CRM_Report_Form_Contribute_Summary), "submit")
#24 /home/REDACTED/www/www/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Report_Form_Contribute_Summary), "submit")
#25 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("submit")
#26 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
#27 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Report/Page/Instance.php(89): CRM_Utils_Wrapper->run("CRM_Report_Form_Contribute_Summary", NULL, NULL)
#28 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(309): CRM_Report_Page_Instance->run((Array:4), NULL)
#29 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14))
#30 /home/REDACTED/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#31 /home/REDACTED/www/www/sites/all/modules/civicrm/drupal/civicrm.module(448): CRM_Core_Invoke::invoke((Array:4))
#32 [internal function](): civicrm_invoke("report", "instance", "61")
#33 /home/REDACTED/www/www/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:3))
#34 /home/REDACTED/www/www/index.php(21): menu_execute_active_handler()
#35 {main}

```

I have no idea how to interpret this or what to do. Any help would be appreciated. Thanks.

# Answer
CiviCRM 4.7.27 introduced the ability to add icons next to menu items (see screenshot below). This requires a new field called "icon" in the database on the `civicrm_navigation` menu.

When you save your report, it's trying to update the menu item for this report. However, your database doesn't have the `icon` field, hence the error.

Most likely, this is because CiviCRM was upgraded in the file system, but the "database upgrade" script wasn't run. Check this step of the upgrade instructions to upgrade the database.

### Troubleshooting

If this says the upgrade has already run, that's more concerning. It means that the upgrade skipped a step and/or didn't finish. This could be because of a timeout issue if you're on a slow server, or you don't have the permission to alter tables.

Here is the code that shows all the database changes in Civi 4.7.27. If the upgrade has already run, you'll need to figure out which of these steps ran and which didn't, and use that to try to figure out why (ideally by manually making these database changes).
> 1 votes

---
Tags: civireport, error
---


# Question
Title: Uncaught ReferenceError: CRM is not defined whilst open the "directories" page on the admin page
I moved my civicrm installation from Drupal to Joomla (well testing the migration). So far all seems to be ok.. However when I open the "directories" page via the admin page I get a unstyled page that is throwing the following error: Uncaught ReferenceError: CRM is not defined

Remove already the cache and cleaned some known directories but still the issue persists.

# Answer
> 0 votes
It sounds like your Resource URLs and directories need to be updated.

Since you're having trouble opening the directory page, try using an override in `civicrm.settings.php`.

---
Tags: joomla, migration
---


title: Why does configuration option stay red?

text:
# Question
Title: Why does configuration option stay red?
I am very new to CiviCRM. I am setting the Configuration Checklist options. After setting one, and saving, it remains red. Have I missed something?

# Answer
> 1 votes
The "Configuration Checklist" is just a set of links - the color is just an indication of whether or not you've clicked on it. In many cases, there's no definitive way for CiviCRM to know whether the answer you gave is "correct". For instance, you may not have set a default state/province because you don't want one, not because you forgot to.

That said: Some configurations MUST be set. Those will show up at **Administer menu » Administration Console » System Status** if they're not configured.

# Answer
> 0 votes
Try refreshing the Configuration Checklist page after you have visited the links it suggests. They should change from red.

---
Tags: configuration
---


title: Is there a hook for on user sign in?

text:
# Question
Title: Is there a hook for on user sign in?
Is there a good hook for on CiviCRM sign in?

\[This is to display a message upon login in a cms-independent extension.\]

Thanks,

# Answer
Login is a CMS event, not a CiviCRM event. This means you can access it readily from a CMS plugin/extension/module ... but not from a CiviCRM extension.

If you wanted to access this from a CiviCRM extension, you'd need to use some event which fires at the time of login. You might be able to identify one using the `contrib.showallthehooks` extension to reveal which hooks get fired at the point of login. Might need to check it was going to fire for each of the CMS platforms, since behaviour could vary.
> 4 votes

---
Tags: extension, hooks
---


# Question
Title: Is there a way to create a Membership Status for memberships that have recently been renewed?
We currently use the membership status "NEW" to identify recent membership signups. For various reasons, we also need a membership status to identify those who have recently renewed. As a workaround, I'm creating a smart group for the activity "Membership Renewal" but it seems that a status would be better. Anyone know how to do this or if it is possible?

# Answer
Well, it's not really possible to have a status for the `Renew` state because the `Start event` used for status rules is based on one of the following date :

* start date : this date is updated only when there is a gap between the last end date and the new renewal date... if there is no gap, which is the most frequent case, there will be no update
* end date : updated any time the membership is successfully renewed / mainly used for "grace" / "expired" status
* member since : this date is not updated by the system at all so it is used for new membership

So, without development, the only way i can think of having this kind of status is to manually update the start date every time you renew (which probably defeat the purpose).

Then, you can define :

* `Start Event` to `start date`
* `Start Event Adjustment` to be 0 (start at the renewal date)
* `End Event` to be **start date** again
* `End Event Adjustment` to be 1 month or the period you'd like it to lasts
* `Current Membership` should be **checked** because obviously, membership with those status are valid

Please put the new `Renew` rule **above** the `Current` status by changing the `Order` because CiviCRM test the rules one by one and stop at the first matching item.
> 1 votes

# Answer
I haven't walked through the details, but CiviRules lets you do things with membership statuses. You may want to walk the logic through and see if there is a way to get what you want or close to what you want with that for now.
> 1 votes

# Answer
If I am not wrong - you need to create a new membership status - please use the below link

administer -\> civimember -\> membership status rules
or
.../civicrm/admin/member/membershipStatus?reset=1

you can find a list of existing membership status - just add new and create one saying "Renewed" and you need to set the membership status to renewed whenever a new member signup

Also if you have "Update Membership Statuses" schedule job running which will reset the status based on the rules whenever the job runs

I guess this helps !!!
> 0 votes

---
Tags: civimember, status
---


# Question
Title: Allow multiple registrations from the same email address requires a profile of type 'Individual'
Long time ago, we had created event and template for event. We give permission to user to register multiple participant with same email address.

Now we have problem with a lot of question link to participant.

At this time we receive this error : "*Allow multiple registrations from the same email address requires a profile of type 'Individual'"*

I think problem is comming from dedupe rules but I can resolved it. I have create new one but it change nothing. I received this error

But I receive error when I was creating new user more detailed error like this :

```
#0 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Core/Error.php(187): CRM_Core_Error::backtrace()
#1 [internal function](): CRM_Core_Error::handle(Object(DB_Error))
#2 /usr/share/php/PEAR.php(890): call_user_func((Array:2), Object(DB_Error))
#3 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB.php(976): PEAR_Error->PEAR_Error("DB Error: constraint violation", -3, 16, (Array:2), "DELETE FROM civicrm_dedupe_rule_group  WHERE (  civicrm_dedupe_rule_group.id ...")
#4 /usr/share/php/PEAR.php(531): DB_Error->DB_Error(-3, 16, (Array:2), "DELETE FROM civicrm_dedupe_rule_group  WHERE (  civicrm_dedupe_rule_group.id ...")
#5 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB/common.php(1905): PEAR->raiseError(NULL, -3, NULL, NULL, "DELETE FROM civicrm_dedupe_rule_group  WHERE (  civicrm_dedupe_rule_group.id ...", "DB_Error", TRUE)
#6 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB/mysql.php(895): DB_common->raiseError(-3, NULL, NULL, NULL, "1451 ** Cannot delete or update a parent row: a foreign key constraint fails ...")
#7 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB/mysql.php(328): DB_mysql->mysqlRaiseError()
#8 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysql->simpleQuery("DELETE FROM civicrm_dedupe_rule_group  WHERE (  civicrm_dedupe_rule_group.id ...")
#9 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB/DataObject.php(2438): DB_common->query("DELETE FROM civicrm_dedupe_rule_group  WHERE (  civicrm_dedupe_rule_group.id ...")
#10 /home/username/etuc/docroot/sites/all/modules/civicrm/packages/DB/DataObject.php(1449): DB_DataObject->_query("DELETE FROM civicrm_dedupe_rule_group  WHERE (  civicrm_dedupe_rule_group.id ...")
#11 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Core/DAO.php(519): DB_DataObject->delete(FALSE)
#12 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Contact/Page/DedupeRules.php(218): CRM_Core_DAO->delete()
#13 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Contact/Page/DedupeRules.php(123): CRM_Contact_Page_DedupeRules->delete("1")
#14 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Core/Invoke.php(312): CRM_Contact_Page_DedupeRules->run((Array:3), NULL)
#15 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
#16 /home/username/etuc/docroot/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
#17 /home/username/etuc/docroot/sites/all/modules/civicrm/drupal/civicrm.module(448): CRM_Core_Invoke::invoke((Array:3))
#18 [internal function](): civicrm_invoke("contact", "deduperules")
#19 /home/username/etuc/docroot/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:2))
#20 /home/username/etuc/docroot/index.php(21): menu_execute_active_handler()
#21 {main}

Sorry but we are not able to provide this at the moment
"Supervised rule for Indivual does not exist"

```

How have the same problems? What are solutions?

Thanks a lot.

NI

# Answer
> 1 votes
The list line is probably the information you need

> "Supervised rule for Indivual does not exist"

Go to your Duplicate matching rules and confirm if this is missing and create it.

/civicrm/contact/deduperules?reset=1

Read the book on DeDupe rules if you need more info on creating Rules.

---
Tags: civievent, drupal, custom-fields, error, duplicate-contacts
---