Can Gravity Forms be integrated with CiviCRM?

CiviVIP has a paid solution for Gravity Forms CiviCRM integration. - though depending on what you are doing - it may not integrate with everything you are doing in Civi. (I think it only does activities and contacts)

The CiviCRM WordPress community has galvanized around Caldera Forms and CiviCRM integration. Which is quite robust.

You may also be able to get away with using profiles - depending on what you are doing with your forms.


Give a Wordpress User Only rights to his clients and report

You should be able to get what you need by using ACLs (Administer>Users & Permissions>Permissions (Access Control)). This will allow you to create roles, assign users to those roles and create ACLs to provide permissions for certain actions to those roles. You can assign access permissions on reports to specific roles also.

You will need to create some Access Control groups for your users and their clients to manage your ACLs. It will take a bit of planning but should be doable.

You should also assign your users a role in WordPress and assign them permissions on the CMS level.

There are details here: https://docs.civicrm.org/user/en/stable/initial-set-up/permissions-and-access-control/


Yes, I think you can setup caldera form to create an activity of type X in Civi and than have Civirule to send email (using email api extension) when activity of type X is created.

You can use Civi token to include memberships details in email message.

Thanks

Pradeep


Does CiviCRM integrate with 3rd party email account

Civi has integrations for GMail and Outlook 365, but also has a feature Pete mentions in the comments called "Inbound Mail".  This works with all mail systems, and is also more seamless than the integrations.
The official integrations are for having LESS automation - e.g. if two people have the same email address, it will pop up a box to let you choose, while the automated method picks the first matching contact it finds.  Or let you use CiviCRM as an address book.  You may still want them.
For what you want, I would set it up like this:

Create a new mailbox at your organization,  e.g. "civicrm@example.org".
Set a filter in your mail program to automatically forward (or better, redirect) a copy of each email to this new mailbox. Note you can tweak your filter to exclude certain types of mail (e.g. listservs).
Configure CiviCRM to check this mailbox (Administer menu >> CiviMail >> Mail Accounts, then Add Mail Account).  Exact directions are in the documentation linked by Pete.  Also be sure to read about permissions for users to edit inbound emails - this is new in Civi 5.31+.
Make sure the Process Inbound Mail job is turned on in Scheduled Jobs (Administer menu >> System Settings >> Scheduled Jobs).
If you need further customization, it can be done through extensions.  E.g. this extension was written for an organization that wanted two inbound email addresses, and emails sent to the second address were restricted to privileged users.


You can go one better than syncing to roles using the CiviCRM Groups Sync plugin instead. It keeps Contacts in CiviCRM Groups in sync with WordPress Users in groups provided by the Groups plugin. That way you are free to adjust your users' roles without affecting the sets of permissions that they have which are related to CiviCRM or member-only content.


What should be entered in the campaign field when importing a CSV file?

I was able to successfully import the campaign on a contribution by importing the campaign's CiviCRM ID.

I agree that it seems odd that campaigns have an "External ID" field, but it can't be used for imports, though!

You can find your campaign IDs by going to Campaigns menu » Dashboard » Campaigns.  In CiviCRM 4.7+, they'll be in the first column of the list.  See screenshot 1 below.  If you're using CiviCRM 4.6 or lower, you can find the ID by hovering your mouse over the "Edit" button next to a campaign and reading the ID that appears in the URL at the bottom of your web browser.  See screenshot 2 below.


These error looks like an PHP error. Are you trying these in an fresh copy of CiviCRM ? please get the latest version and try the same

If you have any extension installed in CiviCRM please do disable all the extension and then try the same


Welcome to CiviCRM SE.

You can merge the contacts manually via search results. Here is a link to the specifics:

https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/#merging-contacts-from-search-results

You should also review the information on merging two contacts manually here:

https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/#using-rules-and-merging-duplicate-contacts-manually

Hope this helps!


You can use custom search 'Include / Exclude Search' (CiviCRM >> Search >> Custom Searches >> Include / Exclude Search)

Create a smart group of donor who stay in CA
Create a smart group of donor who stay in Bakersfield, CA
Use Include / Exclude Search, to search contact in group #1 and exclude from #2

Thanks

Pradeep


Contribution Page-Amount page options now showing

Check it after deleting the civicrm temporary files (../files/civicrm/templates_c). If this will not fix your issue, then check your civicrm log file (../files/civicrm/ConfigAndLog). Here your will get more details about the error.


Is there a previewer for workflow message templates?

Even though the tokens won't work, have you tried just copying the code into a separate code editor and saving it as a .html file so you can see what it looks like that way, by loading it into a browser? Then all you have to do is edit the code in the editor, keep refreshing the screen and when you like the way it looks, post it back into the CiviCRM template.


Import custom field to fill duplicate contacts

One way to do it is to place these 200 records in a separate csv and add a column with the CiviCRM contact id and use that as the matching identifier. In that case you would also need to copy the records for each contact with the same email address.

Another one is to do the same, but then use the "external identifier" field as the matching identifier.

Quite a bit of manual work.

All other solutions I see would be with custom coding (or custom import scripts).


How can I import Volunteer information from a spreadsheet

Take a look at Fuzion's API import extension if you need an import option that goes beyond the standard Import options. It may not help directly with the volunteer data that goes in the civicrm_volunteer_ tables, but could help with other stuff, like Activities and Relationships.


What is purpose of the Tell A Friend "Info Page Link"

The tell a friend information is stored in another table called civicrm_tell_friend. The help text for the Info Page Link says -

  A link to this Event Information page is automatically included in the email sent to friends. If you ALSO want to include a link providing general information about your organization, enter that link here (e.g http://www.example.org/)

So basically its purpose should be to include an additional link(eg your organization) along with the message you send to the contacts from Tell a Friend form.


Database error when saving CiviCRM event: “Row size too large”

this might be a mariadb config issue.

# enable large indexes and Barracuda
# for utf8mb4
innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_large_prefix=1

might also change the tables to
ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED
see this post for much more info on this front https://stackoverflow.com/questions/15585602/change-limit-for-mysql-row-size-too-large

but do not follow the suggestion there to alter the tables to use MyISAM instead of INNODB, that's a really bad idea.


Yes there is but it only works for regular mails not for mails sent by CiviMail (bulk mails):

Add signature to the CIviCRM contact that is connected to your CMS contact (see screenshot).
Click on send email for a contact and the signatures should be in the Text editor.

However, for Bulk Mails you would have to put the signature in a footer or th emessage template.


How do I expose a civicrm profile to collect data from anonymous user (an application form) on a drupal node?

On Drupal -> how about simply use the URL - e.g.

civicrm/profile/create?reset=1&gid=30

and then add blocks with visibility settings show on civicrm/profile/create etc to dress up the page?

I would not recommend HTML code snippets - I do highly recommend webform_civicrm! :-)


Issue to install civicrm 4.6.10 on Drupal 7.41

It looks like something is wrong with your Drupal installation. Does any other module work in Drupal? And also when the module is stored in the directory sites/all/modules


Wrong dates and type on membership email receipts

A similar report came up in the IRC channel - this looks a lot like CRM-18247: Contribution receive date is incorrect/misformatted in email sent by API Contribution.sendconfirmation.

The patch from that issue's PR may solve the issue for you?


What is the status of CiviBooking for CiviCRM 4.6.x

We are pleased to announce CiviBooking 1.5 is finally released!

This version brings compatibility with:

CiviCRM 4.5.x (not actively maintained)
CiviCRM 4.6.x
CiviCRM 4.7.x

It also contains a new permission structure for managing bookings.

Please feel free to get in touch if you have any question or encountered any issue. We will be actively maintaining the issue queue.

Updates:

CiviCRM 4.6+ compatibility
CiviBooking Permissions
Improved consistency of permission structure for managing bookings
Improved CiviCRM version compatibility
Improved menu handling
Fixed day view criteria
Fixed additional charge modal problem

The new version of the extension can be downloaded here


Mosaico with WordPress Unexpected errors

This is a bug - and it looks like it has been reported upstream:

https://github.com/veda-consulting/uk.co.vedaconsulting.mosaico/issues/160

The temporary fix is to add an Alias to your Apache or Nginx configuration. I added the following for nginx:

location /templates/versafix-1/ {
  alias /srv/longshore/platforms/ourpowerbase-d7-c4.7.19/sites/all/extensions/uk.co.vedaconsulting.mosaico/packages/mosaico/templates/versafix-1/;
}


Prevent users from changing membership type when they renew?

Does your membership renewal page show multiple membership-type options?

You may need to set up different membership renewal pages for different membership type.


Editing a submission on Drupal Webform - not updating CiviCRM

Basically, the webform was unable to update a submission with more than one client. I've had to rethink a couple of things and rely on relationships for the second 'client' so that there is a single Client per Case.


How do I automatically create a case on inbound email?

It can't do that out of the box but you could theoretically write an extension to use hook_civicrm_emailProcessor to create the case when an email comes in. But unless you always want the client to be the From address, you'd have to figure out how to decide who is the client if there's multiple To/Cc's. You'd also have to decide what to do when the client/case already exists for an incoming email or you might get duplicate cases.

For the second part of your question, there used to be a link that appears on the far right-hand side of activity search listings, and a button at the bottom of the page when you view activities, but it looks like maybe this has changed in the latest version. But I can see it under search results in the dropdown under Actions (e.g. after doing Search - Find Activities).


I recommend you install https://civicrm.org/extensions/civicrm-log-viewer - it provides a way to view the main CiviCRM configandlog from within the CiviCRM GUI. Look for it under Manage Extensions -> Add New.


SMTP error 501 when extension Transactional Mail - Bounce and Tracking Handler is enabled

The invalid sender address in the messages suggests that you have not set up your CiviMail -> Mail Accounts bounce account with a proper domain - that sender would normally have that domain after the @ sign.


Is it 'better' to use mysql_dsn rather than mysql_ram_disk with buildkit and amp config?

It's a little bit hard to answer without more info but generally the ram disk isn't going to save your data unless you do something extra, so it's more useful for one-off tests or something where you need speed over permanence, like running unit tests (which it mentions in the readme). I don't use buildkit since I'm on windows but I do switch over to a ramdisk when running tests since it's way faster when it keeps needing to load/reset the database. I wouldn't recommend a ramdisk for setting up a semi-permanent dev environment that you plan to work on regularly, unless you're willing to regularly dump the data somewhere and reload it later, or automate that at startup/shutdown, and risk losing something in the middle.


EDIT: Since this answer, @herb has expanded on this in the Wiki. See "Installing CiviCRM for Backdrop CMS"

There is now an official version of CiviCRM for Backdrop. Once CiviCRM code is placed in /modules, go to

http://MYWEBSITE.COM/modules/civicrm/install/index.php?civicrm_install_type=backdrop

to install. Note the flag to tell the installer that we're installing for Backdrop otherwise it'll not recognize it.

The code changes to get the installer working for Backdrop is almost done (it's waiting to be tested and merged in https://github.com/civicrm/civicrm-core/pull/8177). You've got three options:

Install manually: run the civicrm.mysql queries on your database (in /modules/civicrm/sql/) and manually build the civicrm.settings.php file (from /modules/civicrm/templates/CRM/common/civicrm.settings.php.template) and put it in your webroot (same level as settings.php).
Apply the patches above to tarball you downloaded (plus apply this patch https://github.com/backdrop/backdrop/commit/93ecec4c081002bfc46fec421b5642d496ca3dac to backdrop. Then navigate to example.com/modules/civicrm/install/index.php?civicrm_install_type=backdrop to run the Backdrop-specific installer.
Or, wait until the next CiviCRM 4.7.x minor release and Backdrop 1.x minor release and it should be working well enough. (Use the same url: example.com/modules/civicrm/install/index.php?civicrm_install_type=backdrop)


This question is impossible to answer definitively without knowing more about, say, your operating system, whether you have command line access, whether your WP and Civi databases are separate or one, etc.  I'll answer for what works for me.

On a Linux machine, I would use backupninja to first back up MySQL using mysqldump.  My backupninja configurations are public.

Second, I configure a backupninja job using rsync, rdiff-backup, or borgbackup to back up the WordPress root (e.g. /var/www/mysite) along with the MySQL dump.  All three of those utilities can back up either locally or remotely.

If you prefer shell scripts to backupninja, AGH Strategies posts their backup script on Github.


How can I import custom data contact references as names rather than id numbers

I see, you're right.

It would make sense that the export would have a contact reference be part of the "related contact info". Unfortunately that is not the case at this moment.

The best way for you to approach as I see it is to do the export via the CiviCRM API. It is more cumbersome to use (if you are used to using the front-end), but it has more flexibility and more possibilities.

For more info, look https://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API


Within an extension how can load a custom `Civi` name-spaced class?

Add the following elements to your extension's info.xml file to enable PSR-4 autoloading:

<classloader>
  <psr4 prefix="Civi\" path="Civi"/>
</classloader>

Also see docs on the <classloader> element


In 4.7 the activity 'Assign Case Role' is assigned to the client: is this a bug?

It's a bug. On line 1804 of CRM/Case/BAO/Case.php there is the following test ...

   if (isset($dao->caseId) || $dao->rel_contact_id != $contactId) {

Observing how the function is called, the Case Id will always be set, so the condition is always true and the else part is never executed.

Changing the condition to ...

   if ($dao->rel_contact_id != $contactId) {

fixes the behaviour.


Display a Block on a specific Civi contribution page using a url alias (How to)

One option is to use the solution you linked to above and then set up a friendlier redirect that forwards them to the correct internal page URL. (So you could use something like example.org/donate and when they click on it the Redirect would send them to example.org/civicrm/contribute/transact?reset=1&id=8) The end result is still the default URL, but you could use the friendlier redirect in emails, campaign materials, etc.

Or, set up a webform (using Webform-CiviCRM) that takes payment/contribution. Then you can set up your own URL as usual (but can't use the default contribution form payment profiles, etc. -- you'd have to set the needed fields up in the webform).


CiviVolunteer Stopped Working with upgrade to 4.7.29

I'm not sure this was the problem, but the default PHP interpreter was at 7.1. I noticed CiviEvent was also not working (error message about "pass by reference"). I set PHP back to 5.6 and both CiviEvent and CiviVolunteer seem to be working.

The CiviCRM status screen is giving notice "PHP Out-of-Date: This system uses PHP version 5.6.32. This meets the minimum recommendations and you do not need to upgrade immediately, but the preferred version is 7.0."

Update July 3 2018: Currently at CiviCRM 5.2.2 with CiviVolunteer 4.7.31-2.3.1 and was able to move to PHP 7.1.18 with no issues.


Not be able to set up Membership Type and Payment Type

The links to the forms you've provided look like stand-alone CiviCRM Profiles.

To allow for membership registration with online payment, you need to set up a Contribution Page, which allows you to configure payment options and the types of memberships that can be selected, as well as on screen messages and email receipts. You'll include the profile you want completed in the set up as well.

The CiviCRM book explains in full detail how you can set up a Contribution page: http://book.civicrm.org/user/contributions/setup/


After upgrade to 4.7.13, I get 500 Internal Server Error when creating new mailing

After investigations :

The issue is due to i18n : if multilingual is on, then the bug raises. When it's off, there are no bug.
CRM_Core_DAO_AllCoreTables::registerEntityType returns only table names without language code. In my case, the function returns civicrm_group instead of civicrm_group_fr_FR. Then, the function CRM_Core_DAO_AllCoreTables::getClassForTable($table) returns nothing, which ends with the following error : PHP Fatal error:  Class name must be a valid object or a string in /store/www/dev.lists.sciences-po.fr/html/sites/all/modules/civicrm/CRM/Utils/SQL.php on line 53

Guess some hook in the i18n module is missing or not working properly.


Drupal 8: How do I shift a project/site from using the roundearth installation method to the CiviCRM official composer asset plugin

Depending on how your initial site set up was created you might need to take a more extreme option detailed below but hopefully the following will work:
If you want you can copy composer.json , composer.lock to a new directory (or local) and use issue composer installto check the below works this can be useful if you are having problems and need to remove composer.lock and vendor. But I'm assuming you are going to be doing this on dev/staging.
composer remove roundearth/civicrm-composer-plugin --no-update
composer config extra.enable-patching true

civicrm/civicrm-{core,packages,drupal-8}:'^[civicrm latest version without the point version]'
Apart from the removal of the roundearth/civicrm-composer-plugin you want to follow the install steps outlined here:
https://docs.civicrm.org/installation/en/latest/drupal8/
(Note D9 Drupal recommended you'll need to set the minimum stability from stable to dev if you haven't already).
If you are still on an older version of civicrm you might need to include pear/pear_exception:'1.0.1 as 1.0.0' in the above require. But the latest version doesn't require this anymore.
Assuming this is successful you will then want to
drush updb
drush cr
I'd also recommend clearing out
web/libraries/civicrm/
and then repopulating with composer civicrm:publish
This is something you might need to repeat on live.
Note hopefully soon "pear/pear_exception:'1.0.1 as 1.0.0'" will not be required. Check the install instructions and mirror them.
Options to make things easier.

If your civicrm is not latest either upgrade first (best option) or use '[civicrm latest version]' (note missing '^' and you want full version with patch level i.le. '5.26.2' not '^5.26') to lock yourself to the specific civicrm version in composer.json - you will want to update to add the '^' in once complete and remove the point version to allow upgrades - or you might want to leave it like this to prevent composer update upgrading civicrm.
If you get composer conflicts in your dev/sandbox environment remove vendor and composer.lock. This will mean that you then end up running upgrades on everything - so best to do these first, or lock anything you need not upgraded in composer.json.
If you forget to remove roundearth/civicrm-composer-plugin you'll run into problems with resources not being copied correctly across to web/libraries. If you are not seeing the menu on load or are missing seeing an error for a missing file extension-compatibility.json you might need to make sure you have removed roundearth/civicrm-composer-plugin fully.
add --no-update to the second require then you can use composer update --dry-run along with all the packages you are adding/removing.

As per below check your civicrm.settings.php file and make sure the following are either removed or match the location where the libraries are stored.
$civicrm_paths['civicrm.root']['url'] = '/libraries/civicrm/';
$civicrm_paths['civicrm.packages']['url'] = '/libraries/civicrm/packages/';

The extreme version below assumes you have no custom themes/modules or file uploads. If you have any of the above. You probably want to follow a different root!
I had done this once and I described it at https://lab.civicrm.org/dev/drupal/-/issues/115#note_34161

Backup civicrm.settings.php and drupal settings.php.
Delete everything in the root folder, including drupal.
cd <one folder up from root>
composer create-project drupal/recommended-project:8.x.y <root folder>
cd <into root folder>
SET COMPOSER_MEMORY_LIMIT=-1 (or export COMPOSER_MEMORY_LIMIT=-1 for unix)
composer require civicrm/civicrm-asset-plugin:~1.0.1 civicrm/civicrm-core:dev-master civicrm/civicrm-packages:dev-master civicrm/civicrm-drupal-8:dev-master
restore civicrm.settings.php and drupal settings.php
If you have the two extra lines in civicrm.settings.php that were needed after roundearth+civi5.23, then you don't need them anymore, i.e. remove these lines

 $civicrm_paths['civicrm.root']['url'] = '/libraries/civicrm/';
 $civicrm_paths['civicrm.packages']['url'] = '/libraries/civicrm/packages/';

log in and clear caches

CAVEAT: As described in that thread it really depends where you started from and additionally what else you have installed via composer on that site and so you might not want to remove the whole drupal folder. The above was a pretty plain stock site and I was also converting to drupal-recommended at the same time. If you keep some things and for example if you've installed fancy modules, you may see composer throwing up irreconcilable differences.
Also the above was for a dev install, using dev-master. Replace dev-master with a specific 5.x.y or ^5.x as desired.
Further disclaimer: Civi + d8 has been a constantly moving target. It's repeatedly come up that what worked "2 months ago" doesn't quite work "now". I have not tried the above in the last 2 months.


This option is not related to CiviMobile. Rather becomes available once you install QR code check in extension https://github.com/progressivetech/net.ourpowerbase.qrcodecheckin

And yes, you are reading it correctly, only a single qr can be available at a time. This is limitation of this extension, unless someone codes it in a different way. But please see a discussion why it can’t be done with existing extension
https://github.com/progressivetech/net.ourpowerbase.qrcodecheckin/issues/6


Connecting existing contribution to pledge

Indeed, different workflow. with pledges, you create "expected" contributions for each time the donor said she'd contribute. You can then alter them via the api (eg with the api explorer)

The entity you want to change is pledgePayment. you can update the contribution_id, the amount and the status and it should then be working as expected

"values":[{
    "id":"1",
    "pledge_id":"1",
    "contribution_id":"10",
    "scheduled_amount":"500.00",
    "actual_amount":"500.00",
    "currency":"USD",
    "scheduled_date":"2009-07-01 00:00:00",
    "reminder_count":"0",
    "status_id":"1"
},


how do I exclude blank or null in a report

Workaround -

Select operator as is not one of and multi-select all the values in the dropdown. Result shown will be the record not having the selected values.

For Eg - Financial Type -> is not one of -> all the values in the dropdown -> Preview Report

Can that work for you?


Deduplicate by name AND surname (or vice versa)?

Welcome to CiviCRM SE. Eileen's answer is definitely the right place to start, but you might want to look at a related question that I asked about the built-in (reserved) de-duplicate rules, as they aren't entirely clear from the documentation. It says "NAME" in the description, but actually uses the fields "First Name" and "Last Name" (You have used different terminology. It took me a while to work out how it worked.

See Reserved de-dupe rules

Update: Remembering odd behaviour with my previous issues, I looked again and have found that the de-dupe rules appear to be cached. So if you create a rule, adjust it and try with the new version, the old version is still used. I missed this before because I was checking the database and the rule is updated properly there. If you go to Administer >> System >> Cleanup Caches and Update Paths and select Cleanup Caches then try the de-dupe rule again it works as expected. If you were experimenting, then I expect this is the problem.

Alternatively if you delete the rule and add the new version it will also work.

A note on the page where you edit de-dupe rules to tell you to clear the cache would be very helpful. Let me know if this solves your problem and I'll report it as a bug/enhancement.


There are a few places that contribute to the TY email.

On the Receipt tab of the Contribution page config you can add a message there in "Receipt Message".

Also any 'pay later' instructions will also be inserted.

The main template that sucks those bits in and adds a lot of other bits is under > Administer > Communications > Message Templates then click on System Workflow Messages and look for eg Contributions - Receipt (on-line)


Using CiviCRM for Coworking Check in tracking

To just track them, I would be using Activities, and if you are using Drupal you could put together a small block/form on login page where they would submit the Activity. Then use Views Aggregation to count their visits (and Views Calc to show how many remaining.

There is also the civi booking extension to check out. CiviCon video here


Article selection while creating a mailing?

Check out the Content Tokens extensions and see if it fulfill your needs, if that doesn't suits you can always create your own tokens, have a look at @Coleman's post.


Not able to choose "unsubscribe group" for a mailing?

What you describe is exactly what I observe at dmaster.demo.civicrm.org.

Steps

Run Search and select some contacts.

Choose Email/Send via CiviMail

On the next screen I see the Unsub Group


How can I get $params into my own scheduled job?

This is what I have:

(I know you can read it :-)

And in my code:

function civicrm_api3_note_Migrate($params) {
  // param migrate_type determines what will be selected, defaulted to contact
  $validTypes = array('contact', 'contribution', 'participant', 'relationship');
  if (!isset($params['migrate_type'])) {
    $entityTable = 'civicrm_contact';
  } else {
    if (in_array($params['migrate_type'], $validTypes)) {
      $entityTable = 'civicrm_'.$params['migrate_type'];
    } else {
      $entityTable = 'civicrm_contact';
    }
  }
}

But I am not sure if that is what you mean?


How do I debug "Could not find valid value for ct" error message

OK, turns out this was due to erroneous entries in the Drupal settings.php file. The following entries were causing cookies to be missed by Civi:-

 ini_set('session.cookie_lifetime',  2000000);
 ini_set('session.gc_maxlifetime',   200000);

Others may also cause inconsistencies, such as:-

 ini_set('session.cache_expire',     200000);
 ini_set('session.cache_limiter',    'none');
 ini_set('session.cookie_lifetime',  2000000);
 ini_set('session.gc_maxlifetime',   200000);
 ini_set('session.save_handler',     'user');
 ini_set('session.use_cookies',      1);
 ini_set('session.use_only_cookies', 1);
 ini_set('session.use_trans_sid',    0);

Removing the entries from the drupal settings.php file, then closing the browser and re-establishing a new session has resolved the issue.

Essentially these settings within Drupal are conflicting with the PHP.ini settings that CiviCRM is seeing, which can lead to these erroneous types of session errors.


Custom fields do not appear in profiles for anonymous users

Our developer found the answer. It was an ACL problem. We fixed this adding a ACL where all roles can edit custom groups of fields.


Scheduled Follow Up activity after creating an event

You don't mention your CMS, but if you find CiviRules cannot be coerced in to doing your bidding, then if you are on Drupal and add CiviCRM Entity in to the mix, then you can build Drupal Rules which may provide a sidestep solution.


How can I record an offline contribution with multiple line items?

Create a Price Set for contributions pointing to the multiple funds needed. Each fund should have a price of 1.00.  You could include additional funds besides the two in question so that the Price Set is ready to be used like this in the future for other potential donation splits.
If the donation needs to be attributed to a certain contribution page, create that contribution page.
Enter a 'New Contribution' under 'Contributions' menu.
Once the price set is created, next to the amount field, you should have the option to choose a Price Set.
Choose your new price set, and split the donation as needed to each fund.
Enter the check info and other pertinent contribution info.
Pick Contribution Page under 'Additional Details' if needed.


Can you double check and see that the custom group is extending Participants and not Events? The two are different entities, but a fair number of users have made this mistake in the past.

A few other thoughts:

Can you also elaborate on where it does not work for participants?
Can you try the same sequence of steps on our demo servers and see if you can reproduce it there


Can you check required drupal permission for role is enabled? Like Administer CiviMailings?
Navigate to Administer >> Customize data and screens >> Navigation Menu. Check if Mailings is disabled, if so right click and enable the menu.


How to get rid of Â when exporting report to CSV file

This should be solved in version 5.22. It's usually non-english characters where Excel needs a special header to be able to determine the encoding.

See https://github.com/civicrm/civicrm-core/pull/16117 and https://lab.civicrm.org/dev/core/issues/1424


how to change civicrm settings from command line?

You can use drush cv to update the settings in db.

eg drush cvapi Setting.create environment="Production"

You can find various options in API explorer to set other settings and see for command in cv and drush section.


I changed my cache plugin and that seemed to fix the problem.


For an extension, to modify database data, is it better to use SQL or API

Generally, it is wisest to always use the API.  Many necessary updates actually touch multiple tables and the API takes care of it nicely.  This is especially true with financial updates. The API also encapsulates the database structure so as to effectively hide any database structure changes that may happen over time.

IMHO, pretty much the only time that SQL might be called for is if you are doing a huge bulk update wherein using the API would take excessively long.


Membership not generated by membership contribution 4.6.18

Are you using a price set? If so, look at the price sets and make sure that each for membership has a Membership Type chosen in the first field drop-down menu. The notation there states:
"If a membership type is selected, a membership will be created or renewed when users select this option. Leave this blank if you are using this for non-membership options (e.g. magazine subscription)."

I found that some of mine were empty thus no membership records were created; only the contributions were. This is a bit arcane and not obvious if not researched.

Here are some pics:

https://imagebin.ca/36uQhc0anGfS/civicrm-PriceSets.jpg

https://imagebin.ca/36uR45kYYMny/civicrm-PriceSets-PriceFields.jpg

https://imagebin.ca/36uRKx3WsIvy/civicrm-PriceSets-PriceOption.jpg

Also, I am finding that if you enter the membership using New Contribution it will not record it in the Membership Manager. You have to enter it as New Membership and then the Membership Dues will be recorded as a contribution. This is a little clunky but the workflow is understandable.


Errors in functions.php after installing 5.16.2 on Drupal 7

You will need to upgrade php version to 7.x. also check your apache/nginx and cli are using 7.x version of php

See https://docs.civicrm.org/sysadmin/en/latest/requirements/#php-version


Based on additional tests and comments from Demerit, it appears that the report requires the case manager to be assigned to the case to list the case.

The obvious workaround is to assign a case coordinator to a case and then everything seems to work.


Automatic discount if participant on other event

If CiviDiscount can be offered to those in a Smart Group, you could make a Smart Group of folk signed up to the first event.

Also read CiviDiscount based on group membership if you haven't already in case it gives other hints


How to reduce database bloat for faster upgrading?

Best to review the tables which are largest in your DB, and also identify which queries during the upgrade take the longest. This is a chicken-and-egg problem, which means you might review the tables you "lighten" as you work through the upgrade process.

Here's something I was using a few years ago on fairly heavy DB. This would exclude data in those tables from being tested on upgrade, but that was an acceptable tradeoff to test the core upgrade.

WARNING - this SQL will destroy data in the DB you execute it against.

-- Trim a CiviCRM DB by stripping out the enormous amount of data
-- stored in some tables, especially the ones relating to mailing.
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE TABLE civicrm_cache;
TRUNCATE TABLE civicrm_log;
TRUNCATE TABLE civicrm_mailing_event_bounce;
TRUNCATE TABLE civicrm_mailing_event_delivered;
TRUNCATE TABLE civicrm_mailing_event_forward;
TRUNCATE TABLE civicrm_mailing_event_opened;
TRUNCATE TABLE civicrm_mailing_event_reply;
TRUNCATE TABLE civicrm_mailing_event_trackable_url_open;
TRUNCATE TABLE civicrm_mailing_event_unsubscribe;
TRUNCATE TABLE civicrm_mailing_event_queue;
TRUNCATE TABLE civicrm_mailing_recipients;
TRUNCATE TABLE civicrm_mailing_spool;
TRUNCATE TABLE civicrm_subscription_history;
SET FOREIGN_KEY_CHECKS=1;

A couple of automated scripts would use the above to reduce a copy of the live DB to a more workable upgrade dataset, then test the upgrade against this reduced DB.

Another set of DB tables you might remove is those prefixed log_*. The ARCHIVE table format they use by default has on-the-fly compression, and every DB update will trigger a duplicate query against log. This means you run double the number of DB updates, one of which will also require some compression. Disabling CiviCRM's trigger logging feature should then reduce the size of the database and the amount of work it does for each change.


Currency in webform billing items always dollars

So that you can actually do

   <script>
    jQuery(document).on('ready',function() {
      CRM.formatMoney('init', false, 'RM1,234.56');
      jQuery('tr[data-amount]').each(function(){
         var $this = jQuery(this);
         var amount = $this.data('amount');
         $this.children('td').eq(1).text(CRM.formatMoney(amount));
      });
    });
    </script>

But, not accepting that as an answer.


HOWTO create full list of Contacts in ON HOLD status

Actually, the answer lies in the Export, not the filter to create the list. I just added 3 Individual contact columns to the Export: (i) "No Bulk Emails (User Opt Out)", (ii) "Do Not Email", (ii) "On Hold: Primary". It evidently worked. The "Primary-On Hold" column set to 1 with the other two blank grabs the Bounces. The first 2 columns provide Opt-Out and Privacy settings, no matter whether set via email response or manually by admin. Even though the answer was simple, I hope this helps someone else looking to do the same.


External Email from Newsletter Mailing Fails

If you're still interested - what version of Civi are you running? And you have selected PHP mail() as your mailer so it is odd that sendmail is referenced in the error msg.
I can just say that I have Civi 4.7.20 (for WP though I think that isn't relevant). System outbound mail is set to mail().  I only got email to work by adding back check for blank CC/BCC that was in older versions of CRM/Utils/Mail.php
'Save and send test email' works b/c it doesn't go to Utils/Mail it just instantiates its own PEAR Mailer and sends a header with just 'to','from''subject' and 'message'


I am the maintainer of the statistics for CiviCRM. There are between 10,000 and 11,000 organizations actively using CiviCRM at the moment. We suffered a hardware failure on the stats server hence the little fluctuation. The statistics will soon be back to normal. More information at https://stats.civicrm.org. Thanks.


Normally you don't install from github you would get it from https://civicrm.org/download and then follow the instructions at https://docs.civicrm.org/sysadmin/en/latest/install/drupal7

If you are looking to do development it might be easiest to start here instead: https://docs.civicrm.org/dev/en/latest/tools/buildkit/


Not as far as I am aware (and a google search, which I am sure you have done) does not bring up anything significant.

Aside: I'm interested in developing marketing automation tools for CiviCRM. Similar to sendinblue and dotmailer and would be happy to chat further with you if you're interested (michaelmcandrew@thirdsectordesign.org).


I have only used CiviCRM at WPE on test sites.

You will have to share the same DB as WP.

You need to prepare teh backup for restore offline.   That said, I mean that if backed up from another server, the DEFINER (used in Triggers and Routines) have to be stripped out, and the database should be compressed.   You'll need to restore via phpmyadmin from my.wpengine.com

A word of warning, WP Engine reserves the right to change the database user.   When they do this they will update wp-config.php, but not civicrm.settings.php.   This has not happened to me on CiviCRM (keep in mind I only use WPE for testing on CiviCRM) , but it has happened on WP sites I have supported at WPE.


Did you follow the steps here: http://wiki.civicrm.org/confluence/display/CRMDOC/Upgrade+Joomla+Sites+to+4.5

When you say that you removed the older version, what steps did you follow to do this?  My first guess is that something wasn't removed correctly.


This has been fixed now but the new version is still not available. You can either apply the patch from here or replace the extension by downloading from here.

Thanks

Pradeep


Using price sets for renewing memberships on online pages?

It would be nice if it worked as you have set it up but multiple terms are not compatible with auto-renew.
The documentation for multiple membership terms includes this caveat at the end:

However you need to be aware that your members will not be able to auto-renew if you use this type of multi-term configuration.


Receipt template formatting (still) broken?

You should be able to find the current template files in the repository (https://github.com/civicrm/civicrm-core).  It's not clear whether you're on 5.x or in fact still on 4.7 but previous versions should be available as well for you to pull from.


How to fix it? By pressing “Print Summary”, there are 2 extra blank pages printed

There is CSS that is adding the space. When I remove the height for the following it will not print blank pages.

crm-container div.form-item {
height: 100%;
}

I would create an "extras.css" so that you can override some of the built-in CSS. You can specify a custom CSS file under Administer > System Settings > Resource URLs: Custom CSS URL.
Note: the path to the CSS file should be accessible from a web browser.

If you add the following to the extras.css then it will fix the print of extra pages:

#Print1 div.form-item {
    height: 0;
}

When you go to print summary you can cancel the chrome printing pop-up and then inspect the CiviCRM page (it has the "print" and "done" buttons). You can further refine the print style using the Chrome Dev tools.


System status - disabled/deleted fields on Smart Groups (5.24)

After upgrading a couple more installs both produced these system status messages linked to phantom smart groups. To clear them click the left of the 2 small icons, then click the smart group criteria to go into advanced search. Then it really doesn't matter what you set this search to, as after clicking search you then go ahead & create the phantom smart group & then delete it. The message will then disappear.  This is the same process you would use to deal with this error message where the smart group exists, but for those you simply update the smart group after the advanced search.


How to request OK to communicate by email (only)? Without coding

Does the optinfields extension do what you want?


Yuri. You can do this from ANY search option. Delete Contacts or Delete Permanently are options under ACTIONS. You can verify this on the demo site. If you do not see same options on your system I would start by looking at the Permissions


Email Group Only Pulls subset of total emails

Reasons that come to mind for bulk emails not being sent to certain contacts:

Contacts with duplicate email address (only one contact will receive the email unless you uncheck the "Dedupe by email" option next to the Recipients box).
Contact has no email address which is marked either Primary or Bulk-Mailings and is not marked On-Hold.
Either of the following privacy settings:

Do not email
NO BULK EMAILS (User Opt Out)


How do I update CiviCRM following a security update?

First of all, I should say that this is a job for someone who is reasonably technically minded and comfortable with using the command line.  If this doesn't sound like you, then I would suggest that you look for help with this - perhaps from the person that installed CiviCRM in the first place.

You can find detailed instructions in the Administrator Guide.  There are different versions depending on which CMS you use:

Upgrading CiviCRM for Drupal 7
Upgrading CiviCRM for WordPress
Upgrading CiviCRM for Joomla

See also my question on upgrading with drush (Drupal only):

Is it easy to upgrade CiviCRM using drush?

I would strongly recommend that you take a full backup before you do this.  You should also know how to restore from a backup in case anything goes wrong (which does happen unfortunately and can leave your site completely broken).

I would also recommend that you test the update on a development server before you attempt to update the live website.

If none of this makes any sense to you I think you should probably look for help from someone who has this technical knowledge - e.g. a CiviCRM partner.  Unfortunately, upgrading CiviCRM is not a simple one-click operation like upgrading WordPress.


What causes periodic database errors while using logging, and what should I do about it?

A few orgs who use logging on fairly high volume sites have modified the logging tables to either use MyISAM or InnoDB and have had fairly good success with it. Can you please report back if you adopt this approach and your success with it


Sounds like you have an unusual use-case where you are in the habit of sending emails to every contact in your database. More typical uses of CiviCRM involve sending mailings to one or more groups of contacts. The Webform-CiviCRM module accommodates this nicely - add the Groups field to your webform (e.g. user-select) and then edit that webform field to only show the group(s) that are relevant to receiving mailings. Each group will appear as a checkbox on the form. After submitting the form, if the user selects a mailing group they will receive an email confirmation; they will not be considered as part of the group until they confirm by email. This is called "double opt-in" and is consistent with most anti-spam laws.

There is no setting in Webforms to control this behavior, the settings are in CiviCRM. To ensure your group subscriptions get double-opt-in, do the following:

Make sure it is considered a mailing group by CiviCRM (go to Manage Groups screen to confirm this).
Go to Administer -> CiviMail -> CiviMail Component Settings and make sure the first option on that screen "Enable Double Opt-in for Profile Group(s) field" is enabled.


How can I regenerate memberships shared by relationship?

I ran into a situation where the membership-type relationships were missing a relationship type, so I had to re-generate the related memberships.

Instead of export/import, I used the CiviCRM API:

$result = civicrm_api3('Membership', 'get', [
  'membership_type_id' => 1234, // optional
  'option.limit' => 0,
]);

foreach ($result['values'] as $key => $val) {
  civicrm_api3('Membership', 'create', [
    'id' => $val['id'],
  ]);
}

The Membership BAO calls createRelatedMemberships.

update: however, I had a small issue with the Membership dashboard not reflecting the numbers correctly, and had to run this query:

UPDATE civicrm_membership m
  LEFT OUTER JOIN civicrm_membership parent ON (parent.id = m.owner_membership_id)
SET m.join_date = parent.join_date, m.end_date = parent.end_date, m.start_date = parent.start_date
WHERE m.membership_type_id = 1234
  AND m.start_date is null;


This is very difficult to answer without sample data.  Your data may contain carriage returns, or not escape quotation marks properly.  However, if you can't safely share the data, here are some troubleshooting steps:

Try uploading to a demo server (demo.civicrm.org) to ensure you're seeing the same problem.
Most likely, some lines work and some don't.  Take just the first three lines.  Which import, which don't?  Is there any change from adding/removing lines?  What do the lines that don't import have in common?
Most importantly - view the data in a regular text editor, not just a spreadsheet app.  The spreadsheet app may be hiding some irregularity that's obvious when viewing the data in a text editor.


Add &force=1 to the url. You can also specify the search terms by the field name, e.g. to pre-specify a search on First Name use
http://dmaster.demo.civicrm.org/civicrm/profile?gid=1&force=1&first_name=Errol&reset=1


have you installed this extension

Could you download and install it manually and report if it works? Its configuration file hasn't been updated to say it's compatible with 4.6, but we will do it once you confirm if works well.


Getting counts of donors grouped into categories by giving amount

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


Can donors store their card details on dashboard?

It is possible to achieve this with a modern token based payment processor like the iATS Payments extension which we wrote the code for. One example of such card-on-file feature already exist:

A process button in the recurring series screen -> this lets admins charge a one time amount to a card-on-file. This could be for e.g. a catch up transaction, an additional year end donation (phone bank calls donor and gets ok to use the card on file) or for a purchase at a silent auction (where to speed up checkout credit cards or bank accounts (ACH EFT or e-cheque) were processed and tokenized ahead of the event).

So a use my card on file does not yet exist for a donor to select as a payment method - it’s definitively possible to put that together.


KC Finder - Uploading/browsing the images not working in CiviCRM 5.9.1

It looks like you have two civicrm.settings.php files - or at least that CIVICRM_DSN is already defined.  If you remove the extra civicrm.settings.php this problem should resolve itself.


How do you create a Smart Group with participants from multiple events

I found out that going through almost the same process under "Search" -> "Advanced Search"
allows you to create a smart group of people from multiple events.


How to create new custom event page in the admin area

Alongside with civicrm_navigationMenu (which only creates the menu item) I had to use the hook civicrm_xmlMenu which is where you specify the xml file that manages the record for civicrm_menu. This is where civicrm knows what the page_callback is for every path i.e. civicrm/sessiontypes


OK - I have now found the setting. The functionality has changed.

Go to 'view Event Participation' -> click 'change selections' -> now the checkbox is visible and an email can be generated.

Thanks


How do I run a list of "on-hold" email addresses?

You can use the "advanced search", there is an option to select the emails that are on hold


It turns out joomla on the cpanel install in question linux reads the php.ini file from the /administrator directory not site root. I had put one in the root dierctory and had checked if php was reporting it correctly and it was. So now fixed.


Creating custom fields: 1) previous address 2) number of years at this address

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

There is documentation in the book here

Hope that is what you are needing.

NOTE: Multiple Rows do come with limitations and gotchas


New install on WP 4.7.4, CiviCRM 4.7.18, System Status: Error

I would recommend to get the CiviCRM package from sourceforge, the link is here:

Also please make sure to follow the installation instruction detailed here for installing CiviCRM in wordpress CMS.

I installed WP 4.7.4 and civi 4.7.18 on local and it got installed smoothly, yes it do gives notifications that you mentioned but that's expected:

Cron Not Running

Configuring cron on your server is necessary for running scheduled jobs such as sending mail and scheduled reminders.

Timestamp Mismatch
Configure Default Mailbox

A default mailbox must be configured for email bounce processing.

Complete Setup

Please enter your organization's name, primary address, and default FROM Email Address (for system-generated emails).


Drupal views: text search in country name

You might find this module even better than you expect:

Views Selective Exposed Filters (views_filters_selective)

"Restrict exposed filter values to those present in the result set."

Whenever you're looking at a selection (or subselection), it'll filter the select options to only those options that are in the result set. So you never have the issue of pointlessly offering filter options that will give the visitor an empty result.

https://www.drupal.org/project/views_selective_filters

[thanks Aidan]


Incorrect Month To Date in member dashboard

It's a bug. I've logged an issue here along with a fix See https://lab.civicrm.org/dev/core/issues/511


The web host was running an older php version on their development server.  Updating to a newer version (they said 5+) solved the problem.


CiviMail Track Click Throughs directed to Page Not Found

What is the url to track that generates the page not found?

One common problem is that your apache/nginx rules are wrongly redirecting the url used to track the clicks to be handled by drupal

Is this a "real" 404 page (coming from your webserver) or is this drupal handling that page and generating a page not found?


Trouble connecting to SparkPost - Joomla 2.5.28 / Civicrm 4.6.14

One possibility is that you are trying to send an email with a "From address" that is not in the sending domain(s) that you have verified in SparkPost. I think they only allow email from verified domains, so you can't send "from" a Gmail address in CiviCRM, for example.

If you are having trouble with the PESC Sparkpost extension you may want to try the one from Cividesk. It only requires inputting the API code and is pretty much plug and play.


As a quick-fix, remove the {action.optOutUrl} token.

To pursue a more general fix, there should be an issue in JIRA. One needs to determine whether:

The {action.optOutUrl} worked in a meaningful way in previous releases. (In this case, we need to define what that was and figure a patch to restore it.)
Or the {action.optOutUrl} never worked -- and merely became symptomatic in 4.7.16. (In this case, we need to manage the symptom better -- e.g. present a alert to encourage admins to fix their scheduled reminders.)

(If you don't have a JIRA account but can describe the expected behavior, then post a comment here, and I'll try to file it.)


Unknown mailing status on few mailings recipients

This has been fixed for 4.7.15

PR https://github.com/civicrm/civicrm-core/pull/9463


Personal contacts displaying in business members directory

Check the settings for this particular membership type to see if the membership is extended to related contacts.


Bug in CiviContribute - PayPal Express not working for recurring contributions

Ok, I think I have finally got to the bottom of this.

Firstly, one of the problems was that I had not got the payment notifications set up in PayPal (mea culpa).

However, even with this fixed, the notifications were not being processed.  I narrowed this down to the handlePaymentExpress() method in PayPalProIPN.php.  There are two errors here, both related to the "is test" status.  At line 578, it attempts to get the Contribution record.  However the call:

   $result = civicrm_api3('contribution', 'getsingle', array('invoice_id' => $input['invoice']));

only works for live contributions, it doesn't find test contributions.

The other error is at line 597:

    $paymentProcessorID = self::getPayPalPaymentProcessorID();

Again, this only works for live, not test.

I'd love to log the issue on the CiviCRM website, but two requests for an account have been ignored.  Oh well.


"You are already subscribed to our newsletter" message

CiviCRM does not have this feature built-in. You would need to write a custom extension to achieve this, probably using hook_civicrm_postProcess.


HOWTO remove inherited membership when corresponding relationship is disabled or deleted?

After trolling around some more, the field I was looking for IS in the membership table, owner_membership_id. That is non-nil for inherited memberships. You can follow that key to the parent organization's membership record, and then from there, determine whether that is the organization for which the membership should be deleted. For maintaining history, you can just cancel the individual's inherited membership instead of deleting so it will show up under past, inactive memberships. If done properly, there will never be more than one inherited, active membership for a related (individual, organization) pair unles the organization subscribes to multiple memberships at once.


Create Drupal users with custom usernames from Company Data?

I am not sure if CiviRules allows the creation of a CMS user when a membership is created. But you could write a small extension that implements a hook to override the username (to use the member ID) and password (to use the Date of Birth) or implement a hook (post on membership) to create a CMS user when a membership is purchased (created),


If you used custom fields to store answers for the questions than you can use Event Participants List( CiviCRM >> Reports >> Event reports) report to get all the information gathered for the event.
Note: Make sure you have is searchable option turned on for all the custom fields you need to be available on report or search.


How can I create a contact (quickly) with multiple contact subtypes?

If you are using drupal then you could use webforms for this.


How set Tags And Groups field set to NOT "collapsed on display"

To add on to @oskylark answer I would use an extra template instead of a duplicate. Easier to manage when upgrading. https://civicrm.org/blog/dave-greenberg/now-its-easier-add-custom-behaviors-templates

In the extra template (TagsAndGroups.extra.tpl) and you could throw some javascript in a {literal} tag along the lines of

cj('.crm-tagGroup-accordion').collapse('toggle');

NOTE: I did not test this js line, just a first guess.


How to migrate Raisers edge data to CiviCRM?

It is INCREDIBLY difficult to migrate data from Raiser's Edge.  You will definitely want to use an ETL tool, as suggested in another answer.

I have made my documentation available here.  I also have my Raiser's Edge to CiviCRM transforms available here.  There's also a video available here.


Stripe Checkout is not implemented at this time, but I would love to add it in the future.

Source:  I am the maintainer of CiviCRM Stripe integration.


What is the pattern used to name the fields accessible through the API?

For historical reasons (namely cramming a bunch of fields from various entities into a flat array for e.g. a profile form) some fields in the database have a "unique_name" which is generally the entity prefixing the field name. For obscure reasons, the api v3 sometimes returns those "unique_names" instead of the regular field names.

I personally hate the implementation of unique names in CiviCRM - it's inconsistent and confusing and if I have anything to say about it there will be no unique names in api v4!


Welcome to StackExchange.  You can find many people who will do this on a paid basis at https://civicrm.org/partners-contributors

If you want to do it yourself and have specific questions then ask away on this site.

If you describe what your charity is, it may just resonate with someone willing to offer more substantial pro-bono help - but that's an exception.


how to get an autoincrementing membership id with existing membership numbers

I would use the Contact Identity Extension and add a custom ID type for your membership number (https://github.com/systopia/de.systopia.identitytracker).

Fiddling around with contact ID's in the database could cause strange behaviour of your system because you have to check a lot of tables and changes something goes wrong are quite high.


Just looping back - I did get Drupal 8.4.x and CiviCRM 4.7.x up and running - here's my live play by play steps: https://d8webform.semper-it.com/node/4


You can do it with a link but I'm not sure how to get the link to display somewhere without some customization. For example if the contact id is 2 and the profile id is 3 then this url will open the profile to edit the user:

https://your-website/civicrm/profile/edit?cid=2&gid=3&reset=1

The profile id is what you see in the url when you're on the admin page where you created the profile, and you hover over the Fields or Settings link, e.g. in this example it's the gid=3 part:
https://your-website/civicrm/admin/uf/group/field?reset=1&action=browse&gid=3

EDIT: There is a way to get to the desired page just using the UI but it's a couple steps:

Go Search - Find Contacts. Pick some criteria that will find your
contact.
In the results list check the checkbox on the left next to
the contact.
From the actions dropdown at the top of the results list, choose Update Multiple Contacts.
It will then redirect to a page where you pick the profile.
Then on the next page it will present a version of the edit form.


Mailing only works when executed manually, not scheduled

Solution:

create a new user, add permissions:

View all contacts
Access CiviCRM
Access CiviMail

go to admin/config/civicrm/civicrm-cron

See also: https://docs.civicrm.org/sysadmin/en/latest/setup/jobs/#choosing-a-cms-user


How to set up recurring contributions on Webform using Stripe

As webform_civicrm only uses the contribution page to get the basic details (ie. payment processor) you'd need to configure the rest using the webform_civicrm integration itself.

On the "Contributions" section you have the following options:

I think you will need to enable these, and also configure a "total amount" by activating the "contribution amount" parameter:

You can configure all those fields as "hidden" via the webform config once you have enabled them so they are not shown to the user.


Webform CiviCRM: Issue with Membership Options Not Displaying

Look for them on the Start page - and make sure you have configured the Membership (under the Webform tab) - as a user select. Note here you can also decide if you want live options or static - and if you go static you can decide which ones are available.

Add on:
Before all this you will want to get into the Membership section under the Webform -> CiviCRM tab.


How to modify Relationships column display?

Take a look at Coleman's searchkit & formbuilder video to see how to create a relationships display.


Can you restrict Shoreditch from injecting CSS on Public pages with CiviCRM content?

This is a core issue (not specific to Shoreditch) and there is an issue with some discussion related to it here:

https://lab.civicrm.org/dev/core/issues/378

To tag on to your specific point about Shoreditch's CSS, I have found this to be problematic for the display reasons you mention (conflicts with CSS from the front end theme) but also for performance reasons. On one site I found Google Page Speed Insights showed a very low mobile score (2%) with Shoreditch enabled, and it jumped to a more normal level (87%) as soon as I disabled the Shoreditch CSS.


What is the proper way to update to the recommended/supported version of Webform CiviCRM module for Drupal 7?

Excellent :-)
You will want to find out where your module lives -> determine whether it lives in /sites/all/modules or in /sites/default/modules
Download a copy of the latest 7.x-5.x from our drupal.org project page: https://www.drupal.org/project/webform_civicrm
Unpack that tar.gz
Then replace what you have in /sites/all/webform_civicrm or /sites/default/modules/webform_civicrm with that new copy you just downloaded/unpacked using sftp or scp (depending on your access to your site)
Running database updates is a good idea - always do that after you update any module. You can do that by typing /update.php behind your base URL in the browser - or go to Reports -> Status Report and follow link (it should be reporting to you whether there are any pending database updates).


Ran into this upgrading to 4.7.22

For some reason (which I have not investigated) the reserved profiles for New Individual, New Organization, etc got their profile ID appended to their "name".

If you query the UFGroup entity in the API explorer like this:

$result = civicrm_api3('UFGroup', 'get', array(
  'sequential' => 1,
  'title' => "New Organization",
));

You should have a result like:

{
    "id": "5",
    "is_active": "1",
    "group_type": "Organization,Contact",
    "title": "New Organization",
    "add_captcha": "0",
    "is_map": "0",
    "is_edit_link": "0",
    "is_uf_link": "0",
    "is_update_dupe": "0",
    "is_cms_user": "0",
    "is_reserved": "1",
    "name": "new_organization_5", // note the appended ID, 'new_organization' should be the value here
    "is_proximity_search": "0",
    "is_error": 0
}

Digging here, here and here found that when the method to get the profile links is called with no params, the profiles names are hardcoded to the default 'new_individual', 'new_organization', 'new_household'

To fix it you'll need to revert back the profile "name" either via the API explorer:

$result = civicrm_api3('UFGroup', 'create', array(
    'sequential' => 1,
    'id' => 5,
    "is_active": "1",
    "group_type": "Organization,Contact",
    "title": "New Organization",
    "add_captcha": "0",
    "is_map": "0",
    "is_edit_link": "0",
    "is_uf_link": "0",
    "is_update_dupe": "0",
    "is_cms_user": "0",
    "is_reserved": "1",
    "name": "new_organization",
    "is_proximity_search": "0",
));

Or if you have access to and you feel more comfortable, querying the database directly:

update civicrm_uf_group set name="new_organization" where id=5;

Hope that helps.


The files and directory need to be group writeable, and you need the which ever user that is running cron to be in that group. Check to see if cron is being run by root, that can create log files that are root only.


SPF works by specifying what hosts can send email for a particular domain. Hence you should be thinking about adding your host to their SPF record (not 'their FQDN in our spf record').

If your client is sending email from addresses like info@client.org and that email originates from one of your hosts, for example host.provider.com, then  you will need to ensure that something like 'a:host.provider.com' appears on the SPF record for client.org.

If they don't have an SPF record already, you'll want to chat with them about how they are sending email before setting anything up to ensure that you correctly identify all the different hosts that send email for this domain in the SPF record.

Here is a good SPF resource for further reference: http://www.openspf.org/SPF_Record_Syntax.


What are typical drupal 7 absolute resource URLs?

If you install a drupal 7 tarball and mostly keep clicking next, and then install a civi tarball and mostly click next, it's the first set you've listed.

It is definitely not the 2nd one.

But to be fully absolute you need to include http:// or https://


Do I need to backup civicrm_cache table in civicrm 4.0.8

If you TRUNCATE the table, be sure you do so at a time when there are no in-process contributions or other users actively filling out a form or their submission will be lost. Otherwise, it's safe to do so.

Your backups can just skip that table, no need to back it up. Although you do need to get the structure of the table in order to be able to restore a complete db from your backup.


How can I show contacts that DO NOT have an activity of type X in last Y months?

The process is slightly roundabout:

Create a smart group that captures all contacts called "All Contacts".
Create a second smart group consisting of people who have the activity type "Confirm Contact Details".
Use the "Include/Exclude Search" (Search menu > Custom Searches) to include the first smart group and exclude the second smart group.

Once you've done this, you can save it as a smart group for one-step searches moving forward.


(Solved) CiviEvent mandatory key missing error

As Jon said, its difficult to say. But its certainly because of com.pesc.sparkpost extension. I believe the extensions is creating activity of type 'Transactional Email' which either missing of disabled.

Troubleshoot:
Check under Administer >> Customize Data and Screens >> Activity types if you can see 'Transactional Email'.

If you can't then add new Activity type named 'Transactional Email'

If you can see then

Check if its enabled.
Check the machine name for that activity type
either in database or using api explorer using params shown in screenshot (civicrm/api). If you dont get result then create a new one.

Thanks
Pradeep


A few considerations:

1) You want to be running a version that has security support. See https://secure.php.net/supported-versions.php  Both 5.6 & 7.0 have support to Dec 2018.  Beyond that, you need 7.1+ (although 7.1 is not currently recommended for use with CiviCRM - https://docs.civicrm.org/sysadmin/en/latest/requirements/)

2) php 7 is faster than 5.6.  See http://www.zend.com/en/resources/php7_infographic  Why not run the faster version?

3) Maintaining support for old versions of php is a drain on development resources and prevents CiviCRM taking advantage of new php features.

So, yes upgrade to 7.0 now (providing you are on the current 4.7.* release) and expect to keep upgrading.

[Edit: prompted by Graham's comment.]

Php requirements links:

Drupal 7
Drupal 8
Wordpress
Joomla!
Backdrop


Contribution form issue: cannot submit donation

Stripe uses javascript to submit the credit card credentials to the stripe server (so that they're never handled by the CiviCRM server). The console is showing that it's unable to do that because of javascript errors.

A browser may or may not stop processing if it encounters javascript errors, it depends on the browser/settings.

On your referenced page, it's CiviCRM loading the jquery.min.js file, so that suggests it's a purely CiviCRM issue - there's likely some Civi or extension javascript running that's trying to execute some jquery and getting an error.

As per Pete's comment, I'd start with thinking about what has changed since it was last working (e.g. a CiviCRM or extension update, a change with WordPress, etc.).


How do you input Virgin Money Giving Donations into CiviCRM?

If you can export the donations out of those systems in a CSV then you could import the contributions to Civi.

There is fairly old extension for importing Just Giving donations.  Don't know whether it still works but would be a base for developing an automated import.  Once it is working you could add a Scheduled Job to do the import regularly.  Obviously you need to be careful to avoid importing the same donation in multiple batches.


'Unknown path' error when trying to access New Mailing with version 4.6.2

I resolved the issue.  Apparently there is a conflict with the Deslash option in Drupal module Global Redirect 7.x-1.5.  After unchecking the Deslash option, restarting the browser and clicking the New Mailing menu item, it works.

Please beware if you've installed module Global Redirect 7.x-1.5.  The Deslash option is enabled as a default.

Just a thought...
Although there is no need to change 'civicrm/a/' to 'civicrm/a' in source file civicrm/CRM/Mailing/Controller/Send.php, should it be changed anyway?  After looking at other CRM_Utils_System::url() calls in the module, I see that many other calls do not have '/' as the last character for parameter $path.  But it seems the parameter $path has been set to 'civicrm/a/' in civicrm/CRM/Mailing/Controller/Send.php for quite a while.


Difficulties generating an entity's DAO and SQL for a new extension

civix generate:entity is experimental and, last I checked, broken.

When I need to do this, my approach is as follows:

create my XML file for the new entity
run a helper script to generate the SQL and DAO

Have a look at the helper files in CiviVolunteer for guidance; they should work for any project with minimal modification.


What is Cron? It keeps on telling me that it's not running

See here: https://en.wikipedia.org/wiki/Cron

It's probably not that it's stopping - but that it was never set up.  CiviCRM won't do any tasks that need to happen automatically - including sending mails, updating membership statuses, etc. - until you set up cron.  I don't think any of the CMSes that support CiviCRM work reliably without setting up cron, either.

I can't explain how to set up cron for CiviCRM without knowing a lot more about your environment - your CMS version and your hosting environment.  If you're using CPanel or a similar control panel for your hosting, there will be a way to set up cron from within the control panel.  There's some instructions on this page that are specific to CiviCRM.


Is CiviHR an extension or a separate application?

When I last looked at CiviHR, it uses CiviCase's functionality to achieve to a lot of things. So having it as an extension on CiviCRM would cause conflict. It is designed to be a standalone application.

Demo links are indeed broken, you can signup for a demo here


Did you make the custom fields 'searchable'?

Because then they should pop up in your report. I tried it on the civi demo
(http://d46.demo.civicrm.org/civicrm/report/instance/29?reset=1) and there they showed up.


Enabling 'New Organisation' button for Current Employer field in View Contact

As you discovered, the system expects to have 3 reserved profiles: "new_individual", "new_organization" and "new_household". If you accidentally deleted or renamed those profiles (machine "name" field not the user-facing title) I suggest naming them back, or else creating new ones with those names.


How do user permissions work for multi-level organizations?

Yes - I've done this several times.  Many organizations with a chapter/branch format do this, such as IMBA, Wikimedia Foundation, the Australian Green Party, and many others.

There are several different approaches you can take.

The "easy" approach is just to use built-in ACLs.  Create groups of "staff" and "members" for each chapter, using parent/child groups to handle the hierarchy.  I've done this for a union with 10 locals.  I wouldn't scale this much past that.
The "heavyweight" solution is CiviCRM Multisite  You'll want the Multisite Permissions extension.  Use this approach when each chapter needs its own website.
The middle ground is to use Relationship Permission ACLs.  I haven't used this, but it's helpful if you a) don't need separate sites per chapter, b) you need 3+ levels of organization (sounds like you do), c) You have enough chapters that using traditional ACLs is unwieldy.

As of November 2017, the relevant docs are being reorganized.  Multisite is being separated from multi-level ACLs.  However the original wiki page combining both is still online.


SMTP Socket Error or failed to set sender error....Recipient address rejected: Domain not found; CiviMail keeps trying

I was just encountering the same problem ...

There is already an issue on github: https://github.com/civicrm/org.civicrm.flexmailer/issues/23

It would be really helpful to get that solved. Currently, as workaround, I am switching to PHP mail(), which I expect to cause problems regarding spam reputation...


Why are deleted contacts showing in search results?

I think this is already reported on git lab and has fixed at https://github.com/civicrm/civicrm-core/pull/17798
The fix is available in 5.27.2 version of Civi. Try upgrading Civi to 5.27.2


Export participants with Membership data

Perhaps a slightly less cumbersome approach might be to create smart groups for the participants in each event for which you want to pull this information (that might be a useful thing to have in any case - for example, if you need to email your participants), and then run a membership report or search for contacts by event participant group.  You might even be able to get around the need to create multiple lists by trying the "Contribution and Membership Details" report, searching for people in your group with event fees (if you're charging for the event) and pulling the membership details for those folks.

Lesley


Parent's emails should be visible from the child's "Relationships" tab without actually clicking through to the parent.
Alternatively, the Relationship Block extension allows you to put the parent's info on the summary screen.  Not ideal, but it saves you a click.

After that, I think you're looking at commissioning an extension, or a modification to an existing one.  It probably wouldn't be hard to include a clickable email address via the Relationship Block extension.  Doing a "shared email" extension is pretty doable these days also, due to some under-the-hood improvements in CiviCRM 5.


cron on drupal8: can't handle separate paths for vendor and library

I use cv to run cron on D8, e.g.:

12,27,42,57 * * * * /usr/local/bin/cv --cwd=/var/www/crm.mysite.org/web --user=admin --quiet api job.execute


How to display a frontend CiviMember page?

Please try to create a contribution page first and then test the contribution page by embedding against wordpress page

Once I did face similar issue - word press needs a contribution page to be created as a base - please give a try and test

If everything works fine with contribution page then try embedding your standalone profile that should work

If it fails let me know. so i will investigate more - thanks


Menus disappear on update to 5.20.2 (Wordpress)

The definition of $civicrm_root was indeed the problem; in my settings.php (which had been working for a while) the path used Siteground username (as does DocumentRoot), whereas this should be replaced by the generic 'customer.'

How I got there:

It was obvious that something was wrong with the Resource URL, but I couldn't figure it out (as the comments should make clear). So I reverted to 5.19.2, made a full-site backup, and then uninstalled CiviCRM completely: plugins/civicrm, uploads/civicrm, and the db. Then ran a fresh install to autogenerate a new settings.php file, which I downloaded.

Then I restored the full-site backup & ran the CiviCRM update as normal, except that I put the newly-generated settings.php file in place before upgrading the db. This worked, fortunately, and the only difference between the settings files was the one described above.


How do I install an extension directly from git?

Yes, that's all you need to do!  In my experience, flushing the cache is unnecessary though.


The problem was caused by the max_input_vars php setting being too low.  The effect of this is that $_POST is truncated and therefore the form was failing the required field validations since the data was not actually reaching the form.
Raising max_input_vars from 1000 to 2000 in php.ini resolved the problem.
However, if the profile does not have validation rules the form is processed with the truncated data resulting in data loss (depending on the field type).


Email Redirect to Database setting for civicrm-settings.php?

Yes its possible to set Outbound email to 'Redirect to Database' by simply adding 2 lines in your civicrm.settings.php

global $civicrm_setting;
$civicrm_setting['Mailing Preferences']['mailing_backend']['outBound_option'] = 5;

Note: If global $civicrm_setting; is already present then no need to add it.


I got this error after I override the civicrm.settings.php

Make sure the path has required permission for apache to write a file in it. This errors are usually occur due to permission issues.


Removing avaliable languages from Localization

You can't do it right now using UI. It's a known limitation. cf. https://issues.civicrm.org/jira/browse/CRM-10006

It's not a high priority bug right now (not scheduled for a fix).


Contribution Tab not visible after upgrade to 5.2.1

Switch in English language. In "display preferences" you will find the un-flaged contribution field. Flag it and return in Italian language. You will see that it works. I do not know what the reason is, but it works.

"...a buon rendere!"    ;)


The Note is stored separately, so you can get it via chaining:

$result = civicrm_api3('Relationship', 'get', array(
  'sequential' => 1,
  'relationship_type_id' => 6,
  'api.Note.get' => array(
     'entity_table' => "civicrm_relationship",
     'entity_id' => "\$value.id",
  ),
));

To do that with the API explorer, use the Chain API Call button and enter the note parameters as JSON: {'entity_table':'civicrm_relationship', 'entity_id':'$value.id'}


What is the recommended way to upload husband and wife data from csv file

This is an excellent question, and it has more to do with how you want to use your data than with the technology.

Most CRM experts will tell you that the "right" way is to make the husband and wife each into their own contact, and create a "spouse" relationship between the two.  You could also consider using "address sharing" so that updating one address updates both, if you like - though I don't think there's a way to do that from an import.

Of course, the reality is that if it would be a ton of work to handle them separately (e.g. the spouses' names in the CSV aren't in separate columns) and you only deal with them together, you could "cheat" and upload them as a single contact.

Assuming you want to do it the "right" way, I would do the following:

Add a new column called "spouse identifier", which is a serial number: 1, 2, 3 etc.
Import the first spouse, with their name, cell #, address, etc.
For columns that belong exclusively to the spouse, use the "related contact info" to select "Spouse Of" (see screenshots 1 and 2 below).
Finally, do the same with "spouse identifier", setting the field to the "Spouse Of" "External Identifier".

When you're done with this import, you're almost there - you'll have both spouses imported, each with their own cell #.  The shared contact info will be on the first spouse but not the second spouse.

To add the shared contact info to the second spouse, import a second time.  However:

Only import the "spouse identifier" field and any shared contact info fields.  Don't import any other columns.

CiviCRM will use the external identifier to understand that you're adding additional contact info to the second spouse.


Certain Themes break WYSIWYG in wordpress

If anyone new is having this problem, the solution is to upgrade to CiviCRM 4.7.31+.  CiviCRM ships with the BackboneJS library; so do certain WordPress themes.  Sometimes that causes a conflict.  Conflict mitigation was added in 4.7.31.


How to change membership type parameters to effect a revised end date

Hmmm not too sure about this @Graham, memberships is not entirely my field of expertise. Is this a case of a change at one date (as I suspect) or does the data need to change over the year? If it is a one time change you might try in a test environment to change the data in the civicrm_membership table and see if that works?


Require suggestions on how to handle custom 'contribution'

Yeah you probably want to add the custom fields to the contribution record, that way every new registration will be a new contribution and the fields will be blank each time for the user


Is there any way to make a normal textarea in civi editable using CKEditor?

So we looked at how one of the existing CKEditor-enabled fields on the page was processed in the civi code base (we chose the footer_text slightly further up the Online Registration page) and tried to replicate the same processing with the confirm_email_text field.

Based on this, we changed two files.

1. civicrm/CRM/Core/I18n/SchemaStructure.php

In the original Civi code on our version this had the following settings for confirm_email_text:

      'confirm_email_text' => array(
        'type' => "TextArea",
        'rows' => "4",
        'cols' => "50",
      ) ,

We changed this (it was around line 644) to:

      'confirm_email_text' => array(
        'type' => "RichTextEditor",
        'rows' => "4",
        'cols' => "50",
      ) ,

In other words, we changed the type from 'TextArea' to 'RichTextEditor'.

2. civicrm/CRM/Event/Form/ManageEvent/Registration.php

In the original Civi code on our version this had the following settings for confirm_email_text:

$form->add('textarea', 'confirm_email_text', ts('Text'), $attributes['confirm_email_text']);

We changed this (it was around line 423) to:

$form->add('wysiwyg', 'confirm_email_text', ts('Text'), $attributes['confirm_email_text']);

In other words, we changed the first argument from 'textarea' to 'wysiwyg'.

One more note

This code sufficed to display the CKEditor instead of the default textarea, and to save and retrieve the text that was written into it. However, during testing we found that our emails were not displaying images that had a src with a % sign in it properly. This was remedied by altering our Message Templates. They had the following line in them by default for including the custom confirmation text at the top of the confirmation email:

{$event.confirm_email_text|htmlize}

We simply removed the htmlize filter, so instead we had:

{$event.confirm_email_text}

This seemed to deal with the problem.

I should note that we removed the line of code mentioned in my original question from Registration.tpl before implementing the actual working solution above.


What differences are there between CiviCRM 4.6 and 4.7?

The performance improvements to move from 4.6 to 4.7 when you have a large installation is, in itself, worthwhile (we did it when we had about 500k contacts, we would have done it earlier if we'd known how much faster some things were). If you go for a big upgrade, I recommend you to move to php7 too.

As for the features, this blogs list a few, but it's more than a year old.

Since January last year, the bunch of the new features and developments have happened on 4.7, both in the core and in extensions. Whatever need or problem you are, it's way more likely someone else has already sorted it out or is working on it in 4.7, not in 4.6.

And in any open source project, being where the community is is in itself a good reason enough to go through a major upgrade.


No that is not possible. The tokens in CiviCRM are used in letters/emails. So they are used for communication with the contacts in your database.

Also note that a token in CiviCRM is always related to a contact.


Is there a Civicrm hook for new contact/user insert?

Check out this post, which uses CiviCRM Entity and Rules to create Drupal users when Civi contacts are created.

Within the CiviCRM Entity module, check out the function civicrm_entity_action_create_user() to see how the username is set. You could patch it to implement a way to choose a username field/pattern, rather than hard-coding it to the Civi Display Name field.


Payment Processor Error - Can't find valid value for PP

I guess you have turned off CiviContribute component.


That looks like your extension is deleting the entity tag?


closing as I think the problem is in CiviCRM - sending test mailing works, whenever I send a full scheduled run it falls over and bounces everything. So the error is in CiviCRM (or my config of it) rather than SparkPost.


How to show civicrm toolbar in drupal also?

To answer your question, I wrote a module:

https://www.drupal.org/project/civimenu

The code snippet I posted below probably wouldn't work because of timing issues (by the time the block was being printed it's too late to add the header). Seemed better to package it up into a module. Enjoy.


Combining Event, Membership & Contacts into single report

If you are using Drupal, you can create a View that shows all that data. When you build the View, on the right click Advanced and in Relationships add the CiviCRM tables so you can show both Event & Membership data.
Add the Drupal Views Data Export module so you can download the results and print it.


How to show paidby and check_number on Contribution - Receipt (on-line)

I figured out myself.

Put this API call somewhere upfront in the template. This retrieve contribution payment method by ID. (Get the whole record if removing "return" parameter.)

     {crmAPI var='apiResult' entity='Contribution' action='get' return="payment_instrument_id" contribution_id=$contributionID}

At where it should be displayed:

     {foreach from=$apiResult.values item=contribution}

         {$contribution.payment_instrument}

     {/foreach}


Upgraded to 4.6 Civicrm javascript errors Error can't send email or press some buttons

issues.civicrm.org is down right now - but I see this issue: CRM-12570 "Javascript error when mootools is loaded in Joomla backend".  I'll also note that everyone reporting this problem is using Joomla.  So my guess is that there's a Joomla plugin that's causing a jQuery conflict or similar.

To troubleshoot this, I would:

Disable all your other Joomla plugins.  I hope you're doing your upgrade on a dev server before doing it on a live server!  If disabling all of them solves the problem, start turning them back on until you can identify which one has the conflict.
Check your Net tab in your browser's developer tools when loading a page on your site vs. on the demo Joomla site.  Are there any errors, or unusual JavaScript files on your live site compared to the demo?  If so, identify their source.


"DB error: already exists" when creating a Drupal user who already exists as a Contact in CiviCRM

How are you trying to create these Drupal user accounts? We have used User Import module : https://www.drupal.org/project/user_import - for this and it works great. It's really neat in that you can export a Group of Contacts from your CiviCRM -> batch CSV upload them into Drupal using user_import module + create AccountNames (e.g. FirstNameLastName format) and/or dispatch links to everyone as you create their accounts.

For details please see here: https://wiki.civicrm.org/confluence/display/CRMDOC/Creating+a+Drupal+user+for+every+CiviCRM+contact


How to add many event's participants to a single group

couple of options

if you go to Participants for your event eg http://d46.demo.civicrm.org/civicrm/event/search?reset=1&force=1&status=true&event=3 then you can select all and 'add contacts to group'

or if you have the Event ID then Search Builder accepts the id for an = query on Event - ie entering 3 gets me

18 Contacts
Event = Rain-forest Cup Youth Soccer Tournament

So your query would be
Participant > Event > '=' > 3

in the example above.

Any help?


Why is offline contribution sending an online receipt?

Let me tell you how I answered my questions above.

Why is an online receipt being sent for an offline action?

Typically, this sends the right receipt, as the original action was taken online. However, when the contact makes an EFT contribution, and it is uploaded to CiviCRM, there is no online action (not involving CiviCRM, anyway). So in this case the use of an online receipt introduces the wrinkle that there is no Contribution Page or Event Registration Page, and no Line Items. So details that the online receipt is expecting are missing.

Should I hack the code to use an offline receipt?

For me, no. The workflows in the code were a bit too different for me to easily resolve/refactor. That would be a major project in its own right.

Should I continue using the online receipt but get more data into it?

This is the approach I took. I modified the message template for 'contribution_online_receipt' to include at the bottom of the HTML ...

{if !$contributionPageId}
  <no-contribution-page/>
{/if}

... to introduce a HTML element if no Contribution Page was supplied.

My implementation of hook_civicrm_alterMailParams() looks for this element, and if found replaces it with the details I want ...

Financial Type
Receipt Date
Paid By (instrument)
Custom fields that have visibility 'Public pages' (eg, we want to show people details like 'donation purpose' but not 'internal category X')


How do I include the contact image in a profile?

If you are indeed using Drupal, a better option for displaying this information might be Drupal Views, which you can use to format and display most of the fields I suspect you would need for this kind of directory.  (You could even use Views PDF to output it as a PDF document, if you really want to take control of formatting, text/image placement, and printability.)  I'm not sure that profiles will get you where you need to go for displaying/outputting information.

Hope this helps,
Lesley


CiviEvent: Scheduled Reminders going out late

Check the run frequency of the scheduled job called Send Scheduled Reminders at Administer > System Settings > Scheduled Jobs.

It may just be set to Daily. Change it to Every time cron job runs. Then make sure your run frequency of your cron job is set to something more often, like 15 min.


Reports show 4 warnings after upgrading from 5.4 to 5.10

These are fields that have been phased out. Deleting these reports and creating them anew from the core report templates will have solved the problem.


Contribution recorded but no membership created when account creation is used

Oh no! It looks like you've found a bug!

Here's how to take care of this pesky critter:

1) Check in the Drupal watchdog and civicrm log files for messages that occurred around about the same time as the contribution.

2) Establish if the contact was created in CiviCRM (your post doesn't explicitly say it was). If so, is it tied to the contribution and Drupal user?

3) If the answer to the above is yes, establish if you can create memberships on that user with the CiviCRM api.

4) If the answer to 3) is yes, then it should be possible to establish where in the code the critter is, put breakpoints around it (or use debug output or die commands) to establish where the error is. Finding out what parameters are going in is usually the thing to do here - so many times SQL queries end up trying to insert an illegal empty string or similar.

When you have that information, you have enough to file a bug report with the core team!

Hope that helps,

John


Welcome to CivICRM SE! You can get a report for the Republic of Ireland using the standard reports and filtering on Country, but CiviCRM doesn't have a field for the countries withing the UK by default. I don't think it would make sense to edit the Country field in the postal address unless you will never have any postal addresses outside the UK/ROI.

You will have to create a custom field for this. Obviously you can enter this manually when you set up the contact. You could populate this automatically from the postcode, but this would require some lookup from postcode to UK country (for example https://www.robertsharp.co.uk/2017/08/09/a-table-that-shows-the-uk-region-for-all-postcode-districts/ has the mapping) so would require some coding. There is a postcode lookup extension https://civicrm.org/extensions/uk-postcode-lookup but I think that's for looking up addresses and won't provide the UK country. Also be aware that postcode isn't the same as administrative area. For example Hay-on-Wye is in Wales, but has an English postcode. Hope that helps.


I was able to achieve this using webform in drupal


Please refer to this link https://civicrm.org/partners-contributors to get/contact a CiviCRM expert in your area


I solved this problem.

When I did the initial import, I used a dummy start date value of 01/01/1961 for members that had a null value for start date. I believe this date caused the problem.  I changed the date to 01/01/1995 and the import worked, plus I can see the data.


The limits are listed here: https://developers.google.com/maps/documentation/geocoding/usage-limits

It looks like you've set throttling so it probably isn't a queries-per-second problem.

You can log into your developer console at google to see how much you actually are using. I'd start there.


CiviMail shows unexpected groups when selecting recipients

Similar issue is filed here for which I've submitted a PR at https://github.com/civicrm/civicrm-core/pull/6366

Hope you can see Groups permitted by ACL now:)

Update : If you can also see the groups not configured for mailing list, please upgrade to the latest CiviCRM version.


Recurring Donation Email Issues with iATS payment processor

It's because iATS does not do IPNs. It's not specific to iATS (it affects all processors that don't do IPNs - and that number has been growing).


Is there an easy way to have the summary fields for deductible contributions be based on calendar year?

Pretty sure this is now available either in Summary Fields itself or via https://civicrm.org/extensions/joinerys-more-summary-fields


Email from case - subject line change to Case ID

For Emails sent from Manage Case to case roles, there is hook_civicrm_alterMailParams that can be used to alter the subject. Here's some (maybe-not-the-greatest) code I have from an earlier customization. Note that the logic here will remove the hash whether it actually finds the case or not, which was desirable at the time but in those weird scenarios you might prefer it to leave the hash, in which case just move that part down inside the if ($case_id) block.

function myextension_civicrm_alterMailParams( &$params )
{
    if (preg_match('/\[case #([0-9a-h]{7})\]/', $params['subject'], $matches)) {
        $key = CRM_Core_DAO::escapeString(CIVICRM_SITE_KEY);
        $hash = $matches[1];
        $sqlParams = array(1 => array($hash, 'String'));
        $case_id = null;
        $dao = CRM_Core_DAO::executeQuery("SELECT id FROM civicrm_case WHERE SUBSTR(SHA1(CONCAT('$key', id)), 1, 7) = %1", $sqlParams);
        if ($dao->fetch()) {
            $case_id = $dao->id;
        }
        $dao->free();

        // remove the case # part - can't do it through message templates since hardcoded in Contact/Form/Task/EmailCommon.php. Note also Activity/BAO/Activity.php removes it before saving on the case but that's after it sends it.
        $pos = strpos( $params['subject'] , '] ' );
        if ( $pos !== FALSE ) {
            $params['subject'] = substr( $params['subject'], $pos + 2 );
        }

        // Now add the real case id if found
        if ($case_id) {
            $params['subject'] .= " [case #{$case_id}]";
        }
    }
}


In 4.6.12 CRM/Contact/BAO/Query.php I've added this case in convertFormValues() to fix this - someone may do it more beautifully:

elseif (!empty($values) && is_array($values) && self::isCustomDateField($id)) {
    $from = FALSE;
    if (array_key_exists('from',$values)){
        $from = $values['from'];
        $from = CRM_Utils_Date::processDate($from);
    }
    $to = FALSE;
    if (array_key_exists('to',$values)){
        $to = $values['to'];
        $to = CRM_Utils_Date::processDate($to);
    }
    if( $from && $to){
        $q = array('BETWEEN' => array($from,$to));
    } else if ($from){
        $q = array('>=' => $from);
    } else if ($to){
        $q = array('<=' => $to);
    }
    $params[] = array($id, '=', $q, 0, $wildcard);
}

This handles the case when the custom field is a date but the supplied $values is not a single value, but is instead an array with from and/or to values.


Although not clearly stated in the civix documentation, a full running mysql database is mandatory with the CiviCRM application for an api generation.
A good reason for me to have an online clone of my site for testing.


Upgrading from 4.4 to 4.6 stalls - Wordpress

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