There is no import/export function as far as I know but.....
your rules will be saved in a few tables:

civirule_rule will contain your rules
civirule_rule_action will contain the combination of actions in your rules
civirule_rule_condition will contain the combination of conditions in your rules
civirule_rule_log will contain the logs of your executed rules
civirule_rule_tag will contain the tags of your rules

You can save these tables before you upgrade and then later restore BUT you would have to make sure that you check the ID's of actions and conditions! So to be on the safe side I would save the tables civirule_action and civirule_condition too so you can compare after the upgrade.
Also, be aware that if you have any delayed rules you have to check the civicrm_queue_item table and execute the cron job for delayed rules until there are no more items left BEFORE you upgrade.
Alternatively you can either develop an import/export function yourself or fund a CiviCRM expert to create that function in the CiviRules extension?


I keep getting Payment Instrument not valid when trying to import Contributions - after upgrade from LTS 4.6 to 5.3.x

Ok next thing to try is to check the civicrm_option_value table. Note it has a name column (in addition to what you can see in the GUI in 5.3.x). In the old days this name column was exposed and could be set independently: here it was set to Offline Credit Card - Importing with Payment method:

Offline Credit Card -> works!


Different search results in Adv Search vs Search Builder

After you have made your advanced search and get no results, you will stay on the advanced search page.

If you look at the bottom of that page it will say "No matches found for:" and then list the options you have chosen. Can you see anything in there that wasn't related to the options you picked?

I only mention this as I have a similar problem and I can see that the "Preferred Language" field is being set to Afrikaans, so therefore making any advanced searches yield no results.


Options for monthly payments and annual payments on same contribution page

You could make a single priceset which is capable of accepting the various combinations that are possible, then implement a design which provides a different UI for selecting the preferred amounts.

An example CiviCRM membership/donate page which implements a similar approach is the one at http://greens.org.nz/join - the visible elements trigger changes in (hidden) CiviCRM form elements to deliver the required user experience.

CiviCRM permits you to ensure a minimum amount on the contribute form, but that won't account for the combination of payment term and amount. With a small extension you can implement any validation required to ensure the correct amounts are paid (so a user can't submit the form with a cheap annual membership).


Efficient methods for flagging profile submissions from a contact form

Your solution to use a hidden field seems reasonable. I would suggest though, instead, you create a custom field (on the same dataset) called Triaged, with a default of 'No' (or null).

Don't even bother including it on the Profile.

Then when the contact us profile is manually processed, the staff member checks the Triaged field (or sets it to Yes) on the backend.

No jquery needed (there still are some people that don't have javascript enabled). Let the system do the most it can for you.

As @petednz points out, Drupal users have a way to handle this using Webforms. If you are ambitious, you could build a form on the WordPress side and on its submission run a bit of PHP code to call the CiviCRM API to do what you need it to.  But that's way more technical than most people want.


Deactivating a contact for a certain timeframe

One option would be to add an Activity on her record with a Scheduled Date for 18 months time, and assign it to a contact that has an email address that will still be read in 18 months. that way you could change her email address to the one she wants using, or set her Comms Prefs to 'do not email', and then in 18 months they should receive a reminder to undo things so she gets the emails again.


Quality assurance considerations for membership signups

I strongly prefer the approach of having a $1 membership type set up, and testing it with real cards and real money. For $2-3 I get full piece of mind that things are working. I generally only need to know it is working on one Contribution page to give me confidence that it will be working on all pages using the same Payment Processor.


Webform Event Registration skips payment processing

I was able to get this working by recreating the form using 7.x-4.12 version of the Webform CiviCRM Integration module. (Simply upgrading the module and using the existing form would not work.)

In addition, I had to make sure that Webform>Payment Processor had both "Pay Later" and "Credit Card or PayPal" selected. (You'll notice on the screenshot above that only "Pay Later" displays.)


Where to get PDF copies of CDN tax receipts?

Welcome to StackExchange!

In the Configuration for the CDN Tax Receipts Extension -> look for archive email address. That’s where carbon copies of any issued Tax Receipt will go.

If you want a copy becuase you want to re-issue a Tax Receipt then (when viewing the Contribution) hit the Tax Receipt button and then hit re-Issue.


How to insert youtube link in Civimail, like in mailchimp?

Just copy and paste the link into the body of the template.

You can embed it in html so that it opens inside the message - youtube provides "embed" code to do that. When you paste this in, click the "source" button and paste it there before saving.

Hope this helps,

John


Export CSV of an smart group's contacts via REST API?

You can't create a csv directly from an API call. But it would be a very simple task to make an API call and then format the results as a csv. One simple option might be to use Google Apps Script to call the API then put the results into a spreadsheet, if you don't want to run this as a standalone script. Or any scripting language you might want to use will have plenty of Google results for creating a csv from an array, which is what the API will return.


That message is misleading and we'll need to fix that.   Using the home page as the base page just won't work.  A WP Page needs to be created and set as the base page.
There should be (depending on your version) a System Alert that reads:
CiviCRM relies upon a base page in WordPress at http://example.org/, but it is missing. The default is https://example.org/civicrm, which does exist on this site. You can set the correct base page in the WordPress integration settings.

CiviCRM needs a WP page set as the basepage.  This should be set in wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/uf&reset=1  New installs create 'civicrm' as a WP Page and set that as the basepage.


Why is CiviRules not firing when the trigger is adding a tag?

Thanks for sharing your problem.
As you can see there are a few outstanding issues with tags: https://lab.civicrm.org/extensions/civirules/-/issues?scope=all&utf8=%E2%9C%93&state=opened&search=tag
As you are probably aware CiviRules is open source like the rest of CiviCRM. That means that issues will be fixed in a number of ways:

organizations run into bugs and get their own staff to fix them
organizations run into bugs and pay a CiviCRM partner/developer to fix them

So if you are in a position to either fix the problem or fund someone else fixing it that would be great! Most of the times issues do not get fixed without someone bearing the cost at some point, the power of open source is that the solution is then shared freely.
On top of this CiviCooP sponsors a yearly 2 day sprint to fix as many as the issues as we can in 2 days. But there is no guarantee that the issue that is bugging you is on top of the list (although in this case it probably will be....). This sprint is going to be in the week of 10 May. Any sponsorship for an additional day will be welcome :-)


Unserialize error when viewing a contact

This would happen if you have an invalid value in your civicrm_setting table, if someone tried to manually edit one of the serialized values stored in there.

If you're not sure which value(s) might be problematic in that table, you can try editing the file at `Civi/Core/SettingsBag.php and insert this right after line 153 (note this is untested):

if ($dao->value !== NULL && !unserialize($dao->value)) {
  CRM_Core_Error::debug('bad setting', $dao->name);
}

That should print the name of the bad setting on your screen.


Admin permissions are required to set 'limit to' or 'also add' participant role for scheduled reminders?

Two explanations come to mind:

Scheduled reminders are often set up by administrators so in many
cases the current arrangement is fine.
CiviCRM:Administer CiviCRM is a
default requirement so it is possible no-one has worked through what
permissions make sense if it is not an administrator configuring the
reminders.

I'd suggest you create an issue at https://lab.civicrm.org/dev/core/issues and describe how you think the permissions should work in that area.

However, unless you can contribute code or sponsor someone to do the change, it is unlikely to be implemented quickly - but you might get lucky: sometimes people getting started with Civi development are looking for small changes to work on.


Invoice generation wkhtmltopdf font missing

Another option to try is to use inline fonts encoded in the base64 format. This prevents file system permission problems. More information can be found in this blog entry.


Is there a report that will group by source of contact?

In Drupal this could very easily be done with a View using Aggregation that would do this if you will accept that.

EDIT: The above should not have said 'very' easily ;-) but you can see / grab an example from Fuzion's Treasure Trove


Can I set a premium for a $20 minimum on a recurring contribution, but $80 for a one-time contribution?

I just came across this question and we have solved a similar problem a few years ago, i.e. we want to count the total value of recurring contributions (e.g. a $10 recurring should count as much as a $120 one time).
What we do is to rewrite the function used for computing the premium amount. The javascript is in templates/CRM/Contribute/Form/Contribution/PremiumBlock.tpl (copied in a custom extension).
Simply adding the following to the function get_amount do the trick :
var isrecur = $('.is_recur_radio-section input:checked').val();
if (isrecur == 1) amount = amount * 12;

I suppose it's possible to add some more complex logic.
The fact that we need to update a core template file is not ideal for maintenance but it's a rather small change so it's easy to keep track of it and re-apply the change when we upgrade CiviCRM.
EDIT 2021-03-22
The solution above is not enough: there is validation in CRM/Contribute/Form/Contribution/Main.php that require adjustment.


After some debugging, i found out the CRM_Core_SelectValues was overridden by the com.klangsoft.flexiblejobs extension. After disabling this module or updating the code the problem was resolved.


Attempting to add a new Contact, why do I get this error message - 'Warning: htmlspecialchars() expects parameter 1 to be string'?

Eileen fixed the error, see the Jira issue at https://issues.civicrm.org/jira/browse/CRM-16287


Exported custom date fields formatted incorrectly

Based on your description, I think the export format might be controlled by the "Complete Date and Time" and "Complete Date" settings at Administer > Localization > Date Formats.  The default values for those fields are:

Complete Date and Time - %B %E%f, %Y %l:%M %P
Complete Date - %B %E%f, %Y

The help text on that screen reads:

  Use this screen to configure formats for date display and date input fields. Defaults are provided for standard United States formats. Settings use standard POSIX specifiers. Available specifiers and the values produced will vary based on your operating system and locale.

  Commonly Used Specifiers

  %b - abbreviated month name ('Jan'..'Dec')
  %B - full month name ('January'..'December')
  %d - day of the month as a decimal number, 0-padded ('01'..'31')
  %e - day of the month as a decimal number, blank-padded (' 1'..'31')
  %E - day of the month as a decimal number ('1'..'31')
  %f - English ordinal suffix for the day of the month ('st', 'nd', 'rd', 'th')
  %H - hour in 24-hour format, 0-padded ('00'..'23')
  %I - hour in 12-hour format, 0-padded ('01'..'12')
  %k - hour in 24-hour format, blank-padded (' 0'..'23')
  %l - hour in 12-hour format, blank-padded (' 1'..'12')
  %m - month as a decimal number, 0-padded ('01'..'12')
  %M - minute, 0-padded ('00'..'60')
  %p - lowercase ante/post meridiem ('am', 'pm')
  %P - uppercase ante/post meridiem ('AM', 'PM')
  %Y - year as a decimal number including the century ('2015')

If you change the values for those settings, perhaps the export format will change?


I use this plugin on one of me other sites but it should work on a site with Civi too.
https://wordpress.org/plugins/buddypress-members-only/

In the plugin settings, you can set the login page and you can whitelist urls on your site that are open to the public.


Drupal CiviCRM Menu not full length (shoreditch and otherwise)

This isn't directly related to the Drupal 8 change but instead is related to a change to the civicrm-drupal7.js file.

The JS is forcing the CiviCRM menu to 97% width - to allow for the Drupal admin toolbar's shortcut bar toggle element. It doesn't however account for sites which don't use the core toolbar module or styling or sites which don't use the toggle element.

A fix for this issue has been committed to CiviCRM (located here) and should be merged in to 5.8 at the latest.

The release summary documentation is worth reading and provides a high level overview of how releases are managed and what kinds of changes are (generally) included/accepted at which stages.


Which contacts in Civi are wordPress user as well?

You should be able to search via Adv Search and find a button called CMS User.


How do I change the address on system workflow messages?

As far as I know:

Your default organization address can be found in Administer/Communication/Organization Address and Contact Info. That should be your $domain.address.

You can also update the sytem template Contribution Invoice Receipt and replace the default domain address with your desired address settings if you for whatever reason do not want to update your domain address.


Can I import contacts from Outlook into CiviCRM?

There is a very good explanation about importing contacts in to civicrm using csv in this chapter of the book. It doesn't matter where those contacts' data originated.

https://book.civicrm.org/user/current/common-workflows/importing-data/


Include dates in a membership sign up form

I would recommend you to create a wordpress page

For logged in member you should be able to find his contact ID and membership ID

Using some PHP code you can select civicrm_membership table from civicrm database. Which will provide you with membership End date and you can use that to display to the member before renewing

I guess this helps !!!

If you need more help please let me know

Thanks


Smart group with manually added contacts

You should think of a smart group as two parts:

A static group (and all the tables it involves)
A query and its associated tables

The final list of contacts is the union of the above two (minus the contacts who have been explicitly removed from the static group)

I think the above design allows a lot of flexibility and power. I think the main issue with smart groups is being smart about when and how to cache the results. Civi does a fairly basic job of this right now and can be improved considerably (IMO)


How can a pull a report with notes includes

Do a search to find the people who you want to pull information from, select the contacts and under actions select "export contacts." At step two select "select fields for export" and hit continue. Once on that page, choose any fields you want exported and there is an option for "Note(s)." I recommend saving the mapping so you do not have to choose which fields you want exported every time.


I think I may have gotten it. I upgraded to Ubuntu Xenial holding back with apt-mark all packages that matched drupal7, php, mysql and apache. Booted into my new system and all seems ok for now so I have my up to date desktop and a working civicrm setup. Thanks for listening.


I would as a test forget about the display message first, and start only with adding to and removing from group. I would expect those to work.

I have just tested a rule on my CiviCRM 4.7.15 local install as in the screen print that I have attached, and that works fine? Can you test with the same rule?


Multi-Record Custom Data Set - Permissions (View/Edit)

Probably not the answer you were hoping for :-(, but confirming that is a current limitation.  ACL's for custom data do not distinguish between View & Edit.  On the New ACL screen, when you set the type of data to custom data, a message is shown:

  NOTE: For Custom Data ACLs, the 'View' and 'Edit' operations
  currently do the same thing. Either option grants the right to view
  AND / OR edit custom data fields (in all groups, or in a specific
  custom data group). Neither option grants access to administration of
  custom data fields.

It would be a useful enhancement to fix that, but you can't do what you want without writing code.

If you just want to deter some people from changing the data then adding a bit of jQuery to disable options would be fairly simple. That is not secure since a user can bypass it.

For a more robust approach, you could try hook_civicrm_validateForm.


How to set up CiviCRM on separate Drupal from primary site?

You can certainly use the API from Drupal 8 to access your CiviCRM on Drupal 7, this is a set up I encounter fairly regularly.

There are a few resources explaining how this can be done conceptually:

https://civicrm.org/blog/jaapjansma/using-civicrm-form-processor-extension-to-handle-form-submissions-from-an-external
How to get CiviCRM Views to work in Drupal 8 with separate CiviCRM database
https://docs.civicrm.org/civiproxy/en/latest/


Membership signup/renewal erroneously reports missing fields after upgrade to 4.7.3

This may all be stuff you already know.

If you have a look on the Title and Settings for that page eg

civicrm/admin/contribute/settings?reset=1&action=update&id=1

you should see that you have 'allow individuals to contribute 'on behalf of' an organisation' ticked. And below that it should specify the Organisation profile in use. You can either Edit it via that page, or go direct to Profiles.

NOTE: at civicrm/admin/uf/group?reset=1 it may be on the Reserved Profiles tab, which might be why you aren't seeing it.

on the page at https://oaem.ca/civicrm/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1 I do not see the 'on behalf of' checkbox which I do see on your old screenshot - is that because you have now made it required?


This page requires cookies to be enabled

Suspect this issue is happening when the site is accessed via https://example.com instead of https://www.example.com, or when moving from one domain to another midway through a form submission.

See also this similar SE question. This text is in the error message you've pasted:

  Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org

Make sure both WordPress and CiviCRM have a matching URL configured - CiviCRM in civicrm.settings.php, WordPress in Settings ⇒ General admin page (ref WP Codex: Changing the Site URL). Ideally, make sure that anyone landing on alternate URLs is redirected immediately to the canonical hostname and protocol.

The .htaccess snippet in this question addresses consistent protocol but not hostname.


CiviVolunteer front-end assignment listing

I assume that by front-end user you mean that the user doesn't have the "Access CiviCRM" permission?

Options for viewing the roster are outlined in the still-nascent documentation. Summary:

Using the admin menu, go to Volunteers > Manage Volunteer Projects (on Drupal the URL looks something like  https://example.org/civicrm/vol/#/volunteer/manage). Note: this screen does not require "Access CiviCRM."
Find the Project of interest, and click "View Volunteer Roster."


CiviEvent online registration and page not found for online registration

The page or post with a shortcode is not mandatory. Something is probably amiss. Here are a few things to check:

Is your WordPress install in a sub-directory. So the website is http://website.org but the WordPress files reside in http://website.org/wordpress. This can cause the direct links to result in a page not found.
Check your WordPress base page under 'Administer>System Settings>CMS Database Integration' it usually is set to /civicrm (default you can change it to what ever you wish). Make sure that page exists. This is the page Civi uses as a template.

You want to get this straightened out. It can result in some issues depending on what you are doing with Civi. For example your opt-out links in mailings may not work correctly.

Hope this helps.


Is resource_url from civicrm_settings.php saved in the civicrm_setting table, under what name?

Instead of editing the database why not just override the value in the civicrm.settings.php file?

Check you have

global $civicrm_setting;

Then add
    $civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'http://example.com/example-resource-url/';

More information here on this
https://docs.civicrm.org/sysadmin/en/latest/customize/settings/

If you do want to update this directly in the database try the civicrm_setting table you want to search for a name of "userFrameworkResourceURL" and update the value column.

Best to make a back up of the database - or at the very least the table before changing it.

Alternatively you might also be able to set this via the api:

cv api Setting.create userFrameworkResourceURL="resource url here"

or

drush cvapi Setting.create userFrameworkResourceURL="resource url here"

depending on how broken your install is. Perhaps use Setting.get on dmaster via the api explorer to confirm what the appropriate format is:

https://dmaster.demo.civicrm.org/civicrm/api3#explorer


CKEditor does not display when editing event

My solution to my own earlier question: WYSIWYG editor not present with WordPress may provide an answer. If this was the cause of your previous problem it would have reverted on an upgrade.

Is CKEditor missing in all circumstances (eg sending an email)?


How to create a Drupal menu link to a civicrm contact profile

You can use Menu token module and Civicrm token module to create link in drupal module.

civicrm/contact/view?cid=[civi:contact_ID]&reset=1

Thanks

Pradeep


Is 'insert tokens' broken for TinyMCE when creating templates

You're right, it was a bug. Here's a fix for 4.7.

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

The code in 4.7 is a lot cleaner than 4.6; I don't think fixing it in 4.6 will be a priority for the core team.


Membership doesn't have a contact details(apart from id) in its API call. To get the address and display name, I think you need to call a chain API -

$result = civicrm_api3('Membership', 'get', array(
  'sequential' => 1,
  'api.Contact.get' => array('return' => "display_name, street_address"),
));

More about chaining - https://wiki.civicrm.org/confluence/display/CRMDOC/Chaining


How can I reference a contact's Drupal/Wordpress/Joomla account with a CiviMail token?

Option 1: Use the CiviToken extension [recommended, CMS independent]:
Fuzion's CiviToken extension provides {user.name} and {user.id} tokens by default. (Pro tip: this module also makes it easy to add custom tokens in a tokens/ folder in your CiviCRM custom PHP directory; you can duplicate and modify a file from the tokens/ folder in this extension)

Option 2: Custom token in your own Drupal module [Drupal specific]:
Coleman authored a blog post some years back which outlined how to make custom tokens. The following snippet is based on that and when slipped into a custom module will make the Drupal username available as a token in CiviMail.

<?php
/* CiviCRM token addition for Drupal username */

function MYMODULE_civicrm_tokens(&$tokens) {
  $tokens['username'] = array(
    'username.drupal' => 'Drupal username',
  );
}

function MYMODULE_civicrm_tokenValues(&$values, $cids, $job = null, $tokens = array(), $context = null) {
  // Username tokens
  if (!empty($tokens['username'])) {

    civicrm_initialize();
    foreach ($cids as $cid) {
      $params = array(
        'version' => 3,
        'sequential' => 1,
        'contact_id' => $cid,
      );
      $result = civicrm_api('UFMatch', 'get', $params);
      if (!$result['is_error']) {
        $drupalinfo = user_load($result['values'][0]['uf_id']);
        $values[$cid]['username.drupal'] = $drupalinfo->name;
      }
    }

  }
}
?>

Keep in mind that this is the bare bones and doesn't include any handling of a contact without a Drupal account. (So you would want to make sure to only use this token when sending to contacts with a Drupal account.)


CiviCRM generates broken link to contribution page

This is the WordPress "base page" setting.  It's at Administer menu » System Settings » CMS Database Integration.

That said - I think the way base pages are working in WordPress is slowly being improved over the last couple of versions.  Please let us know what version of CiviCRM you're running; it may be that this is fixed with an upgrade.


Need to show profile on event for someone logged in

If your profile includes some custom fields, check your permissions to ensure that those logged-in users have permissions to access the custom fields.  (And if users don't have to log in to register, make sure anonymous users have that access too.)


KCFinder - Is there a way to allow the user to specify the upload folder? Or change the default?

Right-click on the "images" folder in the kcfinder browser. You can choose New Subfolder.


Credit Card Contributions entered by staff listed as complete but never made it to authorizenet

after a lot of exploration it seems that this turns out to be user error caused by confusion about how CiviCRM multisite works.

The organization has multiple sub-groups, each having its own credit card processor account. The main www site was assumed by staff to be a master that had access to everything, but for the credit card processors it is just another subsite. So staff entering data logged into the main subsite were entering donations for other subsites. Those donations did not vanish, they just went into the wrong bank account.


I don't think it is without custom code :-(

The idea of the waitlist is they only pay if they have a place.


Splitting Contributions between Accounts

You could create two contributions, as @ErikH mentioned in a comment.
You could create a price set with two fields configured for the two accounts. Then create a contribution using the price set and have two line items, one for each account.

FYI, we expect with a month or so to have a new version of the Line Item Edit extension which will allow you to easily add an additional line item without first defining a priceset. That will allow you to split the contribution between accounts more easily. See https://github.com/JMAConsulting/biz.jmaconsulting.lineitemedit/wiki


I found the problem,

I had the stripe payment gateway configured with the extension disabled.

Thanks!


Error: Warning: ini_set(): A session is active

My fault. The issue seems to be caused by wrong Permission in Access settings in Report.

Instead of using CiviCRM: View all contacts it was set to CiviReport: Access CiviReport.


CiviMail: What is the expected behaviour when unsubscribing from a mailing sent to a parent group?

We abandon this method of manage mailing lists and turn on adding members to mailing groups as "expected" (not with parent or with smart groups). GDPR regulations pushed us to get this direction and avoid the problems described in your question at the same time.

Maybe we should complete the documentation to advise against the use of parent groups as a mailing groups, as long as it is possible to do so.


Is it possible to set "Do not mail" -- but only for a time

https://civicrm.org/extensions/do-not-contact-until
May not be compatible with latest version of CiviCRM as it hasn’t been updated for a number of years.


Dashlets on Dashboard displaying Not Found error

Not sure if this is solved, but we had the same issue running on a Debian server and the host was resolving the DNS name to the legacy site (we were testing). So to resolve the 404 errors on the dashlets, we had to enter a host entry in /etc/hosts to point the DNS name to the local IP address (instead of it resolving on the net to the existing legacy server IP).

If on windows, you'll need to do this in C:\Windows\System32\drivers\etc\hosts


How does last authorize.net changes refer to CiviCRM

From my understanding, this has a lot more to do with your web server and the cypher suites that are configured than it does with CiviCRM directly.  SSLLabs has a great page on getting all of that set up.

https://www.ssllabs.com/index.html


Command failed (cv php:boot --level=settings) when trying to run tests

I recommend you install and use buildkit:
https://github.com/civicrm/civicrm-buildkit

It comes with lots of tools - including those you need to run tests.

I use it on MAMP but from what I understand this will work on Windows as well.

Alternatively - if you like you can also:
https://github.com/civicrm/civicrm-buildkit-vagrant


How to chain api calls i.e. GETFIELD contact for fieldID after doing GET profile on profileID?

You probably want the UFField entity, not Profile ...  try:
entity=UFField&action=get&api_key=userkey&key=sitekey&json={"sequential":1,"profile_id":22}

Then you can chain getfield:
entity=UFField&action=get&api_key=userkey&key=sitekey&json={"sequential":1,
"uf_group_id":22,
"api.Contact.getfield":{"action":"get","name":"$value.field_name"}}

That assumes the custom fields are for Contacts.


Unsubscribe link in publicly viewed newsletter error

I used a redirect since the url seems to be consistent for the web view.


There is a permission for it. Go to your Drupal -> People -> Permissions and give anonymous (and authenticated) permission to Unsubscribe:

Access CiviMail subscribe/unsubscribe pages


Getting permission error when installing CiviCRM under Drupal

I faced this problem too and tried a lot of things to make it works, but failed.

Finally, I opened the file "index.php" in "http://(mysite)/sites/all/modules/civicrm/install/index.php". I put the comments in line number 265th through 274th like this.

/*
  // Check that user is logged in and has administrative permissions
  // This is necessary because the script exposes the database settings in the form and these could be viewed by unauthorised users
  if ((!function_exists('user_access')) || (!user_access('administer site configuration'))) {
    $errorTitle = ts("You don't have permission to access this page");
    $errorMsg = ts("The installer can only be run by a user with the permission to administer site configuration.");
    errorDisplayPage($errorTitle, $errorMsg);
    exit();
  }
*/

Yeah. IT WORKS!!!.

Who use this way like me, DON'T for get to remove the comments after installation is completed.


can't access to joomla administrator panel

SOLVED - I think this is not exactly the right way but I've deleted the civicrm folders in administrator -> components, in components and in plugins -> user (on the server) and the tables in the database... now I can access the administrator panel


Error message in CiviMail: "Mailing has not been saved, Content maybe out of date, please refresh the page and try again"

I puzzled over this problem after a 4.7.28 upgrade for hours before reading this post. Turning off and on Ckeditor worked for me, which gave me another idea.

Since this happened to me with two sites, I tried clearing all caches on the second site and that did the trick. I suspect changing the ckeditor setting flushes a cache, and flushing the cache is the real fix.

I flushed all the caches I have so I'm not sure which is the one that really does the trick:

drush cc all (only works on drupal)
Rebuild the menus: http://yourdevsite.org/civicrm/menu/rebuild?reset=1
I deleted all the files in files/css/, files/js/, and /files/civicrm/templates_c/en_US/*


custom fields not adding to Drupal views

It sounds like it is missing from your Drupal settings.php file. Here's where you get the information to add to it:

https://www.yourdomain.com/civicrm/admin/setting/uf?reset=1

That will give you all the information that needs to be added. Each time you add custom fields/profiles to CiviCRM, it is a good idea to update that listing in your settings.php file.


Send a single mail to fundraising responsible

The Email API extension will have example code for you to use for your extension.  Its code is available on github: https://github.com/CiviCooP/org.civicoop.emailapi


CiviCRM Recurring Contributions Report with Campaign

I was able to add this to the bottom of the alterDisplay in the Recur.php file to change the Campaign Id to the Campaign Title.


Disable Debit Card Payment Method option

These are reserved payment option to which civicrm does not provide an option to disable or delete them.

Would recommend to first disable it from a development site database since this might result in an unnecessary fatal error as civi expects it to be available in multiple places. If you don't see any error - you can just repeat it on live.


As far as I know you can not create (sub)options depending on the value of a (top) option in core CiviCRM. So that would mean you would have to develop a little extension that does this?

As far as the county stuff goes, is that an unrelated question? If so can you please make it separate as it will be impossible to find if others experience the same issue.


Problems with display name/sort name saving as contact.first_name

The format of the display name and the sort name are configured at Administer -> Customize Data and Screens -> Display Preferences.  Check if this format is correct. (For example, the curly brackets must match).


How can I change the 'Postcode' field to work with UK postcodes?

Short answer:

This is a limitation/bug in CiviCRM. The advanced search handles postcodes correctly (ex: I can search postcode ranges H4 to H5), but most reports do not. It would be a feature that needs to be implemented in CiviCRM reports.

Longer answer, if you are a developer:

We could fix it by changing the filter type in the report, but then US-style postal code would lose the ability to search by range. I'm not too sure how to implement that in the report.

Ex: civicrm/CRM/Report/Form.php in function addAddressFields():

    'postal_code' => array(
      'title' => ts('Postal Code'),
      'type' => 1,
      'name' => 'postal_code',
    ),

Should be:

    'postal_code' => array(
      'title' => ts('Postal Code'),
      'type' => CRM_Utils_Type::T_STRING,
      'name' => 'postal_code',
    ),

but, as I mentioned, this breaks "search postcode between X and Y". The advanced search has a checkbox to enable "search by range", and it works for UK/Canada-style postcodes, but I'm not sure how to implement this for reports.


Problem with the ical feed of the calendar

As discussed in https://lab.civicrm.org/dev/wordpress/issues/25 and using a different grep since the grep linked to in the comments above doesn't seem to work, there were two theme files with a BOM.

This grep

find . -type f -printf "%p " -a -exec od -x -N 4 \{\} \; | grep "bbef 3cbf"

located

wp-content/themes/ari/functions.php
wp-content/themes/ari/header.php


CiviReport - development recognition report

You might want to take a look at the Summary Fields extension and see if it provides a good foundation for you to add the 'Soft Credit' information to.


It sounds like you have a problem on your install/instance, perhaps a host issue.

If you are evaluating CiviCRM, you may first want to try the Joomla Demo and/or create a sandbox to test on.

Once you have done the evaluation you can look in to why your instance is giving you problems.


Does CiviCRM work with Site Performance Engines in Wordpress such as Falcon?

Most of the pages displayed by civicrm can potentially be customised per user (eg. pre-fill the contribution form if the visitor is known or display "looks like you are already registered" on an event page for instance).

So if you start generating a page for one specific visitor, cache it  and distribute the result to all visitors, there is a big risk you will show information about one visitor to all the others, and finetuning which specific page is cache safe is going to be tricky

However, it seems that the falcon cache allow you to explicitly exclude some pages, so you could exclude every civicrm page and still benefit from the cache for all your other pages (eg. your articles).

That's what I'd suggest you to do. The potential speed gain isn't worthwhile the risk of showing private information to the wrong visitor.


Contribute Widget showing Placeholder on Wordpress

You've got a Javascript error on your homepage that isn't present on other pages:

Uncaught TypeError: (intermediate value)(...) is not a function at jquery.flexslider-min.js?ver=4.9.4

If you fix this, I expect the widget will work.


Looking for a Wordpress template to integrate CiviCRM

Assuming you are using the latest and greatest Civi and Wordpress - most themes should work fine.

There was an issue with backbone conflicts that may have caused issues with some themes- but that was addressed in 4.7.31. Outside of that - I never had an issue with the CiviCRM backend when using any front end theme. However, I have had conflicting CSS on the front end that can typically be fixed by changing some lines in your CSS.

As for what theme I use - a modified version of twentyseventeen.


Civisualize: Creating Your Own Visualization concept question

for creating a new visualisation, you only need to add a template into template/dataviz indeed.

You will need to fetch some data to display it. They are two ways for that, either you are lucky and what you need can be taken with an existing API, and you simply have to

var data={crmAPI entity="Something" param1="42"}

but more often than not, you will want to aggregate data or do more sql massaging, in that case, you will need to create an extra queries/lizzy.sql

and then you can use it as

var data={crmSQL query=lizzy}

and voila ;)


Ann,

Forgive me if the question seems obvious but this sounds like what I had initially reported as a bug on JIRA in https://issues.civicrm.org/jira/browse/CRM-17214 but it turned out to be a slight change in behavior between versions.

Hope this helps!


CiviMail Change the Track Opens Tracking URL to a pretty URL

I figured this out and my solution is as follows:

Change the CiviCRM Resource URL to something of your choice e.g. https://mywebsite.co.uk/mycrm
Add a mod_rewrite rule to your htaccess file (above the Wordpress rules):

<IfModule mod_rewrite.c>
RewriteBase /
RewriteRule ^mycrm(.*)$ /wp-content/plugins/civicrm/civicrm$1 [R=301,NC,L]
</IfModule>

Hope this helps someone.


It's under Events menu >  Event Templates.  You'll see the "Add Event Template" button there.  You can also edit existing templates from there.  See screenshot below.


You have experienced what is called, a CiviCRM fatal error, or as I like to say, yellow banner of death.

Please update your question with Civi version and CMS info too. Then Start here: https://docs.civicrm.org/sysadmin/en/latest/troubleshooting/

Then share whats in the logs.


Migrating domain to new server. mysql migration Error 1881

It appears from this other StackExchange answer that the MySQL on the new server may be set to read only. Try opening the my.cnf configuration file for MySQL and changing the setting.


A way to achieve this would be to create an ACL that limits records to that group and then assign that ACL to a user and they will only see those records to dedupe.


Does changing a price set for an event retroactively change reports?

Almost certainly no, but it might depend on the report you're looking at. Specifically, financial transaction data is stored with the full amounts, not just a reference to the price set, so you can't change a contribution by changing the priceset it came from.

In other words, it's safe to update a priceset from one year to the next for an annual event, for example.


Volunteer Report Throws "DB Error: unknown error"

You are looking in the wrong place.

Check your PHP logs on your webserver.

Check the civicrm logs in /civicrm/ConfigAndLog or wherever you have configured that folder.


Can't use button without forcing client to log back in and never redirects back to where it should

It could be the SSL.   Verify the home url (WordPress General settings) and the CIVICRM_UF_BASEURL in the civicrm.settings.php file.

These should match exactly including the https://  If not that can be the issue.

If it matches I would look for a plugin or theme conflict next.


The answer depends on your payment processor, but here's the general plan:

Contact your payment processor and inform them that you want ARB (Automated Recurring Billing) added to your account. Most payment processors will add an additional monthly charge (around $10-20/month). Some (like iATS Payments) do not.
Most payment processors (e.g. Authorize.Net, PayPal) will send a notification to a predetermined URL when they process a payment.  Instructions are here for PayPal and Authorize.
Other payment processors (e.g. iATS Payments) store a token in CiviCRM.  CiviCRM submits the token on a regular basis to process a payment.
On any contribution page, go to the Configure menu > Contribution Amounts and check the box labeled "Recurring Contributions".

You can configure your options from there.  Bi-monthly and quarterly transactions are possible by specifying recurring intervals.  I've been commissioned to write an extension to add "quarterly" as an option without using intervals, but it's not written yet!


Webform form submit, and notify auto email in html format!

Yes you can! You'll need some more Drupal modules/ config - here is a pretty good tutorial: https://www.ostraining.com/blog/drupal/html-emails-from-drupal-webform/

Note (if this was re: Contribution, Membership or Events): webform_civicrm module will also check to see if you have the Thank you and Receipting section filled out on your CiviCRM side - get into your message templates (HTML version) to make edits to that - if you go that route!


How to view multiple relationships in contact editing mode?


Contribution/membership receipt - unable to disable

I'm looking right at the relevant line in the Stripe extension and I'm not seeing how to arrive in the state you're in.
The relevant line is in api/v3/StripeSubscription.php and reads:
    'is_email_receipt' => !empty($params['is_email_receipt']) ? 1 : 0,

Since 0 is considered "empty" in the line above, you should never have is_email_receipt set to 1 on your recurring contributions. I recommend placing debug statements above and below that line to ensure that a) this code is the correct code to look at, b) the values line up with what's expected.


Is there any documentation for 'safe' and 'aggressive' merge modes?

Its generally a contact with lower ID that's preserved.

For aggressive merges, fields in conflict are retained from that of higher contact ID. In other words, for fields in conflict, value from higher ID overwrites on that of lower ID.

Preserving of contact, is due to the way dedupe queries are written.

A. Example:
INSERT INTO dedupe (id1, id2, weight) SELECT t1.id id1, t2.id id2, 10 weight FROM civicrm_contact t1 JOIN civicrm_contact t2 USING (first_name) WHERE t1.id < t2.id AND t1.first_name IS NOT NULL GROUP BY id1, id2 ON DUPLICATE KEY UPDATE weight = weight + VALUES(weight);

B. Here is the code and comment that makes it clear - https://github.com/civicrm/civicrm-core/blob/4.5/CRM/Dedupe/Merger.php#L636

However with CiviCRM v4.5 and above, you can decide the biasing (which contact to preserve) using merge hook - https://github.com/civicrm/civicrm-core/blob/4.5/CRM/Dedupe/Merger.php#L632

Here is an implementation example where a contact with maximum number of contributions is preserved - https://github.com/civicrm/civicrm-drupal/blob/7.x-4.5/civitest.module.sample#L1279

Same hook could also be used for deciding which value to preserve by playing with $conflicts variable. Here is an example that we did for one of our client - https://github.com/veda-consulting/uk.co.vedaconsulting.module.dedupe/blob/master/dedupe.php#L218


how to configure civimail when using Google mail?

It's possible to use Google Apps or GMail SMTP directly, but you will have to deal both with limitations of remote SMTP and with any resource limits enforced on your account (esp if using an @gmail.com or similar address).

If you have control of your server, I recommend using Postfix as a local MTA and configuring it to smarthost via Google Apps.

You'll see much better performance from CiviCRM if it can hand mails off rapidly to a local MTA, and
Postfix is far better at conversing with Google SMTP than CiviCRM.

See How do I configure SMTP with STARTTLS? (related question/answer) for why that is.

How to do this via Postfix relay instead

(This requires control of your hosting environment.)

In /etc/postfix/main.cf, configure

relayhost = [smtp.gmail.com]:587
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =

In /etc/postfix/sasl_passwd, enter

[smtp.gmail.com]:587  yourusername@example.org:password

Run sudo postmap /etc/postfix/sasl_passwd

Run sudo service postfix reload

Now use local mail delivery, and watch /var/log/mail.log to ensure it gets handed off to Google's servers for delivery.


Do you have any custom CSS or java script?  Do you see a reference to the edit button if you check the page source?


Is there a civi way to manage API compatibility across CiviCRM versions?

When you call an API, Civi does a search to locate it. That typically means searching the PHP include_path for a file named api/v3/{$entity}/{$action}.php or api/v3/{$entity}.php. The include_path is typically managed via hook_civicrm_config.

It sounds like want to change hook_civicrm_config so that the effect is:

Add /path/to/org.example.myext/ to the include_path unconditionally. This contains all you're normal/common files.
Add /path/to/org.example.myext/backports to the include_path if it's an old version (4.6). This contains only the backports/polyfills for older versions.

In most civix-based extensions, it does the first automatically with this snippet:

function {myext}_civicrm_config(&$config) {
  _{myext}_civix_civicrm_config($config);
}

The _{myext}_civix_civicrm_config() is a baseline/default implementation that unconditionally adds /path/to/org.example.myext/ to the include_path. Take a look at the code in _{myext}_civix_civicrm_config($config) to see how it works.

Then you can write a similar function to add /path/to/org.example.myext/backports. Finally, call it:

function {myext}_civicrm_config(&$config) {
  _{myext}_civix_civicrm_config($config)
  if (version_compare(CRM_Utils_System::version(), '4.7', '<')) {
    _{myext}_config_backports($config);
  }
}

function _{myext}_config_backports(&$config) {
  ...
}


Drupal taxonomy and Civi option groups integration

This is definitely possible.  I've done it to have a custom field store a term id, and user selects from a select list of term names...

You need to implement hook_civicrm_customFieldOptions().
http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_customFieldOptions

In this provided example below I am using EntityFieldQuery to fetch all terms of the vocabulary with machine name center.
$fieldID is the custom field id

The custom field with ID 4 in my example was configured as an Alphanumeric data type with a Multi-Select widget, but you could use a regular select widget as well.

I hope this gets you started!

function YOURMODULE_civicrm_customFieldOptions( $fieldID, &$options, $detailedFormat = false ) {
    if($fieldID == 4) {
        $center_query = new EntityFieldQuery();
        $center_query->entityCondition('entity_type', 'taxonomy_term');
        $center_query->entityCondition('bundle', 'center');

        $centers_ids = $center_query->execute();

        $detailed_options = array();

        $centers = entity_load('taxonomy_term', array_keys($centers_ids['taxonomy_term']));

        foreach($centers as $center) {
          $label = '';

          $label .= ' ' . $center->name;
          if($detailedFormat) {
            $detailed_options[$center->tid] = array (
              'id' => $center->tid,
              'value' => $center->tid,
              'label' => $label,
            );
          }
          else {
            $options[$center->tid] = $label;
          }

        }

        if($detailedFormat) {
          $options += $detailed_options;
        }

        asort($options);
      }
}


Missing wordpress civivolunteer commendation table

What might help in such situations is to disable, uninstall the extension and then install it again in the hope it will create the missing fields and tables.

It is a good idea to make a backup before you disable the extension because there is a high risk of losing data.


Having error in contribution page after upgrade to 4.7.29

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


How to target a specific event type in a system workflow message

I think you can use the event_type_id token inside the event templates. Something like -

{if $event.event_type_id == <id of the event type>}

  text for the specific event type

{else}

  common text for all other events

{/if}


How to set the default Preferred Language

We can set default language in localization settings - /civicrm/admin/setting/localization?reset=1

But, if I change that, the default value in the options_value table doesn't change, so not sure if it meets your requirement.


CiviCRM 5.9.1 Cannot Read Database Information

Your DB connection specifies mysql://, and you are using PHP7.2. The MySQL extension was deprecated in PHP 5.5 and removed in PHP 7.0.

Try switching the two DB connect strings in civicrm.settings.php to use mysqli:// instead of mysql:// and see if that resolves the issue.

I would also remove any other changes (eg the addition of port :3306), to eliminate issues caused by other attempts to fix things.

If this resolves it, the cause was the migration from a PHP5 server to a PHP7 server, not an upgrade to CiviCRM 5.9.1.


Assign large numbers of activities at once - Wordpress

If there is a way, we didn't find it, and that was partly why Fuzion put a bunch of time in to making it possible to assign/unassign/reassign Activities in Drupal using CiviCRM Entity Actions which is now a submodule of CiviCRM Entities, Views and Views Bulk Operations, in order to deliver a Calling Tool that could be driven from the Drupal front end. (Is there some way I can mark these types of answer as Drupal-only info?)


Creating a relationship when filling in a Profile

It's not currently possible to create a relationship on a CiviCRM profile form similar to the Employer one when using WordPress or Joomla.

However, if you create an auto-reference field you can use that to create a link between a participant and another contact.

You can create the field on all contacts, or a contact subtype that covers all those filling in the event registration for trainingeven, or potentially registrants or just the registrants for that event. My guess is that a registrant auto-reference field is less likely to be convenient or what you want.

Don't forget that 1) the auto-reference contacts can be limited to a particular group of contacts, and 2) there are security issues in exposing contact data when using contact reference fields on public forms.


One approach would be to extend to code which makes the 'on behalf of Organisation' approach work for Households as well.

The membership type would be set up so that an individual 'inherits' the membership based on a specified relationship.

When an Individual signs up they either be given the option of selecting 'on behalf of', or the 'household' membership page would be set up to require it.

The outcome of a new membership would be that the individual is created, a household is created, the membership 'belongs' to the household, a permissioned* relationship would be created between the individual and the household, and due to that relationship the individual would 'inherit' the membership provided in the settings of the Membership Type.

my understanding of the 'on behalf of Organisation' code is that for the individual to be able to renew on behalf of the organisation (ie for their Organisation to prefill on the form if the user is logged in or using a checksum link) the individual is set up with the 'employee of' Relationship, they are also set as 'current employee' and the relationship is set so the individual is 'permissioned over the organisation'.

For a household equivalent, there is no equivalent for 'current employee' so the solution would need to step around that but that sounds fairly trivial.


Can you try to clean CiviCRM cache and do a menu rebuild?  You can do this by navigating to CiviCRM >> Administer >> System Settings >> Cleanup Caches and Update paths. Once you on the page click on Cleanup cache button.

HTH

Pradeep


Getting this install error using latest CivicCRM on wordpress

It seems like you have two problems.

As Pradeep mentioned in the comments - it seems like your underlying error is that the install is trying to create a database that already exists.  I can't tell for sure, because the error in #4 is cut off.

Additionally, there's the second error (undefined function) which is unfortunately WordPress-specific and I don't know the solution.  However, completely removing/creating the CiviCRM database again (assuming that it's separate from WordPress) is likely to solve the first problem, and the second problem won't occur.


It looks like you've found a quirk with the explorer where it's smart enough to convert your string to a number, but when run outside the explorer it's expecting a number for case_type_id.

Use case_type_id = 1, which corresponds to housing_support, which you can see by doing a ('CaseType', 'get') call.

Note that if your script is standalone, i.e. not running within an extension or something where you are already logged in, your bootstrapping needs to include something that logs you in, e.g. cv api --user=CMSUser, where CMSUser is the login name for some user with permission to create cases in your CMS.


Address field order on Contact's "edit" page

I think you will have a significantly easier time just reordering the fields with a little jQuery in a custom version of the template you referenced above.

For completeness... You can see the sequence function here: https://github.com/civicrm/civicrm-core/blob/5dde2c09c10513a22464e8c4abcb6b4ca17fc1cb/CRM/Utils/Address.php#L288


Set custom field during Membership signup through a Contribution Page

Please check the PR: https://github.com/civicrm/civicrm-core/pull/8052

The bug mentioned in description is not replicating, but found an additional bug. After making online membership contribution, with custom field included in profile, custom data is not getting saved in fields. When, view a membership record on contact summary page.

So made additional fix for CRM-18282.


Can't create mailings if imageUploadDir and imageUploadURL don't match

This is a bug, related to Status page angular load error. Since your "Image Upload URL" and "Image Directory" are in different places, try disabling Asset Caching at Administer > System Settings > Debugging and Error Handling, at least until this bug is fixed.

Please also see civimail - screen for composing a mail is blank


SQL upgrade fails on 5.14.2 to 5.15.0 on Joomla

I see from your video that you're failing on the 5.15.alpha1 SQL, and on.

The first one has two SQL statements.  Essentially, the statuses for a contribution ("Pending", "Complete", etc.) and for recurring contributions have been the same - but moving forward they'll each have their own list.  The two SQL statements create an option group along with values to support this.

Run this SQL: select id, name from civicrm_option_group WHERE name = 'contribution_recur_status';

You should get back one result.  If you have no results, that's a problem:

+-----+---------------------------+
| id  | name                      |
+-----+---------------------------+
| 138 | contribution_recur_status |
+-----+---------------------------+

Then run this SQL: select cov.id, cov.option_group_id, cov.name, cov.label, cov.value from civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id WHERE cog.name = 'contribution_recur_status';

You should get back some number of results - I get 12, you may have more:

+------+-----------------+----------------+----------------+-------+
| id   | option_group_id | name           | label          | value |
+------+-----------------+----------------+----------------+-------+
| 1884 |             138 | Completed      | Completed      | 1     |
| 1885 |             138 | Pending        | Pending        | 2     |
| 1886 |             138 | Cancelled      | Cancelled      | 3     |
| 1887 |             138 | Failed         | Failed         | 4     |
| 1888 |             138 | In Progress    | In Progress    | 5     |
| 1889 |             138 | Overdue        | Overdue        | 6     |
| 1890 |             138 | Refunded       | Refunded       | 7     |
| 1891 |             138 | Partially paid | Partially paid | 8     |
| 1892 |             138 | Pending refund | Pending refund | 9     |
| 1893 |             138 | Chargeback     | Chargeback     | 10    |
| 1899 |             138 | Processing     | Processing     | 11    |
| 1900 |             138 | Failing        | Failing        | 12    |
+------+-----------------+----------------+----------------+-------+

You're also failing on "Fix cache key column name in prev next cache".
That's trying to run this SQL, so also run this command manually:
ALTER TABLE civicrm_prevnext_cache CHANGE COLUMN  cacheKey cachekey VARCHAR(255) COMMENT 'Unique path name for cache element of the searched item';


If the tokens for grants are not available in core (which I can imagine) and appartently the data-processor tokens extension does not work with them either, the option you have left is to create an extension that adds them as custom tokens.


Cannot Tags and Groups fields in Webform CiviCRM Integration - Drupal 8

I suspect d8 webform_civicrm does not yet have those fully functioning. KarinG is leading the project and would welcome assistance and/or funding I suspect. I think the most recent update is in this blog where she says

  Drupal 8 port! The D8WFC project kicked off in August 2018 and we've already got Contacts, Memberships and ... Contributions working. Yes! We're transacting through live pathways. Try out the dev version: https://www.drupal.org/project/webform_civicrm/releases/8.x-5.x-dev if you feel adventurous: it currently contains Contacts and Membership functionality. If you want to try Contributions you'll need to check our GitHub repo:  https://github.com/colemanw/webform_civicrm/tree/8.x-5.x - and keep an eye on PRs against that branch


How do I create a Webform that will open a case and assign case role

I setup three contacts, all with just first and last name for simplicity sake.  Here is a screen shot of the case setup for Webform-CiviCRM 7x.4.10.

I haven't setup an activity to also be created when the form is submitted.

When the form is submitted, it creates the client, source contact and case coordinator.  Then creates the case with the client as the client and the case coordinator as the case manager

Note that it does also create the relationship between the client and the coordinator outside the case in addition to inside the case.  The rationale here is that if the client has more than one case, it would be useful to know who the other case coordinators for that client are.  This relationship will be automatically pulled into the Other Roles fieldset of subsequent case(s).

Joseph


I don’t have a Joomla instance with CiviVolunteer but try this -

/index.php?option=com_civicrm&task=civicrm/vol/#/volunteer/opportunities


Removing the contact search on a contribution page

I have a fully working donation page set up in civicrm where:

there is a Financial Type "Donations" set up in
Administer/civicontribute/financial type.
Financial Type is set up in the relevant Contribution Page as "Donations".
A Profile is attached to the contribution page that collects
information in fields such as first name, last name and email
address

The settings in the profile are set to 'Used For' standalone form or directory.  'Search views' are switched off.  Advance settings include "Wordpress User account required".

I assume that you have a log in facility set up in the CMS Wordpress and that you have switched on 'Anyone can register' in Wordpress/Settings/General.  When a user completes your form, they should then get registered in both Wordpress and CiviCRM.

You may be seeing the Search Bar only because you are personally logged in as Admin.  Try looking at the contribution page when not logged in and see what shows.

Hope this helps!


How to streamline setting up a multi-day class

One solution might be to create a custom field for participants with check boxes for each day. Then you could record attendance without having multiple events. You could use the Batch Update via Profile feature to make recording attendance easier for you staff.

Not sure how many events or exact setup. If you use a generic field labels (Day 1, Day 2, Day 3, etc.) you could re-use the custom field and not have to create ones for each event.

Hope this helps.


You can do this via the advanced search:

Select the group you want to include in the 'Basic Criteria' section and then the country within the 'Address Search'.


CiviMail and Sparkpost Bounces Not Updating email address "On Hold"

There's a forum discussion here which I think helps towards the answer.  If you look at the table civicrm_mailing_bounce_type there's a threshold of 3 for bounce type 'Syntax'.  I just encountered a bounce for type 'Host' that didn't place the email address on hold, so was also concerned as to why.  The answer is in this table.


Re: CiviCRM contribs/extensions - any scripting language limitation?

It depends.

If it's an extension that does something that I need, I would use python (well, it's already installed on all my servers, but would have installed it).

It will however limit the distribution to those that have root access to their servers and can install whatever they want on it, so probably make more sense for "big install" civi.

By the way, by extension, you mean "additional features", not "civicrm native extension", right?

If it's the former, I feel ok with python interfacing with civi (eg. via the rest interface), cleanclothes has for instance a complete frontend developed in python that only uses civi as a backend (and for the most advanced features if I recall)

If it were the latter, I would be concerned having php calling somehow python, mostly because I'm not even sure how it could work cleanly.

You need to tell us more about what your extension does.


Thanks.  It was some leftover custom code that was blocking it.  Sometimes it helps to write things out!


What domain name should I use for my extension's fully qualified name?

You can pick anything you want as the domain name. I sense that these answers could get hilarious. Some suggestions from me (others please add your own):

lolcats.com
shouldiblamecaching.com
dotcom.com
3.141592653589793238462643383279502884197169399375105820974944592.com
thelongestdomainnameintheworldandthensomeandthensomemoreandmore.com

But of those, lolcats.com says "extension developer" to me the most:


Case status "status class" - what is it used for?

If you remove it, then how would you close a case? It won't recognize the Change Case Status activity as actually closing the case.

If you want relationships to exist outside of a case then you can use regular non-case relationships. That's really the only technical difference between roles and relationships. And relationships can still have start/end dates if you need to record that.

And you can still see regular relationships on the manage case screen, under the Other Relationships accordion.


CiviEvent Mass Participant Registration - Blank Page

This is a recent regression. A fix has been merged for 5.33 (RC) and the upcoming 5.32.2.


Why does Assigned To: for an Activity to any admin, and only one other user not work since 4.6.7?

In the any thoughts category: If you can't find it in 4.6.8 demo and you mention a rollback. A common problem with rollbacks is that when a table is created during an upgrade and you use a db dump to roll back to previous version, the created table stays in the database. If you then redo the upgrade, it does not expect that table to be there. So it could leave you with a system that is in disbalance.

So, my question is, when you did the rollback, did you remove and recreate the DB or did you just apply the db dump (with the risk of leaving a created table behind)?

If you did the latter: Do you still have your 4.6.6 DB? If so, could you immediately upgrade it to 4.6.8 and see if the problem still exists? If it doesn't, you could compare the table structures of your current live DB and this upgraded DB.


Civi membership receipt emails - how to turn on/off per membership?

Membership online receipts are delivered based on which Contribution Page someone completes. So if you used multiple such pages, you could turn off 'send receipt' for some of them.

If they all have to come in from the same page for some reason then alternatively you may be able to run a post-process hook and change the the civicrm_contribution.contribution_page_id value, or since this is memberships, it may relate to the value in civicrm_membership_block.entity_id value (guessing a bit here but the membership block is set to be on specific contribution pages by this value, and that may therefore link to the Contribution page ID and hence whether a receipt gets sent or not)


Separate sites for CiviCRM and public site?

I have a number of clients who use CiviCRM on a subdomain separately from their main content site. It has both pros and cons.

Pros:

1. Security.

The main issue addresssed here is the risk of security lapses on the main site exposing CiviCRM. The reason a separate site can be more secure is that you will typically have more modules and functionality on your main site where ease of use is the primary goal, whereas with CiviCRM, security is a much higher priority. Keeping the CiviCRM site with fewer 'ease of use' tools and generally fewer functions will almost always make it more secure, at least in principle.

Analogously - you can also provide hassle-free administrative access to designers and content editors without risk of inadvertently exposing CiviCRM.

2. Performance.

The primary use case of your main site will typically be anonymous access by visitors, whereas most of your access to CiviCRM will be authenticated. The kind of server setup for those two types of access are frequently at odds, so having them on separate servers can make for better use of machine resources. e.g. you can put your main site on a relatively inexpensive hosting service with heavy caching for anonymous visitors.

Cons:

1. Expertise

Keeping internal resources to understand how multiple systems works can be a hassle and/or expensive. This is really the key driver of the decision - if you already have reasons to keep your CMS where it is, or to move it to a different CMS than your CiviCRM is on, then a split install is often a good choice.

2. Maintenance

The main other cost of the separate installs is maintenance - keeping up two sites instead of one, and updating design elements to keep the visual link between them convincing.

3. Server costs.

Usually, two sites is going to cost more than one, but see note 2. above. Specifically - by having the lower-security functionality all together, you can use your budget more effectively, e.g. you can have a managed CiviCRM install and use more off-the-shelf (read cheap/do-it-yourself) tools for your CMS.

I would also note that you don't need fancy machine-level integration as suggested by ErikH - you just need links back and forth, and an internal clarity that the two pieces are only loosely joined.

For clients who are migrating from other solutions (e.g. separate online processsor services, mailing lists and event services), putting all these together on one CiviCRM site that they manage is already a huge step forward in integrating those pieces, and having that functionality relatively loosely linked to the content site is not usually a show stopper, and in some cases a desirable state.

Examples

Here are few sites that are hosting CiviCRM on a separate subsite:

https://www.awid.org/
https://www.wildernesscommittee.org/
http://www.fairvote.ca/
http://www.patientscanada.ca/
http://everdale.org/
https://wildsight.ca/
https://www.bcndp.ca/
https://www.kairoscanada.org/


Site not working after using CiviCRM its shows error in wordpress site

Looking at the error messages, this looks like an issue with WordPress rather than CiviCRM specifically.  There are several error messages for other WordPress plugins in addition to CiviCRM.

As a first step, I would suggest that you disable all of the plugins (including CiviCRM) and see if WordPress itself is working correctly.  If that works, you can then try enabling the plugins one by one to see which is causing the issue.

I notice that most of the errors refer to the path /home/jumpcbu/... but the CiviCRM error refers to /home/abcdraw/....  This leads me to believe that you may have recently moved server.  In which case, this may be the cause of your problems.  I would suggest that you look at the documentation about moving to a new server that is mentioned in the error message you posted.


Bulk delete of events - is such a thing possible?

General advice is don't use SQL directly - use the API.  You don't have to write code if you use cv or API explorer.


What does the 'access_civicrm_nav_link' permission allow?

If you do a search at https://github.com/civicrm/civicrm-core and https://github.com/civicrm/civicrm-wordpress there's a note about it being changed and the lack of search results indicate it's no longer used.

EDIT: At github you can go back as far as v4.4 and see that it's not used, and while the old svn repo is no longer available you can see from https://issues.civicrm.org/jira/browse/CRM-12731 that it was used at that point and possibly even removed as part of that issue, somewhere around 4.2.


How do I hide a div tag for a specific event or contribution page?

I was doing this the other day.  Have a look for the contribution page id div which wraps the form.
The following hides a section in the contribution page with id=2, but no other contribution pages...

div.crm-contribution-page-id-2 div.editrow_custom_8-section {
display: none;
}


How to show Users their Membership status so that even users without a membership status get to see the block

I believe you can connect your civiContact view to the membership fields without using that smart group.

I have had success (in views 3) in the past with a civiContact based view using a relationship civiCRM Contacts: Drupal ID and a contextual filter User: UID that is configured to provide a default value from the logged in user when none is available.

Then you can put in civiCRM member status field with a relationship to the logged in Drupal user with your other contact fields and filters and configure the no results behavior from there.


How to create a drupal 'contact me' link where the user is a contact reference field of Contact B in a civi relationship

There may be a reason you want this as a 'drupal contact me' link but if you have the contact ID for the person you are wanting to be contactable in your View, then you should be able to provide a link to a webform with that cid1=x and therefore load that persons details in to the webform and use that as your 'contact me' option.

But to try and answer the other question, I would expect you to be able to add a 'drupal user' relationship to your existing relationships in the view, and set it to use the existing relationship that relates to the contact person


How to specify which Activity Types should trigger notifications to the Assignee

Yes!  This is one of the use cases described for CRM-20638  It provides a hook that your extension could use to select which activity types to include/exclude. There is a PR from May waiting for review if you can help with that.


This screenshot shows one variation but of course everyone's use case is a bit different


CiviMail report not showing proper data after upgrade

Arvind,

Are you facing problem in reports or when you view mailings?


The best approach depends on what you intend to do with the list, but generally speaking you'll use the Reports menu as follows:

In the CiviCRM menu, click Reports menu » Event Reports.
Select Attendee List.
Click the Columns tab.  Check the box next to Email and Current Employer (and anything else you need).
Click the Filters tab.  In the Event box, select the event(s) you want a report on.
Click the View Results (or Refresh Results if you already pressed it once).


Drush can read parameters from standard input in JSON format if you supply the argument --in=json. This is what we need for API chaining, because chaining uses nested parameters, and in contrast to a flat list of command line arguments (the default way to pass parameters to drush cvapi, JSON can handle nesting. So to retrieve the email addresses for contact ID 41194 along with that contact's display name, use:

echo '{
  "sequential": 1,
  "return": "display_name",
  "id": 41194,
  "api.Email.get": {"return":"email"}
}' | drush cvapi Contact.getsingle --in=json


Which payment processor to use for the new 'Paypal checkout'?

You need to install Omnipay extension to use Paypal checkout payment processor.


Updating fields in existing records from csv file

Its possible to update the contact using the same csv if you have unique identifier for each row and the same is stored in CiviCRM database either as CiviCRM Contact ID or contact external identifier for each contact.

During import select 'Update' for duplicate contacts and then in mapping make sure you use either external identifier or contact id. If this 2 fields are used during import than the contact's are directly updated into the system without performing any dedupe checks like firstname-lastname or email which is again unique way of avoiding duplicate contact into system.

If you have stored custom unique key field for each record in contact's custom field then probably you will need to run a query which will update the external identifier for a contact and make it easy for you to import again using same sheet.

The sql would be something like:

UPDATE civicrm_contact cc
INNER JOIN civicrm_value_custom_table cv ON cv.entity_id = cc.id
SET cc.external_identifier = cv.custom_unique_id_field;

  Note: Backup your database before performing contact import or running
  any  Insert/Update/Delete sql.

HTH

Pradeep


Member's only pages in wordpress, for users with a related membership

CiviCRM WordPress Member Sync functions similarly to CiviMember Role sync. It provides UI to add association rule to sync membership type with wp role. There is no special setting available for this plugin to include only primary or secondary member. There is a setting when to remove from role.

Add association Member sync rule in your site for the membership type and based on wp roles design your membership section or forms.

Thanks

Pradeep


You should start by upgrading to the latest version in the 4.4 series.  (4.4.20).

The problem you refer to sounds like a bug that was fixed in a later point version of the 4.4 series. We are using 4.4 and can sort successfully by all but State.


Smart Group that returns those recently added

Unless I'm misunderstanding, you should be able to use Search menu > Advanced Search, select the "Change Log" accordion, and select the "Added" radio button.  Then you can use relative date filters.  I just tried it and it worked OK.  I seem to recall that in Civi 4.3 and lower this was slow or broken, but should work in any modern version of Civi.


How to define a Custom Membership Status?

If I understand you, there may be a problem that you are using 'monthly' rolling (i take it you mean 1 month rolling). Does that mean someone needs to have paid for 12 membership cycles? If so there is no way that civicrm currently handles setting Grace to be 12 months based on them having purchased 12 membership cycles. But perhaps that isn't the point.

A more common approach would be as follows, in case this provides some hints to you:

set a rolling 12 month (1 year) membership
set Grace to be 12 months starting from End Date and count is as 'current'
set Expired to start 12 months after End Date
make sure Grace is above Expired in your order of Member Status.


Can I remove specific emails/contacts from Scheduled Reminders?

You can use the "Limit to Recipients" along with a smart group to handle this.

Create a smart group of all members called "Receives Reminders".
Manually remove those folks who you don't want to receive reminders from the smart group.
Use the "Limit to Recipients" to only send to members of your smart group


Is there any benefit to running CiviCRM on a non-profts website server rather than its own server?

I have worked with many clients that maintain their website (usually Drupal, but WordPress and Joomla as well) and CiviCRM running on the same server, usually in the same domain instance.  I seldom have seen issues.

Now, of course, with a mis-sized or misconfigured server, you will have problems.  And if the website gets a huge amount of traffic, you will have problems.  And if your CiviCRM database has many hundreds of thousands of contacts, you will have problems. But these type of installs are few and far between.

There are definite benefits running a Drupal website and CiviCRM together.  You are easily able to embed contribution pages and event registration pages into a Drupal site. With Views Integration to CiviCRM you can pull information out of CiviCRM for display on the Drupal site.  With Webform Integration with CiviCRM you can build robust webforms in Drupal updating CiviCRM.

Ultimately, the key is properly sizing and configuring the LAMP stack, Drupal, and CiviCRM. (Additionally, try to install on a VM rather than a VPS. You want full access (ala root/ssh) to tune things up.)


How do you add activity types to scheduled reminder dropdown

All (most?) activity types are exposed as options in scheduled reminders in 4.5 and 4.6.  "Contribution" certainly is.

If you are still on 4.4 and don't want to upgrade yet then this forum topic may provide a way to do what you want.


First place to look is in the ConfigAndLog directory - it will contain a number of files. Find the current log file; it will contain more details on the DB Error (if you can't easily find it -> reproduce your DB error by trying to export again -> then the DB error will be at the bottom of the current log file).


Using data from CiviCRM to change filename

I am assuming that you are a drupal coder (because the upload starts in Drupal). Information from CiviCRM can be used in Drupal by using the CiviCRM. This is documented in the Developer Guide.

An example for finding the first and last name of the current user in drupal is

$uid = $GLOBALS['user']->uid;   // get id current user

civicrm_initialize(); // needed for classloading

/* find the CiviCRM contact id using the drupal user
$contact_id = civicrm_api3('UFMatch', 'getvalue', array(
  'return' => "contact_id",
  'id' => $uid,
));

/* use contact id to find contact details */
$result = civicrm_api3('Contact', 'getsingle', array(
  'id' => $contact_id,
));

/* create the file name */
$file_name=$result['first_name'].'_'.$result['last_name'];


Contribution=Membership+Donation incorrect for CiviCRM 4.7.12 on WordPress 4.6.1

This is fixed now in the latest 4.7 - I know this for a fact because I QAed it!

You'll still get two receipts - but the math now adds up.


Responsive Email Layouts - Why move away from Smarty?

You are right, we do need some templating system and we don't need to replace smarty. It's just that it's not the framework that seems to have a lot of traction these days and as generally, we are thinking of moving away from it, we might as well start with the mail feature

Moreover, I do recall performances issues being mentioned for big mailings (smarty was generating tons of temp files), so that might be another incentive.

This being said, I the focus should be on improving the layout of transactional emails and make it easier to brand them consistently for an organisation, so replacing smarty might not be super useful in that context.


How can I reset a user password for a PCP owner?

The precise steps to reset a user's password will depend on which CMS platform you are using (i.e. Drupal, WordPress, or Joomla). The CMS — not CiviCRM — manages user logins and passwords.

Nevertheless, the first step is usually to find the user's contact record in CiviCRM and click on the link to the user's associated CMS record as shown below.

Once you've reached the page for the CMS record, resetting the password will hopefully be intuitive. If it's not, then I'd suggest searching the web for something like "Reset Drupal user's password" (or similar, for other CMS platforms).

If you don't see a "User ID", as is shown in the screenshot above, then it can be a bit tricky. Most likely there will a different (duplicate) contact record in CiviCRM which will have an associated CMS record.


Add an image for each address in contact form

In general, tweaks to CiviCRM templates are not super simple and usually require a 2-step process:

Add a tpl.extra template with the same name as the template you wish to modify.
Add a <script> tag and some javascript to your new template which uses jQuery to place the markup in the spot you want.


That's a lot of contacts to import at once. Honestly, I try to keep it below 2,000 an import, especially if there is a lot of information. If you're only allowed a max of 60 seconds, it's likely there are other places where you will also run into errors regarding it timing out. Not only that, I've found that often times even when you think it did import everything, there was indeed information left out, errors with contacts, etc. Long term, your best solution will likely be a new host where you get more control over your resources. Looking at their site, it appears to be more of a shared hosting environment and I've found that I can rarely get a large CiviCRM site running well unless I'm either on a VPS with control over the resources or a dedicated server.


You can find the tpl file which is used to build the html by viewing page source.

Go to Administer menu > System Settings > Debugging and Error Handling, select Yes for Enable Debugging.
Visit the page/form you want to check which tpl file is invoked.
Right click >> View Page Source.
Ctrl + F to find tpl


Pay Later status on imported contributions

The contribution status text Pending seems to be right in your csv.

Pending(Pay later) status is displayed based on the is_pay_later value in civicrm_contribution table. So it seems you need to add another column in CSV with value 1 and map it to the field Is Pay Later on the Match Fields screen. See below Screenshot.


Custom Fields used for Participants and then used in a Profile are not displayed

Clearing the cache has resolved the problem. Thank your for your prompt responses.


Seems to be due to the backwpup plugin enabled on your site. Try submitting the form after disabling the same.

This looks like a problem with this plugin. It was also raised on WP support - https://wordpress.org/support/topic/fatal-error-cannot-redeclare-class-pear/


Sorry for the inconvenience. We had a small glitch recently and it should be resolved.


No matches found for contact reference field in front end profile

Can you please check if Adams, Lou is saved in custom field for any contact in your system? The profile search that you have created will list all the contacts having Adams, Lou saved in their respective custom field.

I guess you trying to create a profile search that will list details of a contact by selecting contact from a drop down.


If clearing your browser cache and templates_c doesn't work. Try adding in both the Civimail and CiviEvents tabs - not just the default tab.


What is required to run CiviCRM on Amazon RDS?

We haven't tried running CiviCRM on RDS yet but we have been shifting a Drupal installation across to AWS. A few things we've noted so far that are relevant:

It helps if the RDS instance is in the same AZ as the web service
The various RDS instances have differing network throughput. It's poorly documented and can catch you out
Default settings for MySQL/MariaDB RDS from memory don't have caching enabled. You should be mindful of checking the paramater group for every RDS instance
Read replicas can be your friend!


How can I tell what the query that is executing when I do an Advanced Search looks like?

In civicrm.settings.php, you can enable:

define('CIVICRM_DEBUG_LOG_QUERY', 1);

Then run the "Advanced Search" and look at the output in files/civicrm/ConfigAndLog/CiviCRM*log*. This will output for several queries; to avoid accumulation of junk data, you should probably disable the CIVICRM_DEBUG_LOG_QUERY after running the query.

There's some more discussion of this and other debugging techniques at http://wiki.civicrm.org/confluence/display/CRMDOC/Debugging+for+developers


Can anyone tell how SMS Api Extension (v1.3) working in civicrm?

You can try the SMS API with the API explorer. Basically all it does is enable the sending of an SMS (which is in CiviCRM) using an API. But it is hard to answer such a generic question.


Running scheduled jobs from wp-cli doesn't work

In looking into this a bit further I have failed to get the job to run via the wp-cli by specifing mail_report and instanceId=x, however, this answer works well with wp-cli civiCRM Cron only run one mail_report scheduled jobs?

By setting a scheduled job and setting the parameters, wp-cli triggrs the job just fine.

I am curious if drush exhibits the same behavior


System status blank - error message changing resource url

The system status page uses ajax requests. Browsers won't let ajax requests access data on a server that has a different hostname from the one where the request started.

So your second install can be accessed by a different domain but thinks it has another name. You can check this in your browser's developer tools -> network tab to see what url the system status page is trying to access.

For example you are visiting my2ndsite.org but the system status page is trying to access someOtherName.org.

If you state which http server (e.g. apache) and which CMS (e.g. drupal) and maybe some details about your virtual host config it would help give a more specific answer.


How to make the contact autocomplete in Webform Civicrm to search for contacts that contain a search term, not start with

In search preferences /civicrm/admin/setting/search?reset=1: Automatic Wildcard should be "yes" to search for contacts that contain the search term in any part of the name.


Is it possible that you upgraded at the same time as you switched to WordPress?  Specifically, in 4.4 and earlier, events would match participants on email address only unless you checked the box to allow multiple registrations with the same email.  This was regardless of any dedupe rules you might have set up.

In 4.5 and later, an event will default to matching on the unsupervised dedupe rule, and you can choose an alternative rule on a per-event basis.  My suspicion is that your rule allows for false positive matches, and you haven't noticed the issue until the events started actually using the rule.

You might create a brand new individual unsupervised rule with the email address field, leave length blank, 10 as the weight, and a threshold of 10.  This will replicate the original situation of matching on email only.


List Parents of Children having certain values

Yes, using Advanced Search (Search menu » Advanced Search).  Set up the search the same way you would in order to find the children.  Additionally, set the "Display Results As" at the top to "Related Contacts", and select the "Parent of" relationship.


Handling null values in tokens in civimail (and elsewhere)

We used the Dave's Blog https://civicrm.org/blog/dave-greenberg/civimail-how-to-add-default-values-for-empty-tokens

The blog provides a sample code and the hook which need to be used. We added the same tokenValues() hook to the extension and it works great in replacing all the empty token values with the one specified in the hook.


Scheduled reminders - Email head css attributes are being stripped out

The main issue seems to be the <style> tag defined in the templates. Schedule Reminder uses smarty engine by default which strips down the css styles defined.

This doesn't occur in CiviMail because Smarty is disabled in civicrm.settings.php. If CIVICRM_MAIL_SMARTY is set to 1, civimail will too see this error.

As Smarty processing is done, escape the  tag within {literal}. Something like:

{literal}
  <style>........</style>
{/literal}
.
.
.
(further html code)

See - http://www.smarty.net/docs/en/language.escaping.tpl.

To avoid the {literal} statements being displayed in the email's wysiwyg view you can enclose those {literal} statements in a <p> tag with class or style to make them hidden - eg <p style="display:none;">.


What is the best way to track Business Development and Donor Intel

I would recommend the use of Activities. This enables you to then track converations, and have different Activity Types for different 'types' of leads etc.


Civicrm fields in Views, present with editable fields?

(edited) Thanks for triggering me to retest this module ;-)

Some quick testing on the drupal module Editable Views for D7 shows this now works.

Note1: site tested on also using CiviCRM Entity so this may be a requirement.

It worked for me for eg First Name and a custom text field and a custom radio though it only showed Value not Label for the options.

Steps:

add/enable modules (of course)
set View up based on civi contact (for my testing purposes)
add new field and choose CiviCRM Contacts: Entity metadata property (editable)
this includes a new dropdown called Metadata property where you can then select eg First Name, or a custom field
Save field
hey presto

Wasn't super fast in saving but that might be my dev system

Note1 if this is awesome but needs a bit of love in terms of eg multichoice Label v Value, then either the CiviCRM Views code needs a tweak or CiviCRM Entity does.

Note2 there is new work going on to extend CiviCRM Entity currently (see blog) so if it is something you can help fund to happen it would be good to reach out on that project.


Richard - I have used 100% discount w/Civi 4.3 + pricesets. I assume you included all your priceset options in your discount code configuration (you said you had complex pricing) since the 99% worked? CiviEvent code checks that prices do not go below zero but zero should be fine. You mentioned you're using offline registration ("Register Event Participant") which goes through a different codepath in cividiscount than 'online'.
You or one of your team could set up a test participant, use the 100% discount, and afterwards query the MySQL database table cividiscount_track, and see if you don't find a row for that participant (cividiscount_track.entity_id is a FK on cividiscount_track, where entity_id = civicrm_participant id).


How to search for individuals with duplicate partners

One possibility is to export the Relationship civireport (under Reports - Contact Reports) and then use the power of Excel to analyze it, e.g. pivot on contact_a and relationship-a-b and have it sort by count descending, then anything with 2 or more is a duplicate.


Great to hear you're using my extension!

Since the extension works but the form doesn't, that strongly suggests the problem is with this form and not the database.  From your video, it looks like a JavaScript issue.  Here's what I would look at:

Press F12 in your web browser to bring up the dev tools.

Look at the "Console" tab. Are there errors that appear there on save when the save fails vs. succeeds?  If so, check out this post: Troubleshooting JavaScript in CiviCRM.  Also feel free to update your question with said errors.
Also check the "Network tab".  Find the HTTP POST request that appears when you press "Save".  Particularly, look at the "Response" subtab (I use Firefox, terminology may be a bit different with Chrome/Edge but it's all there).  There is likely a helpful clue there.


Multi-value Custom fields not showing up for export

Multi-value (also called multi-record) custom fields can't be exported by the normal export. See https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/#multiple-record-fieldsets.

However you can get round this using a report then exporting as CSV. Two caveats. Not all reports will include the multiple values. Constituent detail doesn't allow CSV export, but I have found constituent summary to work for all I need.


Multiple errors after upgrading to 4.7.21 and Joomla 3.7.3

This was caused by [civicrm.root] using
https://www.mydomain.com/components/com_civicrm/civicrm/

while it should be using
http://www.example.com/administrator/components/com_civicrm/civicrm/

The $civicrm_root variable is correct in both civicrm.settings.php files so I'm really confused why CiviCRM cannot pull the civicrm.root variable correctly.


How to remove User login box from public event registration?

Actually this is a Drupal question. The login of CiviCRM is handled by the CMS. Form the screenshot I assume it is Drupal. So the visibility of the login block must be configured in Drupal.
You find the configuration with the following URL

http://<servername>/admin/structure/block/manage/user/login/configure

Here you can disable the login box for event pages in the following way:


Caching methods can be enabled or disabled in your CiviCRM settings file (eg: civicrm.settings.php).

The setting you're looking for is:
CIVICRM_DB_CACHE_CLASS

To disable caching, change the value to 'NoCache'. Other possible settings are documented above the setting in the file.

There is a page about caching in the documentation here: https://wiki.civicrm.org/confluence/display/CRMDOC/Cache+Reference


Create menu for "Event registration" on Joomla site

Thanks I managed to get this to work. I had to in the Joomla menu manager select even information page and enter the title of the event


How to Contribute on behalf of an individual instead of organisation for Member Dues?

You can do so by adding query parameter cid=0 in the url
So if the url is
/civicrm/?civiwp=CiviCRM&q=civicrm/Fcontribute/transact&reset=1&id=10

You need to add cid=0 to the url as shown below
/civicrm/?civiwp=CiviCRM&q=civicrm/Fcontribute/transact&cid=0&reset=1&id=10


Unable to make backend contributions with non-default payment processor (sometimes) "no class provided" error

Okay, first remind me to never exclude my iATS extension from being part of the problem ...

Karin tracked this down to the point in the (core) code where the list of available payment processors are reloaded a second time.

It occurred to me that the iATS extension interferes with this form for two reasons:

in order to remove the iATS ACH/EFT processor if any,
(or) to remove all but the swipe processor if it's the default

i.e., it's having to do some non-supported changes to core.

But ... it looks like the way it does this, by removing entries from various parts of the form, no longer works.

I think the best solution would be that instead of removing the payment processors from the option lists, the code will just disable them, (assuming that's possible).

And it turns out that this is easy, and you can try it out with the next iATS extension release or this commit/patch:

https://github.com/iATSPayments/com.iatspayments.civicrm/commit/2bf9dcdb1537fb75649aa6304cdab991a8a9d1eb


What is the server IP in database trigger definitions?

Thanks to comments by Demerit, my confusion arises from the fact that our MySQL server and web server (with core CiviCRM files) are separate. The 173.236.128.0/255.255.128.0 mask matches our web server and so that definer field in the trigger just indicates the server from which the triggerRebuild command was executed. There was nothing wrong with our website operation. I just didn't understand the source of that IP, thinking it should match the IP of the MySQL server, which is wholly different. A good argument for a true VPS where you have full control of both Apache and MySQL on the same server.