How to resolve SMTP connection failing problem with code 535?

I had this very same problem with SMTP and couldn't find a solution with the configuration, although I didn't change the code you mention.
I found a workaround by choosing mail() instead of SMTP in Administer>system settings>outbound email, since when I've had no problems.  The default option should apparently work fine on linux systems, if that is appropriate.


hook for search a household contact with the surname individual field from online contribution page

If you're in Drupal, I would use Webform with Webform Civicrm Integration to collect more data. It allows you to collect info for multiple contacts as well as to create relationships between them. So for your use case, you could have for example a parent contact, a student contact, and a household contact, while all the relationships such as household member-household and parent-child get created automatically.

If you're in wordpress, I'm not sure what the right plugin is, but I bet there is something similar you could use.


Can't send or test bulk mail, but test mail succeeds in System Settings / Outbound email / SMTP

The symptom as you describe it seems to be that any mail sent via CiviMail will fail immediately and will cause the recipient to be marked as bounced. CiviMail knows when the remote mail system rejects an email, so if that remote system doesn't work as configured, this is the expected behaviour (frustrating as it must be).

You need to understand why CiviMail is not able to deliver ANY messages but regular "Send Email" delivery works for you in CiviCRM.

Probably the most accessible option is to try a replacement mail provider. A few of those listed in this CiviCRM wiki page on mail providers offer a free tier, but everything has its price.

The more complex option is to debug what's actually happening when those mails get sent. This will involve understanding the code that communicates with your mail system as configured, and making the response from the SMTP server visible. I believe you want to start in civicrm/packages/Net/SMTP.php, CiviCRM fetches this from PEAR's Net_SMTP with this patch applied.

The latter option gives you more insight into the issues you're experiencing and might help some future CiviCRM sites who hit the same issue on your hosting environment. If you are confident at debugging, or can find someone to work with through CiviCRM community, that's what I'd try to do. If you just want to get the client live again, you should probably try a replacement provider (or two).


You don't say what version of CiviCRM you are on.

I am sure you can do this with scheduled reminders in 4.6 or 4.7 provided you have an SMS gateway configured. See http://docs.civicrm.org/user/en/stable/sms-text-messaging/set-up/  and http://docs.civicrm.org/user/en/stable/email/scheduled-reminders/

You won't need a smart group as once you have selected the event you can specify which participant statuses are sent the SMS.


payment-processor for multiple (bulk) memberships

A couple of thoughts:

The data model where Payment is recorded from a Different Contact in CiviCRM (for Membership payments) does indeed exist natively in CiviCRM. You can use this to record a Payment From the Organization.

The data model where if an Membership Organization has acquired a Membership -> Memberships can filter down to a specific number of Individuals who have a current/specific relationship with that Organization also exists natively in CiviCRM.

The data model where the Contribution is recorded at an Individual level and subsequently the Organization is also invoiced for it - that's highly unusual as it will lead to double financial records. If the Organization is paying for the Membership but the Individual is paying/perhaps this would be a reimbursement from the Organization to the Individual?
(preface - love Webform CiviCRM module) - if you're on Drupal - you can have a single Organization purchase memberships for any number of Individuals on one page; The monies will be recorded in that Organization's Contact Record - all Individuals will get Memberships; Add in Soft-Credits for bonus points.


Where are the saved import mapping configs stored?

They looked to be stored in two tables.

civicrm_mapping
civicrm_mapping_fields

The tables are pretty standard.  The first has the header info and id, e.g what you called the mapping and the second has what each field is mapped to.  The foreign key is civicrm_mapping.id = civicrm_mapping_fields.mapping_id

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


"Could not find valid value for id" when processing contribution batch

It is very strange that it does not find and id here. The error occurs in the php file CRM/Batch/Form/Entry.

Can you try this issue on one of the demo sites (https://civicrm.org/demo) so you can check if this is a core bug or a problem in your installation?


Where is the 'subscription history' exposed?

The subscription history is shown in the Group tab of the Contact summary in as much as you can see Groups people 'were' in.

The the civicrm_group_contact table stores that people are 'removed' from the group, but the date that it happened is pulled from civicrm_subscription_history (as part of this function: \CRM_Contact_BAO_GroupContact::getContactGroup).


How to transfer an event participation from one contact to another in the back end?

Graham,

I understand that there are some issue when moving contact when logged is as Admin. You can also try an extension developed by LCD Services that moves participant from one contact to another.

HTH

Pradeep


Why is the column called "Soft Credit For" when it seems to show "Soft Credit from"?

Good question. There is probably no explanation except that the developer who implemented it called it this way. Maybe by mistake.

If you feel this is wrong you can file an issue and if you have technical expertise you can fix it.


Offline event registration Pay later option

You could do the above by going to a contribution form and have cid=0 or use the 'register as another person', ie use the public form but put in their details and set as 'pay later' via the form


This Fuzion extension would be worth checking out, and if it doesn't provide the required token, could have a PR with the required code, which might be better than a standalone extension for this problem


There is a third option. You can use two drupal sites and a third site for civicrm.

On your Drupal sites use CiviMRF module to connect to your CiviCRM site.

I wrote a blog on how to do this: https://civicrm.org/blog/jaapjansma/using-civicrm-form-processor-extension-to-handle-form-submissions-from-an-external

Personally I would go for this option, because you keep your CRM seperate from your website. A website might require changes/redesign over time while a CRM needs to be stable and stay the same over time. And this way you can easily change/redesign your website without the fear of breaking anything in your crm.


CiviCRM Data not showing in Views - Drupal 9, Shared DB

Austin -> did you install and enable CiviCRM Entity Module?


Automatic updates of timeline activity dates

The default timeline that is specified in the Case Types configuration allows you to specify the reference activity (i.e. which activity should provide the reference point for any time offset) and the amount of the offset (i.e. how many days before/after) for any given activity that is going to be in the default timeline. So, in your example, you want 'Course Start Date' to be the reference for all subsequent activities.

Having said that, when you create the case, I think that all the offset calculations are done at that point in time, so even if you then subsequently set a date for the 'Course Start Date' activity, I don't think subsequent activity dates will automagically adjust as we might like them to.


Can we disable resource-intensive logging queries triggered by inline edit?

I think this would be a relatively simple fix. I'd suggest you file an issue for this and, ideally, provide a patch...

...actually in fiddling around with this I just wrote a patch that fixes it. Try this:

#6283 Don't force-refresh the changelog tab to avoid performance overhead


Bug in settings for CiviContribute Component?

The issue got fixed in release 5.15.0 (see here). Thanks a lot to everyone who contributed!


Dashboard does not render after updating civi version 4.6.9 to 4.6.10 and onwards to 4.6.11

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

Settings are wrong:

Administer -> System Settings -> Directories
Administer -> System Settings -> Resource URL's
Administer -> System Settings -> Cleanup Caches and Update Paths

Cache files

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

Remove cache via
Administer -> System Settings -> Cleanup Caches and Update Paths
and remove files in JOOMLA_ROOT/media/civicrm/templates_c/


Error when accessing Activities for contact (after upgrade to 4.7.2)

I just tested the same condition against a Plan copy of CiviCRM Version 4.7.2

I can View the activities without any error - so please try disabling all the installed extension first and try the same if you are still getting an error then - Try to install an Plan copy and test it again


User and Permission table distorted in Civi/WP

Slightly hacky way around it: zoom out. In Chrome that's CTRL and -.


Anyone want to try programming an extension for the world's easiest sms provider?

Looking at the api it seems to be very simple one to implement. You can do it by using reference from https://github.com/osseed/com.osseed.sms.mysmsmantra


Is there a way to track the date the pending payment record was created once payment has been completed?

There isn't a field on contribution that stores when the Contribution was created v/s payment added to the contribution. But you can get such information from financial transactions table.
When a pending contribution is created a account receivable(IR) entry is created in financial transaction table and later a new entry is created with income account when a payment is received. But AR transactions are not displayed on UI when you click on contribution amount(which loads list of payments).
The only place you can see them is while creating accounting batches.


Set drupal taxonomy terms in the civicrm custom option fields

You should describe more these 3 columns as it's not clear what type they are and how you need to use them, but I would create them as either options on a custom field or as tags

tags have 2 "usable" columns (the name and a description), optionvalues have 4 (label, value, name, description)

you can import them from the command line using the api or use an extension.


Cannot Backup my CiviCRM DataBase due to an Unexpected Error

Finally, I have deleted my CiviCRM DB from the Settings Sources, then recreated it, and it seems to work now.

I may have entered bad credentials, but the error message is not very explanatory.


Why are Username and Password are no longer accepted for Outbound GMail?

This link seems to fix things, if only temporarily: https://accounts.google.com/DisplayUnlockCaptcha


"Do not email" privacy setting and CiviMail

Your analysis is correct, the list of recipients is build when the email is scheduled, not when it's sent

In practice, it shouldn't differ too much, but they are some edge case, like possibly your "Do not email" contacts that might have changed between the time you scheduled the email and it was sent

Depending on what logging configuration you have, you might have more info and find out the timeline: check on the "log" tab to see when the contacts have been modified and by whom (they are some changes that aren't properly logged, but you might find the information you need to understand these cases)


How to search for contacts without a specific relation?

The search builder should be able to give you this as it has a larger range of search operators available to you.

Head to Search > Search builder and then use the criteria:

Contacts > Current Employer ID > Is Null

That should return everyone who has no value for your current employer field.

Hope that helps!


Email-to-activity processing - not working

Sounds like firewall is blocking port 993. Do you use outlook or a desktop email program with imap? Does it work there? Do you know how to use telnet to test - can you telnet to port 993?


Failed to import contacts into groups (with csv import)

To bypass this problem, I use Yes/No custom field to import the data "Belonging to A group". Then I use an advanced search to select those contacts and add them to the A group.


Aha, nothing wrong with either extension, after some time I finally noticed the timezone mismatch with the server


What is the mechanism for tailoring an Angular form?

I usually do it in an extension. This allows me to enable/disable changes at will.

Create an extension with Civix (eg com.example.myextension).
Inside the extension folder create (eg [ext_dir]/com.example.myextension/js/) folder.
Create your JS file in there (eg [ext_dir]/com.example.myextension/js/mychanges.js)
In the main extension file (eg [ext_dir]/com.example.myextension/myextension.php) add this hook. I think its called on all pages and forms -- may have to use pageRun or alterContent.

function myextension_civicrm_alterTemplateFile($formName, &$form, $context, &$tplName) {

    $resource = CRM_Core_Resources::singleton();

    if ($formName=='theFormToEdit') {
        $resource->addScriptFile('com.example.myextension', 'js/mychanges.js');
    }
}

Install and enable your extension.


Unfortunately you can't delete the event if it has participant. If you delete them the its participants will be deleted automatically. Even its not advisable to delete price set if it was ever used to record participant ticket, contribution or membership. If you delete them you will loose all financial data associated with it or the system might behave weirdly if you ever try to update the participant or contribution or membership.

If you want this price set not to be displayed on screen then you can set is_quick_config = 1(TRUE/Yes) either running sql or from api explorer.

Cheers

Pradeep


How do I flag an extension which no longer works?

Is this an extension that is published in the CiviCRM extension directory? At the moment I do not think you can flag an extension as not working, but it would be nice if the author removed it from the extension directory if he/she agrees it no longer works.

If it is a case of it does not work with version 4.7 but it does work with version 4.6 that will show on the extension page where the supported versions are mentioned. But IMO that is not a 'it does not work', more a 'it does not work with my version'.

I think you should add a little more information about your statement?


How to enable Email Recipients to reply to all?

We've run into the same issue, and couldn't find any extension to solve it.
We could develop something like a 'recipients public' flag on the "Email - send now" action, that would allow the reply-all option to work in any email client.
Is anyone else interested in this development? Let us know...


Has anyone come up with an easy way to enter a household, the members, create the relationship, share the address, etc.?

We have setup a webform which enables the creation (or updating existing information) of

1) a household with its own data (phone number and physical/mailing address)

2) one or two adults with their own data (defaulting to our Spouse/Spouse relationship) and makes them share the address of the Household

3) 1-5 children with their own data who share the address of the Household and allows you to choose the relationship to Adults 1 and 2

The length of the Node Export was more than Stack Exchange allowed me to paste in, so you can find the CSV here: https://www.dropbox.com/s/e4vw5a9o15c1aiz/node-export-household-and-family-webform.drupal?dl=0

I don't know how this would work with importing back into your system with Node Export given that we'll have different relationships and tags and slightly different needs, but I think this will get you on the way.


First create a Temp table with same structure and move all the data to the temp table. And then create a new column X and merge both the column A and B together and insert the values into the new column X

And once you are happy with the merge column X move the same against custom table matching with the entity ID - Job done

Please refer to the below link for Example
http://www.tutorialspoint.com/mysql/mysql-concat-function.htm


Membership fixed period, not working as expected

For fixed membership type plans, the Fixed Period Start Day and Fixed Period Rollover Day apply solely to the membership start and end dates, not to the payment date. Copying from the explanation provided when clicking on the Membership Type Plan help bubble:

  If membership duration is specified in years, you will be able to specify the exact month and day for memberships to start. If membership duration is specified in months, memberships will start on the 1st of the current month and run for the number of specified months.

So long as your membership start and end dates follow the examples below, then the feature is functioning as programmed.

If you have a fixed membership type configured for a Duration of 1 month and Fixed Period Rollover Day of 2, someone signing up on on May 22 will have the following membership dates:

Member Since: May 22
Membership Start: May 1
Membership End: June 30

If you have a fixed membership type configured for a Duration of 1 year with a Fixed Period Start Day of Jan. 1 and Fixed Period Rollover Day of Nov. 30, someone signing up on on Dec. 1, 2019 will have the following membership dates:

Member Since: Dec. 1, 2019
Membership Start: Jan. 1, 2020
Membership End: Dec. 31, 2020

Note that the Member Since date is always the date that the membership is submitted - this is because the system is not programmed to handle future memberships. The workaround is to create a membership status rule (e.g. called "Future Membership") with a Start Event = Member Since Date and End Event = Membership Start Date and that should not be considered a current membership .

Regardless of your membership type configuration, payment will be processed on the day that the membership is submitted. If your payment processor allows for the selection of a payment start date for recurring contributions, you should be able to solicit a customization from an expert that will allow you to set the desired membership start date for monthly memberships, and then pass the membership start date as the payment start date of the recurring contribution.

Hope this clarifies things!


As PHP develops, some code that used to work in older versions fails in newer versions.  The CiviCRM code gets updated to accommodate those changes - but obviously if you don't upgrade you don't get those fixes.

Your fix is to downgrade the version of PHP, then upgrade CiviCRM, then upgrade PHP again.  You can find a table of supported PHP vs CiviCRM versions in the Administration Guide

If you need help upgrading see Find an Expert  (including me!)


Just historical. Civi started with drupal and mambo/joomla. But most extensions are designed to work with all CMSs and where possible it's encouraged to make them "CMS agnostic" that way.


4.7 should be, but not 4.6 as is. There was a GSoC student who worked on making CiviCRM more Bootstrap-friendly, unfortunately the patches were not merged in for 4.6.

I've started working on it again, based on Amilineni's work, but I'm slowly moving forward. If anyone beats me to it, I will be more than happy :)

So far, I've been trying to add a few classes to core forms (CRM/Core/Form.php), and try to see if we can override the CSS on buttons using Saas/Less, and perhaps moving a bit of CSS out of civicrm.css so that we can make it optional (to avoid loading extra CSS rules if we are using Bootstrap).


How to capture verbal contribution commitments: invoice, contribution pending or pledge?

Unfortunately pledges do not work with online contribution forms the way you'd like without an extension. You can use the framework for partial payments that's available in github and seen at the CiviCon in Denver earlier this year

First you'll need to create the contribution(not a pledge) on the back end. You probably can use the same concept with a checksum email if you don't want to require a login.


How to link preexisting fundraising pages to 'contributions' when setting up CiviCRM

The standard way of using CiviCRM is to create contribution pages within CiviCRM for displaying on your website to collect donations.

You may be able to do what you want using the API, but that would need definitely need to be set up by a developer. (I am not a developer hence the "may".)


As you have already installed civicrm you should be looking at https://wiki.civicrm.org/confluence/display/CRMDOC/Upgrading+CiviCRM+for+WordPress not the installation instructions.


Can IATS be used with Simple Donate Extension? - SOLVED

I suggest that if you can copy the SimpleDonate link before it goes from your menu and then assuming you can visit that page then you can probably just add yourself a new link in the menu


Sometimes it is worth visiting /civicrm/admin/menu?reset=1 and right clicking on any menu item, and then click Edit and Save so that you then get the message

  Click here (/civicrm/admin/menu?reset=1) to reload the page and see your changes in the menu bar above.

Otherwise you can just visit that url directly. This may not help with your situation since it seems to be less consistent. But it may help others looking around for such advice


All dashlets display "Object Moved" after host name change

In "own question - own answer" mode .. again. Well, it turned that server name resolves as www.hostname.tld while all paths we used were in just hostname.tld format.


403 - Forbidden Error on Dashboard Modules

Yes, both could be related when the URL settings are wrong.
Admin - Settings - Resource URLs and
Admin - Settings - Cleanup Caches and Update Paths

I have seen it gone wrong by things as simple as: enforcing www or https.


I'm having new trouble with CiviCRM in multisites in Wordpress

I see you've commented on the recent documentation update to handle this, but in short: Newer versions of CiviCRM under WordPress have moved the default location of civicrm.settings.php.  When installing multi-site, it's looking in the wrong location.  You can either define your CIVICRM_SETTINGS_PATH in wp-config.php or put the civicrm.settings.php in its old location.


Geocoding error on fresh Wordpress Install

It sounds like an incomplete install. You might need to run composer install from inside the ext/org.wikimedia.geocode folder.
But you don't need the extension if you just want to use basic geocoding in civicrm, you just need to set it up at administer - system settings - mapping and geocoding. The extension just adds more features.
UPDATE: It seems like the download version of the extension was an incomplete install. A new version is now available.


Roundearth just recently switched to using civicrm-asset-plugin and it may not be fully integrated yet.

CiviCRM can be installed on drupal 8 without roundearth now - it's still not "official" but is being used by some.

composer create-project drupal/recommended-project some-folder

cd some-folder

# replace the 'x' below with a proper version number

composer require civicrm/civicrm-core:5.x.x civicrm/civicrm-packages:5.x.x civicrm/civicrm-drupal-8:5.x.x civicrm/civicrm-asset-plugin:~1.0.1

Install Drupal as usual

Then to install CiviCRM - make sure the civicrm.settings.php file can be created -> by making the web/sites/default directory writeable:

chmod +w web/sites/default

Then you can either go to Extend and enable CiviCRM Core
or you can do this from the command line:

drush en -y civicrm


CiviEvent backing out of contact change from dedupe rule

If you have logging on then via the ChangeLog tab on the Contact you should be able to garner some of the required info

If that doesn't help enough then go to the log_civicrm_contact/event/contribution etc tables and fire in the relevant ID and see what it has to offer

Key thing with dedupe rules is to make sure your Weights and Thresholds make mathematical sense - esp when fields like Phone and Email will be 'scored' for every match it finds - so if a contact has the same email three times, then dedupe will score 3 x email weight.

Hence it is important to have a rule like First 10 Last 10 Email 2 = Threshold 22 (ie it would have to the same email on the contact 11 times for it to count as a dedupe while ignoring First and Last) - whereas eg First 5 Last 5 Email 5 = Threshold 15 means it could match on a record that has the email 3 times (which is quite possible) even though the First and Last do NOT match.


Error returned on newsletter sign-up via profiles in Wordpress

Since this works when you are logged into WordPress it looks like it might be a permissions issue. Is the redirect after submission set in the profile advanced settings? You may want to check the page being redirected to to make sure anonymous users have access to it. Also check the permissions for anonymous users under 'Administer>Users and Permissions>Permissions (access control)' click on WordPress Access Control. Particularly the permissions around profiles.

What version of  WordPress & CiviCRM are you running? Since it was working OK prior to recent updates when was your last CiviCRM update?

Hope this helps.


Drupal Views + Multiple CiviCRM relationships of same type

It appears the View you are using is starting from the entity CiviCRM Relationship. This is unusual in my experience. I would be building a View based on Contacts and then adding the Related Contacts by using the View Relationships to pull them in.


I have repeated the new install, this time including this:
composer config extra.enable-patching true
The site now completely renders UI contents, such as the new mailing page or the status page.
So then, going to the troubled upgrade site, having first configured the install with these composer configurations:
composer config extra.enable-patching true
composer config minimum-stability dev
composer config prefer-stable true
composer require civicrm/civicrm-asset-plugin
composer require civicrm/civicrm-{core,packages,drupal-8}
and then again:
composer update
composer civicrm:publish
The upgrade site is now working.


Database constraint error on enabling CiviCase

Resolved. I found the code that was inserting the sample data. It was first pulling from option_group where name=case_type. For some reason my database did not have this row - so the subsequent line inserting into option_value with the retrieved id of the option_group row failed.

I manually inserted a row into option_group with name of case_type. (I used "Case Type" for both title and description and set the is_active column and is_reserved column to 1 and is_locked to 0.

This got rid of the error.


How to export contact list that includes total contributions to date?

If you add the Summary Fields extension then you can choose to have a field for 'total amount', total this financial year, count this financial year, etc etc, which then makes exporting much easier as it is 'just' another custom field

https://civicrm.org/extensions/summary-fields
https://civicrm.org/extensions/joinerys-more-summary-fields
https://civicrm.org/extensions/synopsis


How and when should I create custom data fields?

Welcome to Civi! A great place to start is this wiki post about Groups vs Tags vs Custom Fields:

http://wiki.civicrm.org/confluence/plugins/servlet/mobile#content/view/86213742

There are also sections of the Civi book that might help:

http://book.civicrm.org/user/organising-your-data/groups-and-tags/

http://book.civicrm.org/user/organising-your-data/custom-fields/


Add new contact (other than logged in user) using Caldera Forms linked to CiviCRM under Wordpress

After some tinkering, I think I understand better how this works. I included fields for both a volunteer and a new detained person. Before, there were only fields for collecting information on the new detained person.

Now that there are fields for both individuals: 1) the logged in person filling out the form and 2) the new detained individual.

Next I created two processors: CiviCRM Contact 1 and CiviCRM Contact 2.

Contact 1 I associated with the fields for the volunteer and used name & email as the dedupe rule.

Contact 2 I associated with the detained person CiviCRM contact type and associated with the fields for a new detained person.

By using the processors to define the two contact roles it seems to have worked such that the volunteer's account was unchanged and a new detained person record was created. This post helped me understand it better. I'd read it before but after going over it several times figured out what was needed. I hope this helps someone else.


Search for address of person contacts through current employeer

At the top of extended search you can chose the type of result to search for. There's an entry like "Relationship to contact". Take this one and select 'Employee' relationship below. Your search input now applies to your organizations but the displayed results will be their employees.


You should be able to go to Admin > Customise > Profiles, then Add Profile, then add some Participant fields

There is a short lived example here http://d46.demo.civicrm.org/civicrm/admin/uf/group/field?reset=1&action=browse&gid=16


For CiviCRM 4.6+ go to Administer menu > Customize Data and Screens > Date Preferences.  From there, change the Start Offset of SearchDate.

For CiviCRM versions before 4.6, this is part of the Advanced Date settings linked from Administer > Localization > Date Format.


Testing a module which uses CiviCRM php api

I'm not an expert of testing but i'm pretty sure that SimpleTest creates a new instance of Drupal with a new database each time the testing process is ran.

CiviCRM is not a standard Drupal module and cannot just be enabled. In your SetUp function, You need to install CiviCRM to create the corresponding tables in the database. It could be a rather complex task but it's possible to do so. There is a drush script to do it so it might be a good inspiration.

You might want to check drush_civicrm_install in https://github.com/civicrm/civicrm-drupal/blob/7.x-master/drush/civicrm.drush.inc

Otherwise, you might find easier to use CiviCRM testing way (phpUnit) : https://wiki.civicrm.org/confluence/display/CRMDOC/Testing

And an example : https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php


Pushed Custom permission extension, where you can create your own permission through UI by navigating to CiviCRM >> Administrator >> Customize Data and Screens >> Custom Permissions


Did you try 'Synchronize Users-to-Contacts' from UI? You need to make sure you have unsupervised dedupe rule for individual set to email only before running 'Synchronize Users-to-Contacts'


What Drupal modules do I need in order to

What Drupal/CiviCRM modules/extensions would I need to accomplish the following:
Each candidate would have content (Blog/Forum/Polls) created by them that is viewed only by Contacts within their electoral district. The electoral district relationships are in pre-loaded CiviCRM multi-value custom fields.

I would use OG and get some custom synch stuff done so that OGs are populated based on Relationships (we have done this for other clients)

Each contact (voter) would be able to see and edit (comment/poll vote) the content from #1 for each candidate in a district that the voter resides in. Content from other candidates would be invisible.

Well if we are going down the OG route for #1 then I would stick with that for this too.

A contact can be both a candidate and a voter.

Not sure what the point/question is here, but would assume Drupal Roles so that within the OG the 'voter' has more options than the 'candidate'. But if you mean they might be a Voter in one district and a candidate in another then again the OG approach would fit.

I've already got ACLs set up which associate a candidate user ID with the voter Contacts in the electoral district. I can, if necessary, create an ACL which associates a voter user ID with all the candidate Contacts in the voter's districts, although that seems very cumbersome.

It isn't clear how you are doing this since your terminology is jumping between 'user id' and presumably civi relationships, but i would use Fuzion's Permissioned Relationships extension to take care of this, and that knits well with the OG approach

I'm assuming that all of the candidate/voter interaction will occur within Drupal content.

Right, so am I - using OG in case that hasn't been clear yet ;-)


I assume you are talking about your account at civicrm.org

There's no way for users to delete their accounts - you can unsubscribe from emails, which I think you have done.

There's a contact email at https://civicrm.org/contact - you can send your request to that.


How do I put a thermometer on a contribution page?

Seems like it works well for you to copy and paste the embed code onto the contribution form, there are just certain redundant bits you'd like to hide.
You could add some generalized global rules for this to your website's css. e.g.

form.CRM_Contribute_Form_Contribution_Main .crm-contribute-widget h5,
form.CRM_Contribute_Form_Contribution_Main .crm-contribute-widget .crm-comments,
form.CRM_Contribute_Form_Contribution_Main .crm-contribute-widget .crm-campaign,
form.CRM_Contribute_Form_Contribution_Main .crm-contribute-widget .crm-contribute-button-wrapper {
  display:none;
}


Why doesn't anything happen when I select a search action from the CiviCRM search results?

The cause was that I had the "Select2" Drupal module installed, which was adding a second Select2 widget to my search actions, breaking them.

To resolve:

Go to Drupal Configuration menu » User Interface » Select2.
Click the Exclusion Rules tab.
Under Don't load Select2 for specific pages, enter civicrm/* and save your changes.

This should fix your search actions.


Its a same procedure to assign transaction to reopen batch as of open batch by visiting the transactions list page of batch and then selecting and assigning transactions to batch. The number of items or total amount in batch doesn't matter and it does get updated automatically once a batch is closed. But some organization prefer to have exact count so that it matches with their accounting integration with Quickbooks or Great plains etc

Ref: https://docs.civicrm.org/user/en/latest/contributions/accounting-integration/

HTH

Pradeep


Can't add addresses when geocoding is enabled

Similar to the above seems to be fixed recently. Can you please try https://github.com/civicrm/civicrm-core/pull/10192 and check if that fixes for you?

Note: The PR is merged in 4.7.20, so it should work without error on this version.


How do I make a Simple SOAP request in CiviCRM?

I don't have a proper answer to the question of how to use SoapServer, but it may be useful to place that in context.

The extern/soap.php script is a bit of a relic which is not on par with the RESTy APIv3. I was just a casual user at the time, but I'm pretty sure it predates APIv3 and (probably) APIv2. Its major use-case was facilitating a fast return-channel for CiviMail. (There's some kind of smtpd/perl/soap integration which folks used to use.) IMHO, the only reason to retain it in the codebase is for backward compatibility (on the off-chance that it maybe still works for existing installations).

If you skim the code of CRM_Utils_SoapServer, you'll see get_contact() and a bunch of mail-related actions (and basically nothing else). The design is generally... shallow.

If you really do need SOAP access, then I'd recommend implementing new bindings between SOAP and APIv3. Ideally:

The SOAP implementation should be generic, passing along requests to civicrm_api3() and getting metadata from civicrm_api3 (ie Entity.get and *.getfields).
The SOAP end-point should ideally go through the menu/router system -- rather than a standalone script (e.g. http://example.com/civicrm/soap instead of http://example.com/sites/something/modules/civicrm/extern/soap.php).
The SOAP end-point should ideally go into an extension.


After upgrading to 5.20.0 - unable to edit or enter contact email addresses- "Email is not valid."

Thanks to the comments above, I have edited the packages/HTML/QuickForm/Rule/Email.php file to remove INTL_IDNA_VARIANT_UTS46. Forms with emails on them now work again.
Change:
$part = idn_to_ascii($part, 0, INTL_IDNA_VARIANT_UTS46);
to
$part = idn_to_ascii($part);

This is how it was in the CiviCRM 5.19.2.


About 2/3rds of the way down the page under "register a participant manually". http://book.civicrm.org/user/current/events/everyday-tasks/


SQL Error in Contribution Details Report

Your mysql database has only_full_group_by set. You want to unset it, but probably keep the rest of the sql_mode values. You can see the current value with SELECT @@sql_mode. You probably want to set it in the server's my.cnf file.

So for example if the current value is
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

then you want to set it to
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

See https://dev.mysql.com/doc/refman/5.7/en/option-files.html if you're not familiar with the my.cnf startup options file.


How can I change the order of address field columns on screens and reports?

Have you tried making adjustments under Administer > Localisation > Address Settings?


Setting default values for Personal Campaign Pages

I am not sure about API - But you can create an script against database that would be easier you can insert values into the table called civicrm_pcp just make an entry using different contact Id this will be faster - just create a single PCP first and copy the value for the rest of contact


Initialization error after moving installation of CiviCRM for Wordpress from localhost to Server

might want to delete the contents of the ConfigAndLog directory and start clean on the new server:

% rm -rf /home/public/wp-content/plugins/files/civicrm/ConfigAndLog

You probably need to root access and/or do the above operation as your webserver userid (which probably is the owner of the aboe directory)


How to increase the number of participants registered in single transaction

According to this the functionality is in core code, not that I have noticed it, but also it is possible that it only works to reduce the number below 10.

If you are not wanting to capture info details for all the Additional Particants then you should be able to do this via a Price Set field iirc.


Question about duplicate matching rule for event registrations

Even though many children/youth these days have their own email address - parents will often use their own for registration/event purposes - b/c they aniticipate (correctly so) that's where receipts/reminders will go.

For such registrations you need to use/create a rule like first name + email address [as last name is often also the same within a household].

I prefer Drupal - webform-civicrm for this as it allows me to set up one specific matching rule for the Primary Contact [default unsupervised] - and then I can set up different matching rules for the other (children) Contacts on the form.

See https://civicrm.org/blog/sarahgladstone/recipe-for-handling-youth-registration-with-civicrm for a nice write up/example by Sarah on how this works.


Why does this use of the API for Events work in the Explorer, but not in the Message Template?

That's really strange! Just a guess but maybe it's a problem with the way $this->assign works in message templates? I've only tested that construct in smarty pages and message templates might have a different way of processing variables like that.


When viewing the report results click on the Title and Format tab at the top. Change the name. Then from the actions dropdown below the Refresh Results button choose Save.


Deleting and Restoring a Contact detaches Contact from User

It's on purpose that it removes the link to the user when you delete. It was added years ago here: https://github.com/civicrm/civicrm-svn/commit/3d9843c5912cb9d77e557b4a8cd4ef711f2cdcbb

and seems related to deduping https://issues.civicrm.org/jira/browse/CRM-6861

But yes Civi will reattach them once you do something that triggers the matching which is usually on email address, i.e. if the drupal user and the contact record have the same email.


The answer is to the first of your two questions is: the images are stored in a subdirectory of the CiviCRM "Image Directory", which by default looks like [civicrm.files]/persist/contribute/.

The specific subdirectory it stores it in is: images/upload

You can see the code on line 153-ish of this file:
https://github.com/veda-consulting/uk.co.vedaconsulting.mosaico/blob/2.x/CRM/Mosaico/Utils.php

The answer to the second of your two questions is: yes. If you create a new traditional mailing, you'll see a button in the wysiwyg window that lets you add/remove images. That tool will manage the same directory that Mosaico uses.

The answer to a question you didn't ask "how can a new mosaico mailing make use of existing images" is: along the top bar in the mosaico interface there's the same button (i.e. a picture of a mountain) which let's you reuse existing images in your "gallery". So you could also manually put a bunch of images into the images/upload directory for your civimailers to re-use.


CiviDiscount - applying sales tax on discounted price rather than original price

We've patched Cividiscount extension which now ensures that the discount also gets applied to VAT/Sales Tax when it's applied to price options.
Here is the PR link: https://github.com/dlobo/org.civicrm.module.cividiscount/pull/131

Have also updated the ticket: https://issues.civicrm.org/jira/browse/CRM-16861

Thanks


I would tuck these into a priceset; so two fields: donation and processing cost; then add some Javascript to the contribution page to do the math and dynamically populate the processing field based on the value in the donation field.

Add another field to the contribution form via a profile (yes/no radio button) and use that in your Javascript as a switch ($0 or do the processing cost calculation).


Searchable Custom Field doesn't appear in Quicksearch options list and is not a sort option in reports

The quicksearch function is for searching contacts, and therefore doesn't call to any of the other components of Civi for data fields.

As per Civi's Docs, if you're looking for data regarding a specific component (i.e Memberships), each component has it's own search function. In Find Memberships, this should also show your custom fields to allow you to search from.


Can contact images be uploaded other than by editing a contact record?

Uploads via Webform are indeed broken in 4.7, but have been fixed with 5.0.

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) expected CiviCRM-style image URLs of the form /civicrm/contact/imagefile?photo=NNNN.ext, and so mangled the path twice, once on reading it and then when it ran getFileURL on it.

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

The issue was reported on Webform CiviCRM Integration as Contact Image Upload field integration not working with 4.7, and later addressed in the related GitHub issue CRM-21778 - Contact image uploaded from drupal webform don't render on the summary page.

I was able to apply jitendrapurohit's patch from GitHub cleanly to 4.7.31; the fix is contained entirely within CRM/Utils/File.php.


Profiles list not showing in dropdown list in Online Registration tab of Configure Event

After more investigation, the problem is solved using the fix from agh1 (thanks to him by the way).

It looks like a problem in the civicrm code using jquery.

Here is the url of the fix. We tested it and it works.

https://github.com/civicrm/civicrm-core/pull/10152

I hope this will be in the next civicrm release code.


amount for working hours of volunteer on an event

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

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

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


Embedding a listing or directory with variables

Add/edit 'Country' field to the profile and make is searchable.

This will allow you to filter the results based on country in the directory listing.

Demo: http://civi.intdms.com/civicrm/profile?gid=14&reset=1&force=1


It's in the Open Case activity that gets created on the case. When you create a case it's the same as creating the Open Case activity.


No Google Groups showing up after setting up Googlegroups Sync extension

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

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

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

regards,
Alain


Drupal webform billing fails: State/Province field is required

Singapore does not have States/Provinces but there are Regions. But these have not made the list. You can add the regions to the civicrm_state_province table via the API Explorer

In Civi go to Support > Developer > API Explorer

In Entity select StateProvince
In Action select Create
For Parameters:
     State = Central Region
     State Abbreviation = CR
     Country = Singapore

Scroll down and you will see an Execute button. Click that and confirm Write to Database

You can repeat this for each Region or you can do as Karin suggested and just create one state "Singapore"


This appears to be identical to CRM-20558.  Upgrading to 4.7.20 or applying the fix there should solve your problem.  Note that CiviCRM is not tested against PHP 7.1, so you may want to consider using PHP 7.0 instead.


It looks like you should be using CiviGroup Roles Sync

You should check the documentation here

https://docs.civicrm.org/sysadmin/en/latest/integration/drupal/group-roles/


What do you do with Pending (Incomplete Transaction)?

We do several things with these. In most cases we filter them out of all reports. If the user creates a new transaction we will leave them as is or delete them. Sometimes we create a special status for these in case they need to be referred to later (maybe the entries are different).

It really comes down to what works best for your internal processes.


You would have to add a custom field. You could add the custom field at the level of participant, where you would save the dietary requirement for that specific person at that specific event.

Alternative is to keep it at Individual level where you would record the dietary requirements of the person at any event.

Do you know how to create custom fields in CiviCRM?


CiviEvent menu listing not finding active event

The drop-down shows 100 active events but does not filter by 'upcoming'.

As a quick-fix, edit the file administrator/components/com_civicrm/civicrm/joomla/site/elements/civievents.php
Look for the line that reads 'rowCount' => 100, (line 62) and add a new line after that reads:

      'start_date' => array('>' => 'today'),

Save that and try again.

Issue: https://lab.civicrm.org/dev/joomla/issues/1
PR: https://github.com/civicrm/civicrm-joomla/pull/46


Suppress 'Unsupported locale specified to parseStreetAddress: en_GB' message

If you switch off the checkbox for street parsing (as petednz suggests) the error will disappear. But if you really need the street parsing that will not help you. In that case you would need to add the en_GB to the array in CRM_Core_BAO_Address in an extension, like so:

  static function parseStreetAddress($streetAddress, $locale = NULL) {
$config = CRM_Core_Config::singleton();
/* locales supported include:
 *  en_US - http://pe.usps.com/cpim/ftp/pubs/pub28/pub28.pdf
 *  en_CA - http://www.canadapost.ca/tools/pg/manual/PGaddress-e.asp
 *  fr_CA - http://www.canadapost.ca/tools/pg/manual/PGaddress-f.asp
 *          NB: common use of comma after street number also supported
 *  default is en_US
 */
$supportedLocalesForParsing = array('en_US', 'en_CA', 'fr_CA', 'en_GB');

if (!$locale) {
  $locale = $config->lcMessages;
}

and this is a bit awkward :-)


The simplest way is to use CSS to have something like the following

.whatevercontext fieldset.crm-profile-id-13 legend {
  display: none
}

and then put that into your site's theme CSS file alongside other customizations you do for your site.  Alternatively, you could create a special CSS file and enter the URL in Administer > System Settings > Resource URLs.  Both methods avoid hacking CiviCRM's CSS code.

However, you should double-check the affected form(s) after each upgrade just to make sure the selector hasn't changed.


Maybe you have published the test-drive link to the contribution page rather than the live link.


Expected behavior

If everything is working correctly, you should be able to edit the wiki by (1) logging in, and (2) clicking on an "Edit" link that displays with a pencil icon to the right of the green page title.

Getting help from an administrator

If you can't log in or you don't see the "Edit" link after logging in, then something might need to be fixed with your account or with the whole wiki. In this case it's best to ask one of the administrators for help by doing the following:

Log in to Mattermost
Go to the infrastructure channel
Post a message in that channel with the problem you're experiencing. Include your wiki username (if you have one) in the message. This is a relatively low-traffic channel that's monitored by administrators who will see your message soon, so there's no need to issue any notifications in your message.


Anyone else getting a webform error for a non-required date field?

Yes I get this when I add a Relationship on a webform and set Day and Month to be hidden.

I expect this needs to be done as an 'improvement' to the webform_civicrm code - you might want to open an issue at drupal.org/project/webform_civicrm but it will probably require some effort/funding to get it added


Stop recur mails from sending out to users

There is no such way to stop recurring notification being send out from CiviCRM. Current code at line 567 in CRM/Contribute/BAO/ContributionPage.php checks for $isEmailReceipt which is either set using is_email_receipt of contribution page or if recurring is recorded offline.

Two ways of handling this:

Change in core :

Add checkbox field on payment processor form 'Notify user about
recurring payments?'
Change code at line 567 in
CRM/Contribute/BAO/ContributionPage.php to check if 'Notify user
about recurring payments?' is TRUE.

Through extension:

Add checkbox field on payment processor form 'Notify user about
recurring payments?' using buildForm hook and store value in
extension custom table.
Using alterMailParams hook abort the email if 'Notify user about
recurring payments?' is true for the payment processor used and Message template == Recurring Noification.


Joomla 2 CiviCRM User Sync: synching Community Builder multi-value custom fields?

For the text separator you can use it in sql as CHAR(1), and can use CONCAT() to combine with other strings.


Country selection UI in 4.7.x negative feedback

Terrific! I found a work-around, and here it is! Using Firefox web browser, with the "Web Developer" tool bar extension, select Disable \ Disable JavaScript \ Disable All JavaScipt. Then reload the above specified URL. That will load the page WITHOUT the AJAX / JavaScript multi-select controls... and leave the basic HTML list controls. I was able to quickly select all the countries, and I am cruising along wrapping up this upgrade.


There is no clear policy for this. But it is good to put CiviCRM behind a firewall/VPN. That way you can only access civicrm if your ip address is allowed. For connecting external websites/application you can then use CiviProxy.

This way CiviCRM and your data are secure, no matter whether your CiviCRM installation has securty issues.

My personal advice is that when it aint broken don't fix it. So that also means for updates, if your system still works and you don't need any new features keep it as it is. We are brainwashed by Android and Windows which install updates automatically and so we all think it is good to install updates regularly however I cannot think of a rationale for that.

Also I do think that installing updates is not much work from a technical perspective. But with every update you have test your whole setup and see if nothing ain't broken. And this test work is usually quite a lot of work.

My experience is also that the organization using CiviCRM is also changing over time. And that those business changes might also require some (minor) changes in your CiviCRM setup/configuration. And usually when doing those kind of things it might be worth to also update to the latest version.


How to I add new records to a batch after it has been created?

From Contributions > Batch Data Entry. Select Edit next to the batch you have created, from here you can edit the number of items which will give you new records to add to the batch you've already created.


Individual contact type select is missing in custom field group setting

I now understand why the individual subtype select was not appearing. It was simply because one of the fields was being used. The As soon as you fill in one of the custom fields of a field group then the option to change type and sub-type is removed.

I was misled by a cosmetic bug that it does not display the sub-type "any" when beside the default "individual" there were added subtypes afterwards. I will try to reproduce and report this, to prevent that others are misled by this.


Forgot to make new database for civi... how uninstall?

You can remove civicrm.settings.php and run the installer again.  Here's where to find it:

Backdrop: <webroot>
Drupal: <webroot>/sites/default
Joomla: <webroot>/components/com_civicrm
WordPress: <webroot>/wp_content/plugins/civicrm

Note that this will NOT remove the old tables from your existing database.  To do that, see here.


How do I prevent membership renewal reminders originating from VERP addresses?

Testing this on v4.6.3, you can define the reply address for a scheduled reminder by editing it at Administer > Communications > Schedule Reminders (civicrm/admin/scheduleReminders). Check if you can configure it there first? I've tried a scheduled reminder just now and see the expected email address when I receive it.

The "random set of letters" is a feature called Variable Envelope Reply Path ("VERP") which permits CiviCRM to better identify and track bounces, unsubscribes and other mail system errors by having them "return" to a unique, identifiable email address.

See also this question: How does Civimail reply tracking and forwarding work?


Is this paypal pro or standard? For paypal pro all IPNS except for recurring are actually ignored, the outcome is resolved in realtime (ideally the IP would be a backup but Civi code doesn't implement that)


How do I limit the number of ticket to be sold in events

You can use price sets to track purchased tickets instead of just registrants.

See this reference (down the page to 'complex event fees with price sets'

http://book.civicrm.org/user/current/events/creating-an-event/


Selecting all checkboxes for field reverts to one value

The issue is that the alphabetized option to sort the field labels creates the error. I was able to replicate this on wpmaster.demo.civicrm.org.

To solve, I just put the field values in order e.g. 1,2,3 etc. Now it works.

It's a bug, I'll report.


Contact summary email link open mailto: instead?

For many people, this new behavior is an improvement, but there are definitely others who preferred the old approach.

The operative line in the template is here, and the only way you don't see that is if outbound mail is turned off on the site.  (In a perfect world, there would be a site-wide setting for this.)

If you want a customization to handle this, the easiest might be to add a bit of jQuery via a .extra.tpl, extension, or theme:

CRM.$(function($) {
  $('.crm-contact_email a.crm-popup').each(function() {
    var email = $.trim($(this).html());
    var emailLink = $('<a/>', {
      class: 'mailto-link',
      href: 'mailto:' + email,
      title: ts('Send an email outside of CiviCRM'),
      html: '<i class="crm-i fa-envelope"></i>'
    });
    $(this).after(emailLink);
  });
});


Updating to civi 4.6 after this can't create new emails no text editor

Found a solution: The problems is K2. k2.php was not correct coded.

See plugins/system/k2.php - specifically this code section:

if (JString::strpos($response, 'prefix="og: http://ogp.me/ns#"') === false)
                    {
                            $searches[] = '';
                            $replacements[] = 'http://ogp.me/ns#" ';
                            $replacements[] = 'http://ogp.me/ns#">';
                    }

Change this to:

$app =& JFactory::getApplication();
            if ($app->isSite()){

                if (JString::strpos($response, 'prefix="og: http://ogp.me/ns#"') === false)
                {
                        $searches[] = '<html ';
                                $searches[] = '<html>';
                        $replacements[] = '<html prefix="og: http://ogp.me/ns#" ';
                        $replacements[] = '<html prefix="og: http://ogp.me/ns#">';
                }
        }

Thanks to "plethoradesign"

Now the editor appears but somehow all drop down box options are not clickable meaning you can't select a group nor templates and also you can't jump to the next step. Help is still needed. Best P


Creating Couples as a Single 'Individual'

It would be better to create a relationship between the two - the Partner relationship type is there out of the box.

This will take account of each partner having different email addresses and different mailing preferences. Even different addresses.

You mailing list can be created from an Advanced Search for the Partner relationship with no difficulty.

All this allows you to segment your contacts more usefully.

This approach also negates the problem you add about searching on name.


I have seen this behaviour too. Just make sure your database details are correctly entered, then use the "Check Requirements and Install CiviCRM" button above the details instead.


Why do Personal Campaign Pages stay live after their Contribution Page is closed

Joe says it's a bug; I say it's a feature! If you have donors fundraising for you, you might not want to have their writeup and list of donors disappear when the campaign is over. Something elegant ought to be done to have the PCP still visible, the contribution page disabled, and not have it seem like the link is broken, however.


CiviCRM 4.7 - DB Constraint Violation - possibly dashboard_id should possibly be marked as mandatory for this API

Maybe you can try to run the upgrade script again to go from 4.7.10 to 4.7.12

http://<your_wordpress_home>/wp-admin/admin.php?page=CiviCRM&q=civicrm/upgrade&reset=1

Documented on the  Wiki Upgrading CiviCRM for Wordpress .


civiReport with financial type and line item financial types

There is no such report provided by CiviCRM by default. But there is an extension called 'Extended Report' which provides report with additional columns and filters.

The report 'Extended Report - Contributions with Price Set data' or 'Extended Report - Price Set Line Items' from the extension may be the one you looking for.

Cheers

Pradeep


If it's a new install it might be simplest to just drop/recreate the database, remove the civicrm.settings.php file, and run the installer again.

The file with the sample data is sql/civicrm_generated.mysql, but it overlaps with sql/civicrm_data.mysql. You either use one or the other. If you just import the generated file now you'd get conflicts/duplicates for things like phone types etc.


How do I remove a contact from a group using the API?

From using the API Explorer (Support menu > Developer > API Explorer) I can see that you can delete a GroupContact entity by specifying a GroupContact ID and a Group Contact Status of "Removed".

I don't think that makes a lot of sense - even for a non-standard API such as GroupContact, since a Group Contact Status of "Removed" is NOT the same as a deleted contact.

Note that my findings are at variance with CRM-16878, which covers the same topic.


It's coming from line 179 in CRM/Dedupe/BAO/Rule.php, but it looks as if it's been like this forever so I'm not sure if there's a reason.

If you change line 76 where it sets $on to be the below code instead, it makes it work but I can't immediately see if that has any side-effects for other types of rules.

    $on = [
      "SUBSTR(t1.{$this->rule_field}, 1, {$this->rule_length}) = SUBSTR(t2.{$this->rule_field}, 1, {$this->rule_length})",
      "t1.{$this->rule_field} IS NOT NULL",
      "t1.{$this->rule_field} <> ''",
    ];

Note that dedupe checking caches results, so after you make that change clear cache at admin - system settings - cleanup caches.


You should check out the Anonymizer extension.

A word of warning - make sure that outgoing email is disabled!  You don't want any of your CiviRules etc. being triggered and sending out emails.  I saw a colleague who had CiviCRM WordPress Profile Sync installed, which meant that changing the email address in Civi changed the email in WordPress - which sent out a "your email address has been changed" message to everyone who had a login...


CiviCRM 5.13.1 is not showing "Added By" coumn value

I'm marking this question as now being answered.  The problem is resolved by upgrading from civicrm version 5.13.1 to 5.13.4


Trying to use CiviCRM to take memberships for an event

You can alter the price options to hide lower-tier memberships with a custom extension.  This is a more maintainable alternative to editing the code directly, since it will work through an upgrade.

Check the docs for creating extensions and install civix.  Then use the buildAmount hook to edit the price sets.  Some folks think this is easier with the buildForm hook; you may want to try both.


What can be done to ensure Stripe and CiviCRM are ready for SCA in Sept 2019

There is a Stripe Make it Happen campaign here.

  Upgrade to Stripe Elements which simplifies PCI compliance for end-users and allows us to take advantage of the latest developments with Stripe - https://stripe.com/gb/payments/elements
  Support for SCA Payments - required in Europe for ALL credit card payments from September 2019. To be implemented by migrating to the "PaymentIntents" API: https://stripe.com/docs/payments/payment-intents
  Support for processing refunds from within CiviCRM.
  Support additional payment methods payment methods (eg. SEPA, iDEAL, Google Pay) - once we have switched to Stripe Elements we can implement these easily. If you wish to fund a particular payment method just let us know when you offer funding.


Why aren't donation receipts being emailed to customer?

This seems to be a known, critical, and unresolved bug with WordPress and PayPal since 4.5.4. It has been reported as issue 16181, Email reciepts for contributions being marked as sent but are not sending, and therein is noted as related or a duplicate to 15629, Paypal IPN not working on Wordpress the first time, which is also referenced in the other Civi.SE question.

Kurund suggests testing patch 5647 to see if it resolves the problem.

Update: Both Issue 15629 and Issue 16181 are marked as resolved as of 4.6.3.


ACL controls not working with smart groups?

I think this was an issue of misunderstanding. An ACL can have a target of a Smart Group, but the Group that contains the people who are permitted to access the target contacts must be a standard group.

The discussion was shifted to this ticket afaik.


I would say no:

As you've said PHP is not thread safe
CiviCRM does not focus on preventing race conditions in a few cases. Event registration and max participant count was one case (it might be fixed by a contrib in recent versions)


Adding And Removing Fields To CiviCRM Tables

I think the civi process works great for adding columns. Dropping columns is not done too often and hence the above error.

I suspect the easiest work-around might be to empty out the civicrm_generated file:

echo '' > civicrm_generated.mysql

and then run regen.sh (this basically makes setup.sh load an empty file, and hence avoid the error). Maybe this should be part of the regen.sh script


This fix in JIRA is meant to have fixed this problem


Custom contact reference field with "New Organization"

This feature request would, IMO, be a good match for the paid issue queue. Giving custom contact reference fields the option to have "create new" functionality would be a nice addition to CiviCRM.


Civicrm registration form sending to Paypal but registration info not being sent back to Civicrm

They are working on it.  I have the same issue.  Waiting patiently for the fix: https://issues.civicrm.org/jira/browse/CRM-18107?filter=-4&jql=text%20~%20%22paypal%22%20ORDER%20BY%20createdDate%20DESC


It's on the contact itself. It has become one of the addresses, the billing address.


Under Administer - Customize Data and Screens - Display Preferences, near the bottom, there's a setting for "Individual Sort Name Format". You can add in some tokens here. Not all tokens work so I don't know if there's one for your custom id, but if there isn't you might be able to find another useful field.

Note when you click save it won't automatically update existing contacts. You'd need to edit and re-save those.


DataTables warning on Find and Merge page - Upgraded to 5.0 from 4.7.17

I've taken a look at this & a patch should be out next week (I'm expecting that to mean we will release 5.0.1 - the flexibility to do that being the main motivation for the renumbering)


It looks to me like a bug in the shoreditch theme. It reduces the z-index of the civicrm menu, which causes it to be hidden behind the wordpress menu.

I've found a bug report on this, and a pull-request which fixes it. Hopefully that will make it into the next version.


It seems to be a domain name problem.

Are you using one of the following :

subdomains - i.e. http://subdom1.website.org, http://subdom2.website.org
http / https - i.e. http://website.org, https://website.org
with and without www. - i.e. http://website.org, http://www.website.org ?

If it is the case, you need to ensure that the main CiviCRM domain (the one that is in civicrm.settings.php) is the same that you use during all the civicrm navigation.


On our site we simply created a new rule, and chose the 'Unsupervised' option when creating it.

That creates the rule, and marks it as the default 'Unsupervised' one. The old default is downgraded to a 'General' rule. If it was a built-in rule then it stays 'reserved' so you can't edit it.

I don't think there's any need to delete them, or fiddle in the database =]


You may have already tried this, but if the window that you do the Edit in is a popup, then instead of clicking Edit to get the popup, right click and open in new Tab. Then there is more of a chance that you will see any errors being generated. May not apply in your case but it can be useful to know.

(Decided the comment i made was worth posting as an Answer.)


In Civicase - reports ignore 'Order' on 'Status' and use status id instead?

There is a "weight" field and a "value" field for each status. Changing the ordering on the admin pages changes the weight. Changing the "value" will correspond to status_id, but be careful about that - I'm not sure if it will autoupdate your existing data, i.e. if the value of "Completed" is "2" and you change it to "7", you might still have data in the system that has "2" stored and so it won't represent Completed anymore. You would then need to update civicrm_case.status_id in the database to match. Make a backup first if you're going to try that!

Weight is used for ordering in dropdown lists and such.


looking for a tutorial for installation of civiCRM for wordpress on NAS Synology

I'm not aware of any guides for installing on NAS Synology but general installation instructions are at https://docs.civicrm.org/installation/en/latest/
It looks like you could either try to install in the Synology Web Station or create a Linux VM.


Receipts Sent to Customer for Current Donation Include Previous Donations

The custom fields that allow you to specify who the donation should go to should most likely be attached to the contribution, not the contact.  Change the data model and the receipts should fix themselves.


Call to undefined function user_load() using Drupal 9 and api3?

The function user_load is deprecated in D9.
https://api.drupal.org/api/drupal/core%21modules%21user%21user.module/function/user_load/8.7.x
Looks like we need a replacement stub function in the drupal module. For a quick hack, you could append this to /var/www/drupal/web/modules/contrib/civicrm/civicrm.module (or wherever it lives on your server).
A better method might be to create a new D9 file of functions that gets loaded selectively only for D9.
/* for when user_load gets deprecated */

if (!function_exists('user_load')) {

function user_load($uid, $reset = FALSE) {
  if ($reset) {
    \Drupal::entityManager()
      ->getStorage('user')
      ->resetCache([
      $uid,
    ]);
  }
  return \Drupal\user\Entity\User::load($uid);
}

}


Anonymous users can't View details of a Contact in a public directory Listing

It is not possible to expose contacts to anonymous users.

The only place where this is possible is with registered participants for an event because you could create a public participant listing.

The other way to expose data to anonymous users to use a module from your CMS. In Drupal you could use the views module, and in Wordpress you can show a profile list on a wordpress page.


Custom Search with No Input Parameters just Results

Save the result of the custom search as a smart group, then the user can just search using that smart group name.


Issue with custom report that shows all users registered for event in last 2 years but not this year

I have accomplished similar results to what you are looking for by doing the following.

I created a smart group for all those who have registered for the current event (2017)
I then used the participant report filters to include all registrants from the previous events (2015 & 2016)
I then added a filter to exclude any members of the smart group for the current event.

I do all this using the report filters on the standard participant report but you could probably apply similar filters to a custom report. I also use the current event registrant smart group to exclude folks who have already registered from promotional mailings. It comes in handy.

Hope this helps.


Custom field aggregation with Drupal Views

If your View is based on 'users' then your result makes sense.

If your View is based on 'civi contact' then your result doesn't make sense unless you are using contextual filter, relationship or filter to specify 'user'.


CiviCRM Profile not showing on User Account Page

I would check what is happening by setting up a Profile with the simplest possible profile eg just First and Last and Email

That will help rule out the issue being related to any of your Fields or permissions related to eg Custom Fields.


Is there a way to display a CMS username in a profile?

This could be done in Drupal via Views where you can easily join the civi contact to their drupal user record and hence show both the civi 'name' and the user 'name'.

(mostly adding this for completeness as it 'is' an Answer, and SE likes answers ;-) )


APIv3 Rest URL ... Could not load the settings file

Ok, so this is a temporary fix. Would be interested to know a final solution:
In the path /bitnami/drupal/modules/contrib/civicrm/../..//default/civicrm.settings.php
the '//' is interpreted as '/' so the file being looked for is:
/bitnami/drupal/modules/default/civicrm.settings.ph
Well, there is no default directory in /bitnami/drupal/modules so I created it and inside I put a symlink to the correct location of civicrm.settings.php
cd /bitnami/drupal/modules/default
ln -s /bitnami/drupal/sites/default/civicrm.settings.php civicrm.settings.php
With that the example REST query works fine.


Open CiviCase via Webform with manager role assigned

Finally it is working!
Two where important:

Disable "Enforce Permissions" for the contact field in the webform config, filled with a default value.

Look out for the field "Update Existing Case" on the CiviCRM tab. It was set to a case status value, so it would change an existing case.

Many thanks to @AndyClark and @RayWright!


Drupal single user, multiple civicrm memberships, editable details: What's a good logical approach to integrating them?

If you set up your membership type so that it provides an 'inherited membership' via the 'employee for' relationship, then the Employee will have a permissioned relationship over the Business, and can therefore access the address details etc for the Organisation via their Contact Dashboard.
Secondly if they are logged in then the employee (or primary contact or whatever you need it to be) can have 'permission' on a webform to update more details about the Organisation if you can't give them enough access to fields via Contact Dashboard.
Does that move you towards your goal?


Civievents - warning when user registers for event (CiviCRM 4.7.23)

You mention that you see this error on the production version as well.  This indicates that your production site is displaying errors, which is a PHP misconfiguration.  There are many similar questions on Stack Overflow on setting PHP error reporting, but the best reference is the error reporting page of the PHP manual.

This doesn't solve the underlying issue, but it will hide the messages in production.


Check your administrator/components/com_civicrm/civicrm/civicrm.config.php file. It should be only 12 lines long and look like the following:

<?php
define('CIVICRM_SETTINGS_PATH', '<www root>/administrator/components/com_civicrm/civicrm.settings.php');
$error = @include_once( '<www root>/administrator/components/com_civicrm/civicrm.settings.php' );
if ( $error == false ) {
    echo "Could not load the settings file at: <www root>/administrator/components/com_civicrm/civicrm.settings.php
";
    exit( );
}

// Load class loader
require_once $civicrm_root . '/CRM/Core/ClassLoader.php';
CRM_Core_ClassLoader::singleton()->register();

The 3 paths to civicrm.settings.php within civicrm.config.php should all be absolute. Your PHP warnings show that /../..//default/ is in the path, which is incorrect for Joomla. I can't explain how it (or code that is generating it) ended up in your civicrm.config.php; this forum post might give a clue. If your civicrm.config.php is not as per the above, replace it with this, substituting  with the correct path.


What's the best way to assign a case role via the API?

Looking through the api code for relationships it doesn't appear to be case-aware. You can duplicate what happens in the UI by checking out CRM_Contact_Page_Ajax::relationship(), and note near the bottom where it calls CRM_Case_BAO_Case::createCaseRoleActivity().

Depending on what you mean by "api", that might not be exactly what you're looking for, but you should just be able to add a call to CRM_Case_BAO_Case::createCaseRoleActivity() to the code you've written that already creates the relationship.


Remove Default/Standard fields from activities

You can not switch this off as a user I am afraid. But you can hide it with a little jQuery to the template if you know how to do this. Is this something you can do?


How can i match CiviCRM ID on two installations?

Depending on your end goal, one solution is to set the External ID of a record in instance B, to the Internal ID from instance A.

The Internal ID (civicrm_contact.id) is a primary key; the database engine assigns that field, and you risk data corruption by trying to keep it in sync yourself. The reliable way to keep them in sync is to have instance B act as a Replication Slave of instance A, where data changes in A are copied to B (but not vice versa).

If you can tell us more about what you are actually trying to achieve (as a new question), perhaps we can help you with the greater goal.


Network error when viewing individual activities

Symptoms like you describe match the symptoms of a bug in the Activity iCalendar Feed extension, which has been fixed as of extension version 1.5.

If you've got this extension installed, I recommend a) disabling it temporarily to see if this bug could be at fault, and b) upgrading it to the latest version. (Hat tip to V3rmie for creating the ticket for that bug.)


What is the purpose of Contact Link in the Caldera forms activity processor?

The Contact Link at the top of the page serves as a form of labeling and as a way to connect/link other entities (processors) like an Activity to a Contact on the form.

It's purpose may become redundant in the future, but just to be replaced with Caldera Forms' magic tags (kinda like CiviMail tokens).

The link, and magic tags are a way to share and pass data/properties between processors or fields, they serve as a placeholder for later available data.

In Caldera Forms, the processors are processed/executed in the order they are added to the form (the order you see them in the Processor tab, from top to bottom).

A processor has three stages of processing:

pre_processor
processor
post_processor

Most processors in Caldera Forms CiviCRM do their tasks at pre_processor stage, and store their data in a transient object, the Contact processor would create a contact in CiviCRM and store it's result referenced by it's Contact Link so when the Activity processor is processed grabs it's necessary data from the Linked Contact.

Hope that gives a better picture on the Contact Link's purpose :)


Contribution receipt has "display in honor roll" when personal campaign pages is off

Even though Personal Campaign Pages was off, Widgets had become enabled. Once I disabled Widgets, this went away from the donation receipt.


How to change the display of case listings to show and/or sort on case ID

For both pages you're talking about it's templates/CRM/Case/Form/Selector.tpl, but what's interesting is that I know case id used to be there. Browsing the code history it looks like it was removed around v4.5, but without investigating further I can't say why. But take a look at 4.4 for example to see how it used to be. It's not sortable there, but might get you started.
https://github.com/civicrm/civicrm-core/blob/4.4/templates/CRM/Case/Form/Selector.tpl


I think the new version tries to create the webhook automatically. Maybe if it already exists in the Stripe account it can't create it -- have you tried deleting the webhooks in the Stripe account and then using the "Fix Stripe Webhook" (civicrm/stripe/fix-webhook) page in CiviCRM to regenerate it?


If you are using Drupal, I would guess you can do this with Webform-CiviCRM. For example, you might be able to use Webform Conditionals (which comes built in with Webform) so that if they select the "Single golfer" option on the payment amount it hides the other three contacts, and if they select "Foursome" it shows the additional contacts (and those fields can be marked required in the Webform Components section).


Need to recreate your civicrm.settings.php file - or at least check the DB settings in there.

It's typically created upon install and located in wp-content/plugins/civicrm/civicrm.settings.php


Replace Webform Date Select Dropdowns with Textfield

Following my comment, you can edit the case start date component and change the widget to be a textfield. I was also able to disable the field on my webform.

As you have a disabled text field, not sure what you mean by changing the date format. If it needs to be done in civi, you can navigate to Administer -> Customize Data and Screens -> Date Formats.


Everything In CRM is Slow - Errors With CRM_Contact_BAO_GroupContactCache

There's something wrong with your smart group with an ID of 95.  However, this is unlikely to be causing a performance problem, since this query simply isn't running.  If you can delete and recreate your smart group with an ID of 95, this error should go away.


How can I most easily import Activities and Contacts together?

If it's a new civi installation (with no contacts) it's not bad because all of the external identifiers are available.

I don't know of a way to do them in one fell swoop.

We typically import contacts using their old id as the external identifier and then import the activities.


How do I translate the "On behalf of Label"?

This is a civicrm core bug, fixed in 5.30, as per Demerit's comment below.
These labels live in the table civicrm_uf_join as the 'module_data' field.


Log Entry View and other settings pages don't load (5.18.4, Drupal 7.67)

Welcome to Stack Exchange!  I'm tempted to mark this question as a duplicate to point you to existing answers - but I'm struggling to find the "one true answer". templates_c cache files not being deleted is close.  Essentially, it sounds like something created a file in templates_c that's not readable by the web server user.  The quick solution is to delete the templates_c folder - this is always safe and it will regenerate.  However, in the longer term you need to find what caused the problem.  Are you running cron as a user other than the web server/PHP user?  Are you running drush from the command line as a user with different permissions?  If you don't find the solution the problem will keep coming back.


The email body content starts here for csv: https://github.com/civicrm/civicrm-core/blob/5.18.4/CRM/Report/Form.php#L3413, and a bit lower down for pdf.

Note also the attachments are hardcoded in, a couple lines lower down.

Note that in the report itself on the Title and Format tab you can add some text/html at the end of the header which will get included in the email.

The code seems to be after hook_civicrm_alterReportVar so I don't think you can use that to remove the attachments, but you should be able to use hook_civicrm_alterMailParams to remove the attachments.


Migrating from Drupal/Civi to Wordpress/Civi is relatively painless.  You'll need to truncate your civicrm_uf_match database table, which links Civi records to CMS users, and repopulate it - Administer menu > Users and Settings > Sync Users to Contacts works well if you want ALL your Wordpress users to be linked up.

That said, there are numerous gotchas to watch out for - I've started compiling a list here.
UPDATE: I've merged this with documentation on wiki.civicrm.org.  Please check Moving from Drupal to Wordpress.

Since StackExchange prefers direct text to links, here's what I've got so far:

PayPal IPNs needed changing. You can only change future IPNs in Paypal; you may also need to set up a 307 redirect from the old URL.
URLs linking to contribution pages etc. in mailing templates, scheduled reminders etc. need to be changed.
Images in mailing templates and scheduled reminders must get a new absolute URL (or a redirect).


Cannot install extensions on a wordpress+civicrm install

After experiencing this same problem, I dug a bit deeper, and confirmed that this is a bug in CiviCRM 4.6.  I've submitted it here: https://issues.civicrm.org/jira/browse/CRM-16590

UPDATE: this is fixed in version 4.6.4+.


Can I link memberships to relationships automatically?

You can set type of relationship to be used for a membership type. So when a membership is purchased the contact will have relationship with the organization automatically and also will be set to inactive when membership is expired or cancelled.

You can also check documentation for more information at https://docs.civicrm.org/user/en/latest/membership/defining-memberships/ (search keyword - Relationship Type)


In my case an upgrade to 5.22.1 fixed the issue.


cron setup failing in new Wordpress installaion

I'm not sure about this but it sounds like a permissions problem and you may need to update the permissions in root/wp-content/plugins/civicrm/civicrm/bin/cli.php to be executable. Hope this solves your problem.


Check out this extension by CiviCoop: CiviRules. You can do exactly that -> delayed Actions: https://civicrm.org/extensions/civirules


CiviCRM logging enabled. I am now getting an error on mysqldump. Unknown storage engine 'ARCHIVE'

Short answer: Change the storage engine of the table with the following command in mysql:

ALTER TABLE log_civicrm_install_canary ENGINE=InnoDB

The civicrm_install_canary is a table used for installation purposes. The purpose is explained in the answer on What is the installation canary?


Moving a membership from one contact type to another

This would probably depend on how many you have. If just a few, you should be able to just change contact_id value in civicrm_membership


I am assuming you are publishing donor names somewhere and the donor does not want their name published.  If this is correct, there are a few ways to handle this, below are a couple ways we do.

One way is to use a custom contribution field. It can be a yes/no or a check box with the question: Do you want your contribution to be anonymous? When running a report of names to publicize, you can filter out those that said yes.

Outside of donation pages, if we get an envelope of cash dropped off to our door with no contact information, we decided to create an organization called Anonymous Donations, where we log their contributions.

Also welcome to stack Aaron - just a reminder - try to include what version of Civi and your CMS (wordpress, drupal, etc) you are using.  Sometimes there are answers specific to your setup.


In CiviCRM 5.13.5 the new menu appears below the actual page or form

Fixed it by enabling clean url's in my local Drupal installation.


Is it possible to install CiviCase without all the sample data?

The short answer is no. But it's a good point. I think this is mostly just left over from the original implementation when setting up civicase was difficult, and it was hard to know what it would look like without an example. There didn't used to be a UI - just hand-coded xml files.

You might have to delete some of a case type's definition parts first before deleting the actual type, since it might consider it "in use". But you are going to need at least one case type, so as a workaround for now instead of deleting you can edit the case type.

The relationship that is defined within the case type as the case manager has to exist.

The Open Case activity type does need to exist since it has some semantics associated with it, along with some other activity types, e.g. "Link Cases".

The Urgent status is used for hiliting on the Case Dashboard, but it will function fine if you delete it.


How to decide between using a custom Relationship and using a custom Contact Reference field?

In my experience, I default toward relationships, but might use a custom reference field in these situations:

I need to export multiple people with the same relationship.  For instance, if Andy and Beth both have a "Mentor of" relationship to Johnny, you can't export Johnny's record showing both mentors.  So I'll make two contact reference fields.
You need to create a form where a site visitor needs to specify an existing contact.  For instance, if new members must be referred by existing members, you may want them to be able to submit a profile that indicates who the referring member is.  If you use Webform-CiviCRM Integration, I think you can do this with a relationship, but otherwise, you need a contact reference field.


Is it possible to restrict event registration to members?

The way I do this is by using the "Require participant approval?" feature in the event set up. This means that anyone can apply for the event, but then their application is manually reviewed by one of the admins to see if they are a member.

Clearly, this introduces a manual process, but it does mean it's quite secure and it means any anonymous user can apply without having to log in.


How to add/remove search fields from the search box dropdown in the navbar?

The quick answer is "no."

For some back-story, that feature was contributed (circa 4.3) by a volunteer from the community who was enough of a coder to be able to get it to work, but not really a CiviCRM architect. His implementation was done by hard-coding that list of fields directly into the template.

The result of his good-faith effort is that:

We have the feature (which IMO is a step up from previously not having it).
It's not flexible or extensible.

I've been thinking that it would be a great little project for someone to add a setting to the "display preferences" screen that would allow you to enable/disable fields from that list. Searchable custom fields could be included.

If anyone is interested in taking this on, let me know in the comments and I'm more than happy to help you get started.


'A potentially unsafe operation has been detected in your request to this site' error

This error doesn't come from CiviCRM, but comes from either the Wordfence plugin for WordPress, or your hosting provider has mod_security configured in such a way that it breaks normal operation of CiviCRM.  I generally warn people away from shared hosting providers for this reason and toward a VPS unless they specifically know that CiviCRM is supported.  In theory, a good webhosting company will fix their settings - but bad shared webhosting companies are far more common than good ones!

If you have Wordfence, see if disabling it fixes your problem.  If so, it may be worth exploring a bit further which Wordfence setting is causing the problem.  If you aren't running Wordfence, open a support ticket with your webhosting company.


Upgrading to the latest version seems to have fixed the problem.


Try adding below lines into end of civicrm.settings.php file
global $civicrm_paths;
$civicrm_paths['civicrm.root']['path'] = '/path-to-wordpress/wp-content/plugins/civicrm/civicrm/';
$civicrm_paths['civicrm.root']['url'] = 'http://sitename.org/wp-content/plugins/civicrm/civicrm/';


It turns out that the field 'email contact' when importing is actually contact id. So there you go!


How to supply user input to custom visualizations with Civisualize

So the general dc.js way is that you fetch all the data needed, and do the filtering client side.

The usual way of doing the filtering is by clicking on the graphs, but you can as well have buttons on input filters, eg http://www.integritywatch.eu/

This being said, you could as well ajax fetch the data as csv or json, update the crossfilter and redraw the graphs. It might be easier to discuss about a specific example of what you want to do to work the pros and cons of each approach

X+


So it looks like the answer is.... It Depends!

In CiviEvent Component Settings you can set the site to use an event cart functionality, so instead of a register button events have an add to cart option.

It looks like this applies as a blanket to all events on the site so I don't know if that's the right way forward here.

Or I could build webforms for courses, the event booking tools on webforms allow you to be incredibly fine grained and pull in event id's into the url's. So if i have 6 events as part of 1 course I can configure a webform per course.

I think this can get complicated quite quickly. Wil need to estabilish paramteres with client before attempting a test form.

Will the user be allowed to book other participants onto the same events?
If so, how many additional participants are you expecting the user to book on. (Looks like the webform maxes out at 9 participants per form)
Also looks like form settings expect contact 1 to be the payee and the main partcipant throughout. So payee has to be a participant.

And then will need to configure the payment screen.

Con's here it looks like the initial set up will take aaaaaaages. But once done we can clone for future courses, or use one central form and find a way of rewriting the url link to include specific event id's.


Could an extension add fields to the standard Find Contributions form?

How about building an extension that creates custom report - where contributions can be e.g. filtered by or grouped by Payment Processor id? Much easier to create that and likely more useful too.


Mass update / import bulk email preferences?

The API CSV import extension using the email entity has a way to import these.

It looks like you can match on external ID.


Multi-level Organization ACL Permissions

While it's more work to set up, I think you'd be very well served by taking advantage of multi-site capabilities of CiviCRM, especially in conjunction with the excellent Multi-site Permissioning extension.  That said - I'm very nervous recommending these tools to someone who hasn't set up CiviCRM before!  It takes a fair amount of web development know-how to get this all working.

This would get you two-tier permissioning for "free".  You need three tiers - local, national, international.  I'd probably give each local group their own site - using Domain Access for Drupal or Wordpress multisite.  Then I'd handle the national level via ACLs.  Hopefully someone might also give good advice on my related question here.

The alternative approach is to write a custom permission extension.  This has a performance benefit, and also leads to much easier management.  However, this requires a much higher level of skill!  I'd say the two shops with proven expertise here are Fuzion and JMA Consulting.  If you're a developer yourself, the Multisite Permissioning extension above is a good example to get you started.


get name and email in exchange for free PDF

For emailing the PDF my approach would be to use a mix of Forms(WP plugin)/Profiles and Scheduled reminders or CiviRules. For granting access to an online PDF library I suggest you ask a separate question.

Setup

Create a custom activity type ie PDF request, and a couple of message templates, one for the welcome/thank you email on request (ie activity status Scheduled) and second one with the actual PDF or link to the PDF, when approved (ie activity status Completed).
You can go cray cray and create your own, more descriptive, statuses ie For review.
Set up a Scheduled reminder or CiviRule for the PDF request activity with status Scheduled to send the welcome/thank you email.
Set up a Scheduled reminder or CiviRule for the PDF request activity with status Completed to send the PDF/link to PDF email.

Workflow

User fills in form/profile and submits it, contact and PDF request activity with status Scheduled is created on form submission, user receives welcome email, admin is notified, admin reviews contact/lead and approves the lead updating activity status to Completed, lead receives PDF/link to PDF email. With CiviRules you can create even more powerful and crazy workflows!

Implementation

The Profile path would need a bit of custom development, using the appropriate form/profile hooks in an extension to create a PDF request activity type with status Scheduled on form submission that would trigger the described workflow.
Using Forms you have a couple of options, the Gravity Forms CiviCRM integration (paid add-on for Gravity Forms) and the Caldera Forms CiviCRM integration (free and open source), both will allow you to create an activity on form submission without the need of custom development.

Disclaimer: I'm the developer of the Caldera Forms CiviCRM integration.


CIVI EVENTS - Copy and Copy and COPIES of an event - Anyone experiencing the same issue?

Have you confirmed that these copies exist at a db level? I.e. Are they just showing the same event multiple times? Look at the urls and see if they have different ids to confirm this.


Does Civi still support the ability to set a specific start date for recurring contributions?

This issue appears to have been resolved. When we upgraded to Civi 4.6.10 the missing fields have reappeared. These fields were very useful, not having them was problematic, and I am very happy that I can use them again.


"Cron Not Running" system error after update to 4.7.1

I noticed on all my sites that I upgraded, it also initially had an error that cron was not running.  But after the first automatic cron run triggered by my host cron job, this went away.


I think this makes sense as an addition - but note that there are 3 types of get api

1) api layer api - e.g anything that uses basic_get
2) query object api (contact, contribute etc)
3) random assorted api

1 is easy & in one place - 2 & 3 are ... not

BUT #1 changes substantially in 4.7 compared to 4.6 so you would need to fix at minimum in 4.7 & add unit tests and ALSO in 4.6 if you want it to work there too.

(We are open to backporting the 4.7 internals en masse to 4.6 with an self-deprecating opt-in -eg. $params['options']['4.7plusmode'] = TRUE;
- the 4.7 code also supports custom field filters (e.g on address) and lays the groundwork for more nuanced acls since it permits joins in simple api which is a blocker in 4.6)


Go to Search > Search Builder and do this:

I can't comment on if this is the best way to do this, or perhaps have them added to a Group called 'Get Updates' instead so it becomes a discrete search for all those records, but there you go.


Why don't date selections via the pop-up stick when adding an event?

Changing the month and year in the calendar doesn't have any effect until you click on a date. This can be a little confusing - is that your issue? This UX never seemed quite right to me but it's jQuery UI's thing, not ours.