I would take a closer look at the event calendar extension and check which permission exactly it needs (something more specific like "CiviEvent: view event info" might work) - if that's not the case, I would file an issue with that extension as it's probably a bug. Ask the extension author to change the permission check to "CiviEvent: view event info".


Upgrade Does Not Pass [Executed: Begin Upgrade to 4.7.19]

I used drush civicrm-upgrade-db and it appears to be working perfectly.

I had already put the  4.7.29 files in /sites/all/modules/civicrm so only the database had to be upgraded.

-Josh


Migration of data from CiviCRM Drupal 7 to CiviCRM in WordPress (Version 4.9.4)

You can migrate the CiviCRM data between different CMS platforms but there are several steps to go through.  See Switching CMS platforms and Moving an Existing Installation to a New Server or Location to understand the issues involved.

Make sure you use the same version of CiviCRM on the Drupal and WordPress sites.  You can upgrade later.

Moving other Drupal content to WordPress is a different issue.


Exporting Drupal user account ID's through Civi search

We needed to do something similar, though not GDPR related. Because the Export does not access the Drupal user fields, we created a simple View (page display) to give us this data, based on CiviCRM Contact.

We also used the Views Export Data module and 'attached' the csv to the Page above. Note the page is not required, you can simply use the csv display via the URL you configure for it.


Why after importing contact records were Addressee field values set to "Customized" for records where Custom Addressee had a null value?

I came across the same issue after upgrading a very old civicrm DB to latest (4.7.27)- i ran the following simple queries to reset to my default IDs (listed at civicrm/admin/options/addressee?reset=1 )

UPDATE civicrm_contact
SET addressee_id = 1
WHERE contact_type = 'Individual';

UPDATE civicrm_contact
SET addressee_id = 2
WHERE contact_type = 'Household';

UPDATE civicrm_contact
SET addressee_id = 3
WHERE contact_type = 'Organization';

I didn't need to retain any existing or "customized" but if one did, adding AND isnull(addressee_id) should work


Webform CiviCRM Paypal Button not Working

You may have found a bug in the webform_civicrm module. I don't have a great way of testing paypal right now, but I've just made a few tweaks which I think will help - can you try it out?

Download the patched version here: https://github.com/colemanw/webform_civicrm/archive/ipn.zip


Can I get a notification emailed to me every time a contact with a certain tag is updated?

I think meeting all these requirements would involve custom code. Some possible approaches to meet some of the requirements...

(1) In Advanced Search, search for contacts with the relevant tag and under Change Log, modified date yesterday. Save as a smart group. Then set up a Constituent Detail report filtered by this smart group. Have it emailed daily.
This will not give you the contacts' previous data.

(2) Enable logging, at Administer -> System Settings -> Misc. Use the Contact Logging Report.
This does not allow filtering by tag. However this feature could be added, with code customisation.

(3) A custom solution using the civicrm_pre hook to provide real-time notification of changes. This could include before-and-after values.

(4) A custom solution running under cron, using Civi logging to check for changes and retrieve previous values.


Issue exporting and importing Contacts / Membership data

We had a similar problem importing from an old (non CiviCRM system) and I wanted to make the old membership numbers the Contact ids on the new CiviCRM system. Fortunately membership numbers 1 & 2 were not in use so no clash with the initial admin and organisation contact records. There were some gaps in the old membership numbers and I was also quite happy that new Contact ids would also include none members. All I needed was for them to be unique and increasing.

In my contact import file, I added dummy records for all the missing Contact ids (except 1 & 2) and added an "ZZZZ" in the last name field with the rest of the fields in a valid format, but meaningless. I imported real and dummy records matching Contact Id as (new) External Id and then deleted the records with "ZZZZ" in the last name. All the kept new records have the same Contact Id as the old system membership numbers (or old Conact Id in your case.

If the expanded import file is very large, you will probably need to split it to avoid timeouts.

You can then use the Contact Id to match the membership records.

Hope that helps.


Seems to have been related to an extension, when I removed the extension I was able to get everything working again.


Change Drupal username when auto creating using tags

There's an unreviewed patch to the CiviCRM Entity module that tackles this.

To clean up and remove a tag, you can easily set up CiviRules to just delete a tag as soon as it's created.


CiviCRM Dashboard endless loading… + Warning: file_exists(): open_basedir restriction in effect

As your comment details, WordPress is installed in it's own directory public_html/wp

Currently, CiviCRM has issues with WP in it's own directory as detailed here:  https://wiki.civicrm.org/confluence/display/CRM/WordPress+installed+in+its+own+directory+issues

There are some patches, but at this time a standard install of CiviCRM will not work unless WP is installed in the webroot and not in it's own directory.


What's the rationale behind the new Civi folder in civicrm?

According to the developer docs on namespaces, the two standards represent two eras of trend in programming standards:

  CRM (e.g.: CRM_Core_Invoke) classes use PEAR-style class-naming conventions that were common up until PHP 5.2. Class names include underscores and MUST NOT use the PHP "namespace" directive. Use CRM style when creating classes that plug into existing CRM subsystems such as payment processors (CRM_Core_Payment) and reports (CRM_Report).

  Civi (e.g.: \Civi\API\Kernel) "Civi" classes use PHP 5.3 namespaces. They MUST use the "namespace" directive. Namespaces are designated with "\".

  ...snip...

  The Civi namespace uses composer's PSR-0 autoloader. This autoloader does not support custom PHP overrides.

Obviously the developer costs of a refactor are prohibitively high and fraught with inter-operability difficulties with all the extensions, PHP versions etc. (I'm frequently shocked how many organisations still run CiviCRM on an unsupported (read: insecure) version of PHP.)

So CiviCRM started with PEAR's conventions, then jumped on the PSR-0 bandwaggon.

PSR-0 has been deprecated since 2014, so maybe we might have \CiviCrm namespace soon that follows PSR-4 and the CiviCRM brand guidelines about not shortening the name to Civi?

It's so hard staying fashionable these days and CiviCRM's rocking the retro


For some reason, the back up hadn't recorded the updated version of CiviCRM (it may have happened before I reran the update script) so when I checked the domain table in the back-up just now, it was still showing version 4.7.29. I did a manual back-up AFTER double-checking the domain/version was correct in the WordPress site, then I copied over the database tables again and it's working.


Using the wordpress plugin, how do I overide the the template files, ie EventInfo.tpl?

If you need to over ride a .tpl you can just do that by creating an extension or by using custom template folder in civicrm

which will be more easier - also, in the time of upgrade you need to compare the file and do the changes

More reading:
https://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+an+Extension

I guess this helps !!!


Importing Contribution should update Membership period

There are two issues that you have to deal with when importing membership payments in order to extend your memberships:

You should connect the contribution (mebership payment) with the correct membership after the import. Technically you don't have to but it makes a lot of sense in order to keep a good overview.
You need to extend the membership (set a new membership end date)

The bad news is that afaik there is no user interface in CiviCRM-Core that allows you to connect existing payments with memberships. CiviCRM only offers to extend a membership and create a corresponding payment at the same time, but that does not work if you already have imported the payments.
There are also scheduled jobs that can change your membership status but that will probably not solve your problem either (a lot of information on renewal concepts can be found in CiviCRM's documentation).
The good news is that there are some extensions that can facilitate both connecting payments and memberships as well as extending your membership (e.g. by extending it's end date), for example this one:  https://github.com/Project60/org.project60.membership
It can do much more than only connecting memberships and contributions via the UI so make sure that it's not an overkill for your purposes ;)
Unfortunately, there is no coherent documentation so for some features you may want to contact the maintainer (Björn from SYSTOPIA) for info and/or add to the documentation once you know your way around the extension.
If you only want to connect payments & meberships, https://github.com/CiviCooP/org.civicoop.membershippayment may do the trick.


How to use civicrm to achieve campaign requirements

CiviCRM is very well capable of doing what you want to achieve. You can store contacts in CiviCRM, adds a custom fields for information specific to your situation. Also you can store an activity of who added the person to the database.

CiviCRM is also capable of importing data from Excel (CSV files) and exporting it to excel.

Have you thought of how your volunteers are collecting this data? Are they using an tablet? Do you get CSV files and import them later on?


specific confirmation email for an event?

Two options!

Use the text in the Event Config -> Online Registration -> Confirmation Email -> this is Event specific and this text/note will be pasted ahead of the receipt Email - so ahead of what is generated by the message template.

Or - if you want to go into more detail:

You can get into the message-template and add some if logic - that would essentially change the message based on {$event.event_xxx}


Activity assignee email not being sent from webform

Looks like this is due to a mistyped variable name.
I've created a bug report for this in the module's issue queue.


How can I find out how many individuals are inputted onto our civi system

Simplest way :

menu Search -> Find Contacts
is - any contact type - -> replace by the contact type you want to count (Household or Individual)
click Search button

In the result, you will see the total count (here 1238 individual contacts) :

You can use another search to have more criteria and get the total count for each. The search result will always show you the total count.


"MySQL support not included in PHP error" in CiviCRM-4.7.10-wordpress

PHP 7.0 isn't supported in CiviCRM 4.7.10.  Please try upgrading to 4.7.12.


CRM_Utils_Array::value how to set value to a hook_buildForm?

Found  an answer here https://wiki.civicrm.org/confluence/display/CRMDOC/Update+custom+fields+in+contributions+and+events+by+passing+variables+in+a+URL

Nothing to do with  CRM_Utils_Array though; just plain simple passing vars via an URL.


I had the same, in both Chrome and Firefox, due to the Referrer-Policy setting of my site. Error was raised with Referrer-Policy: same-origin (or stricter). To resolve it, relax the policy to origin-when-cross-origin for CK Editor.

Apparently, webspellchecker uses the referrer to check if the originating page is CK Editor.


You could just use something like $contactData = $result['values'][0] for your var_dump to test. Your echo should be right, in theory.


I am encountering the same problem, but only with images uploaded via Webform; if I edit the profile, delete the image reference, and re-upload the file, it displays as expected.

The reason is that Webform CiviCRM inserts the image_URL value in the database as the path to the webform upload, e.g. /sites/default/files/webform/NNNN.ext. The CiviCRM handler (CRM/Utils/File.php) expects CiviCRM-style image URLs of the form /civicrm/contact/imagefile?photo=NNNN.ext, and so mangles the path twice, once on reading it and then when it runs getFileURL on it.

Thus, anything dependent on $imageURL will break for images uploaded through Webform or other external mechanisms.

The issue is reported on Webform CiviCRM Integration as Contact Image Upload field integration not working with 4.7, first reported by goron on 29 November 2017, with no activity since. I did not find any corresponding issues filed in JIRA. I am using a hacky workaround but it is specific to our particular environment and installation.


You can also just click in the search bar at the left of the Civi menu and select "Contact ID".


The iATS payments "modify your payments" links fail in receipts to donors. Is there a workaround?

I am on Civi 4.7.25 and iATS Payments 1.6.1
I just tested our receipt links and they work so it must be a settings issue.

I am just taking some guesses here at some possible settings

Administer > CiviContribute > iATS Payments Look for  Enable self updates to recurring ... Is this checked? If not check it and test.
I would check with iATS, Allen or Karin before changing this
Administer > CiviContribute > Payment Processors  Click edit to the left of your ACH or CC processor. Find the Site Url and Recurring Payments URL. What do you have there? I have https://www.iatspayments.com/NetGate/ProcessLink.asmx?WSDL There is another url https://www.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL but again, I would check with iATS, Allen or Karin before changing this. You can change it and test it. If it works great, if not, just change it back.

But if both 1 & 2 match my settings, then we need to look for something else.


Warning "mismatched contact IDs" when trying to update existing individual records

Apart the right answer of Pete (thanks) here above, I have found something else who explain the problem I have : I had two relationships in my import scheme: the one for the "Member of" relation and the second for the "Employee of" relation. This cannot work... and I need to make two separate imports for each relation.


Stripe extension fails with a new account (civi 4.7.20)

I have just upgraded Stripe Extension to 4.7.dev, which solved the second issue (stripe.js token not passed).

I close this post and open a new one to be more precise concerning the first issue (payment goes to an other account) : see :
 Webform Contribution Payment is paid to a wrong Account


Here is the documentation to setup bounces in Civi.
Also there are various third party mail providers available that captures bounces and for most of them extension are available in CiviCRM to record bounces eg Mandril, Sparkpost, Mailchimp etc


Migrating database into a newer version of civicrm?

If you want to migrate the complete database you should indeed do the following:

Set your old environment in read-only maintenance mode
Set up the new environment (CiviCRM & CMS) using exactly the same versions
Migrate the databases
Update CiviCRM and CMS to the latest versions
Properly test (quite some changes between 4.4. and 4.7)
Go-Live or rollback

As an alternative (if your data isn't too complex) you could export everything you need as csv-files and either use the UI import function of CiviCRM to import into the new environment or give Eileen's import extension a shot.


just wondering - you are saying Profiles - are you absolutely certain you aren't referring to a 'group of custom fields'. This would make sense if you have added lots of groups of custom fields and set them to apply for 'all' events. they would then show for a back end registration.

If so there are two steps to consider

a/ do not make custom fields 'required' - only set them to required in the profile

b/ set the 'group of custom fields' so they only apply to certain Event Types


Is it possible to make groups mutually exclusive?

I don't think there is any way you can do this using Tags or Groups. The alternative would be a custom field of type radio, and then build Smart Groups off those options.


Expired memberships being erased by new memberships using Webform

Sounds like you want to check out how to send existing members a renewal link via CiviMail. Webform CiviCRM provides you a handy link on the CiviCRM tab and an explanation.

The key concept here is that you can send contacts a special/unique-to-them link to the renewal page that bakes in their existing contact id so that the page already knows them and their membership, making the renewal easier for them and for CiviCRM.


There are a couple of ways to do this, but here is the one that I prefer.

Decide how you'll name households. CiviCRM household names are arbitrary, so you can so something like "Jane and John Smith" or "Smith Household". Use a spreadsheet function to populate that field in your spreadsheet.
Import the households as households. Include your membership number as External Identifier. Include your new Household Name field.
Create a unique identifier for your individuals as a new field. Use a spreadsheet function to append "A" to the member number on the first spouse and "B" to the member number on the second.  The result would be that you have member number 1234 and individual number 1234A on the one spouse and member 1234 and individual 1234B on the other. On the second spouse, add another field with the individual number of the first spouse.
Import your individuals with numbers ending in A. Include the member number, and import the field as "Household of - External Identifier". Include the new -A number you created as External Identifier.
Import the "B" spouses as individuals. Include the member number to create the household relationship and the -B number as the External Identifier. Finally, include the corresponding -A number as "Spouse of - External Identifier".

The result should be households that have relationships with the individuals and individuals with relationships to each other.


Profiles on contribution pages that contain an e-mail address will have that e-mail address suppressed.  So if you create a profile with just an e-mail address and add a CAPTCHA, you should get the results you're looking for.


You can also check the version from the file: civicrm-version.php
in the downloaded folder of civicrm.

File path : civicrm/civicrm-version.php


Migrate Wordpress installation to new server

The instructions here how to back up databases using phpMyAdmin used to work for me.  The author wrote:

  “Disable foreign key checks” isn’t always necessary. I do a lot of CiviCRM work. Restoring a CiviCRM database will fail unless this option is enabled in your export.


Civi 5.9 not serving extension javascript in WP 5

WordPress/CiviCRM can have trouble resolving tokens like [civicrm.files] if you have a symlink in your path.

If you're having resource URL issues, I recommend replacing the tokens with absolute paths (with no symlinks) in Administer » System Settings » Directories as well as checking Administer » System Settings » Resource URLs as Aidan suggests.  It sounds like your CIVICRM_UF_BASEURL is set correctly in civicrm.settings.php but it never hurts to check.

A permanent solution for this is underway: See https://lab.civicrm.org/dev/core/issues/1497.


Fatal error: Class 'DB_DataObject' not found in /sites/all/modules/civicrm/CRM/Core/DAO.php on line 49

can you delete the existing civicrm folder and untar it from here https://download.civicrm.org/civicrm-5.13.4-drupal.tar.gz and perform upgrade?


Upgrade to CiviCRM 4.3 failing on DROP FOREIGN KEY

This appears to be identical to CRM-12458.  Which is unusual - most cases where you'd get this error were solved in CRM-11260 but there are still edge cases that can cause this.

I would read those links in full - but my guess is you should edit CRM/Upgrade/Incremental/php/FourThree.php.  Remove the four highlighted lined at this link - that is, lines 883-886.

Since you're dropping a foreign key constraint that doesn't exist, there should be no difference as a result of removing these lines.  Note that you may have to remove some of the following lines if you get similar errors.


Update to WP 4.3 Broke CiviCRM Dashboard in CiviCRM 4.6.8

I wonder if you still need help with this or not. I tried to replicate with WP 4.3 and Civicrm 4.6.8 and dashboard was loading without any issues, i would suggest update your wordpress version to the latest at of now, 4.9.1 and i think problem will be solved.

Thanks


Using CIVICRM to manage a Fundraising Dinner

It might involve both an event and a campaign. You can set up a campaign with a financial goal, etc. and then create an event for the dinner itself that is tied to that campaign.

If you're using Backdrop or Drupal you can use Webform CiviCRM to set up a registration form that allows entry of both contacts, flexible webform-style payment options, and can also connect them via a relationship. With a core registration form you could allow the user to register multiple people, which could work depending on your pricing structure.

For reports, you can use core reports or custom searches to filter on that event or campaign specifically.


CiviVolunteer (2.1.2) doesn't show the opportunities in the frontend on Wordpress (4.6) with CiviCRM (4.7.10)

This did the trick for me:
/civicrm/?page=CiviCRM&q=civicrm/vol/#/volunteer/opportunities

instead of:
/civicrm/vol/#/volunteer/opportunities


Error 500 on Print/Merge Document page when doing Thank-Yous

General recipe for Errors like that is to find a clue as to what's going on in the log files: first two places to check:

check the CiviCRM log in /files/civicrm/ConfigAndLog/
check your php and/or php-fpm error log (location of that depends on your install one possible option is: /var/log/httpd/


How to redirect to a static url after member signup

In order to do what Joe suggests pretty certain you will need to have installed Front End Page Options extension otherwise the 'redirect' option won't exist.


PCP is still active after contribution page is disabled

Ok I was able to confirm this is also happening with Event PCPs - though the error message is a little easier on the eyes - which really helps (the red and black letters on the yellow background you get for 'not available' Contribution PCPs make it look like the site is broken).

Re: Answer as to what should happen may be different for Event PCPs vs Contribution PCPs - I'd be in favour that the PCP remain non-functional. Once you conclude an Event and have done your books/finances on it you want to be able to file it. Same with Contribution PCPs (which will often have a Campaign associated with it). There needs to be a date where you can say with confidence: this Event or this Campaign raised $x;

So my vote would be for option 4 [a nicer error message] - you may be able to get that into Core without too many issues.

For our Event PCPs we use Views to get people to their nice looking PCP page - which then with a Donate button links to the donate page that will show the 'currently unavailable' message. That means we have the option to notify donors ahead of time that the Event/Campaign is no longer active by filtering out non-active Events in the View - and in addition: people are naturally promoting their nice looking PCP page - which remains active/functional. But there we could grey out the button.


Drush civicrm-install failing with 'undefined function module_enable'

Are you certain you're looking at Drupal 7? module_enable() is a core function in that version, but was removed in Drupal 8. Files like core/lib/Drupal/Core/Extension/ModuleInstaller.php also indicate a Drupal 8 codebase, not Drupal 7.

As of April 2017, CiviCRM is not yet fully functional on Drupal 8, so I'd suggest you try again with Drupal 7 if you want a working solution today, or get involved with the effort to make Drupal 8 happen (see previous link for how).


The REST API requires that you specify the site key and an API key.  Details can be found here.


What are the security considerations before allowing access AJAX API to anonymous users?

Is the visibility for your field defined in the profile as Expose Publicly and also with the Searchable checkbox checked? You might not have to fiddle with permissions.

Otherwise to directly answer your question, some of the other permissions might still restrict undesired actions, but among other things it gives access to the REST api (via civicrm/ajax/rest), so you'd have to check what your other actions are allowing. For example you could open a developer tools console in the browser and type (this uses civicrm/ajax/rest behind the scenes)

CRM.api3('Contact', 'create', {
  "contact_type": "Individual",
  "first_name": "John",
  "last_name": "Smith"
}).done(function(result) {
  console.log(result);
});

which would probably fail because you might not have the add contact permission enabled for anonymous, but you might be able to do something like read all the contributions, depending on what else you're allowing for anonymous.

Also the autocomplete might be limited by whatever you restrict it to in the profile, e.g. limit to a group, but you could use the api to locate other contacts and their info.

The bottom line is it depends what your other permissions are also allowing.


CiviMail Unsubscribe link goes to a generic/undefined Wordpress page

This is now fixed. The solution was to upgrade CiviCRM to the latest version.


There is a new BTCPay extension for CiviCRM.  Source


I am not sure I understand completely what you want to achieve, but if you want to send an email to checks@example.org every time a contact in group Special changes here is what you would have to do:

install the Email API action (https://civicrm.org/extensions/e-mail-api) which will also add the CiviRule action Send Email
add a new Rule with trigger Contact of Any Type is Changed
add condition Contact is in Group and select group Special
add an action Send Email and add email address checks@example.org


Custom Fields are not showing when trying to import a CSV

Multi-value custom fields need to be imported separately using https://yoursite/civicrm/import/custom?reset=1

To find that link, go to the normal contact import screen Contacts > Import Contacts, click the help icon at the end of the helptext, then follow the link at the end of the pop-up help.


WordPress: Creating new WP Users from Civi Contacts

You can use my CiviCRM WordPress Profile Sync plugin to do this, but I can't guarantee that it'll do them all in one go! You'd have to install the plugin, then set a PHP constant in the main plugin file (because it's a feature only really intended for developers at this stage) to enable this feature. Change line 22 to read:

define( 'CIVICRM_WP_PROFILE_SYNC_BULK', true );

EDIT: Better yet, add the above line to your wp-config.php file - then you won't have to re-edit the plugin after each update.

You will then be able to select contacts in CiviCRM and use the Bulk Operations menu to "Create WordPress Users from Contacts". I'd recommend limiting the number of contacts you migrate in each run. And that you backup before you try this.

Did I mention that you should backup before trying this? Oh, good!


CiviVolunteer will not install or uninstall

Go to the extensions page (Administer > System Settings > Extensions) then click the arrow/triangle next to the extension name to expand the section.  That will show Local path where the extension files are.

Just removing the files won't remove the leftover bits of the extension from the database.  If it is partially installed but doesn't offer the option to uninstall then things are more awkward.  If you have command line access you could try cv ext:uninstall ....  Failing that you need to look at the install script in the extension, figure out what it adds to the db then manually remove those things.


Error You do not have sufficient permission to transfer/cancel this participant

Jason, Welcome to stackexchange. Sorry for the problem you facing. There is no specific permission required to cancel your registration and neither the user should be logged in. However the url should have correct parameter i.e contact checksum. eg

http://www.domain.org/civicrm/event/selfsvcupdate?reset=1&pid=53&cs=7f51ab615c6bdcb785d1947e122b1c14_1548964126_inf

If the cs is invalid then you will get above error. So please check if the url is correct and hopefully not encoded.

HTH

Pradeep


Hacked getContactRelationshipSelector in core, how do I implement as an extension?

Since this function is used from an ajax callback, your extension could do 2 things:

Override the template, which allows you to specify a different ajax path for the dt.
Create your own ajax callback which starts by calling that function, then appends its own data.


Why does the link from Membership Dashboard give a search with the wrong results

The url is /civicrm/member/search?reset=1&force=1&status=1,2,3&type=1&owner=1

which suggests the results should filter by Status and Primary but the Status filters are not applied on the search, hence you see 'all' results, rather than just the New, Current and Grace.

Have added a Jira issue for this bug and hope to provide patch at some point.


Can i retrieve an event that i have deleted?

Do you have a (recent) backup of your site? That's what you'd need to restore.


Why do my buttons keep becoming numbers?

I upgraded from 5.28 last night and ran into this same problem. I had an old version of haystack theme installed which was causing the problem (disabling the theme would bring the labels back).
You'll want to disable and uninstall haystack, delete the directory from your wp/uploads/civicrm/ext/ directory and then install the updated theme from here: https://lab.civicrm.org/extensions/haystacktheme
That fixed it for me.


You can turn off this check by setting hidden setting 'allowPermDeleteFinancial' to TRUE either in civicrm.settings.php or using api explorer

global $civicrm_setting;
$civicrm_setting['CiviCRM Preferences']['allowPermDeleteFinancial'] = TRUE;

or

HTH

Pradeep


How can Stripe extension create contact sub-type?

Depending on your configuration, you can do this with CiviRules.

Your trigger will be Contribution is added, and your action will be Set subtype for contact.

The question is the "condition".  If Stripe is your only payment processor, then you're golden!  The condition should be Contribution is (not) paid by, and set credit card/debit card as the values.


How do I export my contacts as a .csv or .txt file?

You can do a search (of any kind) and the resulting screen will have an Actions select menu. Select any or all of your contacts and then you can select the Export Contacts in the Actions menu.  See https://docs.civicrm.org/user/en/4.6/common-workflows/exporting-your-contacts/

You can also run any number of reports and save the result as a CSV.


Why are message templates not appearing when I email a contact?

This sounds like a javascript problem. You could either troubleshoot it yourself or just upgrade to the latest version of CiviCRM which has a rewritten CiviMail interface anyway and so the problem is unlikely to be in the new version.


Upgraded php from 5.6.30 to 7.0.32, civicrm still gives PHP out of date error

It depends on your hosting server.  It is usually possible to specify different PHP versions for command line (eg. php -v) and php that is used by your web server.  If you have no need for PHP 5.6 then I suggest you remove it and that trigger everything to use PHP 7.0.  Otherwise you'll need to look at your webserver/php configuration to make sure PHP 7.0 is selected as default.
Also, worth noting that PHP 7.0 is end of life soon, worth going to PHP 7.1 if available.


For our specific implementation, we ran into an issue with a permissions module we had previously written. We're still not entirely sure what the conflict was, but disabling the module enabled us to edit the navigation menu again.


Keyboard shortcut to access contact Quick Search?

This shortcut and others can be found by clicking on the "Access Keys" help icon at the bottom of many CiviCRM pages.


Tokens when setting up activity scheduled reminder

Yes do add additional values to the template you need to create a tokens on your own by creating new extension or by adding token hook in the existing extension for example for creating tokens please refer to the below link

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

https://book.civicrm.org/user/current/common-workflows/tokens-and-mail-merge/

If you haven't created New extension please refer to the below link

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension


Invalid currency "Arr" when modifying member profile

Looks the record has 'Arr' stored in currency field either in contribution or financial transaction table.


The issue was the Membership Extra module. I have not dug into a specific component. We had not configured it but turned it on. Turning it off fixed the problem.


Go to Contacts > Find and Merge Duplicate Contacts > Add Rule for Individuals and create a 'Supervised' rule - eg:

This probably only works for 'primary' phones rather than checking against all phones of a contact, but unless you have multiple phone numbers per contact, it should do what you need.


How can I customize the page coming after an event registration?

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

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


The graphical api explorer actually fetches all its information about the api from the api. Since the CiviCRM api is available from the command line, you can explore it using the same methods.

Fetch the list of entities:

$ cv api Entity.get
List available actions for an entity:

$ cv api Activity.getactions
Get fields for an entity/action:

$ cv api Activity.getfields action=create


how to add two dropdowns parallel to each other

you need to write JavaScript in order to view the drop drown parallel.

If you are trying this in summary screen just use tab.extra.tpl else please let me know the screen so I will help you.


Can you ensure that you do not have two copies of the civicrm codebase (irrespective of what you might have renamed it to) under

[MYSITE]/

Most likely the error is caused by php finding two copies of the CRM/Core/ClassLoader.php file


4.7.14 Upgrade: Custom fields missing from views' filter criteria

This relates to CRM-19545.  PR-417 will hopefully be released in 4.7.16 but until then, you could apply the patch to restore the previous functionality.


How to enable "Contribution note" field while recording Contribution in the backend?

This is a default field already related with contribution

when creating a contribution just look for "Additional Details" profile where you can find "Notes" add a value to it you will get the same result

Also you can find the field values in the DB table called "civicrm_note"


Check out remote form.
https://github.com/progressivetech/net.ourpowerbase.remoteform
I use it on my WordPress site. It's very clean and nice.
If this answer helped please mark this as answered.
Thank you.


How do I set up recurring donations with Stripe?

I had a similar issue, not sure if it's the same but I applied this patch to correct:

https://github.com/drastik/com.drastikbydesign.stripe/pull/249/files


Suspected external REST API not updating Drupal entities

We believe the bug may be caused by the Drupal hook model which expects to receive Drupal form data which the Civi API is not capable of invoking since, of course, it does not use forms. Shimming the data would have been messy and clunky so in the end we hooked directly into the LDAP module using CiviCRM's edit hooks. Like this:

function ldap_user_civicrm_post($op, $objectName, $objectId, &$objectRef) {
  if ($op=="edit") {
    try {
      $cms_user_id = civicrm_api3('UFMatch', 'getvalue', array(
        'return' => "uf_id",
        'contact_id' => $objectId,
      ));
      if ($cms_user_id) {
        $account = user_load($cms_user_id);

        $ldap_user_conf = ldap_user_conf();

        $bool_result = $ldap_user_conf->synchToLdapEntry($account);
        if ($bool_result) {
          ldap_user_ldap_provision_semaphore('synch', 'set', $account->name);
        }
      }
    } catch (Exception $e) {

    }
  }
}


I was just dealing with this and found your question..

Since you used C:\, i'll assume you're in windows.

TLDR; Try checking your PHP environment variable for 'HOMEPATH' vs 'HOME' and editing the file I mention below.

The first thing I will say is that you can increase verbosity of errors in civix by using -v, -vv, or -vvv options for most verbose. It helped me a lot with this issue.

I will leave the important details of my environment here as well, for others who may find this question:

A working Drupal 7 + CiviCRM 4.7.17 locally installed (manually) with MAMP on a Windows 10 machine, configured to use PHP 5.6.28. MAMP is installed to C:/MAMP and the site root is C:/MAMP/htdocs/drupal/

Civix is installed to C:/Users/"Eli Lisseck"/ and I am seeing the same behavior as you that civicrm:ping throws and exception.

Running the more verbose command civix civicrm:ping -vvv led me to the file C:\Users\Eli Lisseck\civix\vendor\civicrm\cv\src\Config.php line 54.

Check if it is looking for your HOME environment variable correctly, versus what you have under environment variables when you run php -i. I found it was only looking for 'HOME' but what existed was 'HOMEPATH'... so I added at line 52:

elseif (getenv('HOMEPATH')) {
      $file = getenv('HOMEPATH') . '/.cv.json';
      return $file;
    }

Now I get civix civicrm:ping Ping successful

Hope this is helpful!


How to put your CiviCRM Contacts on a Leafleft Map in 5min?

Leaftlet is an open-source JavaScript Library for interactive mobile friendly maps. It only takes a few minutes to put your CiviCRM Contacts on a Leaflet Map if you're using Drupal.
Here are some of my slides from my CiviCON 2016 lightning talk:
EDIT: Some additional notes based on comments below and some questions emailed to me:

To get started with CiviCRM - Drupal integration make sure you have
CMS integration set up Administer: civicrm/admin/setting/uf?reset=1
add a filter to not bother w/ non-geocoded addresses:  Filter
Criteria: CiviCRM Address: Latitude (not empty)

EDIT: for this example I used: drush pm-list --type=Module --no core --status=enabled
(and relevant...)
CiviCRM CiviCRM (civicrm) 4.6.18
Other IP Geolocation Views & Maps (ip_geoloc) 7.x-1.28
Other Leaflet (leaflet) 7.x-1.3
Other Leaflet Markercluster (leaflet_markercluster) 7.x-1.2
Other Libraries (libraries) 7.x-2.2
Views Views (views) 7.x-3.14
Don't forget Leaflet module requires you to install leaflet library in /libraries (either your sites/all/libraries or your specific site's /libraries).

UPDATE: now requires this patch for ip_geolocate module -> https://www.drupal.org/files/issues/ip_geoloc_plugin_style.inc_.patch


CiviMember Role Sync not Syncing One User

See if there's a deleted contact with the same deets?.

Also petendz's advice is stellar as ever. Use the api explorer do get uf match on that email if for whatever reason you can't access the MySQL table.


Self-Service Payments for Contribution (Tuition)

You can certainly achieve this

Create a Contribution Page by enabling Other amount and payment processor.
Navigate to Administer >> CiviContribute >> CiviContribute Component Settings and select contribution page create at #1 for Default invoice payment page
Create a contribution for a contact with pending status.
On User Dashboard of contact (/civicrm/user?cid=[contact_id]) under contribution section you will see pay now button against the pending contribution. When clicked on pay now it will redirect to online contribution page where one can pay pending contribution online using credit card.

You can also generate the link to pay pending contribution online http://domainname.com/civicrm/contribute/transact?reset=1&id=[contribution_page_id]&ccid=[contribution_id]

where contribution_page_id(id) is contribution page id created at #1 and contribution_id(ccid) is contribution id created at #3.


CiviCase activities: cursor jumps in wrong order

As a workaround you can turn off popups at Administer - Customize - Display Preferences, near the bottom there's a checkbox "Enable popup forms". The cursor doesn't jump then.


Can't Edit CiviContribute Pages after URL Change

For a domain change, look at the civicrm.settings.php file the 'CIVICRM_UF_BASEURL' is the field you are looking for.

For CiviCRM version 4.7.x this will be in wp-content/uploads/civicrm/
For CiviCRM versions 4.6.x and lower this will be in wp-content/plugins/civicrm/

You may also need to make changes for WP, but this is what you'll need to start with for CiviCRM.  In addition, the CIVICRM_UF_BASEURL setting must match the Site Address (URL) in the WP General Settings.

Update:
Ensure that CIVICRM_UF_BASEURL  reads as below:

define( 'CIVICRM_UF_BASEURL'      , 'http://sweetfields.org');


Fatal Error after upgrading to 4.7.13 from 4.7.11

This error is saying, "Hi, there's a missing payment processor file."  The payment processor file in question isn't part of core CiviCRM; it's probably provided by a plugin.  Is this site associated with UC Merced?  It seems like maybe there's a custom payment processor plugin written for their e-pay system.

Since this broke on an upgrade, I wonder if it wasn't a plugin, but they inserted the file directly into core CiviCRM?  It's hard to troubleshoot without seeing it.  For now, check Administer menu > System Settings > Payment Processors and disable your payment processor to see if that gets your system working.  Then track down whomever wrote this custom code for you.


CSS and JS Files aren't loaded - CiviCRM 5.18.2 & WordPress 5.2.2

I'm with Demerit - it looks like there's a mismatch between your Resource URL and your base directory.  Check your $civicrm_root in civicrm.settings.php.  Ensure that it is a) correct, b) doesn't contain a symlink.  If it contains a symlink, rewrite the path to be whatever the symlink(s) resolve to.


Use either php civix.phar or ./civix.phar or first update your PATH:

set PATH=$PATH:/path/to/folder/where/you/downloaded/it


How can I add login and registration page for members with civiCRM?

So you want a registration page for your site where they input their username, email, password, and city? If I'm understanding you correctly, do it like this:

I haven't used the Wordpress version, but it seems like it should be similar to the Drupal one - I create a profile in CiviCRM: http://www.yourdomain.com/civicrm/admin/uf/group?reset=1

In the settings for it, I choose it to be used for user registration and view/edit account. Username, email, and password you don't have to add to the profile because those are the minimum required elements for a user account.

Then any field you add there will be added to the registration page as well as their user account page (so they can view and update the information).

UPDATE: Forgot one step - you will need to enable an option in WordPress for the option to show up under profiles: Turn on "anyone can register" under Settings > General.


Remove CiviCRM and Drupal links / banner on profile form

To remove the Drupal footer (This is a block called - Powered by Drupal) –

www.yoursite.com/admin/structure/block/manage/system/powered-by/configure

Under region settings, set all to - None

To remove empowered by CiviCRM –

www.yoursite.com/civicrm/admin/setting/misc?reset=1

Set Display "empowered by CiviCRM" to No

For the header, that’s the logo, which can be changed/removed from the CiviCRM public theme –

www.yoursite.com/admin/appearance


I'll ad this as an answer so it's not lost in a comment.
Steps to figure this out would be:

CiviDiscount is installed on demo/dmaster: try and reproduce your scenario/bug on demo/dmaster - starting by adding discount config here: http://dmaster.demo.civicrm.org/civicrm/cividiscount
If you can reproduce the issue you're seeing on:
http://dmaster.demo.civicrm.org/civicrm - then file an issue here:
https://github.com/dlobo/org.civicrm.module.cividiscount/issues
If things are working properly on http://dmaster.demo.civicrm.org/civicrm - the issue may have been resolved and you would then look at upgrading your own instance to that CiviCRM version/CiviDiscount version.

All the best!


I see Steve did open an issue on their github at https://github.com/agileware/au.com.agileware.civiquickbooks/issues/3 which is now set as Closed with the response from the developers

  (AgileWare) have tested this using Australian QBO users - it works fine. This extension uses the QBO API to connect to the QBO services, I'm not aware of any specific reason as to why it "would not work in the US" - it should work


When does a '3 month' period in a membership status actually roll over

The calculation of next or past 3 months was decidedly dodgy for relative dates in searches (which is why these have been replaced with 90-day intervals in v4.7). The same method may apply for the membership status update.

If I remember correctly, it calulates the number of days in three calendar months starting with the current month.

So I think you may find that for an end date of March 31, CiviCRM will change the status after 31(March) + 30 (April) + 31(May) = 92 days, which should be 2 July.


I think a hook's the way to go.  For non-custom fields you can specify this a little more easily in the XML definition of the field, but for a custom field, I think the hook is your best best.

I think I'd use hook_validateForm or hook_pre.  The first is more user-friendly, but since it's at the form level you have to identify everywhere the field can be edited.  It's a fairly easy hook to write though - just make an API "get" call to CustomValue with that value and see if you get a count > 0.


Is there a way to accept inbound SMS from contacts not in your database?

Jaap Jansma at CiviCoop has developed two extensions that do this for us. It is connected to a Norwegian sms provider, but the code is available on github.

He used a trick... To automatically create a contact with no name, but only email(as Civi requirements for creating a contact). A contact with cell phone number 123456789 would then get an email like this: 123456789@mobile.sms

This is again easy to search for or make a report for back office staff to go through. (Email adresses containing @mobile.sms)

Norwegian sms provider PSWincom

Sms autoreply


Importing contributions: "Expected one Contribution but found 25"

In the absence of clear error information, I went into trial and error mode.

I disabled each mapping in turn. In the end, I found it was the attempt to import "contribution status" that triggered the failure. It is likely that the contents didn't match required values in the database. Though, in this case, the error message seemed to have nothing to do with that. My previous experiences with similar problems generated more clear errors that the content of the field was invalid.


How can I update the CiviMobile 2.0 extension to the CiviMobileAPI 3.0 extension?

I think this might be the issue.
As posted here: https://dba.stackexchange.com/questions/132951/cant-default-date-to-current-timestamp-in-mysql-5-5
Versions of MySQL from 5.6.x will support this, but I'm currently running 5.5.62 which does not support CURRENT_TIMESTAMP as a default option for a DATETIME. It suggests setting the column type as a TIMESTAMP. I wonder if that will break the extension, though?
Interesting, as I though CiviCRM was now using TIMESTAMP by default across the board.


How can I fix the error message "Could not find contribution record" from PayPal?

You can create a fake initial payment on a recurring contribution and CiviCRM will handle the IPN properly.  Unfortunately, this is a bit of a tedious process.

Fortunately, it's all documented on my PayPal and CiviCRM page.  See the section called Modifying an IPN to reflect an updated CiviCRM contact ID.  The scenario is a little different but the techniques are applicable here.


The SagePay extension from Circle is outdated and is not supported for 5.x version. Mattwire has integrated sagepay payment processor in Eileen's CiviCRM OmniPay Multiprocessor extension. The simplest, easy and recommended solution would be to install the omnipay extension from Matt's git repository(sagepay branch). Move old payment processor from all Contribution and event pages to new sagepay payment processor either by running sql or updating manually.

HTH

Pradeep


CiviCRM Log Viewer 1.2 not working after upgrade from CiviCRM 4.6 to 4.7

I figured it out. It was related to menus not being rebuilt.

The menus had to be rebuilt, but before that the row format on the civicrm_menu table had to be changed to dynamic.  Somehow during the database copy from production to test, the test table row format was changed to dynamic so didn't have the issue.

THE FIX:
ALTER TABLE civicrm_menu ROW_FORMAT=DYNAMIC
Then rebuild the menus ( I used CiviCRM Admin Utililties -> Rebuild Menu)

Error was:
    [debug_info] => TRUNCATE TABLE civicrm_menu [nativecode=1118 ** Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.]
    [type] => DB_Error


Welcome to SE! You need to use Find Activities under the Search menu. This allows you to filter by date (and other things). If you want something more complicate try Advanced Search with Display as Activities.


EntityTag table not available to drupal view

I created a view based on civicontact and it seems to work.

Thanks


Upgrading from 4.7.18 to 4.7.19 breaks soap

It turns out it was civicrm file permissions (in sites/all) conflicting with my server's PHP access settings.

My server dictates that if any part of a path is group writable, php file access will be denied. So I (well, my hired support person because I got desperate) went and set the directories involved to permission 755, and the file to permission 644 (civicrm/extern/soap.php).

My secondary problems with cron (civicrm/bin/cron.php) and not being able to browse for images in civimail (civicrm/packages/kcfinder/*) were fixed by following the same logic.

I'm still not sure why this was triggered by an upgrade from 4.7.18 to 4.7.19. I must have made a misstep during file copying.


This may be related to Status page angular load error. Make sure that the following two items point to the same place:

Image Upload URL at Administer > System Settings > Resource URLS
Image Directory at Administer > System Settings > Directories

If this doesn't work, try disabling Asset Caching at Administer > System Settings > Debugging and Error Handling until this bug is fixed.


What to do about "Operation failed: Update Indices DB Error: unknown error Debug" after upgrading to 4.7.25

You'll have to work on your database directly. The following works for me - although the Status screen still shows the error until the Update Indices button is clicked again after the repair has been done (I presume it simply verifies the fix):

USE your_civicrm_db;
SHOW CREATE TABLE civicrm_case_contact;
SET foreign_key_checks = 0;
DROP INDEX `UI_case_contact_id` on civicrm_case_contact;
CREATE UNIQUE INDEX `UI_case_contact_id` ON civicrm_case_contact (case_id, contact_id);
SET foreign_key_checks = 1;

If you do this via PhpMyAdmin (or similar), you can skip USE your_civicrm_db; since you'll have already navigated there.


After upgrade to 4.7 on Drupal 7, Can't edit a contact

Similar issue is being filed here https://issues.civicrm.org/jira/browse/CRM-17831.

This has been fixed in 4.7.2 at https://github.com/civicrm/civicrm-core/pull/7770/files.

Update: As xml files are not included in the downloaded Civi. For the time being, can you please make the following changes at fields() function in CRM/Contact/DAO/Contact.php.

'formal_title' => array(
   'name' => 'formal_title',
   .
   .
   .
   'export' => true,
   'html' => array(        <--- include this
     'type' => 'Text',
   ) ,
 ) ,


CiviContribute: customize "find contributions" default view

Through UI there is no such settings to alter the columns of Components Search results such as Contribution, Membership etc. You can achieve this by using Search Column hook.

HTH
Pradeep


I'm not clear exactly what you are trying to achieve here, but there are a number of extensions that link CiviCRM to Gmail.  Have you looked at the following any of the following?

CiviGmail Integration With Gmail
Leveraging CiviCRM Email-to-Activity Processing in Gmail
Google Apps Sync


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


drush requires civicrm to be enabled when installing in saltstack

Turns out that when running in saltstack drush can't resolve the right environment variables to find ~/.drush. I put civicrm.drush.inc in my drush/commands directory and it fixed the problem.


I would first upgrade all drupal core and modules, have the site working and than upgrade Civi.
I would prioritise security ones first.


Problem upgrading CiviCRM on Joomla with Flexmailer + Mosaico installed

I did had similar problem while upgrading mosaico recently. I disabled the extension to proceed with the database upgrade utility.


What is the status of CiviCRM working with Drupal 9?

Trying to upgrade a D8.8.6 site to D9 ->

karins-MBP:d9civicrm.local sysadmin$ composer require drupal/core-recommended:~9.0.0@dev drupal/core-composer-scaffold:~9.0.0@dev --update-with-dependencies --no-update
./composer.json has been updated
karins-MBP:d9civicrm.local sysadmin$ composer update

Found two issues:

symfony conflict -> Drupal 9 requires 4.4
civicrm/civicrm-core 5.25.0 requires symfony/dependency-injection ^2.8.50 || ~3.0

pear exception conflict: Can only install one of: pear/pear_exception[v1.0.1, v1.0.0]; - pear/log 1.13.1 requires pear/pear_exception 1.0.0 -> satisfiable by pear/pear_exception[v1.0.0].

WIP PR by Core Team -> to resolve the symfony conlict: https://github.com/civicrm/civicrm-core/pull/17380

And resolved!

This now works:

a) create a D8 project ->

composer create-project drupal/recommended-project d9civicrm.local

b) cd d9civicrm.local

c) composer require civicrm/civicrm-core:dev-master civicrm/civicrm-packages:dev-master civicrm/civicrm-drupal-8:dev-master civicrm/civicrm-asset-plugin:~1.0.1

Go through the usual motions of installing D8 in your favourite language, database and timezone -> and then enable CiviCRM Core [you will need to ensure your web/sites/default dir is writable for the civicrm.settings.php file to be generated].

d) then onto D9 ->

composer require pear/pear_exception:'1.0.1 as 1.0.0'

e) rm composer.lock

f) composer require drupal/core-recommended:^9.0 drupal/core-composer-scaffold:^9.0 drupal/core-project-message:^9.0 drupal/core-dev:^9.0 --update-with-all-dependencies

And that produces:

Next step is here: https://github.com/civicrm/civicrm-drupal-8/pull/40/files
[that will make CiviCRM installable as a D9 module].

Many more steps to go I'm sure! Thanks to Core Team and Mikey for their quick action on some of these items!

Update -> as of June 03 - 2020 -> webform_civicrm module is officially D9 Compatible:


Strict warning: Non-static method CRM_Core_BAO_UFGroup::profileDisplay()

Can you check if you are on the latest version civi?

To fix your notice, you/a developer need to correct civicrm source code, ie. modify CRM/Core/BAO/UFGroup.php so it doesn't call statically the method, or change the method so it's a static one.

the change in itself is a one line of code, but checking what else is calling that profileDisplay method and if it's always static or some are using it "normally" needs a bit of analysis.

Once you have done that analysis and tested it locally (in a civicrm installed from git), you need to fork civicrm-core, commit your change on your repository and do a pull request

It's hopefully pretty clear in the wiki... and not as complicated as it might sound, come on IRC if you get blocked on your way:
http://wiki.civicrm.org/confluence/display/CRMDOC/Contributing+to+CiviCRM+using+GitHub


Display all Contributions with event, membership etc details

The first thing to do when looking for more reporting functionality is to add:

https://civicrm.org/extensions/extended-reports

That extension will give you a lot more and a lot more detailes reports to work with!

If you still can't get all the details you'd like in it - then you'll need to make some edits in code (create a fork of this extension).


Is there a way to update a partial refund for an event registration and associated contribution?

Try installing the Line Item Edit extension, then edit the line item.


Solved: How do I allow all tags in CKeditor

UPDATE:
A fix for multisites and Aegir setups will come out in CiviCRM 4.7.21.
See https://issues.civicrm.org/jira/browse/CRM-19303

After much work we managed to solve this. It was definitely a multisite / Aegir issue.

We had to go through some hoops and down some rabbit holes but you can find our solution detailed here: Solved: Is this a bug - [civicrm.files] variable


Remove display of location field in Current and Upcoming Events view - Joomla

You haven't said which page you are referring to but I'm guessing that this is the public HTML listing of events.  If so, the output is controlled by this template: <civicrm root>/templates/CRM/Event/Page/ICalendar.tpl

You can copy this to create a custom template and edit it to remove the location column.

Read more about customising templates here: Page Templates


How do you add a static option to a webform?

Welcome to SE!

The way to do this is to add an Event for each Event in your CiviCRM - and then to select the current one on your say October Event Webform;

You can use node clone module to clone the webform to say November Event Webform;


CiviCRM 4.7.15 reports keep giving DB Error: syntax error

If you moved CiviCRM to a different server, make sure you follow the instructions in section #9 here: https://wiki.civicrm.org/confluence/display/CRMDOC/Moving+an+Existing+Installation+to+a+New+Server+or+Location.

Delete the following files:

Important Note: Please make an off-site backup of the following before you delete them, incase something goes wrong, such as incase you delete the wrong directory or in case you would still like to look at the log files.

Drupal:

<drupal-root>/sites/default/files/civicrm/templates_c/* i.e. everything inside templates_c, not the directory itself (cached
versions of Smarty templates that will be rebuilt)
/sites/default/files/civicrm/ConfigAndLog/Config.IDS.ini
/sites/default/files/civicrm/ConfigAndLog/* (Everything inside this directory; You can
clear all the logs if you get an error about parsing XML)
/cache/* (Everything inside this directory. Only if you get errors
after clearing the caches via the GUI) (See
http:///civicrm/admin/setting/path?reset=1 for location
of custom extension folder)

Joomla:

/media/civicrm/templates_c/* (everything inside templates_c)
/media/civicrm//civicrm/ConfigAndLog/Config.IDS.ini     Be
Careful If you have edited the IDS ini file to add any custom
exclusions then you need to edit the settings for the three paths in
the file, filter_path, tmp_path, HTML_Purifier_Cache.

If these paths are not accessible Civi pages will display blank.

Wordpress:

/wp-content/plugins/files/civicrm/templates_c/* (everything inside templates_c)
/wp-content/plugins/files/civicrm/ConfigAndLog/Config.IDS.ini


How to register for event without an email address?

Make email address field not-required on the profile you include on your event online registration form.

If the registering participant does not provide an email address, you could get duplicates in your CiviCRM contacts. See this warning:

  Duplicate Matching Impossible The selected profiles do not contain the
  fields necessary to match registrations with existing contacts. This
  means all anonymous registrations will result in a new contact.


Scheduled Reminders - Limit or Add Recipients

The field basically means, having selected who should get the reminder based on the Entity settings, do you then want to further restrict who gets it, and/or do you want to include folk who don't meet the Entity criteria to also get it.

If you just want the folk who should get it, to get it, then use Neither


How to automatically add contacts to a group that matches the ACL?

As I didn't hear from anyone, I figured I'd just write the extension.
Artful Robot's AutoGroup Extension is here for your delight and delectation.
From the README:

This extension allows you to choose a set of groups which will be added to new contacts if the logged in contact is also in that group.
e.g. If Staff member Wilma is in the group 'Region: Birmingham' and Wilma adds a new contact, it can automatically add the new contact into 'Region: Birmingham'
group.


I set up same membership on dmaster.demo.civicrm.org and it all worked as expected giving me an End Date of June 30 2018.

The system resets data every 24 hours but it is there currently if you want to take a look.

Membership Type

Membership


Cannot determine default context. CRM_Contact_Form_RelatedContact should implement getDefaultContext

When I look at it on the public demo it almost seems like the link itself is a mistake, since it doesn't look like a link to manage case, it's a link to some other function. If you go to the case dashboard or the civicrm dashboard (as opposed to My Contact Dashboard), the links there are correct.

Edit: some more info:

What seems to be happening is that normally CRM_Contact_BAO_Relationship::getContactRelationshipSelector (which is the thing that builds that table) will call CRM_Contact_Page_View_Relationship::links, which has the correct link for manage case. However for My Contact Dashboard it calls CRM_Contact_Page_View_UserDashBoard::links, which doesn't set anything for the CRM_Core_Action::NONE entry in the links array, and so something gets confused somewhere.

Untested but I think adding this code:

CRM_Core_Action::NONE => array(
      'name' => ts('Manage Case'),
      'url' => 'civicrm/contact/view/case',
      'qs' => 'action=view&reset=1&cid=%%clientid%%&id=%%caseid%%',
      'title' => ts('Manage Case'),
    ),

into the CRM_Contact_Page_View_UserDashBoard::links function might fix it.


Impossible to add a relationship between contacts / organisations

This case has been solved. We found that there is an incompatibility with the popular Divi Theme we are using between WP and CiviCRM. We can provide details if needed.


There used to be a diffence in the way tokens behave in the Email or PDF API, as far as I know this has been fixed in the latest versions of the extensions Email API and PDF API. Can you check if you have these latest versions installed?


It reminds me of a similar issue I had at a client last week: we received a 403 error when we tried to edit memberships.

The error was due to an anti sql-injection mechanism that was in place at the hosting provider. It could be turned off via the control panel.

Can you check if something similar is active in your installation? Either in the control panel or via a Wordpress security plugin? Ultimately, ask the hosting provider.


Different one time contribution and recurring contribution on same contribution page

A great question, and before last week I would have said, no, it's better to create separate contribution pages for one-time vs. recurring contributions.

But then I saw how GiftTool does it (e.g. here: https://www.gifttool.com/donations/Donate?ID=1992&AID=1663) and realised you could do that in CiviCRM as well - it's just using a little javascript.

In other words, you could create all the payment amounts for both one-time and recurring on your form, and then use javascript to hide the options that aren't appropriate for the current recurrence/non-recurrence selection.

There would definitely be some assembly required, but it sounds like a worthwhile feature.


I see your price set has integer fields for each, presumably so someone can say 'i want 2 of this one and 5 of that one' but that presumably is not collecting you the data about each Participant. If that doesnt matter then yes, set each field to default to 0 (perhaps) and make each required. But if in registering multiple participants you want to know that John's ticket is $500 and Mary's is $2000 then I think you need a price set that is just pure radio buttons (and set as required) then when filling in the form they would enter number of participants, and hence fill in name and price for each one on subsequent windows. hope that is clear. can flesh out if not.


There is a specific CiviCRM function (but all the ways in the other answers will be just as good :-)):

CRM_Core_DAO::checkTableExists($tableName)

This function will return TRUE or FALSE.


Contribution form displaying in footer of WordPress site after form submission

I installed the plugin Multiple Themes (https://wordpress.org/plugins/jonradio-multiple-themes/) which allows me to set a different wp theme (e.g. Twenty Fifteen) just for the /?page=CiviCRM pages. Now I no longer have the replicated webform problem. The Contribution page appears has a different look & feel but I'm ok with this. Thanks so much for the help Andrew.


How do I solve a string extractor issue?

This string has changed in core, somewhat recently, so it has broken the translation.

The short answer, is that the new string had not been yet pushed to Transifex, and this relies on a manual intervention by project admins. It has now been updated today.

This process has been somewhat problematic for a while. It was not much of an issue because user-facing strings do not change that often, but recently as we tweak more the interface, it has become more apparently. We definitely need to further automate this process.

I started restructuring the documentation on the translation wiki. Hopefully we can make the process clearer and simpler, so that we can automate it at some point.

If you would like to help improve this process, please join us in the CiviCRM translation channel.


Reply-to address problems when reusing mailings

The issue was that the replyto_email field wasn't being updated by angular to pass it back to the database. I believe this was fixed in https://issues.civicrm.org/jira/browse/CRM-17650


Add dupe check parameter to an API call - Contact Form 7 plugin

Did you try the same functionality in the API Explorer?

Basically the Contact Form 7 integration just calls  the CiviCRM API with whatever data is present, so I would expect that if it works in the API Explorer it will work from the Contact Form too.


Have a look at the login_redirect filter. You can return whatever URL you like for whoever's logging in:

https://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect


I have recently updated the module to allow a map and use your location. More info can be found here - https://civicrm.org/blog/anil/drupal-views-civicrm-contact-distance-search-with-a-map


How do I connect a Drupal content type to CiviMail? CiviRules?

We built a solution that uses Drupal Views and a you can then use a token to deliver the content of that view in to a CiviMail. That may be useful to you or it may at least put your 'external support team' on to the job. There was a discussion on the old forum about this here


Running out of memory on contact creation

What is the default dedupe rules you are using? is this the standard ones or did you customise?

In general, the performance problems I experienced on civi the same size as yours are

1) badly configured server (eg mysql with wrong variables...). I would recommend you to run mysqltuner, you need to read the doc before blindly following their advices, but it's mostly good
2) modified dedupe rules (this one is a performance killer)
3) smartgroups (easy to kill your server with that one too)

It's probably worthwhile to check the load of your server and mysql configuration in any case, but dedupe rules are usually close next indeed


How to set a Task or Communication in Compucorp new CiviCase

Silly of me. I forgot about the very clever and granular way that CiviCRM is built. Just creating a new Activity Type was not enough to have it activated in the right CiviCase.
After creating a new Activity Type (either Task or Communication), we must add these new Activities to the right Case Type that can be customised.
And voilà, it's set !


Upgrading CiviCRM under Drupal 8: How can I get around this error?

You can use:
(confirming this syntax)
karins-MBP:d8civicrm.local sysadmin$ composer require pear/pear_exception:'1.0.1 as 1.0.0'
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 0 updates, 0 removals
Writing lock file
Generating autoload files
  - CiviCRM asset map
30 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Syntax in
https://docs.civicrm.org/installation/en/latest/drupal8/
is wrong. Will put in an MR -> https://lab.civicrm.org/documentation/docs/installation/-/merge_requests/10


CiviEvent Live and Test Registration pages yield error when accessed

If you are on wordpress 5.5 than your CiviCRM version should be more than 5.25.x. Also can you check the shortcode that you have added in wp post/page has contribution id.


Unable to use Price Set Details for Event Participants custom search if price set field option is disabled after a registrant has already selected it

This is a core bug and have submitted a fix for it. Can you please try applying patch from here. If it works for you than please add a comment on PR.

Cheers

Pradeep


Redirect back to Event Registration after login fails

Fix proposed here to turn off the cleansing of the redirect URL:
https://github.com/civicrm/civicrm-core/pull/6183


CiviMember Sync with Wordpress usernames

How can I add a bulk operation to give certain individuals a membership on CiviCRM? for example, from a group

I'll defer to someone with deeper knowledge of CiviCRM internals on this one. It's a separate question, really, which you may want to post as such.

  I want to sync those who are given memberships to give them a wordpress user access (already configured that). BUT when I sync them now, the username would the individual's prefix, first name, middle name, last name (ex. Mr-john-joe-smith), which is too long. how can I make the format for the usernames?

Please refer to this thread on GitHub which provides a technique for you to define your own username format.

  what would the default password be for the synced membership users afterwards?

Newly-created WordPress users can set their own password by visiting the WordPress "Lost Password" screen.

  CiviCRM syncs wordpress users to another individual that doesn't have to do anything with their name, email, phone number. How can I fix that before making the bulk operation.

I think others have answered this elsewhere.


Joomla front end map function gives a narrow map

This is caused because the system expects to find css and other files under the civicrm folder.  This folder does not exist in [joomla root]/components/com_civicrm.  You can solve this by creating a symlink as follows:
cd [joomla root]/components/com_civicrm

ln -s [joomla root]/administrator/components/com_civicrm/civicrm civicrm

I suppose it is possible the code will be changed so this is unnecessary or the installation process will create the symlink if it is not needed.


Development on a plugin - How to transfer values

Ok, I think I figured this bit out by using...

$this->_contactId = CRM_Utils_Request::retrieve(...

and making sure the calling url has cid={$contactId} included.  I'm getting the contactID in the php code, which will allow me to execute the queries and such I need to list out the details.

Norm


Race condition death spiral when changing a site's domain?

Not really a CiviCRM issue, but in case anyone else has a similar experience.

As Aidan correctly guessed, it was indeed due to an http/https redirect - the one that comes from CiviCRM when you tell it to use https for admin/payment pages. Which is why it was okay on some pages, and why it was spawning new php processes for each one.

The reason this site had the problem was due to my use of a separate ssl termination ("Pound") before it went to apache. When you do this, you have to tell apache how it can know if it's been through the termination (via the use of http headers). I hadn't done that for this site, so it kept redirecting itself to the same page, not aware that it was already https.

I put in a redirect from the http to https site, and added the required apache vhost line:

SetEnvIf X-Forwarded-Proto https HTTPS=on

and the issue has now been resolved.


How to create custom opt-in email for webforms

You can daisy-chain webforms using checksums, so on form 1 you set up your fields to collect contact detail data, then set up a second webform which actually adds them to your private email group, and having set the second webform up you can find the url with checksum on the CiviCRM tab of the webform, and then set that as the link that goes out in the email from the first webform.


Is there a hook that will be called before each database read?

There is no hook for reading data from the database. There are hooks however for rendering forms and pages.
There is also a hook for api v3 which is called before and after each api call. That hook is called apiWrapper


How to create a seach view that displays selected columns

Caroline,

You need to enable additional setting for the fields you want to display them as a column. You can do this now by editing the fields you want to show them as a column and do the following

Select 'Expose Publicly' from visibility
Check 'Results Column?'

HTH

Pradeep


As others point out, there are no clear answers. The number of simultaneous users is also an important factor. But here are some tips from my administration of a similarly-sized database:

I run everything on a 4GB server.  This is usually sufficient, but when my client had a very high-traffic event, I saw some monitoring warnings (though I couldn't detect slowdown in manual testing).  If you're eligible for Microsoft Azure free hosting credits, you can get an 8GB server and not worry*.
Local vs. cloud doesn't affect performance.  If "local" implies "not accessible to the Internet" that will mean you lose some features though.
Install Redis.  I have it on my live site but not my dev site and the difference is noticeable.
Tweak your MySQL settings to give as much InnoDB cache as you can spare.

* As Alan points out in the comments, there are many political reasons to not host with Microsoft; data privacy issues, jurisdiction and a willingness of your host to fight for your rights are all important.


This transaction cannot be processed. The merchant's account is not able to process transactions

@Bobs thanks - I found out that only for upgraded Account Paypal Pro works - I did manage to change to Paypal standard and it works - Thanks


Do I need root access to my database to use CiviCRM?

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

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

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

See the wiki for more details: CiviCRM MySQL Permission Requirements

And this page for the general requirements: Installation and Upgrades


Runtime Exception Booted CiviCRM, but failed to find 'api/class.api.php'

It appears that civix is ignoring or overwriting additions to or modifications of the include_path. I added the full path name /Applications/MAMP/htdocs/xxx/civcrm/wp-content/plugins/civicrm/civicrm (where api resides) to include_path in the php.ini (checked I got the right one with php --ini). That didn't work.

But I got it to work by soft linking the api directory into the new extension directory, i.e. changed directory to the extension directory and did the following command: $ ln -s /Applications/MAMP/htdocs/xxx/civcrm/wp-content/plugins/civicrm/civicrm/api .

It's not an ideal solution but it enabled meet move forward.


It looks like this was a regression caused by https://issues.civicrm.org/jira/browse/CRM-16513. Further information on the ticket.


Search Builder Smart Group with Latitude, Street Address criteria 1292 Truncated DB Error

Am I allowed to answer my own question? lol.

I was able to resolve the DB error for this specific smart group by changing the Operator criteria from "Empty" to "Null". So "IS EMPTY" became "IS NULL" and "NOT EMPTY" became "NOT NULL".

Also, I find it somewhat important to note now that whenever I attempted to edit this Smart Group's search criteria, I always had to re-select the "operator", so I wouldn't be surprised if the root of this issue has to do with the "Empty" operators.

EDIT: There is an open GitLab issue now: https://lab.civicrm.org/dev/core/issues/786


Pledge payment link does not point to a publicly accessible page

This answer is for how to change the template issuing the email in question.  However, I don't know that the issue you're facing is due to the template.  See other answer.

The template for Pledge Payment Reminders is found in Communications or CiviMail's settings.

From the black menu bar:

  Administer > Communications > Message Templates

OR

  Administer > CiviMail > Message Templates

On the Message Templates screen, click on the tab at the top for "System Workflow Messages."  Scroll down and you should see an edit link for "Pledges - Payment Reminder."

On that edit screen, you can make any changes you need including changing the link.  Don't forget to make your changes in both the HTML Format and Plain-Text Format.

Before making your changes, I'd recommend copying and pasting the default template to a text document just to have it saved in case you need to revert back in the near future.


Different Membership Status Rules for Different Memberships?

You can't do this with out-of-the-box CiviCRM and I am not aware of any extension that provides that functionality.

As I am not a developer I can't comment on how difficult it would be to write an extension to provide what you would like, however, even if it is an easy task, extensions need to be maintained as CiviCRM is upgraded.

Grace periods have usually been arbitrarily determined at some time in the past   so in a situation like this is I would go to the parties involved and say something like "Managing membership with CiviCRM will deliver lots of benefits, (enumerate) but the grace period is going to need to be standardized across the organization." and leave it to them (or the common boss in their management chains) to decide whether it will be one or two months.


How to send email report FROM other than default email address?

I don't think it has this feature. One possibility is make an extension and use hook_civicrm_alterMailParams to check if the email is your report and then change the from.


How can I restrict access to some CiviCRM tables at the database user level?

Your objective is to protect the internal sensitive data from an attack on the public. An option is not to configure the defence on database level but to separate both sites (and run them on separate servers), and connect them with the CiviCRM API. To restrict the allowed API calls you can use CiviProxy


does CiviCRM have the capability to handle approx. 70 pieces of data per customer?

Kia ora Mary. There are many civi instances with much broader data sets than  you are describing so there is no reason to think civi won't 'handle' the data. In terms of 'comparison' there are a range of searching/reporting capabilities with civicrm and also within Drupal if that is the CMS that could be used for this.


`Failed opening required 'Log.php'` trying to install

@jGrubb a number of files like Log.php and Mail.php will be from the civicrm-packages repo. This is a repo of 3rd party Packages which civicrm needs to work with. https://github.com/civicrm/civicrm-packages/tree/4.6


Upgrading WP to 5.0.1 deletes civicrm uploads folder

Not seeing this on my only 5.01 site, which uses the old WP CiviCRM file structure.  That is, the files are in <webroot>/wp-content/plugins/files/civicrm and not <webroot>/wp-content/uploads/civicrm.


I would follow the instructions on screen:

Log in to your Stripe account, go to the Webhooks section
Delete the existing webhook (on live and testing sides)
Come back to CiviCRM and use the "Update/Create Webhook" button


Is there a way NOT to email if a report with no result

As suggested by Demerit you can use alterMailParams to abort the email if the report has 0 rows. It will work on simple use case but would be difficult or need to add more logic you passing any additional parameters when running cron job or through url to filter the result since the ReportTemplate.getrows api will return the results which is saved in the database but not on fly.

However you can using hook_civicrm_alterReportVar and set $this->_sendmail to FALSE when $rows are empty.

HTH

Pradeep


Yes. You can do this by enabling the CiviMenu drupal module:

CiviMenu allows you to display the CiviCRM menubar on non-civicrm pages of your website.
This module provides an invisible Drupal Block which loads the CiviCRM menubar. By default the block will display the menubar on every non-civicrm page of your website. Simply edit the block to refine exactly which pages the menubar appears on and which users have permission to see it.
Note that nothing displays in the block (the menubar will always be at the top of the screen), so it doesn't matter which region of the page you add it to.


How to set super-user privileges in CiviCRM for MySQL? CiviCRM requesting for multilanguage support

You need to ask your hosting provider to give the database user the permission to create triggers and views. You only need super privileges if you're on an old version of mysql. Since you say you're on shared hosting they may not want to give those privileges, but try asking.


Dropping thousands of records into a batch via SQL

Well this is not really an answer but it is a workaround. We've found that when creating the batch, if we specify the Payment Instrument (e.g. Credit Card) then it works. So we can get around this for now by doing separate batches for credit cards and checks.


To my Knowledge:-

For some reason billing address field selection is hard coded in core files

getBillingAddressFields()

so you are forced to list all the listed fields details - if you dont want to display specific details then:

you need to overriding the core files
Or
A JAVA script to hide the fields and unset the fields in formbuild

I guess this helps !!!


This looks like a hardcoded limitation in CiviCRM, and changing that would require some development work (i.e., there's no workaround or trick to it, just needs code changes).

Interestingly, there's a comment in the code that indicates a desire to add support for ACLs instead of the sledgehammerish 'view all contacts' requirement: https://github.com/civicrm/civicrm-core/blob/master/CRM/Member/Page/DashBoard.php#L51

So my answer would be: yes, you're seeing it right; there's no way around this short of patching core, and it sounds like core is willing to be patched.


When importing memberships, I get "Error: Invalid value for field(s) : Start Date; End date"

Are you using WPSec or some other security related wordpress plugins? Check:

https://wordpress.org/support/topic/plugin-better-wp-security-client-denied-by-server-configuration

Seems like:

a. CiviCRM is trying to write something to the log file

b. The security plugin traps that and redirects you back to step 1

try disabling the plugins and see if that helps


Civicrm webform to edit membership custom fields

Absolutely possible with Webform CiviCRM! A few thoughts:

upgrade to CiviCRM 5.3.1 or above (a security update)
by giving members logins or by using the checksum token you can make it such that their all ready exisiting in the database details (Name, Address, Membership Type) are displayed to them - you decide if you want them to be able to update those
of course in addition to filling out the blank Custom fields on the Membership;
look to enable the custom fields on your Membership in the CiviCRM tab for your webform -> Membership section (on the left) -> at the bottom of it. Here is an example: that Checkbox ALM is a CiviCRM custom field on the entity Membership in this example. Look here to expose your custom date fields to your Webform.


We found a solution by using this SQL query:

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


Payment Page not accessible to anonymous users in Wordpress

Since you have questions regarding the specific steps you took, I copy and paste all of them below and intersperse with my responses (IN BOLD CAPS for clarity):

I set up a CiviCRM Membership and a Price Set for the membership > GOOD
I created a profile (including custom fields) for the membership registration > GOOD
I ticked the box that says 'Account Creation Required' under WordPress user account registration option for the profile > YOU MUST INCLUDE A PRIMARY EMAIL ADDRESS FIELD IN THE PROFILE FOR THIS FEATURE TO FUNCTION PROPERLY
I've set up a CiviCRM Payment Page for membership fees using above profile. > GOOD
I've checked the permissions for Anonymous Users to create, edit, view profiles...> AS INDICATED HERE, YOU ALSO NEED TO ENABLE THE PERMISSION FOR
PROFILE LISTINGS AND FORMS
...and Access all custom data fields (Not sure this is necessary?) > YES, THIS TOO IS NECESSARY
CiviCRM: access contact reference fields is checked for Anonymous users > UNLESS YOU ARE USING CONTACT REFERENCE FIELDS IN YOUR PROFILE, THIS IS NOT NECESSARY
CiviCRM: add contributions of type Campaign Contribution is checked for Anonymous users > UNLESS YOU ARE USING THE FINANCIAL TYPE OF CAMPAIGN CONTRIBUTION FOR MEMBERSHIP DUES, THIS IS NOT NECESSARY
CiviContribute: make online contributions is checked for Anonymous user > GOOD
CiviCRM: access Contact Dashboard is checked for Anonymous user (not sure if necessary?) > AS INDICATED HERE, THIS PERMISSION SHOULD NOT BE GIVEN TO ANONYMOUS USER
I've created a Wordpress page and used the CiviCRM shortcode to add the payment page > IF YOU HAVE ALL OF THE REQUIRED FIELDS IN PLACE PERMISSIONS ENABLED AND THIS STILL ISN'T WORKING FOR YOU, PERHAPS YOU SHOULD TRY USING ONE OF THE OTHER OPTIONS FOR LINKING YOUR MEMBERSHIP PAGE TO YOUR WEBSITE AS INDICATED HERE

Hope this helps!
Tamar


Well, looks like i f*cked it up myself:
Some days ago we created a new contact subtype and renamed it afterwards.
Since renaming didn't work out as planned and some DB-Entries stayed behind, i changed em manually. Guess what, i had a typo somewhere.
Changed it and the search builder is back to normal.
Sorry for bothering you and Thanks for your help.


Yes! Update the contents of your civicrm.settings.php file.

Then clear cache in CiviCRM.

Then clear your browser's cache.

[But my gut tells me that that error is unrelated.]


Understanding unique vs multiple membership(s) (using Webform)

The Webform integration determines whether to add or update a membership based on the "Membership Organization" of the membership type. Say you have the following membership types defined:

Organization: Soccer Club

Membership Types:

Youth soccer
Teen soccer
Adult soccer

Organization: Tennis Club

Membership Types:

Youth tennis
Teen tennis
Adult tennis

Now say you have signed up a person for a "Youth soccer" membership. If you subsequently sign them up for a "Teen soccer" membership, Webform will detect that you are upgrading membership within the same organization and it will bump their existing membership from youth to teen. If however you sign them up for a "Teen tennis", it will leave their soccer membership alone, and add the tennis additionally.


Which mobile Apps or Extension work well for what scenario

Here is an initial list - hoping we can collectively flesh this out so it is a useful reference document

CiviContact - AgileWare

Android and IOS

CiviMobile - AgiliWay

Android and IOS

SmartCivi - ArtTech

Android only

CiviMobile Extension - WebAccess

NOTE: I will do my best to update this list with more info/summaries if folk post Comments or separate Answers


There are some new permisssions to review/set: navigate to your where set permissions in your CMS. In Drupal: People -> Permissions - and look for these:


updated database from backend, issues when searching that field - Geocoding issue with Postal Code update

After running the update command on database, you need to clear the civicrm cache (also make empty the civicrm_cache table) and delete the civicrm temporary file.


As mentioned in my comment to Demerit's answer I successfully achieved my objective to send a QR code to an event participant's phone (albeit the URL and not the image).

I installed the Clickatell extension for CiviSMS and the QR Code Checkin extension to generate the emails or SMSs to send the QR Code or its URL to event participants.

The instructions to set up the Clickatell extension at https://docs.civicrm.org/user/en/latest/sms-text-messaging/set-up/ are outdated but it was not hard to set it up.

The QR code extension was easy to set up, but don't forget to manually set the required permissions in your CRM (Drupal in my case). The extension provides a handy couple of tokens that can be easily included in an email or SMS.

The downside of the QR Code extension is that it only works on one event at a time. If you have multiple events that run on different days it may be possible to change the 'effective' event (on the event page) before sending QR codes and again during checkin.  I haven't tested this.

Below is an example of the test SMS I generated.


Why are my simple donate pages throwing an error?

Looking at the extension code it seems to me that the Simple Donate pages are not set properly in settings table. Can you please re-save the Simple donate page setting by navigating to Administer >> CiviContribute >> Simple Donate Configuration ?


Storing Personally Identifiable Information

We're in Canada - but no we don't store SINs for any of our projects. We don't store Credit Card numbers (PCI compliance dictates that) - and one could argue that having your SIN/SSN stolen is far more serious than having your Credit Card stolen. Storing SSNs would substantially increase the risk that a breach would be considered a major privacy breach.


Is there a hook to impact custom data before it's saved?

Not as far as I know. You could, however, apply this patch, which introduces generic preInsert and preUpdate hooks to CiviCRM. The copy and demo code for PR explains how you can use these hooks.


Working. New install. Using J!v 3.5.1/CiviCRM 4.7.7. db-prefix_assets/row name = com_civicrm; rules={"1":1,"2":1},"civicrm.view_event_info":{"1":1,"2":1},"civicrm.view_event_participants":{"1":1,"2":1}}


If you are searching by Memberships then it is possible that a contact will have more than one membership, eg if one Expired and a new Membership record has been created for them.

If you are comparing that with a search of Contacts, then the numbers will differ.


Editing the Batch entry form/template fields

I was overthinking this and missed the memo in green in my own screenshot. Another case where the solution is in the Reserved Profiles.

Administer > Customize Data and Screens > Profiles > Reserved Profiles > Contribution Bulk Entry


How can I suppress the presentation of discount codes in receipts?

I've edited the message template and used a truncate filter on the $line.label to hide the discount code. Something like this is what I've done:

<td {$tdfirstStyle}>
{* Truncate $line.label to hide a discount code if present for certain event types *}
{if $event.event_type_id == 12}
  {if $line.html_type eq'Text'}
    {$line.label|truncate:7:"":false:false}
  {else}
    {$line.field_title} - {$line.label|truncate:7:"":false:false}
  {/if}
{else}
  {if $line.html_type eq 'Text'}
    {$line.label}
  {else}
    {$line.field_title} - {$line.label}
  {/if}
{/if}
{if $line.description}
  <div>{$line.description|truncate:30:"..."}</div>
{/if}
</td>

I think for this to work cleanly you might need to have Fee Levels with names of similar character count. There might be some other output filter that would work better than truncate... I recall trying to use some sort of RegEx filter that didn't work.


Wordpress / Civi - How to Hide All Menus

Install the plugin User Role Editor https://www.role-editor.com/ Then in WP under Users you will see User Role Editor. Set permissions according to your needs. You can also find Dashboard plugins that will allow you to control what the dashboard looks like based on user roles. I use ABD Dashboard Widget. The downside of this one is that you can only use it to specially control 1 user role. But that is all I need. I use it to simplify/control our contributors dashboards.


Membership Renewals with 'Partner' relationship causing membership lapses/missing contribution

"Ultimately what we want is either Contact A or B to be able to renew the 'joint' membership - does Civi support this?" No it doesn't support this. Generally I think users work on assumption that reminders should only go to Contact A, andI would suggest preferably with a checksum to a renewal form that sets First/Last as read only to stop contact B clicking on the link in the email without checking who it was to, and hence avoid risk of having name overwritten


What is required to run CiviCRM on DigitalOcean?

I setup Drupal and CiviCRM on my Digital Ocean Droplet by hand, but you'll face this issue regardless of how you setup.  This answer is sufficiently long and complex that I'm setting up a complete guide on my wiki.

DO does not allow SMTP traffic on their IPv6 network.  As a result, PHP applications that normally succeed in sending email will be unreliable, slow or outright fail.  CiviCRM is one that can be especially challenging to configure for outbound email at DO.  Although the simple mail() function appears to work, I don't think it offers the control or performance you might need.  In my case I wanted to use Google Apps for Business to send my email.

The first thing you need to do is to set your hostname to a fully qualified domain name.  When you set your hostname to a FQDN, that will cause the DO system to create a PTR record in DNS for your host. Without a PTR record, many major email providers (Comcast/HotMail/Yahoo) will refuse to talk to your host and those messages will disappear into the void (check /var/log/mail.log). CiviCRM will report those messages as 'sent', but the recipient will never get it, not even in spam, because it never left your server.

You must setup an A record for your FQDN at your DNS provider.  The PTR record should be automatically setup by Digital Ocean.

dig foo.example.com
dig -x foo.example.com

Assuming you want to configure CiviCRM to use an external SMTP server such as Google Apps for Business (aka SMTP relay also known as smarthosting) you will suffer connection timeouts.  Some apps such as PHPMailer can be made to work with a hack using gethostbyname(), but the configuration for CiviCRM will only allow you to enter the hostname; and no permutation will work.  Instead, tell CiviCRM to use 'sendmail'.  Meanwhile sendmail is not actually installed.  Postfix can be installed as the MTA and you can configure Postfix to send mail to Google.  The 'hack' is to also bind Postfix to 0.0.0.0 so that it uses IPv4

With the PTR record in place, and Postfix installed relaying SMTP to your provider over an IPv4 network, and CiviCRM set to use 'sendmail' you can now use your CiviMail.


System Status Page Error after 5.3.1 Upgrade

I resolved it by disabling Mosaico, then Flexmailer; and then re-enabling them in the opposite order: Flexmailer then Mosaico (the order is important!).

I used the Administration screen to manage CiviCRM extensions; but you could also use Drush if your Civi is on Drupal.


How Can I Attach a PDF Certificate for a Membership Payment?

I don't think it's possible right now without coding.

If you are not afraid of coding, what you could do is something like :

add you membership certificate after the content of the receipt (in templates) and add an arbitrary separator between your receipt and the certificate. In my case <!--break-->.
use the hook_civicrm_alterMailParams with the following content (extract the part after <!--break--> and put it in a pdf as a attachment) :

$pos = strpos($params['html'], '<!--break-->');
if ($pos !== False) {
  $pdf_content = substr($params['html'], $pos + 12);
  $params['html'] = substr($params['html'], 0, $pos);

  if (empty($params['attachments'])) {
    $params['attachments'] = array();
  }
  $params['attachments'][] = CRM_Utils_Mail::appendPDF(ts('Membership certificate') . '.pdf', $pdf_content);
}

I may create a little extension for this.