Should one choose contact types or groups when organizing data and how can one customize built-in details

Many of these questions are going to be specific to your organization's needs, and there are multiple legitimate ways to organize your data, depending on the mental model the users will have.
With that said, here's some info:

Using groups is more lightweight than contact subtypes.
It sounds like you're using custom field groups specific to certain contact subtypes, which is a good reason to consider contact subtypes.  However, it sounds like maybe you're using the custom fields to capture data specific to membership, which likely belongs on the membership, not the contact itself.
A contact can have multiple contact subtypes.
If you could edit your question to say more about data that's "merged" when moving from volunteer to member you could get more specific help.  If there's data that applies to both members and volunteers they shouldn't get separate sets of custom fields.
Since it sounds like memberships aren't permanent, it may be worth making a smart group of members based on a membership record in CiviMember.
It sounds like you want the Contact Layout Editor extension to customize your summary screen.


How to send a formatted mail for webform submission?

You could use CiviRules for this.

Additional info:
Consider setting a small delay (when you configure your CiviRule) to ensure all CiviCRM data are saved before you Email your message out.

PS in additional to CivRules - you will also need to add the Extension: https://civicrm.org/extensions/e-mail-api


Can I add an automated "other" field using custom fields?

The way to achieve this natively in CiviCRM without writing any code is to create a second text field in which the user can enter their "other" value.

If you want to further improve the UX you can write a little jQuery which will hide the extra field unless the "other" option is selected.


Emails from CiviCRM completely rejected by GMX (Germany)

The same email sent directly from the sender address arrived.

Based on the above piece of information, there are two lines of investigation that are worth pursing.

One key difference between sending a message via CiviMail vs sending directly (i.e. from your mail program) is the "sender envelope from address", which is not the same thing as the "From:" address in the message itself. A CiviMail message uses a sender envelope from address using the domain in the mail account used for bounce processing.

i.e. look at [yourdomain]/civicrm/admin/mailSettings?reset=1 and look at the row that says "Used for bounce processing". All emails sent using CiviMail will use that domain in the sender envelope from address.

So, your first line of inquiry is to look at the SPF record of that domain and make sure that the machine that sends out the email has an entry in some form, i.e. that your smtp server ip is blessed to send out mail from that domain.

If that has already been done properly, then the second line of inquiry is to look at the IP of your outgoing mail machine and look at it's reputation. It's possible that GMX is using a blacklist to block email from your mail machine's ip.

If both of those seem like issues that are too technical, then you really will need someone who understands them to sort it out, otherwise you won't be getting much value from CiviMail.


Strange, we had an issue on 4.6.24 just now.

The CiviCRM log file stated: -

DB Error: constraint violation

The debug information should give you the MySQL table name. For some reason, a custom table (civicrm_value_tablename_id) was linked by foreign key (entity_id) to the wrong table. In my case, it was the civicrm_event table, whereas it should have been to the civicrm_participant table.

My solution was to truncate (empty) the civicrm_value_tablename_id table, remove the incorrect foreign key, then add the correct foreign key.

Strange though that I had to do this manually as the CiviCRM custom data set screen showed that the Custom Data set in question is 'Used for' (or extends Participants).


Welcome to civi. The approach I would recommend, having done it for several situations, is to use the Permissioned Relationship extension. This then allows you to daisy chain permissions so that local officer has a relationship to local club - and hence can see anyone how has the specified type of relationship to the club. Then you can also stack the local, regional, national (global) in the same manner, so a global officer sees everyone, the national sees everyone at or below the national level etc.

I have a diagram of this which may help explain the concept

So to answer the other part of the question head on, yes set up each club as an Organisation :-)

To extend that, what we have done is to then build drupal Views and Webforms which means the general club officer rarely has to actually go in to civi but get all their data, contacts etc from Views and Webforms (but that is jumping in pretty deep for a first time usage).

Happy to demo this quickly if it would help.


CiviCRM is open source software so there isn't so much a 'company' to go to for help as a 'community'. Within that community there are Partners who can provide professional support but they and many other users also provide a lot of free help through StackExchange (SE) and via chat.civicrm.org.

If it would help, we could have a quick skype call (~20 mins) just to help sort out some basics from you, and then via SE etc help you with your more specific issues.

You can ping me via peter.davis59 on skype if you have it, or I can supply an email if you do not.

Otherwise, to help you find what CMS you have (which may help folk help you) you could try to go to your /user or /wp-admin - the former would confirm it was Drupal CMS (the website that sits in front of CiviCRM), the latter would be WordPress. Or your site might be Joomla.

Going to eg /user would then help you 'request a new password' if there is already an account that was set up (hopefully you can access the email of the person who is no longer on staff). With that new login you should then be able to access the CMS and through that, find a link to CiviCRM for your site.


Why can't I import Individual Prefixes into the database?

Why?, well I have no idea (sorry to dissapoint!)

How to get around - well, it would appear that civi requires the numeric Value (1,2,3), rather than the label (Mr, Mrs etc) for the option. To find the values for substitution one can go to:

  administer > System Settings > Option Groups

and hit the "options" link to the right of "Individual Contact Prefixes". The prefixes in your csv will need to be substituted with these values.

Hope that helps...


Actually, the process is easy:

In the Caldera form > tab Builder, add an hidden field with the value {get:field_name} (replace field_name by the desired value)
In the Caldera form > tab Process, add a CiviCRM process and match the needed field with the one from Caldera with the magic field syntax, so here %field_name%. (In my case, 'employee of' matches with '%organization_name%')
create an url to the page with the form: www.domain.com/form/ and add ?field_name=YOURVALUE so it shows up like www.domain.com/form/?organization_name=YOURVALUE. You can also add several variables using '&' between them.
Add the User registration Process with password creation
Send the email from inside CiviCRM using such a syntax: https://domain.com/form/?organization_name={contact.organization_name}

When processed, the new user gets a CiviCRM membership as a relation to the organization and can access specified content of the WordPress site!
Source: Caldera form documentation


How do you run a membership/event report?

There are several answers to this; I'll give you three!  Use whichever works best for you.
Note that I originally thought that either Summary Fields or Event Count custom search extensions would be part of this solution, but neither can count only events in the last 12 months without modification.
Easy, best for now
Search for active members.  Add them to a group.  Run the event report, filtering by the Active Member group.  If you need to run this report regularly, the Active Member group should be a smart group.
Coming soon
There's an alpha version of the Search overhaul that ships (disabled and hidden) in CiviCRM 5.28 (which released three days ago).  This will allow doing searches like you describe in a single search pretty easily.


How can I enable self-serve sign in / check in to an Event?

I had the same process in place before started using civi - zoom integration.
The process looked like this:

Create webform to update participant (an existing contact) with checksum.
Use google qr to generate the QR code with token so that by scanning the qr code takes you to https://your.org/node/2?cid1={contact.contact_id}&{contact.checksum}
They can click submit to mark themselves as attended (or you can even make this form auto submit with simple javascript).
You can set that thank you page after submission is actually a redirect to the online conference link or wherever.

It's a bit hacky, but it works.


Is it possible to change custom group/custom field Entity Scope from just individuals to individuals and households (or ANY)?

An old question, but an answer might still be useful to someone ...

If you had set the Custom Group to extend 'Contact' then it would be available for Individuals, Households and Organisations. But you can't change the extends (Used for) setting via the GUI after creation.

Two options:

1) Create a new Custom Group used for Contacts.  Then:

go to the old Custom Group, View and Edit Custom Fields,
on the relevant field click More then Move
select the new Custom Group.

2) Modify the extends parameter via the API. For example, use the API explorer:

set Entity to CustomGroup
set Action to get
Execute
find the right Custom Group and note it's id
change Action to create
change Parameter to Custom Group ID = the id you just found
add Parameter, Custom Group Extends = Contact
Execute

Be aware that the API lets you do things that the GUI does not, and it is possible to break your system in nasty ways with it.  Just because the API lets you change something doesn't mean you should!


I would like to change the membership type

Yes you can change the membership type by visiting the contact and editing membership under membership tab. If the membership amount you want to change to has higher amount than you can ask the member to do balance payment or take offline payment and update the contribution to correct amount associated with membership.

You may need to take care if the user has purchased a membership that will auto renew automatically, if so than you will also need to update the amount at the payment processor gateway so that next time during renewal it charges the correct amount.


URLs in CiviMail give a 404 not found error

I added Options -Indexes to the Apache configuration file which changed the behavior of the link. The URL is controlled by a page in WordPress, which is creates a permalink.


How will I maintain a hierarchical structure in civicrm?

CiviCRM is pretty egalitarian - they are all just Individuals.

There are various ways you could model this which depends to some extent on what you want to do based on that data.

One option is Relationships - eg create a Manager/Managee relationship and create relationships for all the places where you have lines.  If you want to record a level in the hierarchy you could use a custom field.

If you want to use those relationships to control access (so that eg Line Manager1 can see only P1, P2, P3) then have a look at the Relationship Permissions ACL extension


Filtering activities by Source Contact ID

Search Builder seems to be broken for this functionality, you may report that as an issue in the issue tracker: https://issues.civicrm.org/.

My understanding is that you want to search within the backend of CiviCRM?
Using the API is currently probably the cleanest way of performing the search and adding them at once by using the Activity.get and chaining it with GroupContact.create:

  cv api Activity.get sequential=1 return="target_contact_id" source_contact_id=11 target_contact_id={"IS NOT NULL":1} options={"limit":0} api.GroupContact.create={"group_id":"5","contact_id":"$value.target_contact_id"}

Alternatively you can use the advanced search and search for all activities that have your desired contact as "Added by" and display results as Activity.
You can then tag all those activities with a temporary tag that can be used for activities. In a second advanced search you can search for contacts that have an activity "With" and the temporary tag and add those contacts to a group.

There is also the activity detail report that will let you filter those contacts the easiest way, but I cant see how to get those contacts into a group.


How do I find the number of our association's members at the end of each calendar year?

The CiviCRM Membership records themselves don't provide a complete or reliable history of memberships, which is why reports based on them (i.e. the Membership reports) aren't useful to you for this purpose.

They do contain a "join" date separately from the "start" date which could be used to make a reasonable guess about membership totals in the past, but this isn't reliable (e.g. if a membership is deleted, or if this field is not used as expected.)

The churn extension, as well as the membership dashboard, make use of the CiviCRM Activity records to calculate when a new membership is created or renewed or expires (because each of those leave behind an activity record). This is probably the best tool for what you want, though it can be misleading as well (especially if you've imported your membership records into CiviCRM from a different sytem).

I haven't seen any off-the-shelf Civi Reports that make use of these records.

My general advice to anyone who wants to have historical comparisons of membership data is to download the membership data at defined intervals.


How can I import the "communication style" field when importing contacts?

From communication_style_id not fully supported in issues.civicrm.org:

  Unfortunately, support for this field is not completed: We can enter it,
  export it and search after it using the search builder, and use it within
  profiles.
  However, it also should be implemented for:

    Importing of contacts
    Advanced Search


Custom Fields for Activities not getting Prefilled by a Drupal Webform

I have identified the problem.
This occurred only for the activities where the activity participant wasn't set. So it's all about contact record type in the civicrm_activity_contact table. The issue happens when you load the activity where you don't have the target specified (record_type_id = 3). If this happens the activity data loads, but the custom fields data don't.
I don't know if this is expected behavior, but I don't think so.
For me the fix is easy, I will just write an SQL query that will add the target contact (which same as the activity creator in my case).
I will create the issue for Drupal Webform CiviCRM Integration module.


the Contact Form 7 with CiviCRM extension is meant as a basis for developers, it does not DO anything in itself. It enables sending data from a Contact Form to CiviCRM if you enter the data in the Contact Form in the correct way. But then something needs to happen on the CiviCRM side to. If you have developer skills, there is an example here: https://github.com/CiviCooP/be.werkmetzin.wpcivi

The API settings required are the site key and the API key required for CiviCRM API access. You can find more information here: https://docs.civicrm.org/dev/en/latest/api/interfaces/#rest.


Solution was for the user to test this logged out.


Install or upgrade CiviCRM using Composer 2?

It should be possible to do any one of these:

Use CiviCRM 5.31+. The error message above suggests it is using 5.30.x, which has older metadata. (Compare: 5.31's composer.json vs 5.30's composer.json)

Stick to composer v1 for as long as you're using an older version of Civi.
composer self-update --1

In the future, after you switch to a newer version of Civi (eg 5.31+), you can continue to composer v2:
composer self-update --2

Coerce the versions. Tell composer to install a new version of composer-downloads-plugin (v3.0.0 -- which supports composer v2) and pretend like it's an old version (v2.1.99 -- which is expected in civicrm-core v5.30). Command:
composer require 'civicrm/composer-downloads-plugin:v3.0.0 as v2.1.99'

In the future, after you switch to a newer version of Civi (eg 5.31+), you should edit composer.json and remove the coerced constraint. Otherwise, you may see weird behavior.


This extension should do it ...

https://github.com/mc0e/civicrm-extendedmailingstats


Problems with Search Builder: Trying to find records with empty Country field

Try changing the search condition of the Search Builder
ignore is_primary flag

look for:
contact -> country -> home -> is not null (also change the address type)
contact -> contact type = Individual

by this way you can select all the record with country field null also you can use batch update


Can't create new events from template after upgrade to 5.9

Looks like this is indeed a bug: https://lab.civicrm.org/dev/core/issues/653


Displaying Transaction Id in Thank you letter

This is a known bug and is documented and fixed at CRM-21690.  You will need to apply the patch to fix the problem or will need to wait for 4.7.30 release.


Payment Processor for Authorize.net Server Integration Method (SIM)?

I don't think anyone has submitted a patch to enable SIM support for auth.net. Might be beneficial for you to investigate and see how much work might be involved in adding this to the current auth.net codebase.


Using iframes to present contribution page on remote site

After a lot of desperate digging we have come up with a work-around. I think the right answer is: Don't use iframes. There seems to be thoughtful reasons to restrict the flow of cookies/session information between an iframe and the parent and even though we have figured out a way to work-around it now, I'm not confident these tricks will work in the future.

Having said that...

For Internet Explorer, we got it to work by sending a header declaring our P3P policy. We used the following in settings.php (I'm sure you could put it in civicrm.settings.php too):

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

That seemed to placate IE (note: you should really lookup what these codes mean before blindly putting this into place - each one of these codes has meaning - more information on meaning is available here).

Safari was much harder. We had to add the javascript provided on a helpful blog post to get things working. It's a crappy solution - since it essentially redirects the user to the CiviCRM page and then back to the iframed page - which is confusing for the user and delays the loading of the page.

Here's the code I added to the Drupal theme's template.php file:

function tceiframe_preprocess_html(&$variables) {
  // Call our parent to do most of the work.
  newsflash_preprocess_html($variables);
  $path = drupal_get_path('theme', 'tceiframe');
  drupal_add_js($path . '/safari.iframe.fix.js');
}

And here is the javascript:

window.onload=function(){
 if(navigator.userAgent.indexOf('Safari')!=-1&&navigator.userAgent.indexOf('Chrome')==-1){
  var cookies=document.cookie;

  if(top.location!=document.location){
   if(!cookies){
    href=document.location.href;
    href=(href.indexOf('?')==-1)?href+'?':href+'&';
    top.location.href =href+'reref='+encodeURIComponent(document.referrer);
   }
  } else {

   ts=new Date().getTime();document.cookie='ts='+ts;
   rerefidx=document.location.href.indexOf('reref=');
   if(rerefidx!=-1){
    href=decodeURIComponent(document.location.href.substr(rerefidx+6));
    window.location.replace(href);
   }
  }
 }
}


Enabling Group description field for webforms

The Drupal Webform (core) module does not natively support descriptions of individual checkboxes or select options, so there isn't a built-in way to achieve this. A workaround would be to type the description in yourself by changing "Live Options" to "Static Options" and placing the description in parentheses after the title.


How do I turn off the "Contribution amounts section" for a membership only contribution page?

I see the same thing on Drupal/CiviCRM 4.7.18 - but it looks like the checkbox only gets checked again -> when you go into the Config. That is you can still uncheck it and Save it and have a Membership only Contribution form with no additional amounts. For some reason it defaults to ON now on edit of the contribution form config. Definitively a bug - and a regression [this was for sure working previously].


How do I see which permissions are necessary to execute a given API call?

This doesn't have a completely straightforward answer because sometimes one entity will create another entity with its own set of permissions.  Additionally, permissions also get blended with ACLs and custom permission hooks.  Finally, the permissions typically happen at the BAO and not API layer.

That said - the best single resource is CRM_Core_Permission::getEntityActionPermissions(). See CRM-20581 for a real-life recent example of how creating an event failed because accessing the StateProvince entity went from being a permission-skipping call to a permission-respecting call.


Xero integration with OAuth 2.0 credentials

we’re almost done moving over xero to oauth 2.0 and can share the code/instructions in the next few days if that works for you?


Retrieve Drupal user id from CiviCRM Contact id

As others have noted it's not clear what you're asking but based on your wording I'm going to assume you mean via code. You can use the api explorer at https://mysite.org/civicrm/api (replace "mysite" with your actual site) to explore what's available and give you some sample code. Here's how to get the drupal uid given the civi contact id.


How to change where the confirmation email is sent

Take a look at Contributions -> Manage Contribution Pages, choose the relevant page, and then click on Configure, all  the way over on the right. Then take a look at Receipt for that page,
might be at
https://[your_website]/civicrm/admin/contribute/amount?action=update&reset=1&id=1
and the e-mail addresses that a receipt is cc'd and bcc'd to.


How to automatically create mailings from an RSS feed

Afaik there is nothing that does this out of the box. We are however working on two extensions that could accomplish this:

Newsstore - grabs content from sources like RSS and provides them as "items" in CiviCRM via the API

Newsstoremailer - uses those items to send out mailings automatically

Both extensions are still under development and even when finished you will probably need some additional custom code like this to make it work.

However, it is probably worth to take look at them as the topic is rather complex and you could avoid doing duplicate work. If you want to discuss details or a cooperation you may want to get in touch with Rich Lott from Artfulrobot who currently has the lead in the development.


Is my upgrade failing if the screen appears to hang

Answer was patience - upgrade took 45 minutes.


How Can I Remove "CiviCRM - " From Page Titles?

If you just want the site name as the title, you can filter it:

// add filter only when basepage has been parsed
add_action( 'civicrm_basepage_parsed', 'my_override_civi_title' );

function my_override_civi_title() {
  // for themes that use wp_title()
  add_filter( 'wp_title', 'my_page_title', 200, 1 );
  // for themes that use add_theme_support( 'title-tag' )
  add_filter( 'document_title_parts', 'my_page_title_parts' );
}

function my_page_title( $title ) {
  return get_bloginfo( 'name' );
}

function my_page_title_parts( $parts ) {
  unset( $parts['title'] );
  unset( $parts['page'] );
  return $parts;
}

Your own theme's implementation will determine the final method used.


Changing Membership defaults to extending membership

Perhaps you have overlooked the highlighted statement that appears on the renewal screens. (I did for almost 2 years.)

Click on change and you can set the renewal period to 0 terms which should do what you want.  You will need to manually enter the extra amount, but I imagine you are doing that anyway.


Edits not being saved for custom fields on relationships

This was a bug in said version, but is now fixed.


PHPUnit_Framework_BaseTestListener class not found

I run tests the following way

I test in a CiviCRM instance that is generated with buildkit (the toolchain provided for CiviCRM developers see https://docs.civicrm.org/dev/en/latest/tools/buildkit/ .
My tests are generated with civix generate:test. Remarks that this generator also creates the file tests/phpunit/bootstrap.php that takes care of the class loading.
I run the test from the extension directory by executing phpunit4 (This version is installed with buildkit).


Is there a way to have conditional fields like in Drupal 7?

Webform with native conditionals fields works great. [SOLVED]


The issue has been reported in https://lab.civicrm.org/dev/report/issues/7.


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

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

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


How can I export an Event Income Detail report to CSV/Excel?

Reports that provide a simple table are more amenable to export as CSV.  The Event Income Detail has different sections to it which does not fit well for a CSV format - what column headings would you use?

Whether a report offers a CSV export option depends on the settings in the code.  The Event Income Detail report is provided by CRM/Report/Form/Event/Income.php  You will see a line there saying

$this->_csvSupported = FALSE;

If you were to change that to TRUE then the export option would be shown, but the rest of the report does not handle producing a CSV so that's not useful! ... unless you use that as the starting point to customise it to produce the output you want.

FWIW, pasting into a spreadsheet works pretty well: run the report, highlight the section of the report that you want, copy then paste into a blank LibreOffice spreadsheet, and you often end up with something usable.  That might work with Excel too.


Adding contacts to group after receiving mail from them

You could use inbound email processing to activities and then a smart group based on that activity in the last 3 months.


Is it possible to create multi-record custom fields on Activities?

Not currently.

In general, feature requests like this can be handled in a few ways:

If you are a developer, you can submit a pull-request with the new feature.
If you have funds to contribute, you can submit a feature-request to the paid issue queue for the core team to work on.
You can work around your problem using existing features. For example you could set up the custom field as a "Note" textarea and put the multiple funding sources each on a separate line of the same field.


Cron ERROR: Invalid username and/or password (Wordpress)

Turns out the issue was with captcha on our site. The plugin Captcha by BestWebSoft and all other captcha's that I have tested, including Wordfence captcha cause cron error. I found a captcha plugin that allowed me to restrict registration but not login pages in the mean time.


Bulk email rate-limiting methods for CiviMail in WordPress shared hosting environment?

If you go to "Administer>CiviMail>Mailer Settings" there are several options. You are probably looking to use Mail Batch Limit which limits the number of emails sent each time the mail job runs.


Membership Expiration Date Report Filter is Ignored

I just tested on dmaster ie 5.32 which is always a good way to test something before flagging it as it may already have been fixed :-)
I get
when I apply

compared to
when I apply no filter
I don't know which specific report you mean, but good if you can test on dmaster and then if there is still an issue, report back here and we can help confirm if it is a bug. hope that helps you


CiviBooking menu doesn't function correctly

Further research indicates this may possibly be due to the fact that there does not seem to be support for CiviBooking beyond CiviCRM 4.4 currently.


Silent error when accessing php API has not logged in user

The recommended way to include the necessary files to run the php API is to call civicrm_initialize() before the API call.


Is there a way to remove text formatting when copy and pasting text into Activity details section?

Do you mean unicode characters like the fancy quotation marks? For CiviReports, unicode output for export to CSV was fixed in 5.22 in https://github.com/civicrm/civicrm-core/pull/16117. What version are you running?


Where are the "ConfigAndLog" and "templates_c" directories?

The two directories are found side-by-side.  The location varies by CMS; see below.  Note that you'll need access to your server's file system.  If you have FTP/SFTP/SSH access, you can use that.  If you have a control panel, check for a "File Manager" plugin:

Drupal: <drupalroot>/sites/default/files/civicrm/
Joomla: <joomlaroot>/media/civicrm/
WordPress: <wordpressroot>/wp-content/uploads/civicrm/
WordPress (old): <wordpressroot>/wp-content/plugins/files/civicrm/

Any CiviCRM version 5.29 and later will never have the "old" location.

Backdrop: <backdroproot>/files/civicrm/


Can I show contact photos in a public membership list on a WordPress site?

I am not sure if its a bug or indented to show url in profile search listing. I have just written a small extension that converts imageurl into image.

HTH

Pradeep


Ways for an extension to determine how (by which form/screen/API) a Contribution was created?

In hook_civicrm_pre, the params passed to your function include qfKey and entryURL — at least sometimes. The entry URL is in a format that's pretty obvious, but it seems like depending on URL parsing would make for brittle code. So what about qfKey?

qfKey is a form key based on form name, the current user session ID, a private key unique to the current user session, and optionally a sequence number to distinguish between multiple instances of the same form in the same session. The form name might give you the context information you need! But it is encrypted, so your extension can't just use a simple comparison operator on it.

To find out whether an entity was created in the context of a given form, you need to use CRM_Core_Key::validate(). For example:

function myextension_civicrm_pre($op, $objectName, $id, &$params) {
  if (CRM_Core_Key::validate($params['qfKey'], 'CRM_Contribute_Form_Contribution', TRUE)) {
    // This entity is being created in the context of the back-office contribution form.
    // Do stuff.
  }
}


Adding a Facebook Conversion Pixel Code to the contribution confirmation screen

You could override the Thank-you smarty template. Copy the one from templates/CRM/Contribute/Form/Contribution/ThankYou.tpl. Then you could do something like this:

{if $contributionPageID == 20}

    <script type="text/javascript">
    {literal}

      function doFacebookStuff(){
      };

    {/literal}
    </script>
{/if}


Is CiviCRM a good choice for a website front end AND membership management?

welcome to the community.

In short:

Q1. & Q2. are easily met with CiviCRM.

Q3. Can be done with a little effort.

Q4. This would be provided by your Content Management System (CMS). CiviCRM works with Drupal, WordPress, and Joomla!. For this, I'd go with Drupal (with which you could do this through configuration), but this functionality may also be provided by Joomla! and WordPress plugins.

Hope this helps!


Do I have to empty the database of a fresh civicrm install, before I import a dump from another server? (and a question about mysql 5.7 dump ->8.0)

Are you using phpmyadmin to export the old one? You can check the box for ADD DROP TABLE which should solve this. There should also be an option to disable key checks but the drop table might add that automatically.
Using mysqldump on the command line it does this by default, and also by default it disables key checks.


CiviMail report showing bulk emails have sent when they haven't

Glad you got it working back.
smtp protocol is made to be very resilient, but it means as well it's really hard to know for sure when/what is going wrong.
I'm not sure I understood the details of your configuration, but a somewhat common problem is when you have a local satellite mail server (that will always tell civi the mails are sent as it accepts them) and that isn't able to send it forward for whatever reason... and report that issue in a mailbox that isn't properly read by civi (for another problem).
So from civi point of view, it's all working fine, and in that specific case, it's very difficult to identify there is a problem (or two, as one hides the other), unless you add human brains that is able to identify that it shouldn't have zero bounces and investigate further.
Beside recommending to validate the bounce process and checks that it works on a regular basis, not quite sure how civi can do better on its own.


Individual Custom Fields in Participant List (WordPress)

Install ExtendedReport by Eileen, It provides additional reports with lots of options.
Or make sure you have 'Is this Field Searchable?' option checked for the custom field that you want on the report. If not then edit the custom field and check the option 'Is this Field Searchable?'.
Thanks
Pradeep


Is it possible to change the Invoice numbers that are used in CiviCRM?

The invoice ID it shouldn't be a random number, I might be wrong but I believe under normal circumstances (unless an extension is already hooking in the contribution entity) the invoice ID is taken from the contribution ID.

As I'm not quite sure what is exactly what you want to achieve, here are some thoughts, I won't elaborate too much.

If what you want is to manually assign a invoice number, you can create a custom field, create a custom token for the given field and edit the invoice template (navigate to Administer - Communication - Message Templates - System Workflow Messages - Invoice receipt) replacing the invoiceID with your custom token.

If you want the custom invoice ID to be generated automatically every time a new contribution is submitted, I don't think there is a straight forward way to do it, as you will need an autoincrement value, and I can't think of an easy way to do that, mysql only allows one autoincrement column per table and when creating a custom filed, Civi creates a new table in the database with a autoincrement column, maybe some of the core team could point you in a better direction.

My thoughts:

(a bit of a workaround, maybe not the best way as I said) create a custom field group with an INT text/numeric field, using the appropriate hooks, save that filed in every Contribution submission and copy the value of the ID (autoincrement column) of the custom filed group to the custom filed itself so you can search by invoice id, create the custom token and modify the invoice template.

Hope I explained myself.


I do think that the find expert page is the preferable way to find experts. If they are not on that page the question will arise how good they are in terms of involvement with the civicrm community.

If you want to find experts in India, you could best google it.
There are some people in the community who are based in India. I do know that Harshal is based in India.


The invoice is generated based on the template "Contributions - Invoice". It contains a line to the logo ({$resourceBase}/i/civi99.png" height = "34px" width = "99px") that you would need to replace.

You can find teh message templates by Navigating to >>Administer >>CiviMail >>Message Templates in the tab "System Workflow Messages"


How to prevent the accidental the deletion of contacts, when an obligation exists to keep their records?

I assume writing a little extension that picks up the delete with the civicrm_pre hook is a fairy elegant way?


The list of recipients is created during the mailing creation process (i.e. when you assign the groups to the mailing). This is primarily to avoid any permissioning issues when sending the mailing.

The easiest approach is to edit and save the mailing again, which will create a new set of recipients from the groups.

Alternatively if the mailing is still in scheduled stage, you could delete the relevant entries from civicrm_mailing_recipients


No templates available for new event and new event template

It looks like stylesheets aren't loading, so perhaps other resources (like Javascript) aren't either. Double check that the URLs set up in the CiviCRM Resource URLs page match (Administer > System Settings > Resource URLs).


Found a workaround under the 'Membership' section:


Here's a trick.  Use the API to get relationships with one relationship type and chain an API call to create a relationship with the other relationship type.  You have to explicitly say that the new relationship has "0" as the ID, or else it'll just change the relationships you find.

The following example creates a relationship of type 8 for each relationship of type 7.

CRM.api3('Relationship', 'get', {
  "relationship_type_id": 7,
  "api.Relationship.create":{
    "id":0,
    "relationship_type_id":8,
    "contact_id_a":"$value.contact_id_a",
    "contact_id_b":"$value.contact_id_b",
    "is_active":"$value.is_active"
  }
})

You could add parameters to the Relationship/Get call to just pick certain relationships.  Theoretically, you could also chain all of this to another API call, perhaps to get the members of a group.


Smart Groups could be a pain in the ass in CiviCRM. They are a powerful feature but when it does not work it is hard to get it working again.

There are some alternatives to smart groups. The SQL Tasks Extension or CiviRules can add contacts to a regular group based on a Query (with SQL Tasks) or on a Trigger (with CiviRules). You can then setup this regular group as an ACL Group.


Cannot send email from CiviCRM after upgrade to 4.7.21 (Joomla 3.7.3)

As Mark said this is a known regression and we are looking at an expedited release. However as i can feel even a release this coming US Wednesday may be a bit late.

What i would advise you to do is to if you cannot wait make a patch to the file vendor/pear/net_smtp/Net/SMTP.php along the lines of https://github.com/civicrm/civicrm-core/pull/10622/files. The relevant block of code will be around ~line 600 of that particular file.

Otherwise wait until 4.7.22 comes out which will be very soon. In regards to why this may not affect all users, it only affects users if they need to authenticate to the SMTP server over TLS


Where can I find the field string length?

These are defined in MySQL. Adjusting the length of those tables should cover this.

With some data entry, making the changes through the interface can increase the length of the tables in the system.

John


I had the same problem, wanting to reconcile against the PayPal account.
I'm not sure why there isn't a Payment Method column in any of the reports.

I

Created a new 'Asset' type financial account under CiviContribute > Financial account. If you leave it as 'Revenue' type it does not appear under the payment processor form list
Changed the Financial Account under System Settings > Payment processors.
The bookkeeping report from extended reports (dmaster.demo.civicrm.org) has this column, but it cannot sort by transaction date as per How do I sort the bookkeeping report by date? so export and sort with the spreadsheet program.


How to choose which related contact gets the membership by relationship

The only way i know that you could do this would be to use a different relationship type

So base the inherited membership off eg "is child org member of"

So a child org that is not a member could have relationship of 'is child org of'

while the 3 that you are talking about could instead/also have 'is child org member of' relationship

if you were happy doing a customisation then you could change the inherited relationship feature and set it to only trigger if a custom field on the relationship is set to 'yes' for example


Where do I find the saved filed mapping I saved in Step 3 of 3 when saving export of participants list?

The next time you export participants, on step 2 of 3 choose "Select fields for export". A drop-down list should appear, labelled "Use Saved Field Mapping", where you can select the mapping that you previously saved.


Network Error and DB Error on contact subtype with custom fields

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


Can we add Register buttons to the public-facing Events Listing page?

Despite it not really being best practice, but lacking programmers to work thru the API, I created a customized template directory structure as described here.  Then I made a copy of the ICalendar.tpl file (the default one found at wordpress/wp-content/plugins/civicrm/civicrm/templates/CRM/Event/Page), placed it in wordpress/wp-content/civicrm-custom/CRM/Event/Page, and made the modifications to show the registration links (see here for how to locate your template file).  The modifications were:

Before the table begins, add the line {* CNP force registration links *} {assign var="registration_links" value=true;}.  This is because the registration link code is actually already there but hidden by default (unless you use the Shopping Cart mode - then it becomes an "Add to Cart").  This sets it to show by default.
In the table's header row, the line {if $registration_links}{ts}Register{/ts}	{/if} is good as is.
In the body of the table, I modified the existing IF as so: {if $registration_links}{$event.registration_link_text}	{/if}.
I also moved that link column to be the 2nd column on the event listings page, but that's a matter of personal choice.

Afterwards, remember to add this custom template path in CiviCRM at System Settings, Directories, Custom Template Directory (my path was [cms.root]/wp-content/civicrm-custom/).


civiCase missing relationships to reports and new system category

By "report" I assume you mean a CiviReport? It sounds like you used to have a custom field when the report was created and then the custom field was deleted. You can try recreating/resaving the report.


configure URLs in system workflow messages

It's entirely possible the stock template doesn't account for this. There are some cryptic parameters you can add to crmURL to force a frontend or backend url, respectively: fe=1 or fb=1. (That's not a typo - fe=frontend, fb=forceBackend)
I don't use joomla but if that works for you can you either make a lab ticket at https://lab.civicrm.org/dev/joomla/-/issues/new or if you can make a PR against core.


Time increments in events only increasing by 15 minutes. Can't be specific

That’s a Drupal screen -> you need to go to Manage Fields (for the Content Type that this field is on) and hit Edit -> change its configuration


How can I allow donor to edit the amount to pay towards his Invoice

Also why are the the words (includes of $0.00) after the amount?

I suspect because your site has the Tax/Invoice option turned on but it has not been fully set up


Sending an invoice per email goes to primary address, not to billing

There is no setting that you overlooked. Since Billing is not necessarily utilised it sounds like you requirement is a setting that says 'set my system to email to Billing email if it exists, otherwise send it to Primary'
(NB I realise I may not be adding much to above comments but am trying to get some unanswered questions answered as that is currently the 'weakest' aspect of our Beta civicrm stackexchange according to these stats)


Why some of our smart groups are empty after CiviCRM upgrade?

It is not the ideal solution but so far has worked.

Edit the search criteria for the affected/s smart group/s - The search result remain empty
Search again - The search result will be good
Update the smart group

After this the smart/s group/s works correctly again.


How to add options in autocomplete contact search options?

You can add easily add predefined fields into the autocomplete results by selecting fields under "Autocomplete Contact Search" under "Settings - Search Preferences".

Adding the Birth Date will not be as easy. Technically you could add an additional option group value to the option group contact_autocomplete_options, but that will be pretty much experimenting at your own risk since this is supposed to be a reserved option group.


How to use auto-complete reference field in a profile?

Based on testing on the demo server, it looks like custom contactRef fields do work when embedded in the "profiles" section of the contribution page, but fail to work properly when in the special "on behalf" profile. This looks like a bug.

Can you please file an issue in the bug tracker for this?


Households can be disabled globally by disabling that contact type. This is not exposed to the UI but is still pretty easy to do:

From the api explorer (Support -> Developer -> Api Explorer) make the following selections:

With a direct sql query:

UPDATE civicrm_contact_type SET is_active = 0 WHERE name = 'Household';

Note: there may be a few places left in the UI that are hard-coded with households still available, but the above will handle the vast majority.

Addendum: You may also want to disable the Household profile. This will remove the "New Household" links from contact autocomplete form elements. Run the following query to do that in MySQL:

update civicrm_uf_group set is_active = 0 where name = 'new_household';

(thanks to comment from @bgm).


Why Membership and Other Amount doubles receipt amount

That definitely sounds like a bug.  It's not really replicable on the demo server, because you can't get emailed receipts, but if you can replicate this on a site built with buildkit, you can file this at https://issues.civicrm.org.

To start tracking the bug down, I'd insert the {debug} Smarty token into your receipt.  Hopefully there's an obviously wrong variable.


Why do ACL roles not appear in Reports 'Access' option menu?

Not sure if it is or was possible but as an alternative, you can :

create a group in CiviCRM
synchronize it with a Drupal role using CiviGroup Roles Sync (civicrm_group_roles) module (provided with CiviCRM)
use this new role to limit access to your report


How to add Custom fields in civicrm contribution page?

Do you need field associated with contribution page or contribution?

For contribution:

You can create custom group extending contribution and then add custom field in it and then include the custom field in a profile.

For Contribution page:

Currently CiviCRM doesn't allow to create custom field to extend contribution page. JMA Consulting have developed an extension to have custom field extend contribution page. This extension is not yet released in civicrm.org but they are hoping it to release it soon. You can try by downloading and installing manually.


How to tie multiple event registrations to a single (non-monetary) transaction?

Why don't you create a contribution (using the api) and connect the participant to it?

I'd create that contribution with the right financial type and status pending and update with the QB report. On that topic, it probably needs some tuning and work to import the file, but https://github.com/Project60/org.project60.banking would make it possible to automatically match most of the payments and let your staff focus on the ones that are a bit weird (eg. where the amount or reference quite doesn't match)


can you do it if the two sites are installed in two different locations on the same server? So not a multi-site setup?

Yes multisite can work with different drupal codebase/databases


How to setup Cron in Civicrm- local server

There is no cron command in Windows. Instead, use Task Scheduler to create scheduled tasks that call wget, curl, or php.


First, it's possible it's just your login session got ended, so if you haven't already tried I'd try just logging in again.

Otherwise there might also be more going on that's not related to the main/secondary menu because it looks like you have something customized, but you can try this directly in the database to reset. Assuming drupal 7.

update variable SET value = 'a:15:{s:11:"toggle_logo";i:1;s:11:"toggle_name";i:1;s:13:"toggle_slogan";i:1;s:24:"toggle_node_user_picture";i:1;s:27:"toggle_comment_user_picture";i:1;s:32:"toggle_comment_user_verification";i:1;s:14:"toggle_favicon";i:1;s:16:"toggle_main_menu";i:1;s:21:"toggle_secondary_menu";i:1;s:12:"default_logo";i:1;s:9:"logo_path";s:0:"";s:11:"logo_upload";s:0:"";s:15:"default_favicon";i:1;s:12:"favicon_path";s:0:"";s:14:"favicon_upload";s:0:"";}' where name='theme_seven_settings';

You might have a custom theme so the name= part might need adjusting. You can do

SELECT * FROM variable WHERE name like '%_settings'; to see what you have.


Access denied when I want to "Display and Edit Custom Fields"

Take a look at this answer.  Another possibility is that your web server has a rewrite that adds the www.  Another possibility is that there's an .htaccess file in your CMS's path that's adding a rewrite.


What is the recommended Wordpress equivalent for drupal-views

Great question. Ideally you would create a bridge to the civicrm API and not hit the database directly.  I've floated it with two vendors:
https://wp-types.com/ and  http://pods.io/

You may find this useful: http://pods.io/docs/comparisons/compare-content-types/


(Adding this answer based on Comment by Myriam)

This could be a Permission issue. If the contact is in the db but you do not have permission to see them then you won't see any results.

Ways to confirm this would be use the QuickSearch and just hit ENTER (or type % and hit Enter if the former has no effect), do you see all the results of contacts, ie your complete list.

If you do and you still do not find them, then you may also need to search in Trash

If you only see a subset of your contacts then there could be some ACL that is restricting which contacts you can see

If you only see your record, then it is likely to be civicrm Permissions which are set by your CMS


Change Joomla User Group After Registration

Yes, you can do it by way of CiviCRM groups.  Two parts:

Create a CiviCRM group for each profile. Go into the advanced settings for each profile and select the corresponding group to have all contacts filling the profile automatically added to the group.
Install the CiviCRM Group Sync extension in Joomla. Configure it to sync up the appropriate CiviCRM groups to Joomla.

An added benefit is that you'll be able to filter by the groups within CiviCRM.


condition on count from chained api call

I don't think that is possible. The chained API works to extend the data on the contacts found.

Could you explain a little more on why and what you want to achieve functional?


Activity list is not showing in contacts after upgrade to latest civicrm 5.9.1

I would suggest that you try clearing the cache first of all to see if that helps.  You can do this by deleting the files in the templates_c folder.  The location of this will depend on your CMS.  You can find more details in the documentation on upgrades.

If that doesn't help please edit you question to provide some more detail (including which CMS you are using).


How is a draft removed since looks like only option is continued

You haven't given much information but I assume you are refering to bulk emails under civimail.  After creating a draft bulk email, there is the option to continue with it or delete it.  Look under Mailings>Draft and unscheduled mailings>Action column, where you will see a 'Delete' option.

Hope this helps.


- civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3
   -> could not be found in any version, there may be a typo in the package name.

The error message suggests a typo, which I think is misleading/incorrect. Let me give some counter-indicators -- and then some alternative theories.
The name and version should be correct because:

(A1) In the official directory of composer packages (packagist.org), it lists totten/lurkerlite with version 1.3.0 as available. See: https://packagist.org/packages/totten/lurkerlite

(A2) If I create a new project with a minimalist composer.json, then it does manage to install totten/lurkerlite.
mkdir /tmp/abcd
cd /tmp/abcd
echo '{}' > composer.json
composer config minimum-stability dev
composer require civicrm/civicrm-{core,packages}:5.31.1
ls vendor/totten/lurkerlite/

You may want to try a new/empty project like this yourself. If the new/empty project works, then that points to an issue in the local composer.{json,lock} (like B1/B2/B4). If the new/empty project also fails, then that points to an issue in the upstream or tooling (like B3/B4).
Some alternative theories:

(B1) composer.lock may become overly opinionated. Try clearing it even more aggressively:
mkdir /tmp/old-stuff
mv composer.lock vendor /tmp/old-stuff
composer install

(B2) composer.json may become overly opinionated or have old/redundant constraints. Double-check the current list of recommended packages and then read your local composer.json. See if there are any extra/redundant constraints.

(B3) composer has a local cache (e.g. ~/.cache/composer/). This cache could be corrupted/stale (e.g. if there was a network-error or disk-error at the wrong moment).  Try clearing it out.

(B4) composer can be configured with alternative repositories/feeds. If the configuration disables or supercedes  packagist.org, then it might not get a consistent feed. (Most people don't disable packagist -- if you do this, then you should know about it.)


CiviCRM profile search not working when integrated with Wordpress

Check your Permissions. There is a specific permission for seeing Listings.

  CiviCRM: profile listings
  Warning: Give to trusted roles only; this permission has privacy implications. Access public searchable directories.


How to safely restart Scheduled reminders

I have made the same mistake myself, more than once - ugh! To avoid emails being sent when a scheduled job needs to catch up on backlog:

Switch from production to staging mode
Manually execute the schedule reminders job - this will result in an activity being recorded on the participant's contact record, but will not send the email (the desired impact)
Switch back to production - the activities recorded on the participant's contact record will prevent schedule reminders being sent for the same events

Hope this helps!
Tamar


Adding settings with form to my extension - what am I missing?

Perhaps another example will help you along:

The Form:
https://github.com/jake-mw/CDNTaxReceipts/blob/master/CRM/Cdntaxreceipts/Form/Settings.php

And some of the settings are retrieved here:
https://github.com/jake-mw/CDNTaxReceipts/blob/master/cdntaxreceipts.functions.inc#L73


How do I make one hyperlink which shows its target page as a modal dialog when clicked?

It's quite simple actually. Add the css class crm-popup to the link and you're done :)


Upgrade error from 4.6 to 4.7 - WordPress

Turns out there's a problem if you're trying to move the Civi database from a server to another (in my case from production to my localhost).

You need to change the db user in the mysqldump file.
We did it using a script and the sed command


Reverse sync CiviCRM groups to Drupal organic groups

We use civicrm_entity module + rules to do things like that. This blog gives a recipe for relationship to OG.

There are a couple of general civicrm+rule blogs

http://www.jackrabbithanna.com/articles/simple-rule-example-using-civicrm-entity

http://www.fuzion.co.nz/blogs/complex-civicrm-relationship-role-synchronisation-recipe

But neither are specifically to OG - I think there is one somewhere though - or else maybe an og rules feature - if I find it I'll paste it in


I can see Age in a Contact Summary. How can I add Age to a Profile?

Good questions. As you say, age is a calculated field and afaik won't be available.

Either you need to adjust how the DoB field is displayed which may be via js.

Only other option, for display purposes, would be to build (you guessed it) a  Drupal view block and show that instead.


How to let CiviCRM not send a confirmation to a new Mailing Group member?

I think you can check this on the contribution page? There is an option there:


User registration creating duplicate contact in CiviCRM

That doesn't seem to reflect experience i have had with this. Creating a Drupal User should create a row in UF Match table with the civi contact with that email, and if there are multiple civi contacts with same email i thought it opted for the one with lowest cid.

If you can't figure what is mis-firing (and have a look at your civicrm_uf_match table if you haven't already just to confirm what is in there) there are possible workarounds to try, eg use a webform, confirm that you can ensure that a match on email, or first+last+email is working in that context, and then you can use civicrm_entities and drupal rules to trigger the drupal user creation - old-ish blog here about process


Forgotten Mattermost password. Not getting reset emails

I pinged bgm for you so expect it will be resolved shortly


How am I meant to use $mask in hook_civicrm_links?

The way in which $mask is used in combination with the bit value of each link (e.g. $link['bit']) to show or suppress links is defined in the CRM_Core_Action::filterLinks() function. Specifically, if the expression (!$mask || !array_key_exists('bit', $link) || ($mask & $link['bit'])) is true, then the link is included. Otherwise it is removed (unset()) from the $links array.
In other words, the link is displayed if any of the following is true:

$mask is zero;
the $link array does not contain a 'bit' field;
the bitwise and of $mask and $link['bit'] is nonzero.

Otherwise, the link is removed.
What I have not figured out is where and how the $mask value is initialized, and where the existing $link['bit'] values come from. For example, on the Contact Search Results page, the links include the following bit values. It's hard to see how a bitwise mask could be used to filter out the links with bit values of 7000 and greater. And it appears the bit values are sequentially assigned, so the link action for a given bit value may change depending on the user's permissions. It seems it would be safer to filter on, say, the $link['url'] value to find and remove or alter particular links.
Decimal Hex     Binary                      Link Text
   4    00004   0000 0000 0000 0000 0100    View
   2    00002   0000 0000 0000 0000 0010    Edit
7000    01B58   0000 0001 1011 0101 1000    Delete
7001    01B59   0000 0001 1011 0101 1001    Add Donation
7002    01B5A   0000 0001 1011 0101 1010    Add Pledge
7003    01B5B   0000 0001 1011 0101 1011    Add Membership
7004    01B5C   0000 0001 1011 0101 1100    Add Relationship
7005    01B5D   0000 0001 1011 0101 1101    Record Activity
7006    01B5E   0000 0001 1011 0101 1110    Add Note
7007    01B5F   0000 0001 1011 0101 1111    Send an Email
7008    01B60   0000 0001 1011 0110 0000    Add to Group
7009    01B61   0000 0001 1011 0110 0001    Tag Contact
7010    01B62   0000 0001 1011 0110 0010    Communication Preferences Link


You may need to enable the Campaigns component:  go to Administer > System Settings > Components and make sure CiviCampaign is enabled


Membership report showing different status than membership dashboard

You've found a bug! I've confirmed it and reported it here: https://issues.civicrm.org/jira/browse/CRM-19855

Most folks don't change the names of the CiviCRM membership statuses, so this has slipped under the radar for a while.  Internally, membership statuses have both a "Name" and a "Label".  The vast majority of the time, they're the same.  In your case, they're different.

The fix for NEW reports is easy - you literally need to change a single word in the report file.  I'll put instructions below.

Since this was so quick, I had intended to write a patch pro-bono to submit to the CiviCRM core team so this could be fixed for everyone - but in testing I found that this change causes the "Membership Status" field to fall off of existing saved reports.  Fixing this properly means writing an upgrade script, which I unfortunately don't have pro-bono time for.

You can fix this on your own copy of CiviCRM, but until this is fixed in the "upstream" software, you'll have to fix it every time you upgrade.

To fix this:

Find CiviCRM on your web server.
From your CiviCRM root, go to the CRM/Report/Form/Member folder.
In that folder are the files that control the reports.  Open the file that corresponds to the report you want to change with a text editor.
in the $fields array, you'll find an entry for Membership Status.  It will look something like this:

'civicrm_membership_status' => array(
  'dao' => 'CRM_Member_DAO_MembershipStatus',
  'alias' => 'mem_status',
  'fields' => array(
    'name' => array(
      'title' => ts('Status'),
      'default' => TRUE,
    ),
  ),
  'filters' => array(
    'sid' => array(
      'name' => 'id',
      'title' => ts('Status'),
      'type' => CRM_Utils_Type::T_INT,
      'operatorType' => CRM_Report_Form::OP_MULTISELECT,
      'options' => CRM_Member_PseudoConstant::membershipStatus(NULL, NULL, 'label'),
    ),
  ),
  'grouping' => 'member-fields',
),

Take this line:

'name' => array(

Change "name" to read "label":

'label => array(

This will fix your reports!  Don't forget to re-add the "Status" field to existing saved reports, and don't forget to make this fix on every upgrade until someone steps forward with time or money to fix this.
UPDATE: For the Membership Contribution report, find this section:

  'civicrm_membership_status' => array(
    'dao' => 'CRM_Member_DAO_MembershipStatus',
    'alias' => 'mem_status',
    'fields' => array(
      'membership_status_name' => array(
        'name' => 'name',
        'title' => ts('Membership Status'),
        'default' => TRUE,
      ),
    ),

change:

'name' => 'name',

to

'name' => 'label',


In your spreadsheet, you should have the organization name and all organization info on the same row as the individual/employee info.

When mapping the import, for all the organization fields first select "employee of". another drop down menu will appear to select the field (org name, email...)

This will import both contacts with their relationship.
Note that you can only import 1 relationship per import.


Does CiviMail have an upper limit for total recipients in an email blast?

Absolutely - that can be done - the 50 is just a reference to the Search -> Find Contact screen -> Search -> Select -> Actions -> EMail send now (to 50 or less) option.

When sending out lots of CiviMail to lots of CiviContacts best to use an external SMTP service to help you with the Email delivery - and to minimize the risk that your webserver will be blacklisted.

UPDATE an actual number from one of my clients' civicrm tables -> intended recipients: 89419 And I'm sure there were larger mailings.


How to hide the "If you have a coupon code, enter it here" option, in an online registration form to an event?

If there is no code that applies to either the event or a price line item that is used in the event price set the discount code block should not appear.


I'm thinking the invalid day name error is the result of the start date of June 10, 2019 which is a Monday, not a Sunday (note that in your screenshot, there is no date listed for the "Original" event). If you change the start date to June 9 (which is the second Sunday in June), then the repeat function works as expected (on 5.10.alpha1):

Hope this helps,
Tamar


Civimail Mailings not saving or "corrupting"

This seems to be an issue wherein ckeditor does not emit a standard change event when using "Source" mode. Using a work-around from StackExchange, we get this proposed fix: https://github.com/civicrm/civicrm-core/pull/5869

We're very close the 4.6.3 release. With some luck, it might get into 4.6.3 -- otherwise, it'll go out with 4.6.4.


Email me every time someone makes a contribution

If you have it set to email a receipt to the contributor you can have that receipt bcc'd to you.

In Manage Contribution at the bottom of the receipt tab page is the option to cc or bcc someone.


How to make an efficient to-do-workflow for back-end staff?

We've set up custom reportlets on dashboard that list the upcoming activities for the current user ordered by due date.


How to (hide) NOT show £0.00 in Price sets for the FREE options?

Can you tuck in your FREE options into a separate Price Field? And then to not show any $ values for all options within a given Price Field: de-select the display amount checkbox:


How can I trigger a selection for a Select2 EntityRef element via javascript?

According to this related question, it should be possible to do this via:

$('#id-of-select2').select2('val', 'value-to-select');

or, if you want to select multiple items in a multiselect:

$('#id-of-select2').select2('val', ['value-to-select', 'another-value']);


Multiple Contact Registration for events

This situation is why there's the ability to pick a specific dedupe rule for your event's online registration.  The information you get in certain cases is quite different than online donations or other events.

First, unless you are using a dedupe rule where email alone is not enough points to match, you should uncheck the Same email address? box.  The default unsupervised rule says individuals with matching email addresses are the same person, so that's probably causing your problem.

Second, you should consider whether you expect any children to have real, independent email addresses (and whether you'd want those addresses anyway).  If not, make a profile lacking the email address field and use it for additional attendees.

Finally, you'll want a strategy for dealing with duplicates.  If you are just collecting first and last names for additional registrants, you don't have much to go by in matching them to contacts.  (There was another Andrew Hunt at my high school.)  Instead of trying to match blindly at the point of registration, it is probably more efficient to let the form create duplicates and then manage the duplicates later.  Here's how:

Have your profile for additional attendees add contacts to a group for you to review later
You can create a General dedupe rule that matches on first and last name.  It won't be good to use on a front-facing form, but you can use it to find duplicates later.
From the Find and Merge Duplicate Contacts screen, use that rule from step 2 to find duplicates, selecting the group from step 1.  You'll get a few false positives, but you can mark them as "not a duplicate".  Those pairs won't be suggested ever again.
Repeat step 3 every few weeks while your events are getting frequent registrations, and do it at least every couple of months through the rest of the year.


Export Activities associated with CiviCase

Yes, you would be able to do that with Drupal Views. There is also an extension that provides the Case Activities with the API: https://civicrm.org/extensions/caseactivity-api


How a report is sorted is defined in the Report Criteria. Depending on what data the report looks at, you can sort of different criteria. It's usually called something like "Order by columns" and appears below the Selected Columns. Reports generally sort in date order.

If you want to play about with the data, the easiest thing to do is export to CSV and save in Excel so you can sort, filter and build graphical representation of your data as you wish.


What is the differences between Suitecrm and CiviCRM?

CiviCRM is made for non-profits. The C in CiviCRM points to your constituents. These are organisations and persons that share the mission of the non-profit. You can use CiviCRM to store the contact details, like address, telephone, and email, but it also has specific modules for specific non-profits processes like:

CiviContribute to register donations.
CiviMembership to register members.
CiviEvent to register participants for events.

I do not know SuiteCRM but mostly the C in CRM is short for customer, and the application supports the process of selling products and services

Your choice of the software depends on what you want to do.


MySQL v8.0 released. Will CiviCRM work with it?

Clearly CiviCRM won't work with MySQL 8.9 yet; at least not in my environment.


Mailing appears to have sent, but still "Running" after several hours

After talking with josephmurray in IRC, he told me to (a) look for "stuck processes" and (b) to try and manually "Execute Now" the job from the CiviCRM cron page.

The latter didn't do anything more than my cron job which was set to run every 5 minutes.

As it turns out, the stuck process was the cron job itself. A "ps ax | grep php" showed the CiviCRM cron job running.

I wanted to know how long it was running so I ran 'ps -p 29753 -o etime=' (where 29753 was the pid of the process from the ps ax command above). It showed that that one cron job had been running for a number of hours. I deduced it was clearly "stuck."

So, the thing to note is that even if your cron job is set to run frequently, the log will show it running and finishing... but if your CiviCRM Mailer settings only allow 1 cron job to run (as mine do), then you're basically only seeing the cron job start, detect that another is already running, then shut down.

For me, the solution was to "kill 29753" - then the next time cron ran normally, it marked the mailing job Completed.


I believe that's not possible yet (it would be a good feature to add to CiviCRM).
Adding attachments is only possible sending an email or bulk email, not when you create/edit a message template.

You could upload the file/attachment to your server/site and include a link that points to it in the message template so recipients can download it.


Select contacts to register for events does nothing - how to fix?

I fixed this by disabling the Bootstrap theme and then re-enabling it. Other users had also had this problem, usually involving Shoreditch and/or Bootstrap.


modify API request using searchmodule_civicrm_apiWrappers

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

                public function toApiOutput($apiRequest, $result) {

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

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

                    if (strlen($search_term) > 0) {

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

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

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

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

                    return $result;

                }


CiviSEPA payment page asking for credit card informations

The problem was that the existing payment processor had the wrong payment_type (historical reasons) and civicrm didn't display the direct debit block but defaulted to the "dummy card" one.

Changing the payment processor type to direct debit (2) solves the problem


You can set default Location Types From this menu:

Administer>Customize Data and Screens>Dropdown Options>Location Types


Detailed Contribution Info Not Displayed

Check that your older financial types have the financial accounts that the system automatically associates when creating new financial types (e.g. income account, A/R account, etc.) - I have see this type of wacky sort of there but sort of not appearance occur when account relationships are not in place. After you add the required accounts, check to see if you see the older contributions on the contributions tab - if not, then it might be a different issue altogether.

Hope this helps!


Set value of one field based on another field

You could create your own action for CiviRules to update the field you want. You can find guidelines on creating CiviRules actions here


There is no encryption in CiviCRM. This sound something that your database dump got corrupted. Or that you imported in a database with another collation (character set) than the source database.


Persistent "Your database has already been upgraded to CiviCRM" Problem

Huge thanks to @PradeepNayak for your help! The problem wasn't with the paths in civicrm.settings.php, but that suggestion led us to look at our configuration. Turns out that we had some confusion between a development and staging server, so were, in fact, not updating the right instance. In essence, the version number from the database was right, but it was looking in the wrong place for the files version.


Looks like the new, fledgling, e2e tests are my answer...


Custom dropdown field not populated when selecting contact on contribution page

It sounds like you may be wanting to renew the membership of another person as an administrator. To do that you should use a backend form rather than the front end one which has "not Mister XXX XXX". One way to do this is to find the contact to renew, click on their Membership tab on the Contact Summary page, then beside the membership to renew click More > Renew.


In the file civicrm.settings.php the variable $civicrm_root is defined. It should point to the directory where you installed the CiviCRM plugin. If it has the wrong value it causes the reported error.


Why is the CiviCRM Data Processor "Country" field displayed as a number in Word Press Content Views?

The country name should display correctly if you set the field from 'Raw field value' to 'Option label'.


Conversion tracking with Google Ads on Thank-you pages

We are doing this exact thing at the moment. I was kindly given some code that sends events to GA and Facebook pixel on the Thank You page by @jtwyman on Mattermost. A Civi developer worked with us on it to build an extension - and evolved it slightly to respect DO NOT TRACK.

We haven't got it working 100% yet. We have an issue that completed donation £values are not being sent back to GA (membership values are being sent correctly). It's in our Github repo but private at the moment until the issue is fixed, but happy to make public and share when it's working correctly.

I'm not sure how others are handling this.

EDIT: After Googling, I found that Matt Wire released an extension at the same time we had ours developed:

https://civicrm.org/extensions/google-analytics-event-and-e-commerce-tracking

I've raised an issue asking to have our Facebook Pixel and DNT features added so that we can just star using that rather than maintaing our own:

https://lab.civicrm.org/extensions/webtracking/issues/2


Hosting provider claims normal use of CiviCRM is "brute force attack"

Sounds a bit like a problem with mod_security, see also

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

I have also asked a hoster once of one of my clients to switch it off for that site.
But this forum topic even gives options about how to configure mod_security rules to keep it switched on and still have CiviCRM working.


Update Donation Amounts for Monthly Recurring option

The extension is available on CiviCRM's Gitlab.

It adds a new option that is visible in the administration of the priceset, so that admins can decide when to display a specific priceset field value:


CiviCRM is unlike other online CRMs in that you can host it yourself, rather than rely on the corporation that writes the software to host it.  So you can host it wherever you like.  This is a major selling point for jurisdiction-sensitive organizations!

If you don't want to host it yourself but would prefer your vendor handle it for you, that's also an option.  Karin's answer is a good example of a Canadian provider who can host your CiviCRM site on Canadian servers.


How to use Smart Groups with relative dates?

This was a bug in Core CiviCRM which is now fixed starting from version 4.7.14.


Repeatable Custom groups w/ required field

I've just tried this out on the demo sites (WordPress and Drupal) CiviCRM 5.5.alpha1 and its still not working. I'll look into reporting it as a bug, but I have found a partial work round (though this isn't what I want).

The problem only occurs with the custom field set using the inline option, so you could use tab or tab with table.


Removing Carriage returns after a blank address field?

Try to use  as below which does the job

{contact.addressee}

{contact.street_address}

{contact.supplemental_address_1}

{contact.supplemental_address_2}

{contact.city}

{contact.postal_code}

OR

I am not sure about replacing the in-build token using IF statement

But you can create an Address block token on your own where you can remove blank lines - and you can use address block token in the PDF

http://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens

I guess this help - if you need more details please let me know - thanks


Custom Fields are complex and can be used for a variety of things. Having a wizard that will automatically create custom fields from the first line of the import file is not a good idea, at least for most non-expert users.

In your original/unedited question you asked if someone could create the wizard. You are welcome to do that, or commission an extension (by Core-Team or a Partner/Contributor) if you think it will be used.


"Error while sending QUERY packet. PID=975356 in wp-db.php on line 1877" for new install

Problem solved.  There was an installation of WordPress left in the public_html directory from a prior install. Removing this WP installation allowed the CiviCRM plugin installed in addon domain folders to work properly.


How to use Smarty for change greetings for French?

Try below code

{capture assign=contact_gender}{contact.gender}{/capture}
{if $contact_gender eq 'Female'}
  Chère {$first_name|default:Friend},
{/if}

or

{capture assign=contact_gender}{contact.gender}{/capture}
{assign var='contact_greeting' value='Dear'}
{if $contact_gender eq 'Female'}
  {assign var='contact_greeting' value='Chère'}
{/if}

{$contact_greeting} {$first_name|default:Friend},

Cheers

Pradeep


How do I fix error with the new (4.6.0) Drupal views image handler for CiviCRM contact images

Your site is affected by CRM-16009 - URL for Contact Image in View incorrectly generating.

That URL should look like this -

http://example.com/civicrm/contact/imagefile?photo=mbd_logo_01cf3f5560578c6554b9ba009f6b42b7.png

rather than this -

http://example.com/sites/example.com/files/example.com/civicrm/contact/imagefile%3Fphoto%3Dmbd_logo_01cf3f5560578c6554b9ba009f6b42b7.png

The civicrm/contact/imagefile handler permits CiviCRM to provide its permissions checks on whether the image in question should be served up.

Since that code was merged, there's a good chance it worked for someone and this may be fixable in configuration. It looks like the URLs you're getting from Views are confused - possibly by CiviCRM configuration, or by an issue with the views implementation as it currently stands, possibly an incorrect assumption in code about the location of CiviCRM codebase or system files, etc.


The best solution would be to use search builder like so:

However as Laryn noted there was a bug preventing this from working. I've filed an issue for this, and worked up a fix that hopefully will make it into the next release.


Your Organization Profile for CiviCRM - Survey - To help us make an educated decision

We have around 14 million contacts & 35 million contributions. I believe our budget is less than $100 million per year but it's in the ballpark

I think we've used CiviCRM for over 10 years. We did evaluate changing about 4-5 years back and instead used a fraction of the cost of changing to invest in performance fixes & improvements which have been merged to core & resolved the issues we had.

Our top metric is $$ in :-)

We have internal support for CiviCRM & our fundraising technology in general. We do have a part-time developer dedicated to needs around CiviCRM and have maybe 20-30 people on the non-tech side of our fundraising & partnerships team at a guess

Top strength is definitely the fact we can customise the things we want changed. The biggest weakness is probably some aspects of the UI - but we are hoping to support some of the proposed changes to that over the next couple of years


"Record Membership Payment" under "Edit Membership" not working after upgrade to 4.7.22

There is some complicated logic in CiviCRM related to memberships and payments, especially auto-renewing memberships, and it depends on the payment processor as well.

On one of my 4.7.22 installs for example, it doesn't offer me the opportunity to record a membership payment at all on the edit membership screen, even for non-auto-renewing ones.

My guess is that the upgrade has tightened some of the cases that it thinks shouldn't be used (e.g. an auto-renew membership shouldn't allow you to run an administrative payment via the membership edit screen).

If you can provide details about your payment processor, and also try editing memberships for both auto-renewing and non-auto-renewing, you might get some more useful clues.

On the other hand, the fact that it's giving you that checkbox, but not providing an opportunity to input details when you check it, should be considered a bug.


Is something missing in Activity search?

Since you are using Advanced Search, there is a whole section at the top called Basic Criteria, which has fields like Name.

On dmaster I double checked. I ran the search with just 'with, and got 92 results, i then ran the search with "d%" in the Name and it dropped to 37 Results.

Is that what you needed to know, or have i entirely missed your point?


Are you trying this in your local devbox or system - Is your instance accessible to outside world?

If No, then you need to test the same against a different server

Paypal standard needs a server open to outside world - I did the same test yesterday without any problem against Civicrm 4.7.12 - which worked alright

I guess this helps!!!


Why no Member entity in the API v4 Explorer

Appears that API4 is not the default API, we are still on API3. I was misled by the fact that API Explorer V4 links now appear on CIVICRM menu into believing that it was now default, however on my install there is still a

/civicrm/api

path for the API V3 explorer which allows management of a much larger set of entities, including Membership and many more.


Is is possible to restrict visibility of custom data sets?

There is such a concept as Private Notes which are Notes that are only visible to the author and to anyone with the permission to see 'all notes'. Try that. It may be less effort but still acceptable


You don't need to use a Contribution page to collect a few details. You can do this via a Profile so it may make more sense to direct contacts to the Profile if they are not donating at the same time


Based on the screenshots it looks like you've installed WP in it's own directory as opposed to the web root.

Starting in Version 4.7.27 CiviCRM will detect if WP is installed in it's own directory

So on new installs we will see a new section in civicrm.settings.php:

// Additional settings generated by installer:
$civicrm_paths['wp.frontend.base']['url'] = 'https://wpsub.test/';
$civicrm_paths['wp.backend.base']['url'] = 'https://wpsub.test/wordpress/wp-admin/';
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'https://wpsub.test/wordpress/wp-content/plugins/civicrm/civicrm/';

Does you civicrm.settings.php have the above lines?   If this was an upgrade it would not.   The reason for these settings is that the baseurl is different for the front end and back end of a WP site if it's installed in it's own directory.


How do I removed accordions in the advanced search

Unchecking the box in the image below for each field in your custom data set ensures it is not searchable. If no fields within the custom data set are searchable, the "accordion" is removed from the advanced search. If just one is searchable, then the accordion appears.

Just confirmed this with 5.10.3.

As for your second question, if you want to rename "Custom Fields" to something else, you can do that using CiviCRM's word replacement tool. Go to Administer > Customize Data & Screens > Word Replacement.


Unable to insert membership custom field in e-mail using Smarty

It depends on which message template you are trying to add token to and method you are using for sending email.

Not all method of sending email renders membership token. If you are successful to render {membership.id} or if you can get membership from smarty then you can use CiviCRM api to render the custom field value for membership based on membership id.

For ref: How to create tokens for custom fields (participant, individual, organisation)

HTH

Pradeep


The issue is -

you don't have a payment processor type - Moneris

value missing in this SQL : SELECT id FROM civicrm_payment_processor_type where name = 'Moneris'

try to setup a payment processor type first - that should fix the issue

which mean you need to install the payment processor "Moneris" first to fix the issue

thanks - I guess this helps !!!


Welcome to SE! Presumably that is a custom field? Check in the settings of its Custom Group that the box "Is this Custom Data Set public?" is ticked.  (Go to Administer > Customise Data and Screens > Custom Fields, on the relevant Custom Group go to More > Settings)


Need clarification on switching CiviCRM hosting from a host/consultant

Yes, you can move your Civi installation to new hosting (though it is recommended to use a knowledgeable/experienced provider to do so; and you sound like you are on board with that idea). A good place to start is with one of the providers listed here: https://civicrm.org/partners-contributors

Here is some background on those providers listed and some tips on selecting a new provider: https://civicrm.org/about-service-providers


Stock CiviCRM on Ubuntu package of Wordpress leads to /var/lib/wordpress/var/lib/wordpress/ paths

I don't feel that this is a good solution to the problem, but as requested, I'm reposting this as an answer. I "solved" this error by creating a symlink using:

$ mkdir -p /var/lib/wordpress/var/lib

$ ln -s /var/lib/wordpress /var/lib/wordpress/var/lib/wordpress


"SyntaxError: Unexpected token" error on l10n-js files

Finally located the source of the problem. Every page on the site included a widget in the footer using an HTML snippet for a CiviCRM sign-up form. The HTML snippet, despite being the one generated by the profile, was incorrect, and included a reference to an admin URL for a script, which wouldn't be accessible to non-logged in site visitors. Removing it resolved the issue.


Yes, you have to set up an organization and then an individual. Next step is then to link them with a relationship.  You can either use the relationship tab and add one, or fill in the name of the organization in the "employer" box when you add an individual. The latter will automatically create a relationship of the type "Employee/Employer".

As CiviCRM is targeted at non-profits it does not automatically work with leads :-) In quite a lot of cases the term "lead" would mean absolutely nothing.


When switching to CiviCRM from another system, what do I need to consider?

Migrating Existing Data

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

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

General Aspects to Consider

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

Cost

see What is the price of CiviCRM?

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

Hosting

see CiviCRM User Guide: Hosting

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

Change Management

see CiviCRM User Guide: Transitioning to CiviCRM

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


Defining Membershipstatus Rules and update issue

This is solved with this answer: NEVER MODIFY MEMBERSHIPSTATUS RULES! except if your really know what you're doing.


Divide recurring contributions between financial types

You might want to configure a price set with two line items, one for the membership and one for the donation. You want them to be monthly recurring, so that after 12 months they've paid for the $100 membership: you'll come close with $8.33 /month.

Alternatively, you can create an extension to do this. We'd be happy to help with that.


CiviMail Report - Administrator Permission Problem

I fixed it. At some point I disabled the CiviReport component of the system. I didn't know I needed CiviReport to look at that part of CiviMail. A better error message would be nice!


Custom dropdown for specific relationship type

You can create custom group of fields for a specific relationship with your custom relationship type filter. This custom field will only be visible when you select relationship type from the drop down

Cheers

Pradeep


CiviHR isn't a normal extension that you can install on a general purpose CiviCRM installation.  It is intended to be run as a dedicated CiviHR system and is only supported on Drupal.

There is a new site at https://civihr.org/ and wiki at https://civihr.atlassian.net/wiki/display/CIV/Welcome

There is a lot of development activity ongoing and some of the docs are lagging behind.  I think they are still offering free hosting if you join the Early Adopters program and meet certain requirements.


Webform CiviCRM, add contact to a group programatically

After digging deeply into webform_civicrm, I've found that the hook to use is hook_webform_submission_insert

It's important to check that this hook is executed after webform_civicrm's one, so the contact is created first and then we can perform our own actions. We can alter execution order with hook_module_implements_alter

I couldn't access contact_id created in any webform_civicrm entities, so I had to get it from the table webform_civicrm_submissions where is saved

The source code:

// Be sure our module's hook is the last to be executed
function mymodule_module_implements_alter(&$implementations, $hook) {
  if ($hook == 'webform_submission_insert') {
    $group = $implementations['mymodule'];
    unset($implementations['mymodule']);
    $implementations['mymodule'] = $group;
  }
}

function mymodule_webform_submission_insert($node, $submission){
  if (!empty($node->webform_civicrm)){
    if(... my condition based on $submission values ...){
      $sid = $submission->sid;
      $result = db_select('webform_civicrm_submissions', 'w')
        ->fields('w', array('contact_id'))
        ->condition('sid', $sid)
        ->execute()
        ->fetchAssoc();

      // contact_id is saved between '-'
      if($result['contact_id'])
        $contact_id = str_replace('-', '', $result['contact_id']);

      civicrm_api3('GroupContact', 'create', array('group_id' => $mygroup_id, 'contact_id' => $contact_id));
    }
  }
}

PS: org.civicoop.civiruleswebform looks like a nice alternative, but it has many dependencies (2 extensions and 4 modules need to be installed in Drupal to use it)


Installed on Subdomain Civimail is blank

I want to let everyone know that I have resolved this issue.  Apparently when installing Civi into a subdomain, you need to configure the resource urls to absolute paths instead of relying on the short codes.  See screenshot below.  If you ever have this issue, try making your resource urls look like that.


Unsubscribe URLs in emails being altered by firewalls

You may want to have a look at the Advanced Newsletter Management Extension. It allows you to configure mailing subscription preference pages in CiviCRM. The extension will then make this information available via its REST API and an external system can generate the pages and present them to your contacts.
As it does require some work to set up mailing preference forms separately from CiviCRM, it's not a quick and easy fix.


I'm not sure which CMS you are using but, per the civicrm wiki page, the URL Checksum for standard Profiles (edit mode) is as below:

To send people to a profile use this path where N is the ID of the Profile you want to send them to:

Drupal: http://www.myorganization.org/civicrm/profile/edit?reset=1&gid=N&{contact.checksum}&id={contact.contact_id}
Joomla!: http://www.myorganization.org/index.php?option=com_civicrm&task=civicrm/profile/edit&reset=1&gid=N&{contact.checksum}&id={contact.contact_id}
WordPress: http://www.myorganization.org/?page=CiviCRM&q=civicrm/profile/edit&reset=1&gid=N&{contact.checksum}&id={contact.contact_id}

Hope this helps and solves your problem.


First check would be to ensure the master group to list includes all the contacts that could be in the sub groups. This is where most people trip up.


Hyperlink not working within CiviCRM emails

CiviMail is usually (and by default) configured to mangle the links in a civimail message in order to be able to track them. I suspect you've got a configuration issue which is preventing those mangled urls from working properly.
A mangled url typically looks something like this:
https://example.org/civicrm/mailing/url?u=21189&qid=1478417
Solutions:

If you're in a hurry, you can just turn off the link tracking for your message.

CiviCRM has recently converted from a different url for such purpose (one with "extern" in the path) - if you've got an old link like that which is breaking, you probably want to update your civicrm version to fix the problem.

In any case, to help you further, it'd be useful to get details about the link that "doesn't work", i.e. provide the url of an example and also what you're seeing on the screen when following that url.


I have two comments:

CiviCRM is not really good in invoicing. So my advice would be to do the invoicing part in a seperate system, usually an accounting software might do the job
I have made an extension to link Contributions to a case, check it out at: https://github.com/CiviCooP/org.civicoop.casecontribution

May I ask what exactly you want to invoice from the case?


How can we have more than 3 file attachments per note?

Go to Administer/System Settings/Misc...you should see an option for the maximum number of attachments?


Why won't the "Employee of" field autocomplete when used as part of a edit profile form in Wordpress

It's on purpose, to protect privacy of your contacts. What this autocomplete does is to provide the list of all the organisations that you have in your CRM.

I could easily imagine quite a few organisations that are in the database, for instance of your "opponents" that would look weird, or even embarrassing in the list of suggested organisations.

And even it if weren't the case, it's not us, as the software provider, to decide what contacts in your database can or can't be displayed to anonymous visitors, so the only safe option is to remove that feature

I have written a while ago an extension to let you add an autocomplete, but pretty sure it doesn't work with the latest version of civi (that has switched to a more modern autocomplete jquery module)

If you have dev skills or budget, I could dig it out so it could be used as a basis for the feature (and so you could only provide your members in the autocomplete for instance)


CiviCRM Entity display shows email addresses - should only show display name

Congratulations, you're the winner of jackrabbithanna's Friday open source evening random issue choice award!

I've added a configuration option to CiviCRM Entity to be able choose a few options for what the civicrm contact entity label should be.

You'll find a fieldset 'Options' at the configuration page: 'admin/structure/civicrm-entity/settings'

There's a field, "Contact Entity Label"...The default option is "Legacy", which will follow the logic for formatting of the contact entity label that existed previously to this update. Users who upgrade and don't choose an option will have it behave as it did before.

You can also choose, "Display Name only", "Display Name + email", "Display Name + phone", or "Display Name + IM"..

It's available in the 7.x-2.x-dev version right now, will be in version 2.2

Or apply the code updates in this pull request:
https://github.com/eileenmcnaughton/civicrm_entity/pull/165/files


List of mailings are not directly available for anonymous or authentic user with limited permission. However you can have it available in one of the 2 ways

Using Public Mailing Archive extension(You will need to tweak code to work as per your requirements for example this extension list Mailings using Mailing subject, change the variable in tpl file to use Mailing name)
Create copy of Mailing Summary report and give access to Anonymous user. (I would create an extension that will add a special permission and use hook to alter the link of Mailing Name to use mailing view link).

HTH

Pradeep