# Question
Title: Related Permissions Extension: Existing Contact widget on Webform not showing related contacts
We are using Webform and the Related Permissions extension to allow parents to register their children for summer camp events. An Existing Contact select widget is included so that parents can select children they have previously registered (which established a permissioned relationship between them).

With "Enforce Permissions" selected on the webform component, the drop down list does not work - no contacts are included in the list, even though the user is logged and has related and permissioned contacts.

When "Enforce Permissions" is de-selected, the drop down list shows the first 500 contacts as expected.

The logs show the following error:

*The CiviCRM "contact get" API returned the error: "DB Error: unknown error" when called by function "\_webform\_render\_civicrm\_contact" on line 387 of contact\_component.inc with parameters: "Array ( \[is\_deleted\] =\> 0 \[contact\_type\] =\> Individual \[check\_permissions\] =\> 1 \[rowCount\] =\> 500 \[sort\] =\> sort\_name \[version\] =\> 3 ) "*

Drupal 7.50 Civi 4.7.11 Webform 7.x-4.14 Related Permissions Extension 1.2 (with latest codebase installed a couple of weeks ago)

Any ideas appreciated!

# Answer
According to here this has been fixed with this patch
> 0 votes

---
Tags: webform-civicrm, extension
---


# Question
Title: Import participants with fee levels and price sets
Is there any information available on if it is possible to import event participants with price sets, and if so how?

There is a field in the field matching that says "Fee Level" but I am not at all in the clear about this. Is that the text from the field in the standard fee level?

# Answer
> 2 votes
Fee level indeed represents the options selected within a price set for a given event (if you look at the "Events" tab on a contact record, you will see a column where fee level selections are concatenated per event registration).

To avoid duplicate participant records, I'm thinking you might need to do this in two passes - first, import the participants without any associated contributions (using the GUI import wizard should suffice), then import contributions. Since you can't use the GUI to import multi-line item contributions, you may wish to make use of an API if one is already available so that all of the relevant financial tables will be updated and all entity tables linked accordingly.

Hope this helps, Tamar

---
Tags: civievent, import, price-sets
---


# Question
Title: Process Inbound Emails Failed: No mail protocol
I'm unable to pull activities from an email account. I'm using civicrm 4.5.5 and Wordpress. When looking at the job log I get

```
0
Summary
Finished execution of Process Inbound Emails with result: Failure, Error message: Process Activities failed
Details

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

Full message:
Finished execution of Process Inbound Emails with result: Failure, Error message: Process Activities failed

```

Referencing Process Inbound Emails Failed I looked at the civicrm error log and got the following error.

```
Oct 10 10:54:38  [info] $Fatal Error Details = Array
(
    [message] => Could not connect to MailStore for @<p>Error message: <pre>Empty mail protocol</pre><p>
    [code] =>
)

```

So it seems like Civi isn't even the information I put in the CiviMail settings. Unlike the question referenced, my problem does not seem to be authentication based. I have an account set up for Email-to-Activity but it doesn't seem to be recognized. Any ideas?

# Answer
> 3 votes
At **Administer** \> **CiviMail** \> **Mail Accounts** (civicrm/admin/mailSettings) you want to see two accounts configured, one for **Bounce processing** and one for **Activity processing**

It's possible what you're describing is what happens when there is *no* account configured for activity processing. If so, the error message is a bit misleading, but I suspect that's what you're seeing. If not, continue :)

Both of these mail accounts require working credentials, see "checking credentials" below.

As well as the username / password correctly set, those mail accounts require a *protocol* \- this is probably IMAP, and probably with SSL. (If your mail provider doesn't use SSL, that's bad IMO.)

### Checking credentials

Check the mail logins you have work ASAP. You can see the saved password in the DB or by viewing source when editing the account.

I use `fetchmail` to verify this from the server, so I can check access works from the server in question as well. For a Gmail account `bounce@example.org`, this looks like:

```
fetchmail --ssl --check -u bounce@example.org -p imap imap.gmail.com

```

You can also check by adding a mail account to your desktop mail client, just remove it afterwards.

---
Tags: civimail, scheduled-job
---


title: Extension Maintenance: Settings

text:
# Question
Title: Extension Maintenance: Settings
It's time to update the Phone Number Validator to support version 4.7.

In the uninstall function, I tidily remove the settings that get added during install. This looks as follows:

'DELETE FROM civicrm\_setting WHERE group\_name = "com.civifirst.phonenumbervalidator"'

But the group\_name field has been removed. How can we neatly remove settings entries in a way that supports 4.6 and 4.7?

Thanks,

John

# Answer
> 1 votes
The `group_name` in \<=v4.6 was deceptive -- in some circumstances, it provided namespacing, but it in others it didn't, so the safe play has always been to use some kind of name-prefixing.

If the setting names are prefixed, then do something like:

```
DELETE FROM civicrm_setting WHERE name LIKE "phonenumbervalidator_%"

```

---
Tags: extension
---


title: GitHub Pull Request errors

text:
# Question
Title: GitHub Pull Request errors
I have found that the best way to deal with pull requests that have failed validation due to coding standard error is to close the PR, delete the remote branch in Git and create a new one with the corrected code pushed to it. This is, of course, a bit fiddly and one would rather get the standards right first time. Is this the correct approach? Simply pushing a new commit causes grief in that the local and remote branches are out of sync.

# Answer
> 2 votes
You can add a second commit and push to the same branch, which is what I'd generally do. The PR will be updated with additional commits to the PR's branch.

```
git add --patch
git commit
git push REMOTENAME BRANCHNAME

```

If your branch hasn't been merged (and you're not concerned about others having worked on the same branch), you can also amend your commit and then force-push. But this is more likely to cause grief IMO.

```
git add --patch
git commit --amend
git push -f REMOTENAME BRANCHNAME

```

If you really regret a PR, you can delete the remote branch and start over. This will probably destroy the PR, but you can make as many branches and pull requests as you like.

A colon before the branch name will push "nothing" to that branch, deleting it.

```
git push REMOTENAME :BRANCHNAME

```

---
Tags: developer
---


# Question
Title: How can I display detailed Authorize.net error code info from civicrm_system_log in the Civi interface?
We're on Civi 4.6.21 and Drupal 7. We use Authorize.net for payment processing.

Error messages from Authorize are displayed in civicrm\_system\_log in the context field as json encoded data. The error messages are useful for determining *exactly* why a transaction failed - a card was declined, the billing address info is wrong (an "AVS mismatch") or other reason.

I'd like to be able to see the error message info in the Civi interface, without having to go in to the back end MySQL table - civicrm\_system\_log - as I do now.

There is a way to see the system\_log data using the API - see the screenshot below.

I want to be able to include the error message info in assigned Activities to renew a membership, ideally using a rule created using CiviRules as part of a membership renewal workflow, and for the assigned caller to be able to easily see *exactly* why the previous transaction did not go through - the card was declined, the billing address is wrong, etc - and to get the correct info from the target/member.

So how can I do this?

# Answer
> 2 votes
I might be on deep water here, but I would propose this workflow:

1. You create a new CiviRules trigger to trigger on System\_log created. That would probably be as simple(?!) as to copy another trigger like Contact created or Contribution created, and replace the values with details on system\_log.
2. You have a condition on field value comparison for a value in system\_log that is unique for failed Authorize.net-payments.
3. Action is to schedule an activity to the appropriate staff member, and include in the activity detail the URL for the API Explorer site, filled in with tokens to show the value for the corresponding system\_log (the same way as checksum is used)

---
Tags: api, payment-processor, authorize.net, recurring-contributions
---


title: GitHub, Jenkins and coding standards

text:
# Question
Title: GitHub, Jenkins and coding standards
I have submitted a few PRs recently for code developed using NetBeans. I have configured NetBeans Code Sniffer to use what I think are the coding standards for CiviCRM. However, this produces lots of errors/observations regarding comments etc. that Jenkins, the system that checks coding standards in GitHub CiviCRM. The result is that it is *very* easy to miss those errors to which Jenkins objects. Does anyone know how to solve this?

# Answer
what sort of code style errors are you coming up against? CiviCRM's code style is very similar to Drupal's code style. I found some information about setting up NetBeans on CiviCRM's wiki, here: https://wiki.civicrm.org/confluence/display/CRMDOC/IDE+Settings+to+Meet+Coding+Standards#IDESettingstoMeetCodingStandards-NetBeans

Hopefully these links provide the right answers. Otherwise let's update the wiki page!
> 1 votes

---
Tags: developer
---


title: Email templates stripped of style tags

text:
# Question
Title: Email templates stripped of style tags
Style tags cannot be saved in message templates and have in fact been stripped from current templates. We use a number of templates based on the Single Column Responsive Sample Template. In the last month, all the templates that used to contain a style tag that made the templates responsive have been stripped from the templates, including the sample template. Any attempts to re-add the style tag (or any style tag at all) seem to save fine, but on viewing do not have the style tag. Other changes are saved properly. I think this is since upgrading to 4.6.22, but am not sure of this.

Style tags can still be saved in CiviMail directly, just not in the templates.

CiviCRM 4.6.22 & Drupal 7.50

# Answer
Changing from TinyMCE for template editing to CKEditor solved this problem. Verified that switching back to TinyMCE causes style tags to be stripped.
> 2 votes

---
Tags: civimail, message-templates, templates
---


# Question
Title: MySQL errors when transferring database from one server to another
I am shifting my server for my DRUPAL7 + Civicrm website. I followed the process outlined here

I have the drupal site working fine and a fresh install of Civicrm working fine. Now i just need to transfer my data from old server to new. When i try to import the data - i get following MySQL error

Error SQL query:

CREATE TABLE IF NOT EXISTS `civicrm_acl` ( `id` int(10) unsigned NOT NULL COMMENT 'Unique table ID', `name` varchar(64) COLLATE utf8\_unicode\_ci DEFAULT NULL COMMENT 'ACL Name.', `deny` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Is this ACL entry Allow (0) or Deny (1) ?', `entity_table` varchar(64) COLLATE utf8\_unicode\_ci NOT NULL COMMENT 'Table of the object possessing this ACL entry (Contact, Group, or ACL Group)', `entity_id` int(10) unsigned DEFAULT NULL COMMENT 'ID of the object possessing this ACL', `operation` varchar(8) COLLATE utf8\_unicode\_ci NOT NULL COMMENT 'What operation does this ACL entry control?', `object_table` varchar(64) COLLATE utf8\_unicode\_ci DEFAULT NULL COMMENT 'The table of the object controlled by this ACL entry', `object_id` int(10) unsigned DEFAULT NULL COMMENT 'The ID of the object controlled by this ACL entry', `acl_table` varchar(64) COLLATE utf8\_unicode\_ci DEFAULT NULL COMMENT 'If this is a grant/revoke entry, what table are we granting?\[...\]

MySQL said: 1215 - Cannot add foreign key constraint

pl help.

# Answer
> 1 votes
Try doing the migration after emptying (dropping all the tables) the DB for the clean install of CiviCRM (so that there is no data or structure in the DB for CiviCRM). I have not had any issues doing an import of my CiviCRM DB into a fresh DB.

I do a full DB dump and don't bother ignoring any tables. Before exporting your CiviCRM DB clean all the caches (drush cc civicrm). Then simply do a mysqldump -u user -p mycivicb \> civicrm\_db.sql

Clear the cache after import (civicrm and drupal). Initially you will get a bunch of errors when loading the page. You'll need to setup your directories and resource urls again. Clear cache whenever you have problems after changing a setting...

Let me know if this works for you. It is a pretty quick process to see if it does...

Note: I usually do a full dump of the drupal and civicrm DBs and import those.

# Answer
> 0 votes
Thanks Sleewok - just before i got your response - i solved it by doing the following: In mysql file there is reference of old username /*!50017 DEFINER=`genie_drp71`@`localhost`*/

I googled for this issue and this links tells to delete all instances of above and then upload https://forum.civicrm.org/index.php?topic=29659.0

So I cleaned my db, archived it again and imported into a fresh db on my new server and it WORKED !

---
Tags: drupal, mysql, migration
---


# Question
Title: How to get list of memberships whose start date is between a date range?
I am trying to filter a list of memberships based on start dates. My filter consists of From date and To date. I want to get a list of memberships whose start date is between From and To date.

I am using a angular page with wordpress setup. Here is what I have tried so far with no success.

```
var membership = crmApi('Membership', 'get', {
          status_id: 2, // get memberships with status Current
          start_date_low: "2016-08-13",
          start_date_high: "2017-08-12",
          return: ['contact_id', 'membership_name', 'start_date', 'end_date', 'source']
        });
return membership;

```

# Answer
Done @petednz - fuzion

Solved it. I have used this. `start_date: {"BETWEEN":["2016-08-13", "2017-08-12"]}` Have got the info from support \> Developer \> API Explorer. I am a newbie in CiviCRM. Was not aware of such a helpful API Explorer.
> 1 votes

---
Tags: wordpress, civicrm-entity
---


# Question
Title: Civix: how to install and generate a skeletal extension (drupal)
I've installed civicrm on drupal site (on remote virtual hosting). And I need to create an extension for civicrm. As far as I know, civix is required for that. I've read https://github.com/totten/civix/ but can't install civix. I've downloaded archive, extracted it and put to /sites/default/files/civicrm folder and it doesn't work. So where I have to place civix? Something else is reqired? Some executables or any other things?

And the next question: how to generate module extension using that civix? I've read https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension#CreateaModuleExtension-Generateaskeletalextension \- there are some things that I can't understand, for example "/var/www/extensions" - I have no such path in my civicrm.

# Answer
> 1 votes
The main `civix` download is a PHAR archive. You can generally execute a PHAR archive directly, without extracting it, as described in the README:

```
sudo curl -LsS https://download.civicrm.org/civix/civix.phar -o /usr/local/bin/civix
sudo chmod +x /usr/local/bin/civix

```

If it's a typical Debian/Ubuntu/RedHat server which you fully control, then putting the file in `/usr/local/bin/` is handy. However, this is not required: as far as `civix` is concerned, you can put the file in any folder with any owner. For convenience, add the folder to the `PATH`.

Note: Some server admins/distros set up their own funky rules (e.g. via `mount` options or `apparmor` or disabling PHP extensions whatever) -- this is especially true on shared hosting. Unfortunately, only you and your admin can determine these types of things.

# Answer
> 0 votes
Sounds like you need to re-read the instructions. On a whim, I'd guess that you don't actually need to write an extension, but if you are sure you do, you'll want to do it on a development machine, not your production machine, especially since you'll need command-line access. Your extensions directory is where you choose to create it, it won't be there automagically.

---
Tags: drupal, civix
---


# Question
Title: file permission issue -- file attachment in mass mail
i have an outbound email that keeps failing with a file permission error. civi created the file with (600 running as nobody) and the cronjob (running as the account owner) can't access that file.

i think this is new behaviour as the user reports that emails with attachments worked before our latest upgrade (458-\>468)

anyway can i force civi to create attachments with (666) ? this allows the cron user to access the file (which i tested by resending the email -- changing the permission on the attachment manually -- and then scheduling for immediate send)

(and yes i know it's "bad practice" to attach files to bulk emails -- but this is a valid use case. user is sending audition packets to potential members of one of our performing ensembles. only 58 recipients. which BTW is a good reason the hard-limit on direct emails to contacts should be a user-adjustable setting not a hard-coded value in a core file! )

# Answer
It's seems like a bug to me. I can reproduced it on at least one of my site. The permission used to be 660 and is now 600 with the new angular CiviMail.

Can you log an issue in JIRA ?

In the mean time, I think it's possible to use legacy UI instead of Angular but can't find how :(

**EDIT**

In my case, i am able to make it work when running the task manually because it's then run as www-data. But it doesn't work when the process is run by cron.
> 1 votes

# Answer
We ran into this issue as well and our cron was:

\*/1 * * * * username cd $CIVI\_ROOT; $PHP bin/cli.php $PARAMS

If I change username to www-data the cron seems to run and send the email with attachment, but I am concerned whether there could be file permission issues if the cron is also trying to write to folders under /home/username that it won't have permission to if run as www-data?
> 1 votes

# Answer
**CiviCRM tasks (including CiviCRM cron) should be run as your www user.**

It's possible to run CiviCRM tasks as multiple users, but you will have to handle filesystem permissions yourself. Avoid this if you can; it's unlikely to be easier than just running cron under the *www* user account.

If you're configuring cron as a system job, you can include the username of the user to run the job as:

```
#mm hh  day mon wkday user      command
*/4 *   *   *   *     www-data  drush @example.org job.execute -u 1 --out=json | logger -t "civicrm[@example.org]"

```

CiviCRM filesystem permissions issues are also discussed in CiviCRM does not have permission to write temp files \- the same issue affects CiviCRM when called from CLI such as `wp-cli` or `drush`.

Note that *"www user"* may vary on different configurations - it may be `www-data`, `nobody`, or some other user account. It's the same user as the one which owns the files in your `templates_c/` directory.
> 1 votes

# Answer
I suspect that this issue has been fixed in CiviCRM 4.7:
https://issues.civicrm.org/jira/browse/CRM-17432
> 1 votes

---
Tags: civimail
---


title: How to enable "Manage Extensions?"

text:
# Question
Title: How to enable "Manage Extensions?"
I'm trying to get some extensions enabled on a Joomla 3.6.2 CiviCRM 4.7.11 installation. For some reason the "Manage Extensions" option is missing from the Admin menu. I was able to get to the necessary page by logging into the demo and grabbing the URL for the extensions area, but how do I get it added to the Admin menu? The demo is running Civi 4.6.18, but I wouldn't think this option has been removed in 4.7. Screenshot below:

# Answer
> 3 votes
On some of our (older but since upgraded) instances the Manage Extensions still shows under Admin \> Customise, rather than Admin \> System Settings - just in case your is there, but just not where you expect it ;-)

# Answer
> 1 votes
To fix missing menu items you can select Admininister -\> Customize Data and Screens -\> Navigation Menu (or if that menu item is missing(!) go to a civi page and change the url in your browser to end with `civicrm/admin/menu?reset=1`). You can then add the missing items if you know their url and title.

---
Tags: joomla, admin
---


title: cumulative donation report

text:
# Question
Title: cumulative donation report
I need to find those who have donated $1000 or more in a certain time frame. How can I prepare a cumulative report for businesses or individuals that will automatically total all donations?

# Answer
> 1 votes
Karen, check out and install @Jamie 's excellent Summary Fields extension at https://civicrm.org/extensions/summary-fields \- it will do what you want, and more.

# Answer
> 0 votes
Karen -

Have you tried the custom search for aggregate giving? (Search \> Custom Searches, click on Contribution Aggregate.) If the export from that search doesn't give you all the fields you need, you could put the results into a group and then export from a search of that group.

Lesley

---
Tags: custom-reports
---


# Question
Title: CiviDiscount that is dependent on status as of event date?
I've enabled CiviDiscount and currently have it set up to offer member rates to a conference. However, it applies the member rate if the individual is a member at the time of registration.

Is there a way to apply the automatic discount after checking to see if the individual will be a member at the time of the event? That is, the end date of the membership must be after the event (or after a date of my choosing) in the CiviDiscount options. That way, if the individual's membership expires in between registration and the conference, they will need to renew their membership before registering for the conference.

*EDIT:* In terms of what I've tried, I have added "Membership" in the "Specify entity for advanced autodiscount" box and "{"end\_date":{"$gt":"2017-02-05"}}" in the "Specify API string in the advanced filter" box. This causes the discount to fail to apply. When I blank those boxes, the discount applies correctly based on the test user's current membership (whose end date is in January 2017).

*EDIT 2:* I looked at the code on Github, and it looks like CiviDiscount is looking at the string using json\_decode, so I changed the string to {"end\_date":{"\>":"2017-02-17"}}. However, when looking at the form after saving it, the \> is escaped to "\>". I feel like that may be the problem, any advice would be appreciated.

# Answer
> 2 votes
Figured it out by manually editing the database and seeing how it was represented in the CiviCRM UI, so here's a guide in case anyone has the same need as me:

**In order to automatically apply a discount if the contact has a membership that is active as of a specified date (example is February 18, 2017):**

In the **specify api string for advanced filter** box, type `{"end_date":{"\u003E":"2017-02-17"}}`

---
Tags: cividiscount
---


# Question
Title: Why is there a Location Type AND a Checkbox for billing addresses?
In CiviCRM you have a location type named billing. In addition to that, there is a checkbox named "Billing location for this contact".

As far as i know, CiviCRM will use the address that has the checkbox ticked whenever you do things that require a billing address such as creating an invoice - the location type is not relevant (correct me if I am wrong).

Having two options to mark an address as the billing address is extremely confusing for users. The location type cannot be disabled either and renaming the label is obviously not a good idea either.

Can anyone tell me why billing addresses are handled this way? Is there actually a chance to change that in a future release and if yes what would be the requirements to do so?

# Answer
> 2 votes
The location type is mainly as a "safe" way for recording a billing address that may differ from a contact's home, work, or other addresses. If you make a transaction that records a contact's billing address, you can't reasonably assume that the address is the contact's primary address. (Maybe it's your home address, or maybe it's the billing department of your employer.) In fact, there may be a primary address separately recorded on the contribution or event form.

Either way, you need to create an address, not overwrite an existing address, and not imply that it's a home, work, or other type of address. Consequently, contribution forms will use the "billing" location type and mark that as used for billing.

(The checkbox is relatively new, too, so there didn't use to be this ambiguity. However, the checkbox allows you to identify an actual location as the billing address so you don't have duplicate information.)

In practice, it's important to let your users know to use the checkbox, not the location type, for determining whether an address is for billing.

For future versions, I'd suggest that the billing location type wouldn't be necessary if contacts were allowed to have multiple instances of the same location type. For backwards compatibility, old sites could keep the billing location type, but new sites could just have a new home (or whatever default) address get added and marked as billing.

# Answer
> 0 votes
We've picked this up at the code sprint in Edale, if you're interested please follow up here: https://issues.civicrm.org/jira/browse/CRM-17783?focusedCommentId=95284

---
Tags: addresses, location-type, billingblock
---


# Question
Title: No Google Groups showing up after setting up Googlegroups Sync extension
I think I have the connection with Google established. At least, Mailings/Googlegroup Settings confirms that I am connected. When I go to Manage Groups and select a group so I can set the Google Group to sync with, the Google Group box is blank. No groups to select.

Would appreciate it if anyone had any ideas for solving this.

Thanks!

Drupal 7.4 CiviCRM 4.6.11

# Answer
I got some help to look into this. Turns out that when I first set it up, I didn't have things set up correctly on the Google side of things. Which I realized pretty early on and fixed. The problem was that the googlegroups extension creates and stores the access token in the database and then never refreshes it. So it had an incorrect value stored from when I first tried setting it up that Google was rejecting. It continued to not work even after I had gotten everything set up correctly since it never refreshed it. We forced it to refresh and then it worked :) –
> 1 votes

# Answer
I am on Wordpress, but I had the same problem. I saw the group, but could not see the field. The reason was that my connection to Google API was not properly setup.

1. If you use Google Apps, pay attention, that on the Google Dev Console you create the Keys with a user which is a Google Domain Admin.
2. You also need to enable the Advanced API for Admin SDK. Search in Googles Developer Console for the Admin SDK and click on enable API.

When that was done, it took me a couple of hours of searching/debugging, the dropdown to select the groups appeared.

regards, Alain
> 2 votes

# Answer
I'm almost too embarrassed to post this: The solution for me was, on Mailings \> Googlegroup Settings, to enter my google domain not my database domain. Why did I think of putting my database's URL there in the first place? It makes no sense to even consider it. Such an obvious mistake, I'm going to go crawl in a hole now. But I hope this confession helps someone else.
> 0 votes

---
Tags: drupal, groups
---


# Question
Title: How are "Billing" location and "Is billing address" automatically set by CiviCRM?
I'd like to know under what circumstances does CiviCRM automatically set an address's Location Type to "Billing", under what circumstances does it automatically set the "Is billing" checkbox for an address.

For example, when completing a public-facing contribution form, or a webform, etc., how are these fields populated?

(I've read Why is there a Location Type AND a Checkbox for billing addresses? which aims to explain the *purpose* of these fields, how they might be used and understood, and why you might manually set them one way or another, but this is slightly different, since I want to know how they're *automatically* set by CiviCRM.)

# Answer
I am not sure if this answers your question, but if you do not have an added profile type to collect a mailing address, the CiviContribute form will automatically only provide a place to check or enter billing address only. If you add a profile type that collects their mailing address also, then CiviCRM will ask on the front-facing form via checkbox if the billing address is different.

If you do not add a mailing address profile, CiviCRM will record the provided address as a billing address. If you do provide the mailing address profile, then CiviCRM will populate both fields according to what the user entered for mailing and billing.

Also, without the added profile to collect a mailing address, the CiviCRM will automatically populate the billing address field with whatever address it knows from the contact record, which may have been entered on the back end or from when the user registered for an account on your website.

When you set up the CiviContribute form on the back end, you will see a tab for "profiles" in which you can add or create a profile such as this.
> 1 votes

---
Tags: addresses, location-type, billingblock
---


title: Problem with Cividiscount and pricesets

text:
# Question
Title: Problem with Cividiscount and pricesets
When setting up a cividiscount coupon, it doesn't work on events where a price set is used. If I set up the fee directly on the events page then the discount shows up but not on events where price sets are used. Any help is much appreciated.

# Answer
Can you post a screenshot of your discount settings? You must make sure that you created a price set for the event (sounds like you did) and that you added the price set as an option for the code to work with in the coupon settings.
> 1 votes

---
Tags: cividiscount, price-sets
---


# Question
Title: How to send A and B messages at the same time?
When doing an AB test on two groups of 7k contacts, what seem to happen is that first the A group is sent in full, then the B group is processed.

It obviously means that the second group is going to be sent later (in the latest experiment, 30 min later) than the first one, so obviously, it's a huge bias and it's hardly possible to compare the open or click rates, because A has such a head start.

Is this possible to change the way the mails are sent to process the two groups as the same time? ie. change something on the cronjob?

# Answer
What I did was to keep big batches (bigger than the test groups) and allow to run several jobs, and then:

```
drupal_root=/var/www/drupal

*/5 * * * * www-data nice -n19 /usr/bin/drush -u 1 -r $drupal_root civicrm-api job.process_mailing auth=0 -y -l wemove
*/5 * * * * www-data nice -n19 /usr/bin/drush -u 1 -r $drupal_root civicrm-api job.process_mailing auth=0 -y -l wemove

```
> 3 votes

---
Tags: abtesting
---


# Question
Title: How to output 'Event Source' field for attendees of an event?
I am using the Event Source field to record table hosts for an event. However, the event reports do not have the option to select 'event source' as an output column...

Do I need to make a custom report? (A little past my experience level after finding https://sf2012.civicrm.org/sites/default/files/slides/CiviCRM%20Reports-Customize%20and%20Extend.pdf, but can be done).

Is there a better way to organize a table host event in CiviCRM? Or should I rather create a custom contact field and just use that?

# Answer
> 1 votes
"Source" is available in the reports as of Civi 4.7.2: see CRM-18042.

So one option is to upgrade to Civi 4.7. Another option is to backport the patch, which is a lot less work than a custom report. I'd give it a 95% chance that you can simply insert the lines from the patch into the appropriate file on 4.6 and it'll just work.

---
Tags: civievent, civireport
---


# Question
Title: Reality check: Can CiviCRM be implemented by a nondeveloper with limited time?
I am the director and only employee of a nonprofit with 2500 members. The president of our Board has set up a modest website hosted on GoDaddy, and now expects me to implement a membership database in CiviCRM, including online membership registrations with multiple levels, mass emailings, events including discounts for purchasing tickets for an entire series, etc. Our membership information is currently in a 20-year-old product called Alpha5 that is no longer supported, and the need to adopt a new database is becoming more urgent as the only computer that holds our current system is getting flaky. We have no money to hire consultants, and in fact I think the main benefit my Board president sees is that the CiviCRM product is free. I am a skilled computer user but I am not a developer. I am a half-time employee whose work day is more than filled with other tasks. My sense is that CiviCRM is more than I can manage, and that even if I got it started, it would be very difficult when I retire in a couple years to find a staff person at half-time low pay who would be able to continue using and supporting it as needs change. I would appreciate a reality check from you people who are working with CiviCRM. Would you recommend this product for a busy administrative person who is an expert Word and Excel user, with some Access experience, who has never built a website or used Drupal or Wordpress, written SQL, or programmed anything but Visual Basic?

# Answer
Good question.

In broad terms I'd agree with the answer from William, with some reservations. To answer your question: "Can CiviCRM be implemented by a nondeveloper with limited time?" I would say yes, and to do so will take some learning and a good deal of trial and error, so if time is limited, don't expect to be able to get up and running in a few hours.

I'd say that your skill set is really helpful, but you would need to plan to build on that.

You have a number of challenges there: not least getting the data you need out of your old system and into a new one.

You current hosting with GoDaddy is unlikely to be friendly to CiviCRM, so you need to plan to move to a better specified hosting platform that will give you fewer (and ideally no) issues.

And of course you'll need to get CiviCRM suitably configured and customised to meet the specific needs of your organisation.

Realistically, unless you are willing and able to put in a good chunk of time above and beyond what you have available, to learn how to do all this and then do it for real, you are not going to get a result.

Your board president needs to get real - a project like this in any context demands substantial dedicated time and resources, and it sounds from what you've written that they have not considered this.

My advice would be to get some expertise in to do the following tasks:

1. Assess whether CiviCRM is the right product given your organisation's needs.
2. Assuming that it is, to sort out suitable hosting and get Civi installed.
3. Work with you to configure and customise Civi so that it works for your organisation.
4. Ensure that you, and ideally at least one other person within the organisation, know how to use CiviCRM, so that you can cascade that learning to others.

These are one-off tasks that it makes sense to outsource unless you've got a pile of time on your hands (which you don't). If your organisation doesn't have the resources to fund this work, then it needs to find those resources, otherwise I would say you have a recipe for disaster.

Hope this helps.
> 7 votes

# Answer
Focussing on the two question marks first ;-)

**Can CiviCRM be implemented by a non-developer with limited time?**

Very much depends on 'what' you need the system to do, and what your abilities are in general. We have had clients who thanks to having an IT adept person having basically picked up the system and run with it, but there have been others who have struggled with seemingly simple concepts.

I think it may help if you could spell out what you need the system to do. Is it effectively a global 'address book' for the organisation, or will you be managing complex arrangements and work flows, such as case managing housing needs? How many people will be using the back end of the system and what will they need to do - eg will they need a simplified interface (such as Drupal Views and Webforms can provide) or will they be okay seeing 'everything' that CiviCRM has to offer (which can be mitigated by the permission settings of course)

**Would you recommend this product for a busy administrative person who is an expert Word and Excel user, with some Access experience, who has never built a website or used Drupal or Wordpress, written SQL, or programmed anything but Visual Basic?**

Mostly yes though it depends if you are also trying to take on 'installation' which I am not clear about. Perhaps that is something el presidente is going to undertake since they have 'set up' the website. Otherwise agree with other answers, get a hosted solution so that aspect is managed by experts.

Clearly you need something to manage your data. So the time it will take you to wrap your head around CiviCRM is time that would otherwise be spent spinning up some other system and workflows, even if that was purely Excel. And, in theory at least, CiviCRM will be easier for those who follow in your wake, than a plethora of excel/google sheets, and there will be a community to support them.

An expert Excel user combined who also has some knowledge of Access is beyond what many adminstrators who use CiviCRM have, and civi has been built for users without those skills sets by and large - certainly for what you get 'out of the box'.

Finally, there is a great community, and lack of budget is hopefully not a show-stopper. If you spell out what your projects 'mission' is you may find either a sympathetic 'expert' who will give you a hand via mentoring, or an organisation with similar usage who may also be able and willing to share their knowledge, and perhaps give you a demo of how they use their system.
> 4 votes

# Answer
Thanks for your interest in CiviCRM!

CiviCRM is a fantastic system for managing membership. However, it requires a reasonable degree of technical ability to install and maintain. It is much more complex than setting up a simple website for an organisation.

I would suggest that, in your case, you would be better off looking for a partner to set up and maintain the CiviCRM system for you. They will deal with all the technicalities for you and set up the system to meet your needs. Most importantly they will ensure that the data that you store on the system is kept secure.

To find a local partner: look at the CiviCRM partners page

Alternatively you could look for a hosted version of CiviCRM and set this up for yourself. This doesn't require technical understanding but will require you to spend some time learning how CiviCRM works.

For more information: read the manual

While CiviCRM is free in the sense that there is no license fee to pay, you will still need to budget for implementation, hosting and maintenance - both in terms of time and money. It is important to be realistic about this commitment before choosing any CRM system (not just CiviCRM). If you don't currently have the funds to pay for this I would suggest that you look for funding to cover these costs.
> 3 votes

# Answer
This is an interesting question without a simple answer.

A number of providers provide "Civi as a Service" for a subscription fee. That may be your best option, and will take care of the setup aspects. Configuring CiviCRM to do what you need is fairly easy, including the features you've mentioned.

With all software systems there is overhead to learn how to use it. My suggestion is bite the bullet and dive in.

If you're a non-profit, could you consider recruiting a volunteer to manage your CRM for you?
> 2 votes

---
Tags: evaluating-civicrm
---


title: Fatal error: Out of memory - CiviMail

text:
# Question
Title: Fatal error: Out of memory - CiviMail
It appears that Scheduled Jobs for sendmail is throwing memory errors. After it was observed that mail was not sending, I attempted to "Execute Now" from the admin area.

Fatal error: Out of memory (allocated 120848384) (tried to allocate 21703932 bytes) in /home/\[site\]/www/www/sites/all/modules/civicrm/packages/Mail/mimePart.php on line 313

My host increased my memory, "We just increased your account's memory limit from 195 MB to 295 MB. We applied the changes in your global php.ini settings as well."

Now the error reads:

Fatal error: Out of memory (allocated 203685888) (tried to allocate 29831950 bytes) in /home/\[site\]/www/www/sites/all/modules/civicrm/packages/Mail/mime.php on line 1030

Any suggestions?

# Answer
> 1 votes
If you are processing more records at the same time - you will run out of memory -

In order to prevent Out of Memory the best way is to process less records in a single go - civimail does process records in a batch (like 200 approx.) at a single go

Whenever we create PDF in bulk, mail in bulk always we use to end up in Out of memory even in local PC or local server - so processing min amount of records should fix the problem

I guess the main problem for this Out of memory Issue is: Civicrm DAO uses more memory and once the process is finished it doesn't free the memory at all. So php memory keeps on building and eventually - so we end up in Out of memory

I guess this helps!!!!

---
Tags: civimail, drupal, 4.7.10
---


title: No New Extensions showing

text:
# Question
Title: No New Extensions showing
In the section *Administer -\> System Settings -\> Extensions*, when I click on the *Add New* for the list of 'native' extensions there are none there. I get the message

> There are no extensions to display. Please click "Refresh" to update information about available extensions.

Even after clicking *Refresh* I still get a blank page. It might be sometime similar to this bug, but it is marked as fixed:

https://issues.civicrm.org/jira/browse/CRM-19090

If it's relevant, I also have a completely blank newsfeed on my main CiviCRM login page. It says:

> Sorry but we are not able to provide this at the moment.

My directory settings all seem to be correct, and I am using the CiviMobile extension without any problems.

I am using CiviCRM 4.7.12 on Wordpress.

===

Update: it started working again properly. No idea why...! Case closed.

# Answer
> 1 votes
I have tested the same against civicrm 4.7.12 against Drupal and wordpress - I do get the extension list - so I dont think this is to do with civicrm 4.7.12 -

May be please check if you have dropped the extension in the correct location also make sure your directory path is point to the correct location-

If nothing works try to clear your cache and try again

I guess this helps!!!

---
Tags: wordpress, extension
---


# Question
Title: How to debug a recurring subscription that is not updating membership
I've got a recurring membership that's not updating. I'm trying to figure out where/how to debug.

1. I can see that PayPal sent an IPN and got a 200 response from extern/ipn.php by looking in PayPal.
2. When I look at the recurring contribution in civi, I see the last updated date was Sept 3. (This IPN was a monthly recurring subscription for Oct 3). So it seems to not be registering it.
3. "Membership status processor (Hourly)" is enabled ("Process Offline Recurring Payments (Daily)" is not - but this isn't offline, right?)

How can I start to debug this?

# Answer
> 1 votes
* `civicrm_system_log` contains records of all the IPNs that Civi gets. See if it's present there.
* PayPal IPNs log quite a bit of data in the CiviCRM log (in the ConfigAndLog directory), even on success. Find the log entry and look for errors.
* You can replay IPNs on CiviCRM 4.5+ using the "notificationlog" extension: Is it possible to do an IPN replay?
* In some edge cases, it's worth checking your web server logs to correlate the call to `extern/ipn.php` with PayPal - I've seen a case where PayPal reported success on delivering the IPN - but it was to the wrong site.
* You can resend IPNs from PayPal for a certain number of days after the original: https://hq.palantetech.coop/projects/commons/wiki/PayPal#Resending-an-IPN

---
Tags: civimember, recurring-contributions
---


title: event full/waitlist problem

text:
# Question
Title: event full/waitlist problem
I'm running CIVICRM (4.6.9) on a drupal 7 (current version) installation. I understand from my client (and I have not been able to duplicate this as it works fine at my end) that several of our participants are unable to complete registration (via Paypal) when they receive their email notification of being moved to "pending from waitlist." I'm trying to find out what participants are doing in case that may be the issue, but since it's consistent among 3 so far, am assuming the problem is real.

We don't use scripts or cron for this (or any other function in CIVICRM) - we change participants' status by editing it from within the participant listings.

Increasing the size of the allowable number of participants from 20 to 100, for example, does not change the "event full" status of an event either even though there are no where near that many registrants, regardless of status. Participants are still told the event is full and added to the waitlist when they register. Is this because there are still waitlist entries outstanding, or is it some sort of problem with CIVICRM?

Thanks!

Chris Hutcheson

# Answer
Increasing the maximum number of participants only takes effect if you run the "Update Participant Statuses" scheduled job. If you don't run this in a cron job, you need to do it manually after increasing the size. Be aware this also updates the waitlist and moves people from pending statuses, if applicable.
> 3 votes

# Answer
I remember seeing this issue some years ago, back in CiviCRM 3.x days. At the time it was down to CiviCRM checking if there was anyone on waiting list. If there was then all subsequent registrations would be treated as going onto the waiting list. I thought this has been corrected but might be worth checking that - you should be able to reproduce on the demo site.

The second potential issue worth checking also is the pending setting on the event configuration although my suspicion is that the problem is down to having someone on the waiting list status and CiviCRM therefore treating all others in the same way.
> 1 votes

---
Tags: civievent
---


# Question
Title: Blank Screen When Clicking on CiviCRM in Wordpress - No Administer Panel
I successfully installed CiviCRM to my wordpress site at josephcommunitycenter.org. When I click on CiviCRM on the left side of the WP Admin panel, it takes a while for the page to load and then I see the following:

When I click on Configure Your Dashboard, it goes nowhere. I also don't see the Administer Dashboard for CiviCRM. What is causing this problem? I'm running on php version 5.6 and have the latest version of wordpress and CiviCRM. I can also tell there are some images missing from the CiviCRM Home screen.

Thank you.

# Answer
> 2 votes
I was able to get it to work by placing this code after the initial

```
global $civicrm_setting;
$civicrm_setting['Directory Preferences']['customTemplateDir'] = 'public_html/wp-content/plugins/civicrm/civicrm/templates/';
$civicrm_setting['Directory Preferences']['customPHPPathDir'] = 'public_html/wp-content/plugins/civicrm/civicrm/php/';
$civicrm_setting['Directory Preferences']['extensionsDir'] = 'public_html/wp-content/plugins/civicrm/civicrm/extensions/';
$civicrm_setting['URL Preferences']['extensionsURL'] = 'https://www.example.com/wp-content/plugins/civicrm/civicrm/extensions/';
$civicrm_setting['URL Preferences']['imageUploadURL'] = 'https://www.example.com/wp-content/uploads/civicrm/persist/contribute/';
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'https://www.example.com/wp-content/plugins/civicrm/civicrm/';

```

# Answer
> 0 votes
This is the error message \>

System Status: Error Cron Not Running Configure Default Mailbox Complete Setup View details and manage alerts

Also, I already tried changing the theme and deactivating plugins. Nothing worked.

---
Tags: wordpress, installation
---


# Question
Title: Network Error and DB Error on contact subtype with custom fields
I'm helping a group set up an install (Civi 4.7.12, which has been upgraded from earlier 4.7.x versions a few times) on a dev site and I've added a set of custom fields for a contact sub-type. I added a checkbox field and tested and it worked fine. Now they've added some more custom fields in that set and we are getting some strange errors. I don't see anything which immediately raises a red flag related to the fields they added (more checkbox fields and some text fields).

When editing an existing org and trying to select the sub-type, it throws an error: "Network Error: Unable to reach the server. Please refresh this page in your browser and try again." The custom fields are never shown.

If I try to create a new contact of this sub-type, the fields show up, but when I try to save the contact, it throws an error. "DB Error: no such field" with further info below:

`Fatal error: Uncaught CRM_Core_Exception: [0: Transaction integrity error: Expected to find active frame thrown in /home/public_html/sites/all/modules/civicrm/Civi/Core/Transaction/Manager.php on line 107`

Anybody have some pointers for me on where to look? I'm kind of stumped.

# Answer
> 1 votes
Not a definitive answer yet but it seems to be related to the way they tried to implement comment fields. I disabled all their "Alphanumeric \> text" fields and the errors go away. Still having to dig deeper as to what they did (all through the UI) and why it broke things so badly.

---
Tags: custom-fields, error, error-page, sub-types
---


# Question
Title: Creating custom fields: 1) previous address 2) number of years at this address
I would like to create a set of custom fields, whereby the user is asked to enter data relating to the location of the contact's previous address, and another field specifying the amount of time the contact was at that address.

The user should be able to continue adding locations, until there is data going back x years.

Is this possible to implement from within Civi?

# Answer
You can create 'multiple record' fields which will allow your users to keep adding more sets of the same fields until you have enough to cover your 'x years'.

There is documentation in the book here

Hope that is what you are needing.

NOTE: Multiple Rows do come with limitations and gotchas
> 1 votes

---
Tags: custom-fields
---


# Question
Title: Recurring iATS contributions not creating civicrm_finanical_item records
We are ramping up for online donations and use the Accounting Batches CSV export to get our Civi contribution data into our 3rd party accounting software. A key piece of data from that report is the 'Credit Account' column since that tells our accounting software which fund the donation should go to.

We've recently started testing Recurring Contributions. The contributions themselves are being processed correctly via iATS (we've done credit cards only thus far). However, **we did our first accounting batch export with recurring contributions yesterday, and the Credit Account column is blank for all subsequent recurring contributions.** The one-time donations and the initial recurring contribution for a contact show the Credit Account correctly.

After looking through the database to see where the disconnect might be, it appears that recurring contributions are not creating records in the `civicrm_financial_item` table. I can track/match a completed recurring contribution through the `civicrm_contribution`, `civicrm_entity_financial_trxn`, `civicrm_financial_trxn`, and `civicrm_line_item` tables. The `civicrm_entity_financial_trxn` table has the recurring transaction records with `civicrm_contribution` in the `entity_table` column, but that table does not have a corresponding record for the transaction with `civicrm_financial_item` in the `entity_table` column.

I found iATS Github Issue 134, but that was specifically asking about Civi 4.7, so I don't know if the same issue would apply (I'm going to cross post there as well). I also don't know if I might have setup things incorrectly in the backend for accounting, so that's a possibility as well (and I'm not sure what to look for there).

According to CiviAccounts Data Flow:

> IPN payment processors processing a contribution do NOT create civicrm\_financial\_item, civicrm\_financial\_trxn, or civicrm\_entity\_financial\_trxn records at the time the transaction is posted to the payment processor. They are only created at the time of the IPN call back.

Since iATS doesn't use IPN, I didn't know if that might be the reason for the lack of records in the `civicrm_financial_item` table. The other tables in the above quote have records for subsequent recurring contributions, so I'm not sure if this applies to iATS.

For the sake of our Accounting Export, I don't see a way in the database to get the Credit Account for a contribution (`civicrm_financial_account.accounting_code`) for a recurring contribution without a record in the `civicrm_financial_item` table.

Does anyone knows how to either a) correct the recurring contributions not ending up in `civicrm_financial_item` table or b) how to query the database to get the Credit Account without the financial item record? I'd sure appreciate the help!

Civi 4.6.14 (will be updating to 4.6.20 before go-live); Drupal 7.44; iATS Payments extension 1.5.3

# Answer
This is fixed in 4.7.12. See the conversation on Github (https://github.com/iATSPayments/com.iatspayments.civicrm/issues/134#issuecomment-248059104) and the issue on JIRA (https://issues.civicrm.org/jira/browse/CRM-19309)
> 1 votes

# Answer
Unfortunately, the issue here is that the api for this stuff is/was a bit sketchy (Eileen's been gradually migrating and cleaning up the old IPN callback code into a better place). We've been hoping that the most recent versions of 4.7 will work and have optimistically included the code here: https://github.com/iATSPayments/com.iatspayments.civicrm/commit/3d7db087a45024d613e2475b94e6467aa7ab873a

You're welcome to try a modification of that patch and see if your version of 4.6 creates the accounting records you want.

Failing this - I do have a lot of iATS clients that care about bookkeeping, so it's possible what you need is available, but it's beyond my understanding.
> 1 votes

# Answer
I was wondering why I was the only complainer given that this issue was probably always there, but it only impacts accounting batches that apparently are still not used in frequent conjunction with iATS recurring.

Karin made some headway a few weeks ago but after testing Civi master branch regurgitated - Karin - any progress since? Not sure it's worth handling this conversation in tandem with https://github.com/iATSPayments/com.iatspayments.civicrm/issues/134?
> 0 votes

---
Tags: civicontribute, database, recurring-contributions, iats
---


# Question
Title: How do I store old leads so they don't bother the current leads?
Is there a module like "leads" and "contacts" for un useful leads?

# Answer
> 1 votes
You can use Tags to denote Leads v Unleads.

# Answer
> 0 votes
You can use tags, as Pete suggested.

However, CiviCRM does NOT have the built-in concept that some CRMs (notably Salesforce) that indicates "don't show this contact in search results by default". I agree it would be a great feature but it's not there at the moment.

---
Tags: contacts, custom-fields
---


# Question
Title: Why is formatting now removed from pasted test? And how do I fix it?
I've been using CiviCRM since June '15. I email my group 2-3 times per month, copy-and-pasting an online event listing. The text and image formatting used to be preserved but in the last 3? months it's been removed. I tried different browsers to no avail.

Now my events look lousy and I'm frustrated. I'm a volunteer and not in IT. Help with this would be wonderful!

10/19 Eta email original text:

```
Delivered-To: summer.gray@gmail.com
Received: by 10.64.5.165 with SMTP id t5csp516262iet;
        Wed, 19 Oct 2016 13:16:00 -0700 (PDT)
X-Received: by 10.233.237.195 with SMTP id c186mr3464037qkg.29.1476908160522;
        Wed, 19 Oct 2016 13:16:00 -0700 (PDT)
Return-Path: <summer@arthritisintrospective.org>
Received: from server269.com (server269.com. [64.14.68.35])
        by mx.google.com with ESMTPS id t185si14877207qkd.182.2016.10.19.13.16.00
        for <summer.gray@gmail.com>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 19 Oct 2016 13:16:00 -0700 (PDT)
Received-SPF: neutral (google.com: 64.14.68.35 is neither permitted nor denied by best guess record for domain of summer@arthritisintrospective.org) client-ip=64.14.68.35;
Authentication-Results: mx.google.com;
       spf=neutral (google.com: 64.14.68.35 is neither permitted nor denied by best guess record for domain of summer@arthritisintrospective.org) smtp.mailfrom=summer@arthritisintrospective.org
Received: (qmail 7399 invoked by uid 5747); 19 Oct 2016 20:15:59 -0000
Message-ID: <20161019201559.7398.qmail@server269.com>
To: summer.gray@gmail.com
Subject: Test
X-PHP-Script: www.arthritisintrospective.org/index.php for 67.160.101.38
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_6206fb52d8bcdfde729dd2afaa1ba42c"
From: Summer Gray <summer@arthritisintrospective.org>
Cc:
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Reply-To: Summer Gray <summer@arthritisintrospective.org>
Date: Wed, 19 Oct 2016 13:15:59 -0700

--=_6206fb52d8bcdfde729dd2afaa1ba42c
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=utf-8

--
Summer Gray
Arthritis Introspective
Arthritis Support Network Leader Seattle, WA
Summer@arthritisintrospective.org
C: (503) 550-4333

UNSUBSCRIBE: To unsubscribe, reply with “remove” as the subject. We respond to requests immediately.
--=_6206fb52d8bcdfde729dd2afaa1ba42c
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset=utf-8

<h1 id="page-title">AI Seattle - November Coffee and Chat</h1>

<p>It looks like you are already registered for this event. If you want to change your registration, or you feel that you've gotten this message in error, please contact the site administrator. You can also <a href="https://www.arthritisintrospective.org/civicrm/event/register?reset=1&id=455&cid=0">register another participant</a>.</p>

<ul id="actions">
    <li> </li>
</ul>

<p>Let's grab a cup of coffee (or tea) and chat!</p>

<p><img alt="" src="https://www.arthritisintrospective.org/sites/default/files/civicrm/persist/contribute/images/AF-AI%20Lock%20up%20lg%20website.png" /></p>

<p><strong>Arthritis Support Network - Seattle</strong></p>

<p><strong>Please join us for a community support group for people with arthritis and rheumatic diseases.</strong></p>

<p>Our Arthritis Support Network provides help & support to adults living with all types of arthritis and rheumatic diseases. Join our network for Connection, Education and Empowerment.</p>

<hr />
<p><img alt="Jewel Box Cafe logo" src="http://www.jewelboxcafe.net/images/jewel_logo.jpg" /></p>

<p> </p>

<p>Come join us at <a href="http://www.jewelboxcafe.net/">Jewel Box Cafe</a> for AI Seattle's November monthly meeting!  We meet, talk about life, and relax with people who understand.</p>

<p>Please RSVP so we know who to expect. We understand that RSVPs can be difficult to keep, so no pressure and come if you're able.</p>

<p>Friends, family, spouses and significant others are welcome! </p>

<p>Hope to see you!</p>

<p> </p>

<p> </p>

<p><label>When</label></p>

<p><abbr title="November 13th, 2016  3:00 PM">November 13th, 2016 3:00 PM</abbr>   through   <abbr title=" 5:00 PM">5:00 PM</abbr></p>

<p><label>Location</label></p>

<p>Jewel Box Cafe<br />
321 NE Thornton Pl<br />
Seattle, WA 98125<br />
United States</p>

<p><canvas draggable="false" height="512" width="512"></canvas></p>

<p><img src="https://maps.googleapis.com/maps/api/js/StaticMapService.GetMapImage?1m2&1i2687655&2i5852490&2e1&3u16&4m2&1u425&2u350&5m5&1e0&5sen-US&6sus&10b1&12b1&token=100628" /></p>

<p><img alt="" draggable="false" src="https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i16!2i10499!3i22861!4i256!2m3!1e0!2sm!3i366039178!3m9!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0!5m1!5f2&token=47607" /></p>

<p><img alt="" draggable="false" src="https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i16!2i10499!3i22862!4i256!2m3!1e0!2sm!3i366039178!3m9!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0!5m1!5f2&token=7886" /></p>

<p><img alt="" draggable="false" src="https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i16!2i10498!3i22861!4i256!2m3!1e0!2sm!3i366039178!3m9!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0!5m1!5f2&token=116716" /></p>

<p><img alt="" draggable="false" src="https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i16!2i10498!3i22862!4i256!2m3!1e0!2sm!3i366039178!3m9!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0!5m1!5f2&token=76995" /></p>

<p><img alt="" draggable="false" src="https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i16!2i10500!3i22861!4i256!2m3!1e0!2sm!3i366039178!3m9!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0!5m1!5f2&token=90733" /></p>

<p><img alt="" draggable="false" src="https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i16!2i10500!3i22862!4i256!2m3!1e0!2sm!3i366039178!3m9!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0!5m1!5f2&token=51012" /></p>

<p><a href="https://maps.google.com/maps?ll=47.702475,-122.324611&z=16&t=m&hl=en-US&gl=US&mapclient=apiv3" target="_blank" title="Click to see this area on Google Maps"><img draggable="false" src="https://maps.gstatic.com/mapfiles/api-3/images/google4_hdpi.png" /></a></p>

<p>Map data ©2016 Google</p>

<p><a href="https://www.google.com/intl/en-US_US/help/terms_maps.html" target="_blank">Terms of Use</a></p>

<p><a href="https://www.google.com/maps/@47.7024746,-122.324611,16z/data=!10m1!1e1!12b1?source=apiv3&rapsrc=apiv3" target="_new" title="Report errors in the road map or imagery to Google">Report a map error</a></p>

<p><img draggable="false" src="https://maps.gstatic.com/mapfiles/api-3/images/tmapctrl_hdpi.png" /></p>

<p><img draggable="false" src="https://maps.gstatic.com/mapfiles/api-3/images/tmapctrl_hdpi.png" /></p>

<p><img draggable="false" src="https://maps.gstatic.com/mapfiles/api-3/images/cb_scout5_hdpi.png" /></p>

<p><img draggable="false" src="https://maps.gstatic.com/mapfiles/api-3/images/cb_scout5_hdpi.png" /></p>

<p><img draggable="false" src="https://maps.gstatic.com/mapfiles/api-3/images/cb_scout5_hdpi.png" /></p>

<p>Map</p>

<p>Satellite</p>

<p><br />
<a href="https://www.arthritisintrospective.org/civicrm/contact/map/event?eid=455&reset=1" title="Show large map">Show large map</a></p>

<p><label>Contact</label></p>

<p>Phone: (206) 432-9341 </p>

<p> </p>

<p><a href="https://www.arthritisintrospective.org/civicrm/event/ical?reset=1&id=455" title="Download iCalendar entry for this event."><img alt="Download iCalendar entry for this event." src="https://www.arthritisintrospective.org/sites/all/modules/civicrm/i/office-calendar.png" /></a>  <a href="https://www.arthritisintrospective.org/civicrm/event/ical?reset=1&list=1&id=455" title="iCalendar feed for this event."><img alt="iCalendar feed for this event." src="https://www.arthritisintrospective.org/sites/all/modules/civicrm/i/ical_feed.gif" /></a></p>

<h3>Help spread the word</h3>

<p>Please help us and let your friends, colleagues and followers know about our page: <a href="https://www.arthritisintrospective.org/civicrm/event/info?id=455&reset=1">AI Seattle - November Coffee and Chat</a></p>

<p><iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://platform.twitter.com/widgets/tweet_button.html?text=AI%20Seattle%20-%20November%20Coffee%20and%20Chat&url=https%3A%2F%2Fwww.arthritisintrospective.org%2Fcivicrm%2Fevent%2Finfo%3Fid%3D455%26amp%3Breset%3D1"></iframe></p>

<p><iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://www.facebook.com/plugins/like.php?app_id=240719639306341&href=https%3A%2F%2Fwww.arthritisintrospective.org%2Fcivicrm%2Fevent%2Finfo%3Fid%3D455%26amp%3Breset%3D1&send=false&layout=standard&show_faces=false&action=like&colorscheme=light"></iframe></p>

<p><br />
 </p>

<p>You can also share the below link in an email or on your website. <br />
<a href="https://www.arthritisintrospective.org/civicrm/event/info?id=455&reset=1">https://www.arthritisintrospective.org/civicrm/event/info?id=455&reset=1</a></p>

<p><br />
--</p>

<p> </p>

<div>Summer Gray<br />
<a href="https://www.arthritisintrospective.org">Arthritis Introspective</a><br />
Arthritis Support Network Leader Seattle, WA<br />
<span class="text_exposed_show"><a href="mailto:Summer@arthritisintrospective.org">Summer@arthritisintrospective.org</a><br />
C: (503) 550-4333<br />
<br />
UNSUBSCRIBE: To unsubscribe, reply with “remove” as the subject. We respond to requests immediately.</span></div>

--=_6206fb52d8bcdfde729dd2afaa1ba42c--

```

# Answer
> 3 votes
OK - the most obvious changes seem to be that some colours and fonts are removed.

You've said you're not a coder, so I understand if this feels "too hard" to debug yourself. I'll share with you what I'd do next, and hope this is some help.

In your situation I would compare:

* The source of the email as saved in the database. (You're looking for the `body_html` column in the table `civicrm_mail`.)
* The source of the email as received. (Varies per mail client; search the web for "how to view email source" + your mail app name.)
* The email as *displayed* in GMail. Some webmail services strip CSS from the rendered version online, so it's possible GMail just shows the email differently.

### Edited below based on additional info

The green text in your event listing has this source (reformatted here).

```
<p style="text-align: center;">
  <span style="font-size:28px;">
    <span style="color: rgb(0, 128, 0);">
      <strong>
        <span style="font-family: Tahoma,Geneva,sans-serif;">
          Arthritis Support Network - Seattle
        </span>
      </strong>
    </span>
  </span>
</p>

```

In the email you've received, that has been reduced to:

```
<p><strong>Arthritis Support Network - Seattle</strong></p>

```

... which lacks

* several `<span>` tags, and
* all the inline style declarations

So it looks like the **formatting was stripped when pasting to CiviCRM's Rich Text Editor** (RTE).

If that's the case, the simple solution would be to bypass the RTE by setting both the event editor and civimail editor to "source" mode before copying and pasting between them.

(Another approach would be to reconfigure your RTE to be more permissive about pasted HTML.)

To verify this is the cause:

1. Identify the mailing that went out as shown in CiviCRM's list of "Scheduled and Sent" mails, make a note of the ID there.
2. Use PHPMyAdmin or MySQL CLI or some other means of inspecting your CivICRM database directly (ask your hosting provider for support on how)
3. Locate the table `civicrm_mailing`
4. Locate the row with corresponding ID from (1) above
5. View the column `body_html`
6. Locate the text "Arthritis Support Network - Seattle" in this value
7. See whether you see the surrounding `<span>` tag with inline CSS

If you do NOT see the `<span>` tag there, then the formatting was not saved when editing the email in CiviCRM, which is probably the RTE "cleaning" it for you.

As above - copying and pasting in "source mode" is probably your best workaround for the RTE stripping formatting when copy pasting.

Sending a few test emails before scheduling the main mailout is recommended - when one has been editing the copy all day, it's easy to miss absolute clangers if someone "fresh" doesn't get to look at it. Fresh eyes can spot things like "but that's entirely the wrong logo!" :D

---
Tags: email, html
---


# Question
Title: There is some inconsistent/confusing workflow managing contacts from smart groups?
CiviCRM allows add and remove contacts from smart groups. This is an useful functionality that allows us to cover some cases managing groups.

However this functionality often leads to confusion among users that found a group with a mixed contacts that have been added and removed manually and others that meet the search criteria of the smart group. It might be useful if the system somehow warned when you are adding or removing contacts on a smart group?

Despite this, since the time you can add or remove a contact to a group there should have the possibility to manage this membership from the contact summary group tab in the same way that can be made with regular groups. I seem to recall that this possibility had existed in the past, but maybe I'm wrong.

I'm right or I'm missing something?

Because of this non covered functionality I've gone crazy more than once looking why a contact appeared on a group if in their sumary contact group tab there is no information about if it has been added manually or by a smart search criteria.

# Answer
https://issues.civicrm.org/jira/browse/CRM-19435 fixes the static assignments to smart groups.
> 2 votes

---
Tags: groups, smartgroups
---


title: Including pictures in our Newsletter

text:
# Question
Title: Including pictures in our Newsletter
How can I include pictures in the Newsletter created with Civicrm ? Using the "Image" Button in Civicrm's HTML editor, the pictures appear in the newsletter template as well as in the "preview as HTML" window, but in both test e-mail and the actual e-mail they only appear as a frame with a torn sheet of paper in the top left corner. How can I solve this problem ?

edit: https://civicrm.lesewelt-ortenau.org/sites/default/files/civicrm/persist/contribute/images/IMG\_2143%282%29.JPG

I tried opening the URL to one of the pictures at home yesterday but could not open itwhereas it works from the pcs in our office. I assume the problem is one of the two mentioned by user Fabian. However i don't know how to proceed now, having close to no experience with servers etc.

Civicrm ver.4.6.21 // Drupal

# Answer
> 2 votes
Hi Felix and welcome to CiviCRM Stack Exchange.

Your problem could have a number of reasons, e.g. the following:

* your server does not allow access via http for anonymous users (could be protected by htaccess, a vpn...)
* you do not have a ssl certificate or it is self-signed

If that is not the reason please try to provide some more information such as:

* are images not displayed for all recipients or only certain ones?
* does it happen with all mail clients/services or only certain ones
* ...

---
Tags: civimail, html, newsletter
---


# Question
Title: Why, in Civicase, is 'other relationships' purely additive & why do they show up on every subsequent case?
If I manually add someone to 'Other Relationships' in Civicase by using 'Add members to Case Resources', then that someone then shows up in ALL cases under 'other relationships' - not just for the client where I added the contact. And, there is no way of removing them to correct the situation - I've looked at the database tables and can't find where this info is stored. For example I added Joe Bloggs in 'Other Relationships' using 'Add members to Case Resources' - and now 'Joe Bloggs' shows up in ALL cases in 'other relationships' - but if I look at Joe Bloggs contact records it shows no relationships at all. Is this a bug or a WAD? And how can I remove these contacts?

# Answer
I found the answer here in an old forum posting Civicase creates a group called 'Case Resources' into which it drops any contact you add (as described above). So to remove these from all cases you just edit this group. Phew! Wasted an hour or so, but now a little wiser!
> 4 votes

---
Tags: civicase, 4.6
---


# Question
Title: "MySQL support not included in PHP error" in CiviCRM-4.7.10-wordpress
I'm getting the error "MySQL support not included in PHP" in the CiviCRM installer wordpress page.

My setup is:

* Ubuntu 16.04
* Wordpress 4.6.1
* CiviCRM 4.7.10
* php 7.0 with mysqli php extension installed

I checked that mysqli is indeed loaded by running

```
php -r 'echo extension_loaded("mysqli") ? "loaded\n" : "missing\n";'

```

Any ideas about what could be wrong? What else can I check?

# Answer
> 1 votes
PHP 7.0 isn't supported in CiviCRM 4.7.10. Please try upgrading to 4.7.12.

---
Tags: mysql, php
---


# Question
Title: Profile sync using CiviCRM WordPress Profile Sync
Following use-case:

1. CiviCRM has many contacts, including contacts of individuals with the same primary email address (e.g. one corporate email, two individuals (contacts) working there) -\> forget that there may be methods of better organizing this.
2. Both contacts do not have a WP user account.
3. CiviCRM WordPress Profile Sync is working
4. One of the individuals registers with WP using THAT email
5. Which contact does the new WP user get associated with?
6. Testing it as best as I could the answer is: **always with the lowest CiviCRM ID**

I've tried to find if there's a reference to it in the plugin's PHP, or elsewhere.

Wondering if this is by default?

Cheers

# Answer
Given that WordPress treats email addresses as unique identifiers, this situation is necessarily going to be problematic. There are a number of ways that you can overcome the default matching (which is handled by CiviCRM's `CRM_Core_BAO_UFMatch::synchronizeUFMatch()` method), but the simplest is to manually alter the record in the `ufMatch` table such that it points to the Civi record that you want it to. You can alternatively create the WordPress users from their CiviCRM contact records by using the bulk update functionality provided when you enable `CIVICRM_WP_PROFILE_SYNC_BULK` in the plugin. Or perhaps you could decide not to "forget that there may be methods of better organizing this"...
> 1 votes

---
Tags: wordpress, php
---


# Question
Title: Do I need root access to my database to use CiviCRM?
After installing your plug in, I looked at the CiviCRM installer page and was shown an error which said "unable to create database triggers". I have shared hosting. Is it possible to still use this plug in?

# Answer
> 2 votes
No, you don't need to have root access to the database. However, the database user does need to have the following permissions:

```
SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, TRIGGER, CREATE ROUTINE, ALTER ROUTINE

```

It sounds like the database user doesn't currently have the required permissions to access the database. You should check with your website host to see if it is possible to get these permissions, but not all shared hosting packages will allow this level of access to the database. If this is not possible with your hosting package you may need to look for a hosting package that does meet these requirements.

See the wiki for more details: CiviCRM MySQL Permission Requirements

And this page for the general requirements: Installation and Upgrades

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


# Question
Title: Incorrect results appearing when searching for events by date range
Has anyone else found the "Search All or by Date Range" option in "Manage Events" to return incorrect results, particularly if you have events that have a start date but no end date recorded?

I've filed a bug (CRM-18250) and I think I know where it is, but I'd be interested to know if others are also observing it.

# Answer
For posterity, I'll note that this issue is resolved in CiviCRM 4.7.5+.
> 1 votes

# Answer
Someone posted this recently, and an issue was added to issues.civicrm.org

I remember coming across this at FF and also logging an issue about it...
> 0 votes

---
Tags: civievent, search
---


# Question
Title: Can CiviCRM do mass/bulk targeted e-mail "blasts" and "petitions" like Salsa, NationBuilder and other for-profit platforms?
Can CiviCRM and CiviMail replace what an organization is doing now with Salsa, NationBuilder or other for-profit platforms - like send targeted e-mail "blasts" to elected officials, and host "petitions"?

So for example, if an organization's goal is to generate 50 e-mails from CiviCRM contacts in each legislative district to each member of a legislature, with the message "please vote for Bill 1 and support public financing of election campaigns", can CiviCRM do that?

Or, if an organization wants to ask CiviCRM contacts in each district to sign an open petition to each legislator, can CiviCRM do that?

I asked a similar question at How does using CiviCRM compare to using NationBuilder? but I think an update is worthwhile.

# Answer
It may help if you clarify the criteria around 'email blast to officials' but as I interpret it both 'send an email to an official' and 'sign up to a petition' can both be handled nicely using drupal webform and views.

**Send an email to an official**: will depend how automatically you want the target to be identified, but you could set up a View search, enter your postcode, get back a link to a webform that prefills cid2 to be the email for the designated official, and submission of the form triggers the email with or without the personal message.

**Sign up to a petition**: set up webform with a views block that will show eg 'number of petition signatures' and/or 'latest people to sign up' with a checkbox on the form that would allow users to indicate if they are happy for their name to show on the public roll.
> 1 votes

---
Tags: civimail, civicampaign, civipetiton
---


# Question
Title: Contact type is read only in contact summary
Why is the contact type read only in the summary tab for a contact? The 'contact\_type' field is easily edited directly in the database, but I can't find a built in civicrm form to do this.

# Answer
> 1 votes
It isn't allowed and with very good reason! People do not morph into organisations (in my experience), therefore a CRM does not allow it. What is the problem you are trying to solve? Bad import?

# Answer
> 0 votes
Click the Edit button on top of the summary? That will allow you to edit the contact type. Not as nice is the inline edit but it works.

---
Tags: wordpress, contacts
---


# Question
Title: Membership -Turn Renewal Reminders Off (only for certain contacts)
We are having a handful of members who we don't want to send auto renewal reminders to. Our board or other other staff are in regular contact with them and auto generated renewal reminders are adding confusion.

Has anyone been in the same situation or does know a work around to disable auto renewal reminders, but only for a few contacts (organizations)?

# Answer
> 1 votes
Thank you A Davidson and Peter for your ideas. After doing some more digging (did not find this post before), I came across this post, explaining how to limit the recipients of a scheduled reminder to a defined group.

I think this option will work for us.

# Answer
> 0 votes
Have you tried setting there privacy preferences to 'do not email' on the contact page?

# Answer
> 0 votes
I'm not sure if this would work but you could perhaps create a special membership type, then put the relevant contacts in that type. Then when you edit the Scheduled Reminders entity, omit that new membership type from the selection options. The reminders would then only go to the memberships you have selected.

---
Tags: civimember, scheduled-reminders, auto-renew
---


# Question
Title: How to extend end date limit for Membership?
When creating/editing membership. End date is limited to 2026 (you cannot choose it in pop-up calendar and if you try to write the date yourself(exceeding the limit) php will not let you do it. which is not enough. The end date limit must be at least 50 years more. civicrm/admin/setting/preferences/date?reset=1 is not the page that is needed. Where would I be looking for things like that? Can I configure it through the website itself, or do I have to go look at the source files?

# Answer
I just replicated this problem - but I was able to successfully change the end date limit on the "Date Preferences" page that you said wasn't working. Under **Administer menu » Customize Data and Screens » Date Preferences**, you can change the "activityTime" values and this will update the Membership end date.

The language on the page is a little vague:

> Date for activities including contributions: receive, receipt, cancel. membership: join, start, renew. case: start, end.

IMO it should read:

> Date for activities. Also the date for contributions (receive date, receipt date, cancel date), memberships (join date, start date, end date), and cases (start date, end date).

Regardless, here's screenshots proving I've extended the end date from 10 to 15 years:
> 1 votes

# Answer
I've tested this on the demo site and you are right. The validation rules restrict you to adding a date that is within ten years of the current date. This does appear to be too restrictive.

I would suggest you file a bug report.
> 0 votes

---
Tags: civimember, dates, calendar
---


# Question
Title: Dependency on php5.6-simplexml goes unchecked, is that a bug?
I'm trying to install CiviCRM 4.7.10 on Ubuntu 16.04/WordPress 4.6.1/PHP 5.6.

After completing the installation, when I try to open the CiviCRM node in the WordPress admin menu, I get an error 500 Internal Server error.

The error log in /var/log/apache tells me there is a problem: "Call to undefined function simplexml\_load\_file".

I fixed this by starting from scratch, this time making sure that I install the php5.6-simplexml package.

Could I have know about this in advance? Should the CiviCRM Installer page (in the WordPress admin) have checked and warn me about this problem?

# Answer
> 2 votes
This is a good question!

Until very recently, this issue hadn't come up, because just about every distro packages the XML extension with PHP. Since you're using Ubuntu 16.04 with PHP 5.6, my guess is you're using the Ondrej PPA. For whatever reason, he packages the XML extension separately. And of course very few people used this PPA with CiviCRM until recently, but now people want Ubuntu LTS with PHP 5.6.

So yes - in theory this check should happen at install. In practice, it doesn't really come up except for folks using the Ondrej PPA (and, I suppose, people who compile their own binaries). So I'd guess this would be considered a "patch welcome" situation - now that PHP7 compatibility has landed in CiviCRM, my guess is that this will bite very few people (who will probably find this page).

If you feel strongly about this and are motivated to submit a patch, feel free to hit me up on chat.civicrm.org (@junglebird) if you need help getting a CiviCRM dev environment together.

---
Tags: wordpress, installation, php
---


# Question
Title: Measure open rates for standard emails from Civi, not from Civimail
Is it possible to measure open rates and/or click-throughs from a particular scheduled reminder email?

Civimail has well developed functionality for open rates and clickthroughs etc, but we have a use case that calls for people to receive an email from a scheduled reminder **at the time** when they sign up to a group (the email will be sent as a result of an activity generated when they sign up to the group.)

The people are signing up on paper, so there's no problem with spam nor need for double opt-in. Our volunteers are then going to enter people into a webform and at that point the system will send them an email.

We'd like to measure open rates and/or click-throughs from that email.

Is there any cunning trick to make this possible?

If not we can of course adapt our procedures to send mailshots from CiviMail to people every 4 or 6 hours... but that manual process is an additional complexity.

We can also pull these people into MailChimp and do it from there, but we'd lose quite a bit of data possibilities if we did it that way.

Hence my question.

Thanks for your help.

# Answer
The Mandrill Emails Extension (https://github.com/JMAConsulting/biz.jmaconsulting.mte) has code that treats all transactional, non-bulk email in CiviCRM as a single job. Basically, it converts all non-CiviMail emails into a single CiviMail job for this sort of reporting.

Unfortunately, the pricing changes of Mandrill (formerly free for up to 12k emails/month) and requirement to also pay for MailChimp have put use of this extension out of the reach of smaller organizations. Despite developing this with client and MailChimp funding, we now recommend SparkPost for smaller organizations.

But the code is there under the open source AGPL-3.0 license if you want to make use of it.
> 3 votes

# Answer
Not sure you'd class this as cunning or hacky but we have a trick & some code. Essentially we've changed scheduled reminders to send from CiviMail rather than triggering it's own one-shot emails. Workflow something like this

1. Set up a regular email in CiviMail complete with tracking
2. Send to a test group of internal emails
3. Set up your scheduled reminder, with our code the interface can now select previously sent CiviMail emails instead of building the email in Scheduled reminders
4. What ever triggers the email triggers it and the corresponding email adddress is added to the email spool for the CiviMail email, next cron Civi notices the spool has one more email compared to sent emails and sends it's to the extra email.

It's not perfect as the activity date is on the original CiviMail send, which is something I want to clean up. Talk to Parvez @ Veda he should be able to supplt you with the code.
> 3 votes

---
Tags: email, scheduled-reminders, click-through
---


# Question
Title: Copy a Sites Customizations (Custom Fields, report instances, etc)
I would like to make a copy of our production site that includes all the custom changes that we have made (fields, event templates, tags, groups, etc). I need this copy for development purposes, but do not want any of the data relating to contacts, events or contributions.

I have tried transferring the schema and running data comparisons but I always seem to run into some sort of issue.

Does anyone have any experience dealing with this?

Currently I have a custom extension that makes various API calls to clear out content. This is quite slow, but seems to work.

# Answer
> 4 votes
The API approach you're using is the "best" approach - but agreed it can be slow. There are alternative approaches though:

* Delete all the records in `civicrm_contact` with a direct SQL call - except the default organization and logged-in user. This will remove most of the other records (e.g. contributions) via cascading deletes. However, it doesn't delete all records - e.g. activities. With a similar delete of `civicrm_event`, I would usually call this "good enough", if the resulting database will never see production use. I'd avoid this if your dev work involves reporting on activities, financial line items, or other tables that lack foreign keys.
* Store your CiviCRM config in code. CiviConfig is an option; others have written a "Features CiviCRM" extension for Drupal folks, and of course you could do this with `hook_civicrm_managed`. However, the tools for creating these configs are weak!
* Depending on my staging site's requirements, I'll often use a RAM disk for MySQL and store it all there. This usually gives me a 250% speedup on API calls compared to raw SSD - if your database is stored on spinning disks the improvement will be far more dramatic. Just remember to dump the db before shutdown!

# Answer
> 2 votes
If the reason you want to delete the data is because of privacy issues, you could just scramble it. There are a few ways to do that, e.g. this extension: https://github.com/adixon/ca.civicrm.testsite

---
Tags: migration
---


# Question
Title: Issue Setting CiviCRM up with Wordpress Multi-Site
I have a Wordpress multi-site installation in place that works fine and I have been trying to add CiviCRM to the multi-site but I am having problems when going through the documentation.

Now, I have installed CiviCRM on the main domain of the multisite and I have then followed the steps setup out in this documentation: https://wiki.civicrm.org/confluence/display/CRMDOC/Multi+Site+Installation

Everything goes fine until I get to point 5.C and edit the civicrm.settings.php file. Once I edit this file and insert the subdomains for the sub sites, the CiviCRM tab on the main site returns a server 500 error. It is only when I revert back to the original settings file that CiviCRM is able to load again.

Now as I have followed the documentation exactly I am stuck for why this is happening, or have I missed something?

Regards

# Answer
Check your `civicrm.settings.php` is valid after making those changes. It may be some small error has crept in and proving hard to spot.

```
php -l civicrm.settings.php

```

(This will require commandline access on the server, or copying the file somewhere you have CLI PHP installed.)
> 1 votes

---
Tags: wordpress, multisite
---


# Question
Title: unserialize(): Error at offset 11218 of 25832 bytes in CRM_Core_BAO_Cache::getItem()
First of all, thank you for the support. I hope I can help anybody sometime!

I have Civicrm 4.7.12 installed in Drupal 7.51, and sometimes I get the error: Notice: unserialize(): Error at offset X of Y bytes en CRM\_Core\_BAO\_Cache::getItem() (X and Y are integer values)

It begun after I upgraded to Civicrm 4.7.11, and no matter what I test... I can't resolve it.

Can anybody help me? Thanks a million!

# Answer
> 2 votes
I just got this happening also, on a 4.6 install. It's due to an issue with your civicrm\_settings table. That piece of code you reference is pulling out settings type values from that table and caching them. The code assumes that the values in there are objects or arrays and have to get serialized and unserialized as they get stuffed in and pulled out of text fields. The error is due to the code's inability to unserialize the value, which can happen if it gets serialized badly, or was never serialized in the first place.

In your case, it looks like it's really big and exceeds the space available (since it's pulling out 24K bytes from that poor little field). In my case, there was some non-serialized data in there, possibly from a previous code version.

All I did to fix it was to look through my civicrm\_settings table and saw a lot of entries for the name 'navigation' with a non-serialized string, and removed them (they were in the Personal Preferences group and were all the same, so it seemed innocuous).

For your case, you could find all the entries with a value length bigger than 20K and it'll probably be evident.

I suspect you might be misusing one of your fields/features.

---
Tags: error
---


# Question
Title: Creating activities in code adds extraneous contact to 'with' field
So we create an activity when a contact 'refers a friend', we want it on both users Contact. This is working thus:

```
$activity = civicrm_api(
      'Activity',
      'create',
      array(
          'version' => 3,
          'sequential' => 1,
          'activity_type_id' => 60, //refer activity
          'status_id' => 2,  // complete
          'source_contact_id' => $post['contactId'],
          'target_contact_id' => $contact['contact_id'], //person who created it
          'activity_subject' =>
             'Referred by a mate: ' . $post['contactId'],
      )
);

```

Works correctly to link the two contacts via the Activity.

But - in the 'With' field, it also adds a second person each time, unrequested. The extra persons contactId increments by 1 each time - which may be a hint.

We've logged all through our code, and through Core trying to find where this is being added, but can't find. Does anyone have any hints on where to look/log for this behaviour?

# Answer
So I'm fairly sure this issue was actually a dev environment specific issue. The dev database wasn't using the full 'activity' table (as it was so large) and thus creating some oddities.

If I see it again on a live env I'll have to investigate in future though.
> 1 votes

---
Tags: contacts, api, activities, activity
---


title: CiviCRM Raw Data Files

text:
# Question
Title: CiviCRM Raw Data Files
We use CiviCRM for our nonprofit, and we're trying to figure out how we can export our raw data in order to upload it into some custom apps. Any help would be very much appreciated!

Cheers, Jillian

# Answer
> 2 votes
The answer rather depends on what data you have in CiviCRM and what you want to export.

One option is to export the data as a CSV file as Demerit says. This will allow you to export certain types of data - for example: contacts, event participants, activities. You can do this via advanced search. See the manual for more details: Exporting your contacts.

Another option is to access the data directly from the database. This gives you more control to access the data that you need but would require some understanding of the database structure and SQL. If you have access to phpMyAdmin you will be able to export the SQL data using this (log in to phpMyAdmin and click on the Export tab). Alternatively your website hosting company may have a tool that allows you to export the SQL - you could contact them for help.

A third option to export the data via the API which would require some programming.

# Answer
> 2 votes
Although it is possible to access the DB directly (it's just a MySQL database) that is not the recommended way to integrate with custom apps.

There are ongoing changes to the database tables which mean that even if your app integrates perfectly today, it may break tomorrow with the next release. The API tries hard to insulate you from underlying database changes.

Your local CS Dept should have little difficulty getting started with the API using the information here: https://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API and the built-in API explorer (see same doc) provides an easy way to experiment and learn.

# Answer
> -1 votes
https://docs.civicrm.org/user/en/stable/common-workflows/exporting-your-contacts/

(Adding some.text because it seems stackexchange wants at least 30 chars of text. Ignore this text and just follow the link.)

---
Tags: database, export
---


# Question
Title: How do I change an incorrect contribution status to Completed?
An EFT/ACH contribution was made last week via a Civi Contribution page with no price sets. Normally EFT transactions go through just fine, but this one hit a snag and was marked Pending and then Failed by our vendor, iATS. The iATS website gave a reject code I didn't recognize (113), so I inquired with their customer service. Turns out it was an temporary communication issue with their system and the bank, and so the Failed status wasn't actually true. It was a successful transaction. iATS corrected the status in their system yesterday.

Our issue now is that Civi still says Failed. I tried to edit the transaction via the Civi UI, but my only options now for the Contribution Status are Failed, Partially Paid, or Pending Refund.

1. Is there a workaround in the UI to edit this transaction and make it Completed?
2. Or do I need to edit the transaction in the `civicrm_contribution` table with the `contribution_status_id` field? (It is currently `4`; I would change it to `1`.)
3. Are there any potential issues with changing the contribution status directly in the database?

*Drupal 7, Civi 4.6, iATS extension 1.5.3*

# Answer
> 1 votes
the CiviCRM GUI indeed does not let you change Failed to Completed - and I'm pretty sure that's because it would mean edits to the all financial table entries associated with that Contribution. So yes you can edit the status\_id in the contribution table - just keep in mind that you will want to also check all financial tables and adjust/add entries - that is if you use CiviAccounting features. Having said that on 4.6 - recurring installments generated with completeTransaction API don't end up in all Financial tables - so you probably already know to keep an eye out for that. So yes 4 -\> 1.

# Answer
> 1 votes
To my knowledge:

As far as the contribution hasn't exported to any sage or anything you are ok - you can directly change the contribution status against the DB which will be an easy fix.

But if the transaction has been exported already then we shouldn't be change the status instead we should be creating an new transaction for the contact also mention the reason against the source which will help.

I guess this helps!!!

---
Tags: civicontribute, iats, failure
---


# Question
Title: Report containing groups and the key contact details for that group
I want to export a list of our groups along with their key contact details. The group entry does not have an address/postcode/email etc linked to it - those details are linked to the key contact.

Help!

# Answer
I presume that your key contacts are linked to the group by a relationship?

If so, I would suggest that you use advanced search to find the related contacts. You can do this by selecting the appropriate Relationship Type in the Relationship section. This will be something like 'Key contact for' (depending on how you have named this relationship).

You can then export the search results by clicking on Actions \> Export contacts.

Read more in the manual: Searching
> 1 votes

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