# Question
Title: Make mailing labels from a list of contributions?
If I do a search on contacts, the actions menu has an option to generate mailing labels:

However, if I search on recent contributions, the actions does not allow mailing labels (although it does allow generation of **Thank-you Letters for Contributions**):

Is there a way to add the **Mailing Labels** action to the contribution actions list?

# Answer
You can get the same result by doing an advanced search for your contribution criteria and choosing 'display as contacts'? That will allow you to print out mailing labels as an action for the records that your recent contributions are attributed to.

Addition to the comment above:

As @petednz said you can only print mailing labels for contacts, currently. Below is a resource that may help towards developing custom actions if you want to attempt to cut out that extra step, although it may be a bit tricky because I believe most mailing label-type information is stored in the related contact table rather than in the contribution record itself.

http://wiki.civicrm.org/confluence/display/CRMDOC/How+to+Create+Your+Own+Action
> 3 votes

# Answer
Eli is right. Labels can only be generated for Contacts - so your search needs to be based on Contacts and then filter by the relevant Contribution factors that are involved.
> 2 votes

---
Tags: civicontribute, mailing, address-labels
---


title: Report or export in xml format

text:
# Question
Title: Report or export in xml format
I work for a small nonprofit. Our funding body previously required reports in csv format. they now want them in xml. Of course they are not providing any funds! Can this be done via a custom report or would it be an extension? Would Drupal views combined with the views Data export module work? any assistance or pointers greatly appreciated

# Answer
As you've noted, your best bet is to use Drupal to generate the XML (whatever shape that might take as Alan Dixon commented).

Views Data Export, Views Datasource or Services Views will work if you require the flexibility of Views filters, etc. It really depends on what data need to be in the reports. As Eli noted in the comments above, using Services by itself could work, but depending on how the data is coming in, a Views solution is probably your best.

Another module to consider (again, depending on the data you need) is CiviCRM Entity. It will open up *a lot* more CiviCRM data to Drupal Views.
> 1 votes

---
Tags: civireport, drupal-views
---


# Question
Title: Newsletter signup - add straight to group
Hello and excuse me I am having a moment. I usually use HTML snippets (profiles) for newsletter sign up forms but have used webform on this occasion as I read you can't add recaptcha to a snippet.

However now I realise having set up the form and themed it that it doesn't automatically add to a civi group.

Can I add contacts directly to a civi group from a webform sign up form?

Thanks it's probably obvious but I can't see it.

# Answer
Yes, it is possible to add contacts directly to a group in civicrm using the civi webform integration module, see documentation here https://www.drupal.org/node/1615380 and scroll to the section on Groups and Tags

* select civicrm on the webforms tab, and scroll to the section that says Groups and Tags
> 5 votes

---
Tags: webform-civicrm
---


# Question
Title: any ideas why my emails are not being recieved, but are not bouncing?
I have been trying CiviMail to send emails with CiviCRM 4.6.9. and drupal 7. When I send mails using the mail system not many of them reach the destination mailbox. They are marked as delivered by the mail reports, but only a few are marked as opened. When I check with the individual users they are not getting my emails, I am also not receiving bounces. I have checked and our domain has not been blacklisted. If I send emails from my own email program they generally all get through.

Any suggestions as to why my emails are not getting through when sent from Civimail?

# Answer
> 3 votes
There's two questions here - "Why am I not showing any bounces?" and "why isn't my email arriving?". I'll try to answer the first one here.

* The nature of SMTP (the Internet email protocol) is that a message will be relayed from server to server many times before it reaches its destination. The first 90 seconds of this video demonstrates this.
* CiviMail can only know if it successfully delivered to the FIRST server. In many situations, that first e-mail will accept ALL emails, and rely on later servers to bounce the message. However, since the later servers don't connect directly to CiviMail, they can't report a bounce directly. Instead, they send a "bounce message" via e-mail to the sender. You've probably seen a bounce message yourself if you've mis-typed an email address and tried sending to an address that doesn't exist.
* To address this, most configurations of CiviMail require that you set up an email account specifically to catch bounce messages. See this documentation on setting up bounce processing. There are also some gory details here.
* If you have NOT successfully configured a bounce processing address, or you haven't enabled the "Fetch Bounces" scheduled job (**Administer menu \> System Settings \> Scheduled Jobs**), your mailing reports will always show zero bounces (excepting advanced configurations like a SOAP Return Channel).

# Answer
> 0 votes
Your ability to diagnose this is going to be proportional to your access to the server you are using... Sending mail is sometimes a little magic...

A few suggestions... Do you have DKIM keys on your domain? That will help you get through some spam filters at gmail and the likes... You should also not manage your own mail server... it is better left to specialized places...

I use SendGrid... and it's pretty easy to set up some dkim keys to their sender keys so that email sent through them are verified to your domain... They can also help you do the diagnostic with their tools...

Their free tier is awesome ... Check them out...

Now if you need more help with your current set-up... you will need to give us more info on what you use to send your mail...

Hope this helps...

---
Tags: civimail
---


# Question
Title: Error when entering registration in backend
I have an problem, when registering participants manualy over the backend. If I choose an event having a pricelist, it shows the pricelist, but has two problems:

* It doesn't show the total sum of the fees!
* It doesn't show the form for editing the registration confirmation send by mail!

In the browsers JS-Console, I get errors. This is, what I see in Chrome:

```
Uncaught SyntaxError: Unexpected identifier
(anonymous function) @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:2
m.extend.globalEval @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:2
m.fn.extend.domManip @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:4
m.fn.extend.append @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:4
(anonymous function) @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:4
m.access @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-    A.js:4
m.fn.extend.html @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:4
$.ajax.success @ add?reset=1&action=add&context=standalone:468
j @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:2
k.fireWith @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:2
x @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:5
b @ js_DMn29dQVNHfbgcdlcutXpB1hshlW6Su8HFMDl-TYa-A.js:5

```

Firefox tells me:

```
SyntaxError: missing ; before statement

```

Sorry, I'm no use in this JS-things!

Bye

# Answer
> 1 votes
I think, I found it!

I belive, it's a problem with the german translation! IMHO, it's because off the quotes in this code.

```
cj('form[name=Participant]').on("click", '.validate',
    function(e) {
      var userSubmittedStatus = cj('#status_id').val();
      var statusLabel = cj('#status_id option:selected').text();
      if (userModifiedAmount < feeAmount && userSubmittedStatus != partiallyPaidStatusId) {
        var msg = "Der gezahlte Betrag ist weniger als der erforderliche Betrag. Der erwartete Teilnehmerstatus ist "Teilweise bezahlt". Sind sie sicher den Teilnehmerstatus auf %1 zu setzen? Klicken Sie auf OK für weiter, Abbruch um die Daten zu ändern.";
        var result = confirm(ts(msg, {1: statusLabel}));
        if (result == false) {
          return false;
        }
      }
    }
  );

```

I belive, there should be no double quotes around "Teilweise bezahlt".

No I have to find the place, where this is defined!

---
Tags: civievent
---


# Question
Title: Where are the saved import mapping configs stored?
I have been working on a local CiviCRM install to test importing contacts from a CSV file to the Civi contacts. I am ready to move this import process to our hosted test site but would not like to have to recreate the import mapping again. Are the saved mapping saved in a particular DB table or config file? I cannot find any documentation regarding this.

# Answer
> 3 votes
They looked to be stored in two tables.

civicrm\_mapping
civicrm\_mapping\_fields

The tables are pretty standard. The first has the header info and id, e.g what you called the mapping and the second has what each field is mapped to. The foreign key is civicrm\_mapping.id = civicrm\_mapping\_fields.mapping\_id

I'm pretty sure if you haven't saved any mappings in the target system or don't care about any you have, you can import the two tables into the target system and be good to go. Of course, you mileage may vary and do test, but it looks like the target system is a test system.

---
Tags: import
---


# Question
Title: Unable to access administration links after upgrade to CiviCRM 4.6.10
I have upgraded from CiviCRM 2.5 to 4.6.10.

Since the upgrade I cannot go into any of the links in Administer CiviCRM without an error:

> @import url(/devjom3update/administrator/components/com\_civicrm/civicrm/css/civicrm.css); @import url(/devjom3update/administrator/components/com\_civicrm/civicrm/bower\_components/jquery-ui/themes/smoothness/jquery-ui.min.css); Sorry but we are not able to provide this at the moment. You do not have permission to access this page.
>
> Return to home page.
>
> function toggle( element ) { var className = element.className; if ( className == 'crm-accordion-wrapper collapsed crm-fatal-error-details-block') { element.className = 'crm-accordion-wrapper crm-fatal-error-details-block'; } else { element.className = 'crm-accordion-wrapper collapsed crm-fatal-error-details-block'; } }

We are using Joomla 3.4.5.

# Answer
> 1 votes
This looks like a permission error.

Check that your user has sufficient permission to access these pages. Ensure that you have the 'Administer CiviCRM' permission.

See the book for more details: Permissions and access control

---
Tags: joomla, upgrade, error, admin
---


# Question
Title: How can I set up CiviMember to meet these requirements?
I'm wondering how I can set up CiviCRM to fit these requirements, do I create one membership with price sets or multiple memberships? How Would I go about the dynamic price changing? 2nd and last year??

Thanks!

For Honorary members, year the member became honorary is indicated.

Member type: Members will enter one of the following. If they are joining or renewing, the amount of membership is automatic.

1st year practice $50
2nd year practice $100
Regular $150
Part-time $75
Retired $30
Resident $40 or $20 *
Medical Student $20 or $10 \**
Associate $50

* Residents who join in their first year pay $40 for the duration of their graduate medical training program. Residents who are in their 2nd or last year of their training program pay $20 each year.

\** Medical students who join in their first year pay $20 for the duration of their undergraduate medical training program. Students who are in their 2nd or last year of their training program pay $10 each year.

# Answer
> 2 votes
I would go for all different membership types.

And on the signup page to describe properly for who it is.

The problem with pricesets is that it is much more difficult to get priceset info to show up in searches, in exports, in reports, in batch imports. So if you would do all (or a few) with the same membership types, you often only see the paid price difference, and not the underlying reason why they paid differently. You obviously can guess, but often you would want to see the reason (different option chosen in the priceset).

---
Tags: civimember
---


# Question
Title: Change address location type for all contacts?
I have a bunch of Organization contacts with "Work" addresses. I would like to change all of these to "Main" addresses. What is the most straightforward way to quickly get this done?

This is quite important, because when you have contacts with emails in different location types, *you can't dedupe on import*, see Import from CSV and dedupe using Email (match to contact) with PRIMARY email?

If I am wrong about this, please correct me!

# Answer
> 6 votes
I solved this using the Drupal modules CiviCRM Entity and Views Bulk Operations.

This gave me a very powerful way to search, filter, and mass-modify the addresses in our database.

1. Create a new view that shows CiviCRM Address entities and provides a page
2. Add a `Bulk Operations: CiviCRM Address` field and configure it under "Selected bulk operations" to "Modify entity values" and select "Address Location Type" under its "Operations settings"
3. Add a filter for `CiviCRM Address: Address Location Type` and set the location type that you want to change. Or expose the filter so you can filter at will. Refer to `civicrm/admin/locationType?reset=1`, hover the edit links to get the location ID from the URL
4. Visit your view's page and check the "Select all" box. "Modify entity values" and enter the ID of the location you want set on all addresses you have selected in the view

# Answer
> 8 votes
I'd use SQL. Take a backup first, of course, and test on a non-production server. Then run:

```
UPDATE civicrm_address ca JOIN civicrm_contact cc ON ca.contact_id = cc.id
SET location_type_id = 3
WHERE location_type_id = 2 AND cc.contact_type = 'Organization';

```

# Answer
> 2 votes
The problem is, that civicrm\_contact and civicrm\_address cannot be accessed at the same time due to triggers involved.

I solved that issue by searching the relevant contacts on the civicrm user interface and adding them to a new group (e.g. with group id = 111).

Then, the above statement could be:

```
update civicrm_address inner join civicrm_group_contact on
  civicrm_address.contact_id = civicrm_group_contact.contact_id
  set civicrm_address.location_type_id= 3 where group_id = 111 and
  location_type_id=2;

```

# Answer
> 0 votes
Here's an alternative formulation of Jon's query that might work better for you: `UPDATE civicrm_address ca
SET location_type_id = 3
WHERE location_type_id = 2 AND ca.contact_id in (SELECT id from civicrm_contact where contact_type = 'Organization');`

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


title: Mailer not working

text:
# Question
Title: Mailer not working
The automated mailer on CiviCRM does not seem to be working. The scheduled emails are not going out. When I test the system I get the test mail OK but that's about it. Have double checked all obvious settings and manually executed the cron job twice.

Using CiviCRM 4.6 combined with Joomla. Any ideas what could be going on?

# Answer
Have you set up the appropriate scheduled job? The one you want is to 'process\_mailing'

More details here: Managing Scheduled Jobs
> 0 votes

---
Tags: email, cron-job, scheduling
---


title: Who admits new Transifex Translators?

text:
# Question
Title: Who admits new Transifex Translators?
CiviCRM's translations are managed on Transifex, I have been a coordinator of the German team for about two or three years. I noticed that new translators are admitted to the German language team regularly and I was wondering how that works.

I only know two other coordinators (there are six) and reached out to them but they don't do it either. I would love to be able to contact new translators before they actually translate strings in order to let them know about best practices.

So my question is: Who is the manager able to permit new translators on a Transifex team (particularly the German one)?

# Answer
> 2 votes
Currently Transifex has a setting to automatically accept new team members, but it is a global setting, not per language.

My recommendation would be to use the "reviewer" feature of CiviCRM. If you tag strings as reviewed, only reviewers can edit them. You can then more easily review strings that have been translated by new translators.

I agree, however, that it would be nice to have a better welcome process for translators. Currently the only help we have, is the text shown on the main CiviCRM Transifex project page, which says "help page" and leads to Translator Resources.

---
Tags: translation
---


# Question
Title: CiviMail recipient count stuck on Estimating
I'm unable to send and/or produce test emails for large mailings. This seems to be a result of CiviMail not completing the recipient estimation process. Attempting a test email while it's stuck on "estimating" gives this error:

```
Error in call to Mailing_send_test : Error in call to MailingJob_create : DB Constraint Violation - possibly mailing_id should possibly be marked as mandatory for this API. If so, please raise a bug report

```

This appears to happen in the neighborhood of 4500 recipients and above.

\[I have seen reports that similar issues were resolved in version 4.6.3, but this error occurred in 4.6.9\]

# Answer
I looked into this for Eric. The backtrace for the error was

```
sites/all/modules/civicrm/packages/DB/mysql.php(895): DB_common->raiseError(-1, NULL, NULL, NULL, "1114 ** The table 'I_1884' is full"

```

The mailing job is trying to create a temporary table of all the email addresses, but it can't. This is a result of the max\_heap\_table\_size being set to low in the mysql config file. The default is 16 mb.
> 2 votes

# Answer
I was able to 'fix' the issue by simply deleting all the groups (I didn't have any previous mailings in here) from the Recipients field and then re-adding them. Make no other edits before the estimated number of recipients finishes, and the draft is saved. I was able to send a test email successfully after that. The mailing list this happened with to me is ~585 contacts.

NOTE: I just had this error pop up and found this Stack Exchange question from a Google search of the error message.
> 3 votes

---
Tags: civimail, mysql
---


# Question
Title: Newsletter sign up tokens on Donation Form Error
We are having an issue passing a check-sum from a donation and membership sign up form along with a token to sign up to join a mailing list. We're implementing CiviCRM on a WordPress platform. The newsletter mailing list sign up token is not recognized by the system.

# Answer
You might compare your checksum links against the examples in this post.

As for your mailing list signup form, I'm not sure what you mean by "not recognized by the system". Is the token not transforming when sent, or is the link just not working?
> 1 votes

---
Tags: wordpress, email, tokens, forms
---


title: Why do deleted contacts cause errors?

text:
# Question
Title: Why do deleted contacts cause errors?
I deleted a bunch of contacts because I imported the wrong data pertaining to them. I then imported it again, with the right data and it wouldn't let me because of "duplicate" contacts. However I searched for these duplicates and they do not exist. I am at a lost with what to do. Changing their ID isn't an option here. ALSO do note that when I do an advanced search, I do not have the option to search in trash.

# Answer
Go in to Adv Search, check the 'search in trash' box, select all your contacts in Trash, and then choose the dropdown option to Permanently Delete. That should help
> 2 votes

# Answer
Maybe, they are still inside the recycle bin? CiviCRM doesn't delete them form the database, it just marks them as deleted.

Do "Advanced Search" and check the checkbox for "Search in Trash (deleted contacts)"... and delete them a second time! :-)

I had a look into my system! I'm using Drupal, and there is a right (permission in Drupal) called "Access contacts in the trash"!
> 2 votes

---
Tags: contacts, contact-view
---


title: checkbox import problems

text:
# Question
Title: checkbox import problems
Right now I have a custom data set set up that has 3 custom fields inside of it. Inside each custom field is a list of options that can be checked. (checkbox is the option)

In my spreadsheet that I import I have the correct columns and appropriate values in for the options I need to be checked for each contact.

So lets say here are my 3 custom fields with 3 different options (example): Custom field A contains blue, red, and white in that exact order on the spreadsheet. Custom field B contains purple, orange, yellow in that order on the spreadsheet. Custom field C contains cow, cat, dog in that order on the spreadsheet.

If Example Contact 1 has blue marked, purple marked, and cow marked it will check those off appropriately.

If Example contact 2 has blue marked, yellow marked, and cat marked only blue will import.

I did multiple tests and have come to the conclusion that only the first value of each custom field will import if it is marked. Anything else marked will not be imported.

Is there something I can do to fix this?

# Answer
> 4 votes
The data for importing options needs to be in a single cell. So if your field is COLOUR, then you need a single column for that data in your import file, and you need data such as

* red,blue,orange
* red,orange
* etc

If you need to concatenate your data you may end up with examples like below, but they should also import fine

* red,blue,orange
* red,,orange
* ,blue,orange
* ,,orange
* red,,

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


# Question
Title: Who can develop payment processor for Bank of America Merchant Services
Would anyone be able to develop a payment processor for the latest CiviCRM version to work with the Bank of America Merchant Services? Can you provide a quote? We're using Joomla but I believe most/all of the payment processors are CMS-agnostic. (Sorry if this is not the forum to ask this question - happy to take it elsewhere ;-) Thank you

# Answer
> 4 votes
You can commission an extension, using the Core-Team or a Partner/Contributor. I suggest you set up a issue in the issue tracker first to see if the Core Team can give you an estimate.

You should also look at the other payment processor extensions, the folks who wrote them are most likely to be able do another, they should also be rewarded for their previously contributed code, by getting new work.

Resource on how to create a Payment Processor Extension

# Answer
> 1 votes
It is my understanding that Bank of America uses Payeezy Gateway, which in the past was called First Data / Global. First Data / Global is listed on the supported processors. See:

http://wiki.civicrm.org/confluence/display/CRMDOC/Payment+Processors%20

It also appears that someone has used First Data /Global as a Payment Processor. See:

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

--H

---
Tags: payment-processor
---


title: How to set up a lifetime membership?

text:
# Question
Title: How to set up a lifetime membership?
We want members to sign up and either auto-renew (it's free) or be lifetime members so there is no expiration date. Which is the best approach?

# Answer
> 1 votes
What distinguishes a member from a non-member? Is it basically being on your mailing list? If so, you might consider not using CiviMember at all.

The paradigm of membership in CiviCRM is a dues-paying membership with a term. While there are features to handle variations on that (free memberships and lifetime memberships, for example), there isn't much reason to go through the trouble of setting them up if they're both free and lifetime.

Instead, consider setting up a group. You can have a profile add people to the group, you can search for everyone in the group, and you can mail to the group. There's even the history of *when* someone was added to the group, if that matters to you.

The word "member" trips users up a lot, and it's common to see people think that CiviMember is the way to handle their free forever memberships in CiviCRM. You can just turn it off by going to **Administer \> System Settings \> Enable CiviCRM Components**.

---
Tags: civimember
---


# Question
Title: How to sync CiviCRM contacts with a Drupal content type
I am looking to sync CiviCRM Contacts with a content type in Drupal. Basically, I need to relate the contact information, via a 'person' content type, to other entities in Drupal(content types, taxonomies, files, etc). Also need to have it smoothly integrate with SearchAPI/FacetAPI, which having the information synced to a Drupal content type would give me. So far all I can seem to find is information covering how to sync contacts from CiviCRM to 'users' in Drupal, which I do not want to do.

At first, it seemed as though the CiviCRM entity module would work(https://www.drupal.org/project/civicrm\_entity), but I don't see an obvious way to add Drupal fields to CiviCRM entities on the Drupal side.

--edit--

Apologies, I should clarify. I do not need to push any data from Drupal to CiviCRM in this case. I just need to make sure that my 'person' records in Drupal are linked to 'contact' records in CiviCRM in such a way as the person's contact fields in Drupal(first name, last name, email, address, etc) are synced to grab the most recent data from their CiviCRM 'contact' field counterparts. The views integration is great and is working for displaying data from CiviCRM entities, no problems there. What I need is the glue for grabbing the contact field data from CiviCRM into a Drupal content type. Looking into services to see if it will fit for this, thank you.

# Answer
> 1 votes
It depends what you are after. You can use CiviCRM Contact Reference Field and this gives you a field on Node that you can then pull in the civi data. Having done that you can then pull in other civi data to that node via Views. You can see an example of this in action here where the Node is the Party, there is a reference field on that node to the Party contact in civi - and then the info about the Party eg Contact details are pulled on the page via Views using a Context Filter for 'nid from current node).

Then the MPs in the list lower on the page are pulled in because they have a Civi relationship to the Party ;-)

The Leaders on the other hand are 'node referenced' to the party in Drupal. And if you click through to a Leader page you get the same deal. The MP page has 'civi reference' field to the MP civi contact. And all the other blocks are pulling in data eg Nodes that are node referencing back to this node.

Hope that gives you some ideas and partially answers your question.

# Answer
> 0 votes
I've also edited my answer, Drupal services module https://www.drupal.org/project/services will do the trick for smooth integration with SearchAPI/FacetAPI.

---
Tags: drupal, contacts, entity-reference
---


# Question
Title: Event Registration-Duplicate names, Overwrite on Contact Records
Due to using the same email, we have had tons of event contacts histories overwritten with another contact name besides duplicate name entries during registration of events. With the upgrade to 4.6.10 I am monitoring same. Currently I am still finding duplicate contact names in the system. I am unsure of overwritten accounts until such a time where I discover same. I know there is a few drop downs under duplicate emails in events/on-line registrations. Which is the best to check off? Right now it is on unsupervised. Under Events-on line registration we also have checked off register multiple participants and same email address.

I have to go back 9 years to fix all records. I would like to not have to do this anymore.

@Lesley Carter-BackOfficeI messed with the dedupe and things are now messed up, got this error:

An error has occurred. 0 @import url(/administrator/components/com\_civicrm/civicrm/css/civicrm.css); @import url(/administrator/components/com\_civicrm/civicrm/bower\_components/jquery-ui/themes/smoothness/jquery-ui.min.css); Sorry but we are not able to provide this at the moment. Supervised rule for Organization does not exist

Return to home page.

function toggle( element ) { var className = element.className; if ( className == 'crm-accordion-wrapper collapsed crm-fatal-error-details-block') { element.className = 'crm-accordion-wrapper crm-fatal-error-details-block'; } else { element.className = 'crm-accordion-wrapper collapsed crm-fatal-error-details-block'; } }

# Answer
> 2 votes
Yes, adjusting and using the Unsupervised rule is your best bet to prevent this from continuing. My philosophy for deduplication is I would rather default to having extra duplicate contacts that I can clean up later than having two people become intertwined and, as you've experienced, can be rather sticky to separate.

**Ideas**

There are a few ideas thrown around in the comments of this question: Dedupe Rule not working. (Full disclosure: I have an answer on that question). Lesley also has a great recipe in her initial comment to you up above.

**Best write up about deduplication**

The best free resource for Deduplication understanding and recipes is this blog post by spidersilk: Understanding CiviCRM Dedupe Rules. Section 6 is titled 'Some Recommended Rule Recipes' and section 11 is 'Tips for Setting up Effective Dedupe Rules'. The whole article is excellent, but for a tldr; those sections are great.

**An Extension that could help**

The No Overwrite extension can help with accidental over-writes in certain cases and might be worth installing. We have it installed on our CiviCRM setup.

**How we do it**

Lastly, just for another example, we have a lot of children in our organization being registered. A parent will often use his/her own email address to register a child, so we had to come up with a way that was more than just email. Our unsupervised rule is as follows:

> First Name; Length - 4; Weight - 5.
>
> Last Name; Length - blank; Weight - 5.
>
> Birth Date; Length - blank; Weight - 10.
>
> Email; Length - blank; Weight - 10.
>
> Weight threshold - 20

This allows matching if the birth date and email address are the same (the only scenario this doesn't work is identical twins, and I'm okay with that risk). Also, if this is a normal adult registration (and adults normally don't provide their birth date), we can still have a match based on first four characters of the first name, the last name matching, and the email matching.

This catches a lot of duplicates, but certainly not all of them. Thomas Smith and Tom Smith with the same email address is probably going to be the same person, but our rule will not catch it. And I'm okay with that. Again, I'd rather have extra duplicate contacts than incorrectly intertwined contacts. As a matter of practice, every month or so we manually run General dedupe rules that are "Email only" or "First Name and Last Name" to catch the extra duplicates. Yes, it's manual work, but it's way easier to take the time for that than separating two people who were not in fact the same.

---
Tags: civievent
---


title: Batch Entry of NEW Pledges?

text:
# Question
Title: Batch Entry of NEW Pledges?
We have a unique organization (large homeschool coop) that has various oddball requirements for membership types, durations, payments, etc.

I think I'm going to be using Pledges to solve some of our woes, and am wondering if it is possible to do a batch entry of NEW pledges. I see that you can do a batch entry of pledge payments, but can I do something like this?

Search for memberships with a certain status.

Take search results and create a new pledge for those people and set the details like Campaign associated with it, total pledge amount, pledge status?, and monthly payment plan.

Thanks!

Drupal 7.41 CiviCRM 4.6.10

# Answer
> 2 votes
If you export your search results to a CSV, you can then import them as pledges with the API csv Import GUI extension. Setting up the columns correctly for the import will presumably take a little trial and error.

---
Tags: drupal, pledges
---


# Question
Title: group role sync and membership role sync - does one take priority over the other?
I'm looking at a scenario where adding a contact to a group gives them a new Drupal role, but I also want to remove that role if a membership (which is part of a separate workflow) expires. Would that work using the two sync modules, or would the group/role sync simply re-apply the role when the user next logs in?

# Answer
One solution would be to rejig your roles so that the outcome you need can be delivered by letting Members have one Role and people in the Group have another Role. It seems like a 'cumulative' approach to permissions and roles could work for you.
> 2 votes

---
Tags: drupal, civimember, groups, roles
---


# Question
Title: Displaying a Views block with a CiviCRM-enabled webform
As an alternative to "How can I display an info only field in a webform", we are displaying a read-only View block on a CiviCRM-enabled webform page via Context because one of the fields of the View block is an embedded View (via the Views Field View module).

We are linking to the webform from another view so that we can supply a Contact ID in the URL, allowing the webform to auto-fill with a contact's information. Per the instructions for Generating URL arguments from Views, our link is as follows: `/family-info?cid1=[id]`.

The link correctly supplies the contact ID to auto-fill the webform fields, but does not return any results for the View block that is on the page. I confirmed that the View block is setup correctly because I can supply a contact ID in the View preview in the Views UI and the block information displays correctly. **There seems to be a difference between how the webform is reading the URL argument and how the Views block is reading it. Any ideas on how to make the two work together?**

Drupal 7.41; Webform 4.12; CiviCRM 4.6.6; CiviCRM-Webform Integration 4.14

# Answer
> 3 votes
After much trial and error, we discovered that the webform and Views block both populate correctly with a supplied link of `/family-info?cid=[id]`. By removing the `1` between `cid` and `=`, the View contextual filter works properly and the webform still auto-fills. I don't know the implications if one were to try to have multiple contact id's, but for our purposes of only one contact id, this resolves the issue.

# Answer
> 2 votes
It looks like we used to do this via the php filter module but stopped doing so for security reasons and have added this snippet of code to a module to provide the contextual filter to the view:

```
function tidbits_views_pre_build(&$view) {
  if ($view->name == 'your_view'
    && ($view->current_display == 'block_1' || $view->current_display == 'block_2')) {
    $view->args[] = $_GET['cid'];
  }
}

```

---
Tags: webform-civicrm, drupal-views
---


# Question
Title: How do I find a patch for an issue in CiviCRM's issue tracker (JIRA)?
For example, issue CRM-17493 shows that it is fixed in 4.6.11.

How do I find the patch to fix this specific issue from JIRA?

# Answer
That patch is due to be released in CiviCRM 4.6.11 but it hasn't been released yet. 4.6.10 is the latest version of CiviCRM.

You can download the latest version from here: Download CiviCRM
> 1 votes

# Answer
If you click the all tab on the issue \- you'll see the link to the patch

How to apply a patch: How do I apply a patch supplied in the issue queue via Git?
> 6 votes

# Answer
This is a little tangential, but there are several options for checking an unreleased patch:

http://wiki.civicrm.org/confluence/display/CRMDOC/Verify+a+bug+fix
> 3 votes

---
Tags: issues
---


# Question
Title: CiviRule Error on Event as Linked Trigger
I created a CiviRule with the following

1. "Event is Changed" as the linked trigger.
2. Field value comparison =\> Event.summary is one of \[KEYWORD\]
3. Action (tested this before with others linked trigger and it works)

When I make the change of the summary of an event. I get the following error below.

> Sorry but we are not able to provide this at the moment. One of parameters (value: ) is not of the type Integer

# Answer
> 1 votes
Thanks for reporting this CiviRulesbug, we appreciate it!

CiviRules, as you might know, has been developed by CiviCooP to suit the needs of some of our clients who meanly deal with fundraising. So the conditions and actions on Contributions are fairly well tested and stable. Althought we developed CiviRules initially, it is a community extension and we do not feel we are the owners. We do not fix all issues with CiviRules, much like the CiviCRM core team does not fix all issues with CiviCRM. It is a community effort, of which we will take our part.

Based on this, would you be able to dive into this issue, debug it and solve it? The technical documentation on the wiki (http://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+-+how+to+make+your+own) should give you an idea how the engine works. I would start with testing the condition with other actions to find out if the problem is in the condition or in the action. As you already done part of this, it is probably best to start debugging in the condition and more specifically the `isConditionValid` function.

If not, would you have the funds to pay someone to fix the error? Or are you just reporting it and happy to wait for someone else with the expertise or funds to fix it?

---
Tags: civievent, civirules
---


title: Path problem in civicrm under wordpress

text:
# Question
Title: Path problem in civicrm under wordpress
Using .htaccess to put Wordpress in its own directory. Problem is that civicrm was installed using the subdirectory after the domain name. I try to update the path and wordpress logs out. Anything I try to do with Civicrm logs me out of Wordpress. I can't seem to get around this problem. If I edit my settings file, civicrm will not work.

# Answer
To the best of my knowledge, CiviCRM does not work if WordPress is installed in its own directory rather than the default location. I have not tested this recently, but

* I know it did not work in the initial versions of CiviCRM for WordPress,
* I haven't heard about any change to this, and
* I haven't had any reason to have WordPress in its own directory.

Notes in CRM-16421 also indicate that it's still an issue as of 4.6.

My advice is to get WordPress back out of its own directory and try again. It may not be your preference, but it's what works.
> 1 votes

# Answer
Probably a file permission problem... did you copy the files yourself?

You need to make sure the paths are correct (do this with the configuration file instead of the database...)

Then check the file owners and permissions in your new directory structure... The directories would be 755 and the files 644... for this to work the file owners should be the web server ...

Hope this helps...
> 0 votes

---
Tags: wordpress
---


# Question
Title: Passing a drupal field to civicrm report
We'd like to pass a Drupal field (Organic Group that a user belongs to) to a CiviCRM membership report. Has anyone done this and could give pointers or an example?

# Answer
> 2 votes
One option would be to do this with Drupal Views though I think you would end up needing to display a View within a View to deal with the multiple results you could have for both the OG memberships and the Civi Memberships. I did a quick proof of concept to check if all the joins were available which I attached to this blog.

# Answer
> 1 votes
If you want to do this in code, you should be able to use the Drupal API to access all Drupal tables and fields in your code (`$result = db_query("SELECT nid, title FROM {node}")`;)

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


# Question
Title: Why does CiviMail stop sending after the first 1,000 messages?
We have about 30k recipients in our lists and every time we send a mailing (New Mailing - Submit Mailing - Schedule Jobs - Execute Process Mailing) it stops after 1000 messages. We usually have to refresh the page and continue until it completes. How can we work around this? Thanks for your kind help.

# Answer
Did you setup the cronjob?

http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs

It's the usual behavior of civicrm to send 1000 mails per cronjob. After that it waits x Minutes and sends the next batch of mails at the next cron run.
> 6 votes

# Answer
Check *"Mailer Batch Limit"* at **CiviMail Settings** /civicrm/admin/mail?reset=1.

There must be zero if you want to be sent all mails at once.
> 3 votes

---
Tags: civimail, cron-job, scheduling
---


# Question
Title: allow public access to entityRef field contact lookup
I need to add an entityRef lookup field to a public facing profile form so that users can search and select organization contacts. I patterned it after the current employer lookup in the contact record with slight changes (you can't create a new contact):

```
$props = array(
  'api' => array('params' => array(
    'contact_type' => 'Organization',
    'check_permissions' => 0,
  )),
);
$form->addEntityRef('employer_id', ts('Organization'), $props);

```

If I access the form anonymously, the lookup fails with a permission error. If I grant the public user "access AJAX API" it does not fail, but does not return any records (because the public user isn't permissioned to view all contacts). You'll see that I attempted to modify the API with check\_permissions, but it has no impact.

With "access AJAX API" enabled for the public user, the alterAPIPermissions hook is hit -- so I could modify the perms and avoid granting the public user "view all contacts" permission.

My question is: What are the consequences of giving the public user access AJAX API permission? Is there some way to avoid having to do that? Is the above the right way to implement this -- to grant that permission and them modify the actual permissions with the hook?

**EDIT:** Actually, I don't seem to be able to grant sufficient permissions with alterAPIPermissions. I've tried:

```
$params['check_permissions'] = 0;
$permissions['contact']['get'] = array('profile create');
$permissions['contact']['getquick'] = array('profile create');

```

(the anonymous user has profile create permission) and the entityRef still returns no records.

# Answer
The Access AJAX API permission was added in CRM-8840 to get around the firewall of sorts that surrounds the API unless you have Access CiviCRM. If you don't have either, you'll get blocked trying any Javascript call to the API, regardless of your other permissions (whether granted via hook, ACLs, or CMS).

As best I know (and I just did a quick test on a dummy site), all of the APIs require Access CiviCRM or Administer CiviCRM even beside the blanket requirement for Access CiviCRM or Access AJAX API. While adding Access AJAX API will get your foot in the proverbial door, you won't have the ability to do anything. You'll want to write a hook to change the permissions in the specific cases that you need to run an API call.

So yes, you're on the right track, and no, there shouldn't be any immediate negative consequences of adding Access AJAX API. However, since it removes the outer layer of security against the API, you'll just need to be sure everything's configured tightly.
> 2 votes

# Answer
I wonder if a better pattern to start with would be custom fields of type "ContactReference" - these go through a different ajax callback which by default does *not* check permissions (for better or worse).
> 1 votes

---
Tags: api, permissions, hooks
---


# Question
Title: What does "Reserved" indicate on Financial Types/Accounts?
I see we can set a Financial Type as "Reserved" with a checkbox. What does that do, and does it set that flag automatically on the associated accounts?

# Answer
'Reserved' on items like this in Civi indicates that it's something that you don't want to be updated or deleted, as it's an important item. So non-admin people can't update or delete it - in this case you have to have the 'CiviContribute: access CiviContribute' permission to be able to update. Groups and tags can be protected in a similar way.
> 3 votes

---
Tags: civicontribute, financial-types, financial-accounts
---


# Question
Title: How can I get Contribution Widget to show totals? It just shows "Placeholder" instead of text and total.
I can't seem to get contribution widgets to appear.

Here's a contribution page I've created: https://lofcenter.org/christmasangel/

Here's the widget code that I'm supposed to use, but it does not show any of the text or the contribution total collected so far:

```
<style>
    .crm-contribute-widget {
        font-size:12px;
        font-family:Helvetica, Arial, sans;
        padding:6px;
        -moz-border-radius:       4px;
        -webkit-border-radius:   4px;
        -khtml-border-radius:   4px;
        border-radius:      4px;
        border:1px solid #96C0E7;
        width:200px;
    }
    .crm-contribute-widget h5 {
        font-size:14px;
        padding:3px;
        margin: 0px;
        text-align:center;
        -moz-border-radius:   4px;
        -webkit-border-radius:   4px;
        -khtml-border-radius:   4px;
        border-radius:      4px;
    }
    .crm-contribute-widget .crm-amounts {
        height:1em;
        margin:.8em 0px;
        font-size:13px;
    }
    .crm-contribute-widget .crm-amount-low {
        float:left;
    }
    .crm-contribute-widget .crm-amount-high {
        float:right;
    }
    .crm-contribute-widget .crm-percentage {
        margin:0px 30%;
        text-align:center;
    }
    .crm-contribute-widget .crm-amount-bar {
        background-color:#FFF;
        width:100%;
        display:block;
        border:1px solid #CECECE;
        -moz-border-radius:   4px;
        -webkit-border-radius:   4px;
        -khtml-border-radius:   4px;
        border-radius:      4px;
        margin-bottom:.8em;
        text-align:left;
    }
    .crm-contribute-widget .crm-amount-fill {
        background-color:#2786C2;
        height:1em;
        display:block;
        -moz-border-radius:   4px 0px 0px 4px;
        -webkit-border-radius:   4px 0px 0px 4px;
        -khtml-border-radius:   4px 0px 0px 4px;
        border-radius:      4px 0px 0px 4px;
        text-align:left;
    }
    .crm-contribute-widget .crm-amount-raised-wrapper {
        margin-bottom:.8em;
    }
    .crm-contribute-widget .crm-amount-raised {
        font-weight:bold;
    }
    .crm-contribute-widget .crm-logo {
        text-align:center;
    }
    .crm-contribute-widget .crm-comments,
    .crm-contribute-widget .crm-donors,
    .crm-contribute-widget .crm-campaign {
        font-size:11px;
        margin-bottom:.8em;
    }
    .crm-contribute-widget .crm-contribute-button {
        display:block;
        background-color:#CECECE;
        -moz-border-radius:       4px;
        -webkit-border-radius:   4px;
        -khtml-border-radius:   4px;
        border-radius:      4px;
        text-align:center;
        margin:0px 10% .8em 10%;
        text-decoration:none;
        color:#556C82;
        padding:2px;
        font-size:13px;
    }
    .crm-contribute-widget .crm-home-url {
        text-decoration:none;
        border:0px;
    }
</style>
<style>
    .crm-contribute-widget {
        background-color: #00cc44; /* background color */
        border-color:#96C0E7; /* border color */
    }
    .crm-contribute-widget h5 {
        color: #000000;
        background-color: #00802b;
    } /* title */
    .crm-contribute-widget .crm-amount-raised { color:#000; }
    .crm-contribute-widget .crm-amount-fill {
      background-color:#cc0000;
    }
    .crm-contribute-widget a.crm-contribute-button { /* button color */
        background-color:#cc0000;
    }
    .crm-contribute-widget .crm-contribute-button-inner { /* button text color */
        padding:2px;
        display:block;
        color:#556C82;
    }
    .crm-contribute-widget .crm-comments,
    .crm-contribute-widget .crm-donors,
    .crm-contribute-widget .crm-campaign {
        color:#2786C2 /* other color*/
    }
    .crm-contribute-widget .crm-home-url {
        color:#cc0000 /* home page link color*/
    }
</style>

<div id="crm_cpid_11" class="crm-contribute-widget">
    <h5 id="crm_cpid_11_title"></h5>
    <div class="crm-amounts">
        <div id="crm_cpid_11_amt_hi" class="crm-amount-high"></div>
        <div id="crm_cpid_11_amt_low" class="crm-amount-low"></div>
        <div id="crm_cpid_11_percentage" class="crm-percentage"></div>
    </div>
    <div class="crm-amount-bar">
        <div class="crm-amount-fill" id="crm_cpid_11_amt_fill"></div>
    </div>
    <div class="crm-amount-raised-wrapper">
        <span id="crm_cpid_11_amt_raised" class="crm-amount-raised"> -- placeholder -- </span>
    </div>
            <div class="crm-logo"><img src="https://lofcenter.org/wp-content/uploads/2015/07/lof-logo-widget.png" alt=Logo></div>
        <div id="crm_cpid_11_donors" class="crm-donors"></div>
    <div id="crm_cpid_11_comments" class="crm-comments"></div>
    <div id="crm_cpid_11_campaign" class="crm-campaign"></div>
    <div class="crm-contribute-button-wrapper" id="crm_cpid_11_button">
        <a href='https://lofcenter.org/CiviCRM?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=11' class="crm-contribute-button"><span class="crm-contribute-button-inner" id="crm_cpid_11_btn_txt"> -- placeholder -- </span></a>
    </div>
</div>

<script type="text/javascript">
// Cleanup functions for the document ready method
if ( document.addEventListener ) {
    DOMContentLoaded = function() {
        document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
        onReady();
    };
} else if ( document.attachEvent ) {
    DOMContentLoaded = function() {
        // Make sure body exists, at least, in case IE gets a little overzealous
        if ( document.readyState === "complete" ) {
            document.detachEvent( "onreadystatechange", DOMContentLoaded );
            onReady();
        }
    };
}
if ( document.readyState === "complete" ) {
    // Handle it asynchronously to allow scripts the opportunity to delay ready
    setTimeout( onReady, 1 );
}
// Mozilla, Opera and webkit support this event
if ( document.addEventListener ) {
    // Use the handy event callback
    document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
    // A fallback to window.onload, that will always work
    window.addEventListener( "load", onReady, false );
    // If IE event model is used
} else if ( document.attachEvent ) {
    // ensure firing before onload,
    // maybe late but safe also for iframes
    document.attachEvent("onreadystatechange", DOMContentLoaded);
    // A fallback to window.onload, that will always work
    window.attachEvent( "onload", onReady );
}
function onReady( ) {
    var cpid    = 11;
    var jsonvar = eval('jsondata' + cpid);
    var crmCurrency = jsonvar.currencySymbol;
    document.getElementById('crm_cpid_'+cpid+'_title').innerHTML        = jsonvar.title;
    if ( jsonvar.money_target > 0 ) {
        document.getElementById('crm_cpid_'+cpid+'_amt_hi').innerHTML   = jsonvar.money_target_display;
        document.getElementById('crm_cpid_'+cpid+'_amt_low').innerHTML  = crmCurrency+jsonvar.money_low;
    }
    document.getElementById('crm_cpid_'+cpid+'_amt_raised').innerHTML   = jsonvar.money_raised;
    document.getElementById('crm_cpid_'+cpid+'_comments').innerHTML     = jsonvar.about;
    document.getElementById('crm_cpid_'+cpid+'_donors').innerHTML       = jsonvar.num_donors;
    document.getElementById('crm_cpid_'+cpid+'_btn_txt').innerHTML      = jsonvar.button_title;
    document.getElementById('crm_cpid_'+cpid+'_campaign').innerHTML     = jsonvar.campaign_start;
    if ( jsonvar.money_raised_percentage ) {
        var moneyRaised = jsonvar.money_raised_percentage;
        var percentWidth = moneyRaised.split('%');
        if ( percentWidth[0] > 100 ) {
            moneyRaised = '100%';
        }
        document.getElementById('crm_cpid_'+cpid+'_amt_fill').style.width = moneyRaised;
        document.getElementById('crm_cpid_'+cpid+'_percentage').innerHTML = jsonvar.money_raised_percentage;
    }
    if ( !jsonvar.is_active ) {
        document.getElementById('crm_cpid_'+cpid+'_button').innerHTML   = jsonvar.home_url;
        document.getElementById('crm_cpid_'+cpid+'_button').style.color = 'red';
    }
}
</script>

<script type="text/javascript" src="https://lofcenter.org/wp-content/plugins/civicrm/civicrm//extern/widget.php?cpageId=11&widgetId=10&format=3"></script>

```

Here's what the widget shows:

Am I missing a setting somewhere? Why is this not working?

# Answer
I'd guess the warnings thrown by this URL (linked in the final `<script>` declaration in the code you posted) are causing the problem. If you take care of them (or even hide them from displaying) it may solve it:

https://lofcenter.org/wp-content/plugins/civicrm/civicrm//extern/widget.php?cpageId=11&widgetId=10&format=3

```
Warning: mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php on line 271

Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php:271) in /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/AJAX.php on line 212

Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php:271) in /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/AJAX.php on line 213

Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php:271) in /home/xxxxx/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/AJAX.php on line 214
var jsondata11 = {"currencySymbol":"$","is_error":false,"is_active":true,"title":"Christmas Angel","logo":"https:\/\/lofcenter.org\/wp-content\/uploads\/2015\/07\/lof-logo-widget.png","button_title":"Be an Angel","about":"
Be a Christmas Angel and send a gift a local survivor!<\/strong><\/p>","num_donors":"3 Donors","money_raised":"Raised $ 175.00 of $ 4,000.00","campaign_start":"Campaign is ongoing","money_target":4000,"money_raised_percentage":"4%","money_target_display":"$ 4,000.00","money_low":0,"home_url":"Learn more.<\/a>","homepage_link":null,"colors":{"title":"#000000","button":"#cc0000","bar":"#cc0000","main_text":"#2786C2","main":"#00cc44","main_bg":"#00802b","bg":"#96C0E7","about_link":"#556C82"}};

```
> 4 votes

---
Tags: civicontribute
---


title: Kcfinder: Will not browse

text:
# Question
Title: Kcfinder: Will not browse
In CiviMail 4.6.10 on Joomla 3.4.5, clicking on Browse Server button opens Kcfinder popup window. Kcfinder is contained in CKeditor insert image toolbar function. No images populate and internal links result in error:

> Firefox doesn't know how to open this address, because one of the following protocols (kcact) isn't associated with any program or is not allowed in this context.

All major browsers same result. Cleared all browsers and CiviCRM cache to no avail. (*The CiviCRM demo is still at 4.6.0 which doesn't have this feature.*) See image below:

# Answer
> 2 votes
KCfinder is very sensible with the path to image storage. It configured path to the storage must match the path send by the JS component **exactly**! It doesn't work well with symbolic links on unix.

On windows servers, there may be problems with capital letters and small letters too.

I'm not shure, if this may be the problem in this case, but just double check all configured pathes.

---
Tags: civimail, joomla, 4.6.10, kcfinder
---


# Question
Title: CiviEvent custom data missing on confirmation page
I am testing out some custom data on CiviEvent under wordpress; on both the civicrm demo site and a live production site. In both cases if you add a custom field with a checkbox to the profile for online registrations, for participant, the confirmation page confuses the data coming back. I created a check box with 3 options (good, bad, ugly). If I choose 2 of them (bad, ugly) then on the confirmation page I see the data as ", good,good". If I choose the checkbox as (good) then I get "good, ,". And if I select the checkboxes as (good, bad) then I get "good, good, ". I each case I get the wrong set.

It seems to always use the first option no matter what I choose but it does return it in the correct index. Anyone have any suggestions to make this work? Or has anyone looked into the issue already and solved it?

# Answer
Yep, that is a proper bug. CiviCRM has a public issue tracking system, it's on https://issues.civicrm.org.

This bug was already found, see https://issues.civicrm.org/jira/browse/CRM-17129 It's solved in 4.7

If you really need it on 4.6 you can also find the patch there and try it on a test version of your site. No guarantees, so make sure you are not doing it on your production site.

If you would find another bug in the future and it can not be found via a search on issues.civicrm.org, you can help the whole community by creating an issue over there.
> 2 votes

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


# Question
Title: Dashboard does not render after updating civi version 4.6.9 to 4.6.10 and onwards to 4.6.11
I had two sites that both rendered the dashlets in the dashboard correct. When I upgraded the civicrm version from 4.6.9 to 4.6.10 that changed. Now I have two sites running civicrm 4.6.10 with joomla 3.4.6 as CRM. In one the dashboard is rendered correctly, in the other the dashboard keeps loading when one or two dashlets are active. When there is no dashlet active the page renders correctly.

So two sites with the same cms-version, the same server (PHP 5.5.30), the same civiversion. Both are sub-domains. One renders dashlets one does not. I tried both with acl-rights for joomla and for civicrm set to superuser.

Update to 4.6.11 did not change anything on this issue.

When I set Joomla error reporting to max neither reports anything wrong.

I read loads of post with advice on non-rendering dashboards. Cannot find something wrong after reading these.

Any advice? Thanks, Paul.

# Answer
sounds like a cashing problem. Not showing up dashlets usually can have 2 causes:

1. Settings are wrong:
    * Administer -\> System Settings -\> Directories
    * Administer -\> System Settings -\> Resource URL's
    * Administer -\> System Settings -\> Cleanup Caches and Update Paths
2. Cache files

Because it used to work in 4.6.9 I would guess "Cache Files".

Remove cache via Administer -\> System Settings -\> Cleanup Caches and Update Paths and remove files in JOOMLA\_ROOT/media/civicrm/templates\_c/
> 1 votes

---
Tags: joomla, dashboard
---


# Question
Title: Group, Type, or Membership type - please advise
I'm setting up CiviCRM for our artist workshop, but after reading the good book I still haven't wrapped my head around how best to setup for the data I'd like to cover, so thought I'd check with my betters. Please advise.

* We are 1 organisation with 500 members, and each member can have access to 0-15 of our workshops (wood, textile, etc). Each workshop has 1 or 2 members who are admins for that shop. We have a board of trustees who all are members.
* We allow organisations to become members as well, and their employees are allowed in our shop, but they are not member themselves.
* We allow current members to become "inactive" for 1 year - retaining their membership but with reduced access to the shop.
* We have a bunch of groups for tasks (events, exhibition, marketing…) whose members are also members of the main organisation.

*I'd like to be able to selectively email all members of particular workshops, "task" groups and the board, as well as keep track of which member has been approved for which workshop when and by whom.*

**Q:** I was leaning towards creating groups for all above, but an alternative solution might be to use either custom fields or tags, and then use smart groups to generate email lists. Is there an advantage to either solution?

**Q:** I just found the "membership type" field - since we're doing our billing in an external system, is there any point in setting up the membership groups using "membership type" instead of "groups"?

**Q:** Some of our members are also members in other organisation we're dealing with, and I'd like to be able to sort those out as well. Would tagging those members with "acme inc" be the most straightforward way of doing that, or would it be better to setup a custom field allowing for more granularity? (i.e. "acme inc, press contact, interested in graphic design")

Happy Holidays!

Mateusz

# Answer
> 3 votes
I would start by reading the "Groups vs. Tags. vs. Custom Fields" wiki page, but most likely you can use any of the approaches you suggested successfully. I personally don't use tags much when I only need to tag contacts; they can't be mailed to like groups, and they're not as neatly grouped as custom fields are. So I'd consider groups, custom fields, or membership types.

My main question would be how you intend to keep your data fresh. Are you syncing in any way with your external system? If so, importing custom fields or membership types is easier than importing groups. Memberships are compelling because you can have different statuses, which would mesh well with your "reduced status" grace period. The format in which you can export your other system's data (or better yet, connect automatically via an API) would be the deciding factor for me in your situation.

---
Tags: groups, tags
---


title: Minor Problems with CKEditor

text:
# Question
Title: Minor Problems with CKEditor
I have a minor problem with the configuration over the GUI of the CKEditor. In short words: It doesn't work! ;-)

I took a view into this, and it seems, it is a problem on my server with the url rewriting.

The settings GUI tries to load two files:

* http:///civicrm/admin/config.js?t=FB99
* http:///civicrm/admin/lang/de.js?t=FB99

I'm afraid, this are wrong urls, coming someway from url rewriting.

The maileditor works just fine, and gets the files from their "non rewritten" url:

* http:///sites/all/modules/civicrm/bower\_components/ckeditor/config.js?t=FACJ
* http:///sites/all/modules/civicrm/bower\_components/ckeditor/lang/de.js?t=FACJ

No real problem, because I may hack config.js by hand, instead using the GUI, but would be nice to have...

Bye

# Answer
The CKEditor integration was re-written in CiviCRM 4.7. I recommend upgrading when that version is released, as it may solve your problem. You could verify that now by upgrading a test copy of your site to 4.7.beta.
> 2 votes

---
Tags: configuration, ckeditor
---


title: Deduping organizations

text:
# Question
Title: Deduping organizations
Dedupe rules are cool, and works well for Individuals, primarily because you have multiple fields to combine.

When it comes to organisations it is more difficult. We focus on individuals but want to register the organisations they work for, so in the profile we use for most on-line registrations (events, subscriptions, ...) we ask for organisation name.

This often leads to multiple organisation records with almost the same name. Typical name variations are

* Somecompany Inc.
* Somecompany International
* Somecompany

Dedupe rules are of limited help here since the best I can do AFAIK is the length of the match.

In Sweden a *very* common pattern is

* Ericsson
* Ericsson AB

I would be extremely happy if there was a way to match the full length except for the last three characters... Or if the match was true if the shorter is a true substring of the longer. Documentation is kind of flakey here, it doesn't say anything about what happens when fields are of different lengths.

Another alternative would be to match to either to the organisation name or the legal name. This would handle most of the above cases and allow me to use the names as (I suppose) they where ment to be used, causal name vs. official/legal/full name.

Actually I have a hard time figuring out how to make the best use the 'length' part of dedupe rules. (I'm a regex guy, so I'm longing for a LIKE-like option, is there one?)

Any suggestions?

# Answer
> 3 votes
I happen to have written an extension called the "organisation name de-duplicator". It works by doing certain REPLACE()ments on the names and seeing which ones come out the same. It hasn't had much attention for a while but more rules could be added.

---
Tags: duplicate-contacts
---


# Question
Title: How to keep "My billing address is same as above" UNTicked by default?
"My billing address is same as above" field by default is checked. I would like to keep it "UNTicked" by default. How can I do it?

I have tried to modify the template file in civicrm/templates/CRM/Core/BillingBlock.tpl and change `<input type="checkbox" id="billingcheckbox" value="0">` value to 1, 2. But that doesn't seem to work.

Can anyone give me a hint how to do it from the template file please?

# Answer
Further down (halfway) to the Billingblock.tpl change the following value from true to false

```
// detect if billing checkbox should default to checked
          var checked = false;

```
> 6 votes

---
Tags: civicontribute, templates, billingblock
---


# Question
Title: Drupal Domain Access vs Multi-Site in Civi
What is the best way to implement CiviCRM for multiple sites? I'm a little familiar with Domain Access and less with Multi-Site in Civi.

I'd like to have two front-end sites share one CiviCRM database, with a user from site A having access to the complete database and a user from site B having only access to site B contacts and contributions.

# Answer
> 5 votes
Multi-Site is the way to go http://wiki.civicrm.org/confluence/display/CRMDOC/Multi+Site+Installation

With Domain Access you can get into trouble because CiviCRM would expect one domain per "civicrm.settings.php".

---
Tags: drupal, multisite
---


# Question
Title: How should I configure CiviMember so both individuals and organizations can hold memberships?
I've got CiviCRM installed for a non-profit client whose membership base is small organizations (theater ensembles) and individuals. I am now considering that I may have fundamentally engineered this wrong and that if I got it right there would be better solutions to problems that arrise.

How should CiviCRM be implemented so that there is the most logical and flexible architecture when both individuals and organizations can hold memberships?

Some details about what I mean about organizations and individuals both holding memberships:

* **Organizations can hold memberships.** Organizations have staff and associates. Organizations often have no email address of their own, only the address of an associate. *This maybe be the achilles heel.*
* **Individuals can hold personal memberships.** Some of these members are affiliated with member organizations. Some stand alone.
* **There are also many non-member contacts** such as donors, newsletter subscribers, potential members, event participants... you get the idea.
* We'd like to keep track of all these folks so that we can (easily) see activity for an individual, an organization, and an aggregate of activity for an organization with its associates.
* We'd like members to be able to manage their membership profiles, manage their associates' profiles (if they are organizations), pay for new/renewing membership.
* We'd like members to have privileged use of the website based on the type and status of their memberships.
* We'd like to send bulk emails based on profile information and past activity. We'd like to send renewal notices and other personalized emails.
* We'd like to be able to pose questions like: Which organizations had more than one associate who attend an event last year?

There's so much more of course but it is predicated on getting the architecture right. Any guidance will be most appreciated. Thanks.

# Answer
I think the missing piece of your puzzle is to enable CiviCRM's **inherited membership functionality**.

* Create a membership type that will be inherited from your organization members.
* Set the *relationship type* to *Employer of*.
* Your organizations' staff will now be considered members, which allows you to send them emails, and lets them renew their employer's membership online.

You can read more about this in the user and administrator guide.
> 9 votes

# Answer
One adjustment to bullet number 2 in Coleman's response, in case someone gets stuck. I found that it had to be a relationship of *Employer* of instead of Employee of. That got it working for me.
> 2 votes

---
Tags: civimember, configuration
---


# Question
Title: Search Builder - find one word amongst many
I'm in the process of testing CiviCRM for managing our non-profit contacts. I'm in the process of testing the import function. We already have our current contacts organised into groups. When I export out of the old database, all the groups end up in a single cell. So I have mapped them all to a custom field on import. So far so good.

Now I need to search that custom field to filter the groups so I can tag them with new tags inside CiviCRM. I hope this makes sense?

I have been trying to use the 'search builder' to query the custom field, using the LIKE and % but I don't seem to get all the records.

I know there should be 91 records with PAWS in them but I only end up with 4. See the screenshots below.

Is there a better way to do this?

# Answer
The %PAWS% should work.

Another option is, which depends on the number of groups you have.

Export all people of group PAWS to an excel with a unique identifier (external id or email address for example). Import them and place all of them in right group.
> 4 votes

# Answer
As @ErikH commented correcting the data format before import may be easier if %PAWS% doesn't work.

It looks like you're using ' - ' as your delimiter in that field, which appears to be a single value text field.

If you set this custom field as multiple value with a comma delimiter and import you would be able to use advanced search and your group values should be available as a picklist rather than doing a string search. I believe the cell should look like aaa,bbb,ccc but you can manually put in a data point and export to find out.

A bit more info: http://wiki.civicrm.org/confluence/display/CRMDOC/Importing+Data+-+Notes

https://forum.civicrm.org/index.php?topic=12440.0
> 4 votes

# Answer
I would give '%PAWS%' a try, otherwise you only get the cases where PAWS is the first one?
> 1 votes

# Answer
Unfortunately, CiviCRM's import UI only allows you to add folks to one group at a time.

If you don't have a ton of groups, another solution is to do multiple imports, one per group. If you'd like to try that approach:

* First, make sure your import data has some sort of unique identifier, which hopefully you imported to the "external identifier" field. If not, you may want to delete and reimport. If your data doesn't have a unique identifier, you can add one in a new column in Excel/LibreOffice - instructions are here.
* Use the "Filter" or "Sort" option in Excel to get all the members of a single group together. Save a copy of the spreadsheet with only those folks.
* To speed up the import - only save the "external identifier" column! There's no need to reimport all the data that's already there.
* Do this for each group.
* Import these saved CSV files to CiviCRM, mapping the external identifier column correctly. CiviCRM will recognize that these contacts already exist, and will ONLY add them to the group you specify on import.

Still another approach is to use the API CSV import tool or its friend the API CSV Import GUI \- but those are NOT tools for CiviCRM beginners! I only mention it here for future visitors to this question. When I use those tools, I use a lookup tool that brings the contact ID and the group ID into a CSV file. Then I can import a single CSV file that populates all the group data.
> 1 votes

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


# Question
Title: How to redirect after successful newsletter subscription
After a user signs up to receive newsletters (using the profile coming from CiviCRM/CiviMail), they receive a confirmation email. Upon clicking on the confirmation link in that email, they are taken to a Confirmation page which says that they have successfully been subscribed to the X mailing list. The content of that Confirmation page comes from the /civicrm/templates/CRM/Mailing/Page/Confirm.tpl.

What I need to do is one of the following. Either of these options would work for me:
1) Run php code in the Confirm.tpl file. This would allow me to dynamically load some additional content and present it to the user. I'm not sure about the possibility of this because I know inserting php in Smarty has been deprecated.
2) Redirect to a separate page and present to the user that page instead of the content coming from Confirm.tpl. In that separate page I would then be able to run my php and load content dynamically.

I am running Wordpress 4.4 and CiviCRM 4.6.8.

# Answer
> 0 votes
I settled on using a Wordpress shortcode. The shortcode gets evaluated by Wordpress so practically it's the same as running some php. I put the shortcode in Civi's .tpl file.

Some additional information: the first time I tried inserting a shortcode in a .tpl file, it didn't work. I tried it on a contribution page. But the contribution page itself is loaded through a shortcode, so in effect we would have a shortcode inside a shortcode, which didn't work. After that I tried inserting a shortcode in the /civicrm/templates/CRM/Mailing/Page/Confirm.tpl and it worked. I think it's because the CiviCRM page in Wordpress is loaded by a hook, not by a shortcode.

# Answer
> 3 votes
Have you looked at adding a .tpl.extra file? This can be a very easy way to add more content to any template.

Instructions are here.

Your .tpl.extra file could contain either the extra content you wish, or one line of javascript to perform the redirect.

---
Tags: civimail, redirect, confirmation, newsletter
---


title: Best way to setup lists

text:
# Question
Title: Best way to setup lists
I am familiar with Drupal and just evaluating Civicrm and having looked around not sure of the best way to do something basic so before going too far though I would check.

I need to manage a membership and the out of the box functionality is fine and getting to grips with that. However when a membership is defined for a user I they can choose to be members of one or more clubs. The list of clubs has associated data (such as location, committee members, url etc) which is managed by the club. Each club is also a member of a region.

I know how I would create this data in Drupal but just wondering the best way with Civicrm.

So what I am after is;

Region (each region can modify the basic data for the region) Region A Region B Region C

Club (each club can modify the basic data for the region. The club needs to select one or more regions to be members of) Club 1 Club 2 Club 3

Membership need the member to be able to select one of more clubs to be a member of.

Creating the Region and Club in Drupal is straight forward but if I want the club to be listed for the member data what is the best way to do all of this?

Sorry if this is a basic question but just haven't been able to work out the best way so far.

Cheers

# Answer
I would make region and club to be Organization sub-type and make a relationship between club and region. So you can use the contact fields for the address info and url and if you need you can add custom fields to each subtype.

Then there are 2 options imo:

* Create a membershiptype per club, where each club is the Membership Organization.
* Create a custom field of type Contact Reference and add it to the Memberships, where you can select a Club for each membership

Both have advantages and disadvantages. I suggest you try them and see for yourself.
> 3 votes

---
Tags: drupal, civimember, evaluating-civicrm
---


title: Website Display in Directory listing

text:
# Question
Title: Website Display in Directory listing
I have a front end directory which lists websites. When the results are displayed we get the website type (i.e. work, main, etc.) displaying in parenthesis. We want to take that out. For example:

Current display: http://www.website.org (main)

We are looking for it to look like this: http://www.website.org

running CiviCRM 4.6.10 in WordPress.

# Answer
> 4 votes
Yes, you can do this easily. In Profiles, go to the website field and edit the Display field. The default setting displays the type, but you can easily remove it.

---
Tags: wordpress, profile
---


# Question
Title: Is there a letter preview w/o activity generation
When composing a pdf letter my folks need to check the generated content. Is there a way to do this without creating a activity for all receivers?

# Answer
This is a new feature in 4.7 which is undergoing beta testing at the moment.

In the meantime, as a work around I choose myself as the initial target for a new pdf letter and generate as many letters as I want until the content is correct. It is then easy to search for those activities and delete them to tidy up my record.

If I were generating a letter where I needed to include a token that wasn't applicable to me, I would choose just one person on the list and take the same approach of deleting the "test" activities before creating the real letter.

If the people wanting to create the letters don't have permissions to delete activities, then I instruct them to include "test" at the start of the subject whilst they are still editing the letter. That makes it easy for me to delete the appropriate activities when they ask me to.
> 2 votes

---
Tags: pdf
---


# Question
Title: Problem with contribution - redirect to Home Page
I have two types of contribution page (for different purposes) one requires sign in and the other does not. When a user goes to go to either contribution page for the very first time and clicks on confirm payment, the system goes into an endless loop that ends up on the Home page. If from there one goes to the contribution page again, it works fine.

Any Ideas what could be causing this? Oddly it does not happen when someone registers to an event.

Please any feedback is welcome, I need this fixed before the end of ther year.

Thank you

Edited:

I figured out the problem, but not yet the solution. it has to do with the URL intial URL has www.xxxx.com once it is sent back to the Home page the URL is xxxx.com (no www)

the setting in the civicrm.settings.php does not have the www. Is this right??? should it have the www??? any help is appreciated.

thank you

# Answer
> 1 votes
Fixed!!!

CIVICRM\_UF\_BASEURL has to have www

---
Tags: contributions
---


# Question
Title: Job scheduler not working after Joomla update
The Joomla 3.4.7 update changed the session handler (mentioned in this LinkedIn posting )

The job scheduler fails. Looking at the error log here **/administrator/components/com\_civicrm/civicrm/error\_log** shows errors like the following:

**\[24-Dec-2015 05:24:01 America/Chicago\] PHP Fatal error: Call to a member function get() on a non-object in /home//public\_html/libraries/joomla/session/session.php on line 448**

I also mentioned this in this other stackexchange posting but I think that posting is considered answered.

Do I need to file a bug report anywhere else?

# Answer
> 1 votes
The update to Joomla 3.4.8 fixed the issue with session errors. Scheduled jobs are being called from the running cron job now.

# Answer
> 1 votes
Yes, if after updating to the latest version of Joomla! and clearing all the cache it still is an issue, please post on https://issues.civicrm.org

---
Tags: joomla, mailing, scheduling
---


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

Here's how I have configured CiviCRM:

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

I don't have the CiviVolunteer extension.

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

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

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

---
Tags: civievent, contacts, civivolunteer
---


# Question
Title: How does the /civicrm/CRM/Mailing/xml/Menu/Mailing.xml file work?
The file defines paths and callbacks, e.g.:

`<item>
 <path>civicrm/mailing/optout</path>
 <title>Opt-out</title>
 <page_callback>CRM_Mailing_Form_Optout</page_callback>
 <access_arguments>access CiviMail subscribe/unsubscribe pages</access_arguments>
 <is_public>true</is_public>
 <weight>650</weight>
 </item>`

However, changing values in the file doesn't seem to produce any result. I changed the page callback above to CRM\_Mailing\_Page\_Optout but the content served was again coming from CRM\_Mailing\_Form\_Optout.

So how can I make any changes to the callbacks?

# Answer
> 2 votes
If you are planning on submitting a change to CiviCRM, then modifying this file may be what you want to do to modify the existing behaviour. Clearing CiviCRM's caches (Administer → System Settings → Cleanup Caches and Update Paths) will reload those callbacks as defined in the XML. But: **You probably don't want to do this** :)

If you're hoping to customise your CiviCRM install *and* be able to keep your site upgraded in future, **stop now**. Instead I recommend you look into how to write a custom CiviCRM extension for your site, which packages your changes separately from the main codebase.

By writing an extension using CiviCRM's published interfaces, you can upgrade to the next release more easily. On your current path you'll soon be maintaining a modified version of the CiviCRM codebase, which will introduce more and more upgrade challenges, leaving you / your client in a more difficult position.

---
Tags: civimail
---


# Question
Title: What is the most integrated Drupal 7 shopping cart for CiviCRM?
We want to have a shop that sells tshirts, mugs, etc. We want people to have an option of logging into CiviCRM at check-out, and to be able to view their shop orders through CiviCRM.

I see there is Commerce CiviCRM and UC CiviCRM and am trying to decide which is the better option. Features we care about are:

* Futureproof: which will have more longterm updates & support?
* Easy to set up and use: we are new to CiviCRM
* Best integration with CiviCRM: does one have more features than the other?

Any help/advice is appreciated.

Update: Thanks to everyone who responded, it looks like Commerce is the way to go.

# Answer
yes Eileen at Fuzion is working towards pulling together Commerce + CiviEntities + Rules as a more flexible approach. We have clients using both Commerce\_CiviCRM and uc\_civicrm and have had some grief with both of them, such as in terms of when should it update civi addresses and when shouldn't it and clients wanting different outcomes etc. Or eg can customer buy a Membership as part of the cart and get instant member discount on other items in the cart. Hence us going for a more flexible solution. But to more directly answer your question, starting now I would go down the Commerce path.
> 5 votes

# Answer
I'll be launching a CiviCRM 4.6 instance with Commerce integration in the next two months. I spoke with Eileen, who brought the existing integration current with 4.4 - she said that if she was starting today, she'd just make a Drupal Feature that used the `civicrm_entity` and `rules` modules. I'm not sure if this is the route I'll be taking, or updating the existing extension.

Sorry this is only a partial answer - but if it helps, we know we'll be maintaining a solution that uses Commerce for a while.
> 3 votes

# Answer
In addition to what @Jon G and @peternz have said about integrations and Eileen's work, it's also worth considering the future of the Drupal modules themselves. The consensus in comparisons between them seems to be that Commerce's architecture makes it more future proof that Ubercart's.
> 2 votes

# Answer
The extra rules we use for this are in this module

https://github.com/eileenmcnaughton/commerce\_civicrm\_rules
> 1 votes

---
Tags: drupal, ubercart, commerce
---


title: Adding contacts to memberships

text:
# Question
Title: Adding contacts to memberships
The standard contribution form for signing up for household memberships doesn't allow the person signing up to add additional people to the membership. It would be nice if the form had a page (or other affordance) after the initial information form to allow them to add additional names and email addresses. This page would fit between the initial page and the verify page. How is this typically handled? Right now the workflow forces an admin to manually edit the relationships tab for a household contact. I could add custom fields (name, email) to the member sign up for this, but how would you pass this data along to the database as relationship contacts?

# Answer
> 3 votes
If you are in Drupal, Webform with Webform Civicrm Integration could do this. It allows you to have users create any number of contacts, along with relationships between contacts.

---
Tags: wordpress, civimember, 4.6.10
---


# Question
Title: The contribution payment verification page has lost the site theme styling
In general, what would cause a contribution verification page to lose the current theme styling? This is the page that appears after our initial membership contribution page when the user presses Submit after selecting PayPal or Pay by Check. The verification page has completely lost the header, footer, everything related to the current wordpress theme. The page still functions, but looks really strange compared to the first page.

Edit: In fact the confirm.tpl template based page is being rendered without head or body tags, it's just an html fragment. This is obviously why there is no theme on the page. As a test I switched to another theme and the page renders correctly -- so it has something to do with the theme.

I was able to get some generous support from the theme vendor. **So far there is no fix for this.** Confirm.tpl doesn't load the page header, and the vendor needs to know where this usually occurs. Quote:

> Ok do you have any support with this plugin \[CiviCRM\]? Because the template you spoke of doesn't add the header. I assume they are using some kind of wrapper but looking at the files in the plugin they are doing this in a non-traditional way. What I would need to know is how they are forcing in the template and on what hook? For example if they are using a template redirect to force their template in - where is the template that calls in the normal wordpress functions like getting the header.

# Answer
This relates to the custom WordPress theme you're using, whose default/CiviCRM template doesn't work as expected by CiviCRM.

As Christian Wach says in his answer to Why does CiviCRM render a validation failure without the Wordpress theme?, this can be resolved by adding some custom code to a plugin on your site, or by modifying your custom theme to closer match the output of WordPress default themes (which are currently the reference themes that CiviCRM is tested with).

This issue can be duplicated with the free version of the Virtue theme you state you're using - here's the confirm page using the TwentySixteen theme and Virtue side by side.

If you want to pursue using that theme, you'll need to look into addressing this - talking to the theme authors & requesting CiviCRM support would be my recommendation.

EDIT: Adding code from a comment below by @Darren; this would be added to your theme's `functions.php`

```
add_filter('civicrm_basepage_template', 'use_my_own_template_for_civi');

function use_my_own_template_for_civi($template) {
  if ($template=='page.php') {
    return 'templates/front-page.php';
  }
  return $template;
}

```

I'm not sure the `templates/` prefix should be in there - perhaps a Wordpress user can confirm what works :)
> 1 votes

# Answer
Do you see `&snippet=1` in your contribute page URL?

That parameter can be used to deactivate the theme on a CiviCRM page.

Eg -

If that parameter is present in the link to your contribution page, remove it and see if this restores the proper theme.

Does your contribute page still work without the theme?
> 3 votes

# Answer
This might happen if you had a contribute page served over SSL, which referenced theme resources (CSS, images) which were served from a non-SSL URL.

Is your site served over both SSL (https) and non-SSL (http)? If so you need to account for this when dealing with URLs throughout CiviCRM.

(It's far easier, and more secure for all, to just use SSL all the time.)

---

To debug this, I would load the initial page with the browser's Dev Tools open, watching the Network tab to see which resources were included. Then when you proceed to the next page, compare the activity on the Network tab there.

If the same resources are references in the page but the browser rejected then, that might be SSL mismatch or similar.

If the resources aren't requested on the second load, compare the HTML of each page and see how they differ - this suggests something happening at the CMS/CRM to alter output.

I've seen ad blockers reject theme resources too; swapping your browser to anonymous mode or swapping to another browser can help show if the issue is browser/extension specific.
> 1 votes

# Answer
I *believe* I've seen this behaviour exhibited on CiviCRM/Drupal when the `CIVICRM_UF` setting in civicrm.settings.php was misconfigured (`Drupal6` on a site running Drupal 7, or vice versa perhaps).

This won't apply in your case since you appear to be running WordPress. However, it might be interesting to explore related avenues to the host CMS - eg CMS output functionality, and variations in versions. So:

* Are there plugins (eg caching, filters) which affect output on your WordPress sites and which might affect this?
* Can this be reliably resolved by switching the site theme? (You mention you have a custom theme purchased from a theme vendor - if so, which?)
* What particular version of WordPress are you running? Is it known to be compatible with the particular CiviCRM version you have?
* *see if you can come up with similar questions to ask yourself ...*
> 0 votes

---
Tags: civicontribute, wordpress, css, theme
---


# Question
Title: Is it possible to have many to many relationships between custom field sets?
i tried to look for an answer but im pretty confused with what i found..
I'm trying to create a many to many relationship like in SQL..

**for example:**
lets say i want to create a custom 'Event'(a field set), so i make some fields(name,date,location etc..) **BUT** now i want to make a custom 'Team'(field set) which has an 'events' field that contains the id's/names of this team events.

thanks in advance!

**EDIT**
okay let me try with a diffrent example: im making a managment system for a soccer team. so lets say i make a 'Court'(field set) with fields like name,address etc.. and now i want to make a 'Team'(fieldset) which contains all the diffrent Court's this 'Team' has.. is it possible to link many 'Court' records to a specific team? and each 'Court' has its related 'Team's ? i hope i made it more clear..

# Answer
I think, if I'm reading your question correctly, that what you want to do does not require anything custom. I would do it this way:

1. Create an event in CiviEvent. This will have the fields name, date, location, etc already available for you to fill.
2. Make this event a certain "type." The built-in options are things such as workshop, meeting, and class, but you can add a type called "team."
3. All the events of type "team" are easily searchable and viewable.

Is this what you were going for? If not, please describe in more detail what it is you are trying to do.
> 1 votes

# Answer
I'm guessing that "Field-Set" is the CiviCRM terminology for table?

# You need to create 3 Field-Sets.

1. The first field-set for Court, it will have an id and the fields that describe the Court.
2. The second field-set for Team, it will have an id and the fields that describe the Team.
3. The third field-set for the connection between them, it will have an id as all field sets have and you will add fields for the court-id and the team-id.

If you want to show in the Team screen a list of the Courts belonging to the Team, use a small table view in that screen showing the result of the query where you join the tables using the 3rd table and similarly for the other view for the Court screen.
> -1 votes

---
Tags: custom-fields, profile, relationships, sql
---


# Question
Title: Why I am not able to select more than 500 records (CiviCRM 4.6.10)?
After a search, if I increase the no of records to more than 500, although I can select them, but when performing an action, it only applies to 500 records.

Could it be an issue with my PHP value or a known issue with CiviCRM?

UPDATE: as you can see here, although I have increased the value at the bottom of page to 1500, and it shows 1500 records, but as I select them using the check box, it only shows ***500 selected Records only.***

# Answer
> 1 votes
I checked and see the same limit when you select manually. So it seems not a PHP value. If you use the "All 1766 records" button you can exceed this limit.

# Answer
> 1 votes
It looks like 500 is the maximum number of rows the system will display, If you choose a number bigger than that, you'll see the bottom contact is still the same.

I'm guessing (not sure) this is hard coded for resource usage reasons. And given the system displays something like "Contact 1 - 600 of 10005", but only displays 500, seem to be a bug.

---
Tags: search-results, actions
---


# Question
Title: What is the largest number of customer records that civicrm supports?
I am evaluating civiCRM to use as the CRM in the captive BPO setup of my non-profit.

Need to know how many customer records civiCRM can handle, in the database of my beneficiaries. Can it support a beneficiary base of 5 to 10 million? This would include case management for these members.

Regards, Jayesh

# Answer
See this question: Number of contacts vs. hosting space required

Here is a thorough answer to that question: https://civicrm.stackexchange.com/a/3289/105.

The short version: **there is no formal limit to how many contacts CiviCRM can store**. It really comes down to the amount and type of hardware you have supporting the software. For a record count of 5-10 million, you would definitely need powerful hardware.
> 8 votes

# Answer
There's a difference between how many records a database can hold and how many users need to access the system simultaneously on a regular basis. For the latter it's a much harder question because it depends not just on hardware but usage patterns and where the users are located (network latency), and I mention that specifically because you mention Captive BPO, which suggests your users might not even be on the same continent as the hosting. (I'm not really sure why you mention it - is there something specific about the intended provider that makes you think it will be a problem?) So it's not so much a CiviCRM question as what type of hosting setup you're going to have. CiviCRM can function in a load-balancing environment, if you have a crazy large number of actual simultaneous users.

For the former it depends what you're doing. If you try do something regularly that processes all 5 million records, you'll probably run out of RAM. If you're just loading a single contact record page it will handle it fine.
> 5 votes

---
Tags: civimember, civicase, database, evaluating-civicrm
---


# Question
Title: How do I configure a phone number format?
Where do I set a phone number format (like date or address options at Administer/Localization)? Thank you. I'm on rev 4.6.6

# Answer
> 3 votes
In short - you can't. Phone numbers are entered as free entry text. That's different from addresses, where the format is about which order different fields fall in; phone numbers are only one field. Dates aren't stored as freeform text; they're stored in a specialized "date" field to handle this.

That said, there's an extension called CiviDesk Normalize, and one of its functions is to store the phone numbers in a uniform format. However, you don't get to choose the format (except "National" or "International" style).

From the code:

> INTERNATIONAL and NATIONAL formats are consistent with the definition in ITU-T Recommendation E123.

If you have access to a developer who knows PHP, they can probably edit the format with a line or two of code - but I suspect it's more important that the phone numbers be uniform than the actual formatting!

# Answer
> 3 votes
Another normalization tool specifically for phone numbers. Per the readme, it is an administrator tool, not a real time validator.

https://github.com/JohnFF/Phone-Number-Validator

---
Tags: contacts, localisation
---