Drupal Webform missing edit link for fields from CiviCRM database

Version incompatibility introduced in Webform version 7.x-4.12 and webform civicrm 7.x-4.13.

Upgrade webform civicrm to 7.x-4.14 solves problem.

Drupal issue https://www.drupal.org/node/2600878 details this.


Error with Contact Custom Field in Advanced Search

It sounds like the custom field you created isn't searchable.

You can fix this by editing the custom field and ticking the box that says 'Is this field searchable?'


Contacts I created wont come up on search

"View my contact" grants the ability to see your own contact record, not other contacts you have created. So as currently constructed, you're able to create new contacts but not view them. You have two options -- grant the View all contacts permission (which would allow the user to see all contacts, not only those they have created), or explore using the advanced ACL features to determine what records can be viewed by the contact (see: https://docs.civicrm.org/user/en/latest/initial-set-up/permissions-and-access-control/#native-civicrm-acls). That may require some additional work to segment contacts into groups based on who created them.


'To' field not populated in the 'email contact' screen upon clicking on email in contact screen

Figured it out: In Administer >> Customize Data and Screens >> Display Preferences: The WYSIWYG field was set to "Joomla Default Editor" (it didn't matter what the default editor in Joomla's Global Configuration was set to - tried them all and the issue kept occurring).

When I set WYSIWYG in CiviCRM's Display Preferences to "CKEditor" or "TinyMCE" all is well.


Try advanced search.

Search for contacts in group "x"
with completed activities of type "y"

From search settings=- set "Display results as" to activities.

You should be able to delete the activities from the search results options.


Can I batch update participant role for an event for all contacts registered for an event who have a certain tag?

This is doable with Advanced Search.  You can enter your criteria (the tag) and change the Display Results As field to read "Event Participants", and then click Search.  The results will be the folks tagged Meeting Speaker, but your Actions on the result screen will be geared toward Event type actions.

More info on the Display Results As option can be found on this CiviCRM blog post.


How can I change to the Spanish language?

At https://docs.civicrm.org/sysadmin/en/latest/install/drupal7/#i18n it links to some instructions at https://wiki.civicrm.org/confluence/display/CRMDOC/i18n+Administrator%27s+Guide%3A+Using+CiviCRM+in+your+own+language

The download link it mentions is a little bit hidden. When you go to https://civicrm.org/download and click on the big download button it's the last one that shows in the dropdown list.


CiviEvent: Event info and registration form on one page?

What you can do is skip the Event info page. You can link directly to:
/civicrm/event/register?id=1&reset=1

For the info:
In Drupal you'd add a block on the register page to show the Event info/details. I'm all but certain that Wordpress has a concept similar to Drupal's 'blocks'.


Are they in the administrators group? Since then you might be able to do something like (untested):

CRM.api3('GroupContact', 'get', {
  "contact_id": "user_contact_id", // use this exact string to mean current user
  "group_id": "Administrators"
}).then(function(result) {
  if (result.count == 0) {
    // Not in the admin group
    // ** do your removal stuff here **
  }
});

There is also CRM.checkPerm() to check a CMS permission. See e.g. https://github.com/civicrm/civicrm-core/blob/5.18.4/templates/CRM/Tag/Page/Tag.tpl#L123, e.g. CRM.checkPerm('administer reserved tags')

if (!CRM.checkPerm("administer CiviCRM")) {
  // do your removal stuff
}


Hi, how do I run a report that shows me all the people that became a NEW member (not renewals) for the month of October 2019?

If you use Adv Search and set the Date range for example to be 'Join Date' in October does that not give what you need?


CiviMail mailing sent to an Opt Out email

If you are reusing an old email or even just reusing last months which was a copy of the previous month and so on, check to make sure your include list does not have any previous mailings included.

As oppose to "Members of GroupName" it will be listed as "Recipients of OldMailingName"

Recipients of prior emails don't go through the same Opt Out check as a mailing group would. This feature should not be used to major big or regular mailings.


Edits to mail.php for Bluehost still necessary?

So VERP means that the "technical" sender (smtp envelope) is different for each mail sent. the benefit is that if a bounce comes back to this unique address, we know what email/contact it is (something that is impossible otherwise, as the invalid email might be hidden behind a mail forward)

To make it work, you need two things from your hosting provider:

being able to set the technical sender to be different than the visible from email
being able to receive the VERP emails back (the trick is usually to have emails servers that can handle "+" notation, so you@yoursite.org receives email sent to you+something_unique@yoursite.org, something gmail for instance offers, but not exchange servers)

The code you comment out seems to hide the problem 1., but it does not fix it. Does the bounce processing work on your site? I would suspect that civicrm isn't aware that some of your recipients have invalid emails and doesn't flag them automatically as bounced. Are you receiving the bounces and doing it by hand?

Anyway, as the solution, having a host that allows VERP is the best option, but another one would be to develop/sponsor a mode that doesn't rely on VERP but on additional email headers. I did implement the first part and every email sent contains extra headers (X-CiviMail-Bounce), what is missing is the second one:

changing the bounce processor to use this extra header
changing the mail sending job to only set the header but not the VERP sender
add a setting to allow to switch to that "mail header only, no VERP" mode

Would you be able to contribute to that code or sponsor that development?

Unfortunately so far, those having the capacity to make it happen found faster and cheaper to switch to a more feature complete host rather than investing into adding that "header only" mode.


Setting up CiviCRM in WordPress - warning message and failure to connect to WP DB

I had a GoDaddy Managed WordPress account and the same is happening to me. I've checked all information (db server, username, password, database) and all seem correct. But still the got message
"Your database settings don't appear to be correct. Please check the Database Details below for specific errors."

After many calls to GoDaddy support, I gave up and changed to a regular shared hosting account with cPanel. This time the CiviCRM setup worked as expected and everything is working perfectly.

GoDaddy didn't provide a good answer, so my guess is that Managed WordPress hosting doesn't provide the access required by CiviCRM.

Hope this helps in any way.


CiviCRM does not send mail to microsoft based webmail clients (outlook, hotmail and live)

Microsoft's mail services have blocked your mail server.

Their specific reasons for blocking may vary (and their server's response codes will guide you here to some degree), but there are a variety of things you can do to improve the situation.

Check your mailserver's reverse DNS matches your domain
Check the domain in question's SPF configuration permits your server
Ideally, configure DKIM for outbound email on your server
Join Microsoft's Junk Mail Reporting Program (JMRP) and "claim" the IP address of your mailserver
If JMRP reports your server blocked, submit a request to unblock your server

Alternatively you might consider one of the hosted mail provider plugins available for CiviCRM - managing relations with mail providers can be a big task, and outsourcing that may save you a lot of time.


Translation report field "Primary address?"

UPDATE: This should be available for translating in transifex now as per the recent announcement in the chat translation channel. This was updated today: https://lab.civicrm.org/dev/translation/blob/bb10330a29b701e898dd41ff062e6dd53075f512/po/pot/report.pot#L2162

It looks like that was only fixed in the code about 5 months ago (see here) so may not have moved into transifex yet. I'm not sure what the schedule is.

Probably the best place to ask language questions is at https://chat.civicrm.org in the Translation channel.


Add Custom Fields to Send Email Activity

Tim, as far as I know, you can't currently add custom fields to the built-in Send an Email activity.

An alternative approach would be to use the scheduled reminder functionality.

create a new activity type for this email and create a scheduled reminder for this new activity type when status = completed (or some other suitable status) and time = '0 hours after activity date time'
You have access to all activity fields and custom fields as tokens in the scheduled reminder field so the simplest approach would be to include {activity.subject} as the email subject and put {activity.details} in the body.
Give it a go. I'd be interested to know if this approach works for you. In theory, it should work but I have not implemented it in practice.


Drupal Rules: Send email then Contact Custom Field Value was updated

It turned out Jaap Jansma - CiviCooP  was right, CiviRules ( and Email Api for sending emails - a missing piece from my previous attempts ) can do the job nicely. CiviRules can handle any Contact change nicely. Kudos to  Jaap Jansma - CiviCooP!


Permission to edit activities but not contacts?

The National Urban League funded work to add ACLs to cases, which laid the groundwork for adding ACLs to activities.  See here: https://civicrm.stackexchange.com/a/8005/12.  So one option would be to develop (or fund the development) of applying ACLs to activities.  I'm guessing the core team would be willing to take that on as a Paid Issue Queue item, since they did the groundwork.  This would be the most flexible arrangement.

Additionally, CiviDesk has implemented a hook that allows extension authors to escalate permissions via an extension with a new hook, hook_civicrm_permission_check.  This code has been written but at this time has not yet merged into upstream CiviCRM.  See CRM-19256 to see if that's still true now.  If you're able to QA this patch, please update the Jira ticket to say so.

The second approach is much less work to get into everyone's hands, but the first approach would allow non-coders to define their own activity permissions.


Can I remove old discount codes without affecting contribution records?

I tested deleting a discount code with CiviCRM 5.2.1 and CiviDiscount 3.4

When deleting a discount code I saw this warning:

WARNING: Deleting this discount code (GMC610) will prevent users who have this code to avail of this discount. Do you want to continue?

After I deleted the code I searched for the contact id in the "cividiscount_track" table and the item was still there. However, it appears the code was removed from the "cividiscount_item" table as would be expected. So, it appears the code is removed from the list but the tracking data remains in the database.

I checked the Contributions in the contact record of the contributor before and after and I did not notice any changes.

It looks like the only thing that is removed in the contact record is on the 'Codes Redeemed' tab, you will no longer see the code in the CODE column. However you do see the date so you will know some type of code was redeemed.

In summary, it seems safe to delete discount codes as long as you don't mind losing the record of which code was used by a contact.


I have seen this before.  Cron will fail while processing mailings (any type) if a smarty error occurs.  I would review the templates being used.


How do I replace the "From" address from my mailings?

So I am assuming that the only thing that changed between "it worked" and "it doesn't" is to switch from your own smtp to your gmail one.

Beside the problem you mention, using smtp from gmail will not work to send mass emails, they have a lot of limits and as soon as your list has more than a handful of emails, you will have problems.

There as several providers (sendgrid, mailjet...) that are integrated with civi, and I'd recommend you switching to one of them

And it should solve out your gmail.com problem too


Mail not send if preferred_mail_format is NULL

We fixed this quite old behaviour by hacking CRM/Mailing/BAO/Mailing.php around line 1295 by overriding:

if ($text && ($test || $contact['preferred_mail_format'] == 'Text' ||
    $contact['preferred_mail_format'] == 'Both' ||
    ($contact['preferred_mail_format'] == 'HTML' && !array_key_exists('html', $pEmails))
  )
) {
  $textBody = implode('', $text);
  if ($useSmarty) {
    $textBody = $smarty->fetch("string:$textBody");
  }
  $mailParams['text'] = $textBody;
}

if ($html && ($test || ($contact['preferred_mail_format'] == 'HTML' ||
      $contact['preferred_mail_format'] == 'Both'
    ))
) {
  $htmlBody = implode('', $html);
  if ($useSmarty) {
    $htmlBody = $smarty->fetch("string:$htmlBody");
  }
  $mailParams['html'] = $htmlBody;
}

with:

$pmf = isset($contact['preferred_mail_format']) ?   $contact['preferred_mail_format'] : 'Both';
if ($pmf != "Both" && $pmf != "Text" && $pmf != "HTML") {
    $pmf = "Both";
}
if ($text && ($test || $pmf == 'Text' || $pmf == 'Both' ||
        ($pmf == 'HTML' && !array_key_exists('html', $pEmails))
)
) {
    $textBody = implode('', $text);
    if ($useSmarty) {
        $textBody = $smarty->fetch("string:$textBody");
    }
    $mailParams['text'] = $textBody;
}

if ($html && ($test || ($pmf == 'HTML' || $pmf == 'Both' ))) {
    $htmlBody = implode('', $html);
    if ($useSmarty) {
        $htmlBody = $smarty->fetch("string:$htmlBody");
    }
    $mailParams['html'] = $htmlBody;
}


Extracting email address for the who database?

Do you mean to export all the contact's email address from CiviCRM into csv file? If so you can do Find Contacts and export the result into csv format.

Navigate CiviCRM >> Search >> Find Contacts
Select list of contacts to export and from action dropdown select 'Export Contacts' options.
On export screen select 'Select fields for export' and proceed
On 'Select fields to export' page from the first dropdown select Individual and then Email and Primary from the drop drown besides it.
Click on export button.

HTH

Pradeep


"Post Code Suffix" in Reports is the same as "Postal Code"

You have discovered a bug in the Membership Details report.

The first step in a situation like this is to see whether anyone else has reported the issue on the CiviCRM issue tracker. A link to the issue tracker is at the bottom of every CiviCRM screen.

As of this posting, it doesn't look like anyone has created an issue, so you can write one up. You could pretty much paste in the description you've written in your question here.

To actually get the bug fixed, you may need to engage a CiviCRM service provider.

In the meantime, if you just need to export a CSV of your members' contact information, including postal codes, try using Search > Find Memberships, and in the search results choose the "Export Members" action.


Getting an error while viewing an activity. How to resolve it?

The logged in user doen't have permission to view the activity. Does the activity type belong to Case? Or Non-Contact component? Do the user have edit all contact permission?


Looks like your user name for this is 'cronjobs'. try creating a new user without the word 'cron' in it. I had a similar issue with a new site recently and removing 'cron' from the user name did the trick.

Hope this helps.


Cloudflare kills dashboard + Relationship tab error. Any ideas?

Disabling Cloudflare or switching off popups as suggested didn't help. Neither did setting up a Cloudflare PageRule to bypass all Civi pages

But this worked:

I followed the instructions here  (http://wiki.civicrm.org/confluence/display/CRMDOC/Ensuring+Schema+Integrity+on+Upgrades) to clean up my database schema, and then the upgrade to 4.6.4 worked - and fixed the problems.


CiviCRM - Installing on Wordpress Hosted in AWS DB Error

Is it mysql 8? Grouping is a reserved word in mysql 8 and civicrm doesn't officially support it yet.


Is this an online or offline receipt. It looks like an offline donation receipt. The information available for each is different.


Can Drupal send password reset tokens to non-default emails for accounts?

This is not default. It's a custom drupal module or a custom CiviCRM extension, depending on the exact use case. Should not be that difficult.


Dedupe rule ignores the location type for Email/Phone but does not ignore for Addresses. Should we make this consistent

B please. This has been a point of frustration when importing. Make the location type simply a label without deduping consideration.

I thought it always takes into account location type.


Import and Export failing and returning no error message

I am not a developer, but I believe you are running into timing out issues and you may have to verify that the server PHP settings in “php.ini” are set high enough to allow enough time for very long-running scripts/SQL statements to complete so that you end up with the import results screen (what high enough is, I could not say).

In addition to that, if a service such as CloudFlare is in place, those settings need to be set to longer than 3 minutes if possible - while the script will continue to run on the server, you won't be redirected to the import results screen if you get kicked out to an error screen. That said, you should be able to find the import error file using something like CPANEL to access the site file manager and for search for "sqlImport.errors". You may wish to open a support ticket with Siteground if you need any help with access.

If all else fails (e.g. like not being able to get your hands on a programmer fast enough to complete your import within a deadline), I have on more than one occasion resorted to breaking down a single import file to smaller ones (say 500 records in your case) to avoid the timing out altogether - incredibly frustrating, but at least my deadlines aren't missed!

Hope this helps!
Tamar


How to pass custom variables to BillingBlock.tpl?

To Override Main.tpl file - you can try using Main.extra.tpl which should work

But Please try using - custom File - because if you are overriding the same file in some other extension it might not work sometime

function hook_civicrm_buildForm($formName, &$form) {
$templatePath = realpath(dirname(__FILE__)."/templates");
CRM_Core_Region::instance('billing-block')->add(array(
    'template' => "{$templatePath}/custom/custom.tpl",
));
}

and add your coding in the custom.tpl

Also please note that for billing address all the fields are hard coded in the core also same for validation -

If you need more help please let me know - thanks


On the Campaign dashboard I would like to prevent one specific type from being listed

There lots of screen that uses datatable to retrieve list of results which do not support any hooks to manipulate results or add additional clause or columns. We have altered the ajax request post/get data using jquery to send filters. In some cases it works, like in your case it may work if you want to filter it using campaign type. Here is a small snippet that i would call on the campaign dashboard page

{literal}
<script type="text/javascript">
CRM.$(function($) {
  $(document).ajaxSend(function(event, jqxhr, settings) {
    let url = decodeURIComponent(settings.url);
    if (url.indexOf('datatable/called/url') != -1
      && url.indexOf('[otherparameter]') != -1
    ) {
      if (!$('#campaign_type_id').val()) {
        settings.data = settings.url + '&searchCriteria=campaign_type_id&campaign_type_id=' + '1,2,3';
      }
    }
  });
});
</script>
{/literal}

The other alternative method is support hooks like selectWhereClause or rewrite whole logic to use api so that it can altered using hook a and submitting PR.

HTH

Pradeep


Recurring payments being set to pending - Stripe

Go to your System Status page and check for any stripe warnings

In particular look for any notices about Stripe webhooks that might need resetting.

Also ensure you are on latest versions.


Event Registration-Duplicate names, Overwrite on Contact Records

Yes, adjusting and using the Unsupervised rule is your best bet to prevent this from continuing.  My philosophy for deduplication is I would rather default to having extra duplicate contacts that I can clean up later than having two people become intertwined and, as you've experienced, can be rather sticky to separate.
Ideas
There are a few ideas thrown around in the comments of this question: Dedupe Rule not working. (Full disclosure: I have an answer on that question). Lesley also has a great recipe in her initial comment to you up above.
Best write up about deduplication
The best free resource for Deduplication understanding and recipes is this blog post by spidersilk: Understanding CiviCRM Dedupe Rules. Section 6 is titled 'Some Recommended Rule Recipes' and section 11 is 'Tips for Setting up Effective Dedupe Rules'.  The whole article is excellent, but for a tldr; those sections are great.
An Extension that could help
The No Overwrite extension can help with accidental over-writes in certain cases and might be worth installing.  We have it installed on our CiviCRM setup.
How we do it
Lastly, just for another example, we have a lot of children in our organization being registered. A parent will often use his/her own email address to register a child, so we had to come up with a way that was more than just email.  Our unsupervised rule is as follows:

First Name; Length - 4; Weight - 5.
Last Name; Length - blank; Weight - 5.
Birth Date; Length - blank; Weight - 10.
Email; Length - blank; Weight - 10.
Weight threshold - 20

This allows matching if the birth date and email address are the same (the only scenario this doesn't work is identical twins, and I'm okay with that risk).  Also, if this is a normal adult registration (and adults normally don't provide their birth date), we can still have a match based on first four characters of the first name, the last name matching, and the email matching.
This catches a lot of duplicates, but certainly not all of them.  Thomas Smith and Tom Smith with the same email address is probably going to be the same person, but our rule will not catch it.  And I'm okay with that.  Again, I'd rather have extra duplicate contacts than incorrectly intertwined contacts.  As a matter of practice, every month or so we manually run General dedupe rules that are "Email only" or "First Name and Last Name" to catch the extra duplicates.  Yes, it's manual work, but it's way easier to take the time for that than separating two people who were not in fact the same.


Premoderation for webform submission before contact record change

Suggest you look at giving users only the option to create Draft webform submissions (maybe just hide 'submit' via js) - then you take over and do the actual Submission


Using the answer in custom field (select) to auto fill other field

Depends on the context:

On a public or profile, develop a custom JS file to do this.

On editing a CiviCRM contact through the interface there's probably no good way to do this, other than adding custom JS in an extension.

If you're using Drupal Webform you can use the Validation Rules to show and hide fields. With some creative optioning you can get the results you need entirely through an interface.

My recommendation is the Drupal Webform.


best practice for using core base functions (CRM_Utils_System_Base) from an extension?

This base class is not intended to be used by itself, but extended based on the CMS. CiviCRM will automatically give you an instance of the correct object which extends this base class. You can access it via the CRM_Utils_System static methods. For example:

CRM_Utils_System::appendBreadCrumb($something);

or

CRM_Utils_System::isUserLoggedIn();


CC Option in Contribution - Email Receipt

Perhaps you could use CiviRules (along with the added extension Email API to enable CiviRules to send emails) not sure though. I don't think CiviCRM provides you facility to choose cc or bcc when sending receipt from offline contribution form(you can add extension and implement buildform and altermailparams hook). However you could achieve this by doing some manual process

Create contribution and don't send receipt.
Find contribution and select contribution, use 'Print receipt' action
Download the receipt
Use Email to activity to send email with receipt as attachment.

Cheers

Pradeep


How to limit/choose what profile data is included in confirmation emails?

It looks possible by editing the Workflow Message Template for online receipts. (Thanks @RebeccaTregenna for hint) This is written in Smarty code.

There are two options:

Remove all customPre and customPost sections.
Add logic to identify the fields you don't want and filter those out.

Making these changes is difficult, it's code with logic, there's no validation either, so easy to make a mistake or delete the wrong bit. So save a copy of the original version before you make changes!

I went for (1) for the time being because we had so many extra fields that just listing them would have been time consuming. Also, as we can only filter on the field's label, were anyone to tweak that slightly the logic would fail and that would start getting output without us knowing. Also, I wasn't sure any of the fields were really needed in the receipt, so I took a conservative approach (as in erred on the safe side, as opposed to a Conservatives approach which is to err on the unsafe side and not take coronavirus seriously until it's too late)

Looking at the template code, it already includes code for selectively removing fields defined in a $trackingFields array, however I can't see that that is ever defined anywhere.


Recalculating final payment value on Civicrm Webform

Webform conditionals might work for you, if you:

Add the membership fee field as a hidden field
Set the value of it via conditional rules

Conditional rules can be along the lines of:

  if custom_field_color is blue then membership fee = $100

  if custom_field_color is yellow then membership fee = $50

Unfortunately they can't perform math so if you needed to combine multiple values you'd need something more sophisticated like custom code.


Strict warning: Non-static method CRM_Core_BAO_UFGroup

First of all, this is not really an error that would cause you any damage, so I would not classify it as an important bug. The name is 'strict warning', which means that it is a warning (not an error!) that the programmer has sinned against the PHP rules when a strict check has been done. So it should be fixed at some stage, but these type of warnings will never disappear entirely as they do not break anything.

I assume you are now seeing those warning because you are a site admin? In most live sites 'normal' users will not see these warnings, but that needs to be configured in your CMS (Drupal, Joomla or Wordpress).


Is Membership payment on Drupal 8 Webform supported yet?

It’s a new feature! It is no longer necessary to create a Contribution Page


Can CiviCRM be integrated with a VoIP system?

The closest we have in our docs is integration w/ SMS as per:
https://docs.civicrm.org/user/en/latest/sms-text-messaging/set-up/

This documents the integration w/ Twillio and Clickatell.

At the extension level, you'd find a few here: https://civicrm.org/extensions?title=&body_value=phone&field_extension_civi_use_target_id=214&status=All&field_extension_ready_value=All

You probably want to play around with the value in the description field (I've got "phone" in there). There are maybe 6 or so extensions that provide some level of integration w/ external systems.

The best advice is probably to narrow down the scope of your question, and focus on what you are trying to achieve rather than a general question about technology that can be used for various different purposes. "Integration" is primarily a word for sales and in real life can mean many different things.


does anyone have a recipe for a Drupal 8 Views Calendar to show civi events or civi activities

Somebody who is searching for this answer can use the following civcrm extensions.

  https://civicrm.org/extensions/event-calendar-extension and

  https://civicrm.org/blog/totten/experimenting-activity-calendars

I have not tested "Activity Calendars" though.


How can I find contacts based on both custom data and address via the API?

I don't know the answer about hidden smart groups but I took a swipe at the API chaining and was able to pull a contact on the demo server that met one criteria on the contact and another on the geocode on the address:

I don't know if that is helpful at all, but if you can get the first portion of this API call working with your custom field, it seems you should be able to chain the geocode to it.

The code for the above comes out like this (PHP):

$result = civicrm_api3('Contact', 'get', array(
'sequential' => 1,
'custom_11' => 1,
'api.Address.get' => "array( 'geo_code_1' => array('IS NOT NULL' => 1), )",
));


"alter routine command denied to user" error when installing extensions?

The user does not have the permissions to alter and create routines (functions). This should fix it:

GRANT CREATE ROUTINE, ALTER ROUTINE ON civicrm.* TO civicrm;


Not seeing engagement index option when adding activities

For the engagement index to show you need to have CiviCampaign enabled. For details on how to set up the index and other useful guidance you can also see the latest user guide

https://docs.civicrm.org/user/en/latest/civic-engagement/everyday-tasks/#using-the-engagement-index

Hopefully it's just as simple as that to solve.


How do I access Mosaico on CiviCRM Spark instance?

It is an Extension and you would need to 'install' it via the Extension page. Administer > System Settings > Extension


Logged in user information doesn't populate profile fields

I'd added the CiviCRM profile via the button to add short code - and skipped over the obvious:

Click "Edit" instead of "Create".

I didn't find the mistake until I read over short code I'd inserted, which read:

[civicrm component="profile" gid="18" mode="create" hijack="0"]

and should have:

[civicrm component="profile" gid="18" mode="edit" hijack="0"]

Cheeers


figured it out now! the response , I think, is fine. logs only generated if the specific job runs which is determined by the Run Frequency settings


How to remove certain items of custom fields when sending a offline receipt?

If you want to stop all custom fields appearing in receipts, you can edit the Contribution - Receipt (off-line) template directly, in 'Message Templates'.

Remove the section starting with {if $customGroup} through to the next {/if}, and give that a try.

If it turns out it's using the on-line receipt (I'm always getting confused as to which is used when), it's the same but with {if $customPost}.


What's the difference between a pledge and a recurring donation?

CiviCRM allows pledges to be recorded for promises of future payments. This is commonly done for future expected donations for capital campaigns. In most cases, 'pledges' are not things that people are obligated to pay, and so they should not be recorded as accounts receivable for bookkeeping purposes. The courts in some US states are starting to recognize pledges as contracts that can be enforced, but this is not case in Canada or most states (see http://drache.ca/articles/unpaid-pledges/). Only when a payment is received against a pledge is the amount recorded as revenue to the appropriate account (eg Donations or Campaign Contributions) and as having been deposited into the appropriate asset account (eg bank account or payment processor account or cash and cheques on hand).

By contrast, when a recurring payment is set up, the contact authorizes the organization using CiviCRM to be paid those future payments, eg from a credit card, a bank account associated with a debit card, or some other payment instrument. This makes it reasonable to record the future income from recurring payments as accounts receivable immediately, which will be the case starting in 4.7. When those payments are received, accounts receivable will be reduced by the payment amount and the appropriate asset account will have the funds credited to it.

Simplifying a bit, if you have an automated method of receiving payments, then you should set this up as a recurring payment. But if you may or may not receive the payments (for example, you are dependent on the donor to send in a cheque each year), then you should setup a pledge.

While it is true that a donor can cancel a recurring payment (whether setup through ARB, ACH, etc.), this doesn't change the fact that they have made a legal agreement to pay the monies. If they do ask to cancelling a recurring payment, then CiviCRM will reverse the accounts receivable at that point in 4.7. (If the recurrence does not have an end date, then the system keeps the accounts receivable accurate for the coming 12 months, and those 12 months will be reversed at the time of a cancellation.)


Invalid value for field(s) : Individual Prefix

Try using option label over value, i know its weird but for some options value doesn't work but label does or vice versa.


Consider Relationships in Contact Reports

When you do a contact Export or print Mailing Labels there should be options like "Merge labels for contacts with the same address". Does that take care of your need?


Are custom Dedupe General rules working for anyone?

It sounds like you might be running the dedupe on a large database with slow MySQL performance; I've certainly seen this before.  The database doesn't even have to be that big; I've seen this on databases with as few as 20,000 contacts.

The pre-set dedupes that can't be edited use a fundamentally different approach to deduping that runs MUCH faster, but it must be hard-coded.

There's an unpublished extension from Veda (see item 1 here; most subsequent items are part of Civi 4.7) that adds a framework for more hard-coded dedupes, along with a large number of extra pre-built dedupes.  That may be better for your situation.  I'm not sure it's tested on Civi 4.7 though, so try it on a copy of your database first!


it seems quite a simple solution to simply have an extra pair of Membership Types, eg Individual Locality A, and Individual Locality B. That would ensure that the 'location' data was always immediately available to you when look at membership data. anything else is likely to require some customisations in order to show that information in the membership context.


Is it possible to set a sophisticated price set for events, like in this example?

I do not think this is possible with off the shelf CiviCRM. You should certainly have a play with the CiviDiscount extension: https://civicrm.org/extensions/cividiscount if you have not already installed it. But even then I think your requirements would mean a specific extension. As you know you can develop an extension yourself or get a CiviCRM partner or expert to develop one for/with you.


Network Error due to Cross-Origin Request Blocked

Ensure that your site is accessible via a single canonical hostname. Configure your webserver or CMS to redirect requests for other hostnames to the canonical hostname.

Currently your site is permitting people to browse on both www.example.org and example.org. While this works fine for Drupal/Joomla/WordPress, CiviCRM doesn't handle it well, and you'll see form submission errors or CORS issues.

By configuring a canonical hostname redirect, visitors hitting the wrong URL (eg www.example.org/donate) will be immediately redirected to the preferred hostname (eg example.org/donate).

The following settings must match:

canonical hostname in your webserver or CMS configuration (varies by software in use)
Base URL in CMS config (Wordpress: wp_options table; Drupal: $base_url in settings.php; Joomla!: _______?)
CIVICRM_UF_BASEURL configured in civicrm.settings.php
Resource URLS in civicrm admin section

Make sure to check both scheme (http:// vs https://) and hostname (example.org vs www.example.org vs www2.example.org). Some modules or extensions (eg Drupal "secure pages") that offer redirects will also need to be considered/configured.

Configuring canonical hostname redirect is recommended for SEO as well as because it makes civicrm behave much better :)


What impact may deploying a changed Drupal DB have on CiviCRM?

Generally, CiviCRM's data is stored in separate tables and you can treat the CRM and CMS as separate entities.

Many people store the CRM and CMS in separate databases for convenience (eg exampleorg_drupal & exampleorg_civicrm).

Particular items to check, though:

If you are using Webform CiviCRM or CiviCRM Entity, you may need to rebuild connections between referenced CiviCRM entities (eg contribution pages, contacts, ...)
You may want to check your civicrm_uf_match tables for mismatches. This maps Drupal users to CiviCRM contacts, so changes on either side, eg users added on the old Drupal DB might trigger an incorrect match to a Drupal user in the new Drupal DB.

Once the transition is complete, you may need to give some well-placed kicks to get things running smoothly. These may include -

Clearing Drupal and CiviCRM caches.
Deleting the contents of CiviCRM's templates_c directory.
Rebuilding Drupal's registry (drush rr)
Correcting/deleting the Drupal variable civicrm_class_loader

If a CiviCRM install permits any anonymous input (including recording user actions like CiviMail opens, contributions or profile submits), working at the whole-DB level can mean choosing between downtime (disabling the site while you make changes) and potential data loss (losing data while you switch between a minutes-old backup and the current DB).

For that reason you might want to look into practices that let you deploy change in smaller parts, since that means you can integrate updates will reduced risk at each step. There is more established practice of this on the Drupal side, with tools like Features, WFTools, and (in D8) Configuration Management.


How to sort civimobile event participant check-in list?

I think it makes sense as the default behaviour. Can you go to the github project and add an issue there to talk directly with the developers and consider proposing that as a PR? https://github.com/webaccess/com.webaccessglobal.module.civimobile

The line you'll need to change is the api call, and add a "option.sort"="whatever is the field for the participant name" param (use the api explorer to find out the exact syntax and name of the field name)

https://github.com/webaccess/com.webaccessglobal.module.civimobile/blob/master/code/civimobile.participant_checkin.html#L35


How do you handle searching and reports on contributions with line items from Webform CiviCRM

Have a look at the Extended Report extension
It offers new reports like Extended Report - Price Set Line Items


Email css and fonts being miscounted as 'clicks' in CiviMail Clickthrough Reports

Interesting. I can understand that CiviCRM would see it is an click-through link.

Although external CSS and fonts is very normal for web sites, it is not for emails.

Both Mailchimp and Campaign Monitor advise you to only use inline CSS.

The reason for this is that it is hardly predictable what different mail readers do with the external css. To have a reliable idea how your email will look for your Mailing subscribers it is better to avoid external css.

I would advise you to follow the email rules as shown on the Mailchimp and Campaign Monitor pages for CiviCRM too.

http://templates.mailchimp.com/getting-started/html-email-basics/

https://www.campaignmonitor.com/dev-resources/guides/coding/

Addition:

Campaign Monitor and Mailchimp do a last minute check and make all css'es inline just before sending. They both have published their inline css tool for us to use. The MailChimp version is the best in my experience:

http://templates.mailchimp.com/resources/inline-css


Cache SqlGroup.php expiration_date-value not Positive

I replaced line 133 -134 in SqlGroup.php with this:
$ttl1 = microtime(1);
$expires = strtotime($ttl1) + self::DEFAULT_TTL;


What CMS are you using? Because it is not possible to add new social buttons. The reason for asking for the CMS is that you can create views in Drupal and so your own Event Page and then it is easy to add additional social buttions


It would appear to me that this question is a duplicate of:

Moodle Integration Sample Sites or the way to do it

and there is a good answer on that page.


Google error "This page didn't load Google Maps correctly."

My bad. I had restricted the key based on IP address which works for server requests to Geocode, but not for JS (browser) requests to map. Changed the restriction to referrer and maps now display correctly.


One possibility if you can't do what you are trying, would be to add a custom field to your system, the send out links to a profile containing that field and hence find out the participants' new preferences. It won't change the data you currently have about them.

If you are using Drupal,  then you may be able to send people to a webform that would contain the event fields they originally used when registering.


email links not working - date.timezone function

I second Jon G's answer with this reference -- Jon actually helped on a similar issue I had.  The issue was indeed that the php.ini did not specify the time zone.  The answer on this question fixed it for me: https://civicrm.stackexchange.com/a/3589/105


Http 500 Page not Found error when plugin clicked on backend - Wp-engine

You should double check your civicrm_settings.php file. Particularly the section on File System Paths. Make sure the setting $civicrm_root is the correct path to civicrm for the new server.

Hope this helps...


How to import groups of contact and make it a new group

You can import contacts and assign them to a group as you are importing. See https://docs.civicrm.org/user/en/latest/common-workflows/importing-data-into-civicrm/#preparing-to-import-data
When creating the Group check the box for "Mailing List" otherwise it won't be available as a group when you go to CiviMail - New Mailing.


How to create a report of all contact organizations?

Okay, I found learned that contacts can be filtered by contact type, so when I create a report I can use that filter. Duh..


How can I see the available tokens for message templates?

Insert {debug} into a message template then perform the relevant action (ie make an online contribution if you modified Contributions - Receipt (on-line)). The email sent will contain a list of all the smarty variables assigned to that template


Has anyone got a recent example of a REST client under Drupal 9, possibly using AJAX?

You may need to add below line in .htaccess or nginx config to allow php file be executed
RewriteCond %{REQUEST_URI} !/libraries/civicrm/extern/[a-z]+\.php$

Copy extern directory from civicrm vendor folder into libraries
The rest api url for drupal would look like
https://sitename/libraries/civicrm/core/extern/rest.php


Is there a setting to automatically Refresh Dashboard Data on a user login, or when returning to CiviCRM Home?

I don't think such setting exists, although, you can set the timeout for the Dashboard cache navigating to Administer - System settings - Misc and set the the Dashboard cache timeout to the value desired in minutes, setting it to 1 minute for example it will refresh the Dashboard data every minute.

I guess the other option would be to create an extension and use the resetDashletCache method on login


CiviCRM menu bar corrupted after installing Shoreditch

There has been some work going on to support shoreditch for CiviCRM 5.13. The temporary solution(until a new release is available) is to make the Menu colour to white by navigating to CiviCRM >> Administer >> Customize Data and Screens >> Display Preferences. Update the form by changing the 'Menu Color' to white

Cheers

Pradeep


How can I create a membership renewal link for organisations?

I got round this by creating a group for the non-primary memberships. I then set up a membership scheduled reminder and limited the emails to the group I created.


How to edit php so civicrm can find the extensions

You can define a directory for your extensions and point CiviCRM to it. Remember that custom extensions directory should be kept outside your CiviCRM installation because they will be easy to manage in case you need an upgrade on your install.

Below are the steps which i propose you carry out to setup your extensions directory

create your directory probably /home/../../../extensions
Give appropriate permissions to your extensions directory
Go to your CiviCRM install, under administer >> System settings click on Resource URL.
place the full path of the directory you created above in the "Extension Resource URL"
Now any extensions you place in the directory above should be seen and interpreted properly as an extension

-* you can verify and install by navigating to Administer >> System settings >> Extensions( there you will see all extensions )

If that does not make sense to you then you can follow from Extensions


Problem resolved itself / cleared without further action - guess it was a server or connectivity issue.


Why are export field mappings not available for custom search results?

Martin - one of our team had a quick dig. He says there is code that is intentionally preventing this, presumably as there is no presumption on what entity (member/contact/activity) is involved in the search.

Code involved is here: https://github.com/civicrm/civicrm-core/blob/master/CRM/Export/Form/Select.php#L81-L88

If that is enough for you to make a custom change (hack) to your system to get you over the hurdle, then good luck (normal warnings apply ie backup, etc)

If you would like us to work with you to sort this out either just for your situation, or a more generic fix that could end up as a community contribution (change to core, extension etc) then pls get in touch.


Why don't contributions (for membership) paid using PayPal, complete and send receipts?

I feel like this one might be fixed in the latest rc (4.7.31) https://download.civicrm.org/latest


Walklist Splitting by Street and Odd/Even

Ok, I worked it out for myself! Posting the answers here in case someone else runs into the same issue. The fundamental problem is that the location of Create Templates From Reports has changed from when the CiviCRM User Guide was created.

So now it's Administer > CiviReport > Create New Report From Template

Once there, you go to Survey Report (Detail) which should be at the bottom.

Then, select the columns you want displayed, and then in sorting select how you want it sorted -- Street Name, Ascending and Odd/Even Street Number, Ascending.

Then, on that same screen, check the Section Heading/Group By and Page Break boxes to the right of Street Name but NOT for Odd/Even (at least for me, grouping by odd/even did weird things).

The last bit of setup is under Filters, set "Survey" to the specific Survey you've set up, and "Respondent Status" is equal to Reserved.

The final step is you have to export to PDF if you want it broken up by page, as Print Report just gives you a single run of text. Ultimately it looks like the CiviEngage settings I mentioned int he OP don't do much for you.

Hope this is helpful to anyone else who's been perplexed by the User Guide not matching up to what you're seeing in your CiviCRM! If anyone else more experienced has anything to add, I'd love to hear it!


Do Stripe webhooks work for refunds issued via the Stripe website?

Refunding from the Stripe side has worked for some time.


Choosing Payment Method disables Continue/Contribute buttons

We are on Joomla 3.95 and CiviCRM 5.9.1. I do not understand why you would need two profiles for your event, as the 'Fee' tab allows both credit card processing and the pay later option. See:

https://docs.civicrm.org/user/en/latest/events/creating-an-event/


To my Knowledge this is not a straightforward thing - but can be done -

You need to create an extension and use post or postprocess hook

whenever an Event is been saved against database you need to trigger an action to send an email

Install Civix

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

Hook reference:
https://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference

I guess this helps!!!


Is it possible to configure CiviMail to send from two different domains?

The short answer: Yes

Yes, at Administer > Communications > FROM Email Addresses, you can add any number of email addresses, and they're not restricted to any particular domain.

-- that technically answers your question, which was specifically about CiviMail (the bulk mailing component of CiviCRM). You can also specify custom "From" email addresses for Scheduled Reminders.

The longer answer: Yes, and you may need multisite

However, for transactional/system emails (automated emails such as subscribe and unsubscribe confirmations), in a normal, single-site CiviCRM instance you can have just one "From" address. This is set at Administer > Communications >  Organization Address and Contact Info.

I suspect the best solution for your use case may be CiviCRM in multi-site mode. This way you can have different transactional email addresses for each domain. So, for example, when a contact subscribes to a mailing list on your c3 site, the confirmation message will come from the c3 domain.

In multi-site, contacts can be shared between your two domains (but they don't have to be). This sounds like what you want, but it may lead to behavior that could be surprising in some cases. For example, when a contact clicks an "opt-out" link on one of your c3 emails (not just unsubscribing from the current list, but from all of your email communications), their opt-out will apply to your c4 mailings too.


I am not sure if you are asking similar question to this one but my answer is the same so hopefully it helps you move forward.

Eileen did an extension that added some membership tokens to deal with contacts having multiple membership and which do work from 'contact'

{latestcurrentmembership.end_date}

{latestcurrentmembership.allend_date}

please let us know how you get on with it


CiviCRM itself does not have user authentication. CiviCRM runs within a CMS: Wordpress, Drupal, Joomla or Backdrop. So IMO the question should be: does the CMS you will be using conform to the SAML 2.0 standard?


Unable to run a batch update of contribution soft credits

Currently updating contribution to add/update soft credits are not supported. I feel Updating soft credit was missed during initial implementation. We will need to submit a core fix to have it working for Contribution Batch update.


Use CiviCRM tokens in Drupal welcome e-mails?

You might be able to do something with Drupal Entities and Drupal Tokens. You would replace the default welcome emails with one created by rules. CiviCRM Tokens are used exclusively within CiviCRM.

-Josh


Change address location type for all contacts?

I'd use SQL. Take a backup first, of course, and test on a non-production server.  Then run:

UPDATE civicrm_address ca JOIN civicrm_contact cc ON ca.contact_id = cc.id
SET location_type_id = 3
WHERE location_type_id = 2 AND cc.contact_type = 'Organization';


Problem a result of using Shoreditch as Civi theme.     Same problem exhibited when using API Explorer UI.
SearchKit and API Explorer both use bootstrap theme which seems to have conflict with Shoreditch.
Only solution found was to uninstall Shoreditch.    (Disabling shoreditch was not sufficient)


If you have access to the civicrm database and, using PHPMyAdmin, find the table "civicrm_membership" and the column "is_overide", you could carefully change the relevant values to "NULL".  You would be advised to first take a backup of the database in case anything goes wrong.


I don't believe there is a way you can add a data (field) set en masse.... you need to add each field in the data set individually.


How do I use custom Smarty functions in a Form?

Use the config hook instead of pageRun.  I originally had this hook in place, as per the example at "Extending Smarty":

function civicrm_pageRun(&$page) {
  $template = $page->getTemplate(); // retrieve Smarty template object
  array_push($template->plugins_dir, '/path/to/civi_custom/plugins');
}

I replaced that with:

function civicrm_config( &$config ) {
  $template =& CRM_Core_Smarty::singleton( );
  array_push($template->plugins_dir, '/path/to/civi_custom/plugins');
}

and now I can use my custom Smarty functions from both Pages and Forms.


Did you move the database with mysqldump and mysql? Then trigger can fail because he has rights in the old database, and not in the new. The solution is to recreate all triggers. This can be done with the following command.
wp eval "Civi::service('sql_triggers')->rebuild(NULL, FALSE);"


Why if you remove a regular fee from the list on an event does it not get removed from the price set in the database?

Disabling of price field is actually helpful in case you need it in future and it is not shown anywhere else except price field browse page.

Eg:

Configure an event with regular priceset(is_quick_config = 1) with three field options.
Remove two of them (backend - civi disables it).
Now, a user creates a new priceset from Manage Price Set page and configure on this event. At this point, your regular priceset is not lost. Its value of is_quick_config is changed to zero, hence it will be now shown on the list of PriceSet page.

So, it provides a flexibility of again choosing the original priceset for your event. You can also delete unwanted field options of it from civicrm/admin/price/field/option?action=browse&reset=1&sid={set_id}&fid={field_id} just like normal pricesets, if it is not used by any other event.


I think this is a CMS issue. I see those options available at Drupal Demo but not at WP Demo


Can I sync CiviCRM data with Raiser's Edge?

CiviCRM has a fully-featured "API", which makes it relatively easy to get data in and out of it via a sync.  Raiser's Edge has an API, but it's an additional add-on.

If you had the API add-on for Raiser's Edge, this would be possible - though the more data you want to sync the more intensive the process would be.


You should be able to set it in Administer > Communications > Organization Address and Contact Info, as per: Wrong default organisation

ETA: As I just went through the process of transferring to a new server, I've realised that the instructions result in your original civicrm_domain being skipped in the MySQL dump. A fresh install of CiviCRM on the new server will assign the contact id 1 to the default organisation in the civicrm_domain table - you can get around his by either including civicrm_domain in the initial SQL dump, or by editing the contact_id field in the new database's civicrm_domain table.


CiviCRM-Entity Case - view block on a Drupal node

If you install the CiviCRM Entity module you can put Entity Reference fields on node types that can reference civicrm_case, civicrm_contact, and 40 other CiviCRM entity types.

You can reference the data in Views, either individual fields or rendered view modes of the entity types.

Your question doesn't quite make sense to me, so if you could elaborate about what you are trying to do a little bit or provide a screenshot or two, it could be helpful.

You can definitely use and add Display Suite Blocks. For instance, you can create a Display Suite block, check the civicrm_contact checkbox for the "Entities" field. Then down toward the bottom of the form, select which block you want to show on the Drupal contact pages, at paths, "/civicrm-contact/[contact_id]" where [contact_id] is the numeric id of a contact.

You have to first add the block to the display of the contact page, the full content view mode, at "/admin/structure/civicrm-entity/civicrm_contact/display/full". To make the Display Suite Block available as a field, you have to enable a Display Suite layout for the full content view mode. You then place it in a layout region, and save, and it will show on all contact pages.

I'm a bit confused what you mean by showing civi case or contact blocks on nodes..You can use entity reference fields to reference cases or contacts from a node, which would mean you wouldn't need to use Display Suite Block fields, or you can create Views base blocks listing cases or contacts, and then choose them in your Display Suite Block field settings, and check "Node" for the "Entities" field.


Label printing: how can I only combine people with relationship

If you use households and have the spouses, children also have a relationship of member of household or head of household, then the check box "Merge labels for contacts belonging to the same household" will do what you want.


CiviDiscount "Specify api string for advanced filter"

There is an example here: https://github.com/dlobo/org.civicrm.module.cividiscount/blob/master/README.md

You need to specify the entity and format the api string as JSON.


Webform CiviCRM Integration and duplicate contacts

If they create a Drupal account is there already a duplicate before they fill the Webform? If so, you may be able to use a Profile on the Drupal account creation page that matches contacts to prevent duplicates there -- at which point the webform should function as expected.


How to fix a blank update my details link in the recurring payments receipt?

Fuzion did some work to improve eWay recurring using their RapidDirect, Rapid & Shared solutions. The code is now available in the Omnipay Extension.

AgileWare helped fund the development of this but can't comment on whether that implies it is their preferred solution now.


Override CiviCRM contact import timeout using PHP-fpm and Nginx

The import do generate a lot of requests indeed, the one you should care about is the POST one (that does the import). The others are mostly cosmetic to update the counter of how many contacts have been processed so far.

What matters for your rewrite isn't where the code is, but what's the url of that post. It depends of your install (check your log or the console on your browser), but it's likely not including the full path (vendor/civicrm/civicrm-core), eg something like:

location ^~ /civicrm/import/contact { ...

one trick I use to see if the location nginx rule is the correct one is to put an invalid fastcgi_pass, 50x errors are easier to see than waiting and trying to guess if the timeout worked or not ;)

This being said, if you have a lot of contacts to import, it's probably safer/easier to write a php script that you run from the CLI and that uses civicrm api to create the contacts (you don't have to deal with timeout, you have more memory, easier to do exactly the tests you want and create the data you need the way you want it.... and that's way easier to re-run if something breaks because some input is invalid)

X+


How can I update CiviCRM installed with Drupal 8 using Composer?

I've been updating it using the following:

composer require civicrm/civicrm-core
composer civicrm
cv upgrade:db

That is after making a backup first.

Has worked for my installation.


Which directories in an extension get scanned by CiviStrings

The civistrings command doesn't have a prescribed list of directories. It takes a list of paths (files or directories) as an input. For example, here's an excerpt of running it against the api4 extension:

[nix-shell:~/bknix/build/dmaster/sites/all/modules/civicrm/ext/api4]$ civistrings $PWD
#: CRM/Api4/Upgrader/Base.php
msgid "Upgrade %1 to revision %2"
msgstr ""

#: Civi/Api4/Service/Spec/Provider/CustomValueSpecProvider.php tests/phpunit/Action/CustomValueTest.php
msgid "Custom Table Unique ID"
msgstr ""

#: Civi/Api4/Service/Spec/Provider/CustomValueSpecProvider.php tests/phpunit/Action/CustomValueTest.php
msgid "Entity ID"
msgstr ""

#: ang/api4/Explorer.html
msgid "CiviCRM API v4"
msgstr ""

At time of writing, the scanner will look for ts() expressions in any files which match the following:

File-name ending with .js (parsed as Javascript code)
File-name ending with .html (parsed as HTML with embedded Javascript)
File-name ending with .setting.php (parsed as a Civi settings file)
File-name ending with .tpl or .hlp (parsed as a Smarty file)
File-name ending with .php or file-content starting with a PHP signifier in the first line (parsed as PHP code)

This arrangement allows you to keep-it-simple in the typical case of a single extension (i.e. "just scan the entire extension and put all strings in one file"). This also allows you to deal with more complicated arrangements (e.g. civicrm-core is large and includes several components split among various subfolders). civistrings is focused on the technical mechanics of scanning for ts() -- and tries to be agnostic about the directory-structure.


Webform-CiviCRM recurring contributions Error?

Ad 1) installments: that’s not an error - that’s a feature! It allows you to extend the concept of recurring contributions to eg paying for an Event in installments (day care centre fees eg - $4000 -> paid in 10 installments - monthly - $400/mo recurring contribution.

Ad 2) non_deductible amount - I remember fixing that - will have to check if that bug has resurfaced.

PS - If you’re looking for a classic start recurring series -> open-ended you can set installments = 0 (as per CiviCRM convention) - then the amount shown will be transacted monthly as is.


Ok, I found an example on the Civi Wiki and, with a bit of workaround, it finally works:

function joomla_civicrm_validateForm($formName, &$fields, &$files, &$form, &$errors) {

  $errors = array();

  // check we're targeting the right form
  if ($formName == 'Edit') {
    return true;
  }

   $password = CRM_Utils_Array::value( 'cms_pass', $fields );

   // ensure that password is present and valid
   if (!$password) {
      $errors['cms_pass'] = ts( 'Password is a required field' );
   } elseif (strlen($password) < 50) {
      $errors['cms_pass'] = ts( 'Password must be longer than 50 characters');
   }

  return empty($errors) ? true : $errors;
}


Do Webform Contributions allow for using Grid Widget?

Ah, that was a bug in the webform_civicrm module. I've just pushed up a fix, which will be part of 7.x-4.16. Or you can grab the latest -dev release from drupal.org/project/webform_civicrm now.

Update: 4.16 has been released. Enjoy.


Free event with sessions with max participants

I assume you're using price sets because you want to allow people to register for multiple sessions on a single event page?  Have you checked out cart-style event registration?  It's not maintained by core, but there seems to be a steady flow of people who ask questions about it, so it seems like it's getting use.

With cart-style event registration, each session is its own event, and you can dispense with price sets.

Finally - you did some amazing work on getting price sets to fit your use case!  If you could publish your work somewhere, that would surely benefit someone.


How do I enter new contact from "New Case" form using a contact subtype?

Yes you can.

Go to Administer -> Customize Data & Screens -> Profiles
Click to the "Reserved Profiles" tab
Find the "New Individual" profile and click "Fields" then "Add Field"
Field type "Contact" field name "Contact SubType"
Save the field with whatever label, help text, etc. you wish.

You will then be able to specify the contact sub-type on any New Individual popup form.

Note: I just tested this and the resulting field uses a rather ugly multiselect widget. I've just posted a fix for this which will get into the next release.


In Drupal 8 Webform_Civicrm how do I clone a Contact?

Unfortunately there is no such clone feature yet. We've had to park it for now as other outstanding bugs: re: existing contact element, and re: static/live options take precedence.
So I've just removed the Tip (for now) and have added a ToDo statement:
https://github.com/colemanw/webform_civicrm/pull/449


Why won't data entered into CiviCRM profile html snippet save?

I wonder if it's the recaptcha on the form action page?

http://tremololabs.com/clients/IREHRTEST/index.php?option=com_civicrm&task=civicrm/profile/create&gid=15&reset=1

My guess is that posting to that page without the recaptcha data (which is what your form does) is going to cause the server to be annoyed, and perhaps there's some kind of code or server security something that is hiding the response and just sending the user to the front page of your site? Do you have some kind of special configuration for your recaptcha perhaps?


No emails sent automatically when someone joins a group

Check your settings in Administer > CiviMail > CiviMail Component Settings:


How can I update a credit/debit card number, card billing address, or card expiration date to continue transaction processing - on Authorize.net

Automatic recurring billing is an extra feature in Authnet (ARB) that you usually have to request. In order for Authnet to communicate to the CiviCRM that a recurring transaction has taken place, you must install a silent post URL in the designated field within the Authnet portal, under Account > Settings > Silent Post URL.

The silent post URL for a Drupal site is: https://yoursite.org/sites/all/modules/civicrm/extern/authorizeIPN.php

Once that's established, the credit card and billing information would need to be managed through the Authnet portal since CiviCRM does not store credit card numbers. If you update the information proactively, it should update everything else in the CRM automatically.

https://wiki.civicrm.org/confluence/display/CRMDOC/Authorize.net+Configuration


Is there a way to have a "from and to" field , need this for business hours "to and from"

This is not currently available in CiviCRM to have time range custom field. The alternate solution would be to create two date time field To and From and using buildForm hook and PageRun hook and/or JS hide the date field on forms and view.

HTH

Pradeep


How can I sync the Drupal User Profile image and the CiviCRM contact image?

I am not sure how to sync drupal profile image with CiviCRM contact image through UI. But you can add module and invoke hook to update the contact image.

Here is the snippet how to add image url to contact

$params = [
  'contact_id' => 2,
  'image_URL' => [
    'name' => '/var/www/html/drupal/sites/default/files/civicrm/custom/Screenshot_from_2018_06_19_15_46_08_1877c5451ed2e68a12816071e0006fef.png',
    'type' => 'image/png',
  ],
];
CRM_Contact_BAO_Contact::processImageParams($params);
civicrm_api3('Contact', 'create', $params);

HTH

Pradeep


Is there a way to produce automated welcome emails for individuals who sign up to receive our newsletter?

As @ericG suggested the CiviRules extension can do this. You can find the CiviRules extension here: https://civicrm.org/extensions/civirules and documentation on the extension is here: https://docs.civicrm.org/civirules/en/latest/.

If you want to send an email you will also need the Email API extension: https://civicrm.org/extensions/e-mail-api


My mistake, I left a hack in civicrm.settings.php (and forgot it, it was months ago) which led to this weird behavior. Reverting the hack solves the problem :

// can't remember why I did this 18 months ago, but this is obviously a bad idea...
//require_once './sites/all/modules/civicrm/CRM/Core/ClassLoader.php';
require_once 'CRM/Core/ClassLoader.php';

Many thanks to XDebug, and lesson learned (again :) about hacking CiviCRM code...


The quickest way is to:

Run a contribution search with no criteria. You will have a result page with all of them.
For the Select Records option, choose All Records.
For the Actions option, choose Delete Contributions.
Repeat for contacts with Advanced Search; type "Sample Data" into the "Contact Source" field to find all sample contacts and then bulk delete them. This will cascade down to delete events, activities, etc. You'll also get a message that your own record can't be deleted, so there's no concern about wiping yourself out of the system.


If you're getting an installation canary error, that means you tried upgrading once and it failed - and then when you upgraded a second time, you got the installation canary error.  The original error is the "true" error.  You can probably ffind it in your ConfigAndLog logs.  However, you should restore your pre-upgrade backup before attempting another upgrade.  Fixing a broken upgrade is a very advanced topic.


How can I locate my extension directory?

You can find your extension directory by going to Administer menu » System Settings » Directories and checking the value for the "Extensions" directory.  If there's a token like [civicrm.root], you can determine its value with this technique.


You could import and tag or add to a Group, then find via Adv Search (filter by Group/Tag plus date of donation) but set to 'Display as Contributions, then use the Actions to trigger Print or Email Contribution Receipt which is described thus:

  You may choose to email receipts to contributors OR download a PDF file containing one receipt per page to your local computer by clicking Process Receipt(s).


Why does this custom file field uploaded on profile not download from the emailed link?

Please make sure you are closing the file properly before attaching to the email - any file which is open and been attached to email will have this issue


I am having a devil of a time with CiviCRM email

Possibly smtp settings, i.e. authentication?
Outside of civi, are you able to send an email to confirm your global configuration/server/mail settings are correct?

Then go to CiviCRM, Administer CiviCRM, Outbound Mail.
Ensure your settings match the cms. Then test to an outside email address.

If all goes well, go back to civi and try your email.

If still not working, then check what version of php you have, if 5.6, then smtp settings maybe messing you up because of peer verification.


Email not working after upgrade to PHP 7.0

It's likely that you've added (or removed) the php-crypt library in your PHP upgrade process.  This would cause your password to be encrypted in an incompatible method.  Re-enter your credentials or match your php-crypt to what it was previously.


How To Apply Membership Type Update To Existing Records

You may have to amend the 'end dates' that are on those old style memberships either

via SQL
manually in the DB
via a Batch Update of Memberships
export Membership data and reimport it (as per JoAnne's answer - added here to include in this list)

Which option suits you may depend on your skills and the number of memberships involved.


This is hard to answer without more details, such as your CiviCRM version and CMS type.

If your CMS supports it - I think the easiest way to handle this is to create a separate membership page for renewals, and create a membership status for folks within three months of renewal.  Control access to that page with CiviMember Role Sync (for Drupal) or CiviCRM WP Member Sync (WordPress).

If none of that's an option, and you feel comfortable writing code (or know someone who can do it for you), you can use hook_civicrm_validateForm() to have the membership fail validation when membership end date falls outside of a given range.

Of course, the simplest answer - explanatory text telling people not to renew if it's not their time - shouldn't be overlooked.


Yes there is - go to Manage Contribution Pages and search for your page.  On the right hand side next to the page you want to test, click "Links", then "Test Drive".  You can also see this link at the top of the page when editing your contribution page.

For credit card transactions, use Test Visa Card number 4444333322221111, expiry date anything in the future, CVV any three digit number.  NEVER USE REAL CREDIT CARD NUMBERS FOR TEST TRANSACTIONS!

You will get a test receipt as long as you've set the email address to yourself!

No transaction will be made.  You will only be able to find the contribution inside Civi by specifically searching for test contributions.

This works for donations as well as memberships.  It's very useful.  I always test every page before making it live!


CiviReport 'insufficient permission' error running financial report after update to 4.7.29

This bug has been reported at Bookkeeping Transactions Report insufficient permissions and from CiviCRM 5.9 will be fixed. Here the affected code.


Enter Phone Number, Show Contact Details with API?

You can, certainly - but it sounds like what you really want to do is set the Supervised Dedupe rule to dedupe on phone number.  That way, when someone enters a new contact, when they try to save it, it will recognize the person as a duplicate.


This depends a bit on how you're sending emails. Are you using a mailing service, or do you run your own mail server?
Some mail processors accept mail but then don't allow it through to the user if they don't like the look of it. We had this problem with Outlook/Hotmail at one point. In the end we had to contact them directly to resolve the issue.
There are a couple of things to try if you haven't tried them already:

Check the spamminess of your emails using mail-tester.com. Aim for 10.

Set up Dmarc. This will give you direct feedback from the mail processors (sometimes including instructions/contacts for resolving problems), and it should generally help your mailing reputation.


Session invalidated after returning from PayPal CiviCRM v 4.7.31

Update - this was actually unrelated to CiviCRM.  I had not updated the htaccess file correctly after a core upgrade.


recently viewed items stack: Add a configuration option for MAX_ITEMS in Recent.php

You would need to patch CiviCRM to change this from a hardcoded constant into a setting.

Create a pull-request for this change and the core team will review it and merge it into 4.7.

See http://wiki.civicrm.org/confluence/display/CRMDOC/Settings+Reference


If the Setup Screen tells you that the database settings are correct, it means you can login into the database with the username and password that you entered. However, it does not guarantee that the MySQL database user has enough privileges to perform all necessary database actions.
CiviCRM needs trigger support and in the System Administrator Guide at https://docs.civicrm.org/sysadmin/en/latest/requirements/#mysql-permissions is described what this entails.

If you are not able to grant the correct privileges in the control panel of your internet service provider, you have to contact their service desk.


You can use the Search Builder (Search menu item > Search builder; see this answer about searching for Groups A and B, it's the same concept) or a custom include/exclude search.

Once you have the search results, you can add the resulting contacts to a group for your mailing.


CiviCRM still creates MyISAM tables which results in Warning

Based on Dan's pointer to https://issues.civicrm.org/jira/browse/CRM-15601 , it seems like this used to work. It probably regressed with https://github.com/civicrm/civicrm-core/commit/3fa9688a5 which introduced a very subtle change to how it ignores temp tables. Compare:

(Old) strpos($dao->Name, '_temp') !== FALSE
(New) TABLE_NAME NOT LIKE '%temp'

Proposed fix: https://github.com/civicrm/civicrm-core/pull/8930


What can I do so that mailings sent through Civi are not marked as spam?

An alternative solution is to use a third party service to send the emails and not the web server. They'll be better placed to ensure your not marked as spam. Services such as CiviSMTP (Paid), Mandrill (Free to small lists or with Mailchimp plans otherwise Paid) and Sendgrid (Paid) can all be used. I would recommend this as a longer term solution rather then trying to manage your own reputation.


The Latitude, Longitude fields are only visible when they are enable in 'Address Editing'. To enable it navigate to Administer >> Localization >> Address settings. Check for 'Address Editing' option. Check box for Latitude, Longitude option and save the settings.

HTH

Pradeep


Date added to CiviCRM DB error when using with a smart group that has a custom field type

This line:

  Warning: fopen(/var/www/html/example/docroot/sites/default/files/civicrm/ConfigAndLog/CiviCRM.c496aa562571a7869b7d0ea6d810ea10.log): failed to open stream: Permission denied in Log_file

indicates a permissions error. Check that your webserver user can write to the directory:

/var/www/html/example/docroot/sites/default/files/civicrm/ConfigAndLog

and to this file if it exists:

/var/www/html/example/docroot/sites/default/files/civicrm/ConfigAndLog/CiviCRM.c496aa562571a7869b7d0ea6d810ea10.log

That may not fix the search problem you describe, but you should then get more information in the log file.


Confirm From Email Error in Configure Event

It looks like this issue has been reported and fixed here: https://lab.civicrm.org/dev/core/issues/1469

With this patch https://github.com/civicrm/civicrm-packages/pull/271.patch

To apply.

First make up a backup of the file.

Then option one - if you have command line access you would want to

navigate to

/home2/nymissionary/public_html/administrator/components/com_civicrm/civicrm/packages/

Download the patch using wget

wget https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-packages/pull/271.patch

This will create a file called 271.patch

Then you want to apply the patch using the patch command

patch -p1 < 271.patch

( What this does

use the patch command
strip off the first 1 bit of the path when searching for the files (in this case the a and the b from a/HTML/QuickForm/Rule/Email.php b/HTML/QuickForm/Rule/Email.php )
and read in the file you downloaded to get the instructions on what to do.

)

In this case it looks like a pretty simple patch that you could do manually if you were more comfortable.

Again make a backup of the file then edit the file: HTML/QuickForm/Rule/Email.php

Then look at
https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-packages/pull/271.patch

What you want to do is add any line (without the +) that starts with a plus and remove anything with a minus.

You want to add the code between the lines without the pluses above and below so the first chunk will go in about line 37.

after

class HTML_QuickForm_Rule_Email extends HTML_QuickForm_Rule
 {

but before
     // switching to a better regex as per CRM-40

Then the second bit you just need to swap

$part = idn_to_ascii($part, 0, INTL_IDNA_VARIANT_UTS46);
for
$part = self::idn_to_ascii($part);

If you get any errors after saving just revert to your backup.


You didn't specify which CMS you're using but between your CMS permissioning and Civi ACLs, that should be possible.  See here for some info: http://book.civicrm.org/user/initial-set-up/permissions-and-access-control/

Just a thought to consider though... if you want to present particular sets of data to your board members in a simplified way, creating Views (if you're using Drupal) or similar presentations might be a viable alternative.  Sometimes the back-end, administrative angle of Civi can be a bit confusing for folks who don't use it regularly, particularly if they're not very technical.

Hope this helps,
Lesley


Parse error unexpected 'clone' (T_CLONE), expecting '('

Welcome to SE!  Do you really mean CiviCRM 4.5? - that's really old.  The docs Jitendra points to are for the current version of Civi.  If you are back on Civi 4.5 it won't work with any version of php7.
Go back to php5.6 and plan to upgrade.  You'll want to do that in stages - see some of the other answers on here for upgrading from very old versions.


How to add field for length of a specific membership type to Contact Summary page

This requires you write an extension.  I've written similar extensions to show the "original join date" on a contact summary screen.  If you haven't written PHP, you will probably want to hire someone to do this for you.

Your case is a little trickier, because it'll need to be updated once a..day? Month?  Whereas "original join date" only needs to be filled in once.

Here's the basic approach:

Create a custom field to store the data.  Set it to view-only.
In your extension, define a new API.  When the API is called, it should make an API call to find the folks whose custom field will need updating.  If these folks are defined as a group/smart group, that will help!
Loop through each contact, using the API to query their memberships.
Take the earliest membership join date that applies and do your math, using PHP's date arithmetic functions.
Use the API to update the field that stores the data.
Define a scheduled job (Administer menu » System Settings » Scheduled Jobs) to run the scheduled job on the schedule of your choice.


Upgraded CiviCRM 4.4.6 to 4.5.4; Case is adding but its not showing?

Check your permissions, they may have changed and you'll need to give the relevant role the permissions. You should also clarify which CMS your using to make it easier to support you!


Is it safe to assign "Edit all events" to non-admin users?

It depends on the context and the definition of non-admin users.

If, for example, your context is a small organisation with a small number of users I would say it is safe to do so. You could generally agree with each other that everybody is responsible for the events they have created which is usually the case anyway.

But if you have hunderds of users who might edit other events the it might be something which is not really helpfull for your situation. Then you might think about other solutions for creating and managing events because manage own events is missing from the permission settings.


Recurring Paypal Contributions are showing (Pending Incomplete)

Apparently Paypal charges extra for recurring functionality and you have not subscribed to the additional $30/mo DPRP service.

  DPRP is disabled. DPRP is disabled for this merchant.

https://www.paypal-community.com/t5/About-Business-Archive/quot-DPRP-is-disabled-for-this-merchant-quot-plz-help/m-p/991717#M14689

In your bounty comment you state:

  I am looking for a solution that will allow us to accept recurring payments through Civi.

In this case I would recommend you look into Stripe.com which provides these options without charging monthly fees. There is a CiviCRM-Stripe payment extension in active use and development.


Unable to add Event Participants backend

That sounds familiar, I recall some issues similar to what you are reporting (i.e. that message coming up in a misleading way).

I'd try upgrading to a more recent 4.6.x to see if that fixes it (you're going to want to do that for security reasons in any case). The 4.6.x series is reasonably stable, there isn't usually any reason not to upgrade.


Can you include html in word replacements?

There's a WIP PR (work-in-progress code change) that if I remember right while reviewing it made it mostly work, but I do think html is iffy right now.

https://github.com/civicrm/civicrm-core/pull/15836#issuecomment-553702913

You could do it with an extension that just inserts some jquery that appends your text to the existing <div>. https://docs.civicrm.org/dev/en/latest/framework/region/


Is this expected that civiHR removes lots of features (eg activities and cases)?

(Note: My comments are focused mostly on CiviHR <=1.4; for 1.5+, I haven't followed as closely.)

CiviHR is broken down into several different extensions. Each extension defines a different piece of the data-model/UI (eg for tracking job contracts or tracking qualifications). If you pick and choose these individually, it should be possible to load them onto a CiviCRM site without disabling/removing features.

One extension, org.civicrm.hrui, is particularly opinionated and aggressive about reworking the UI. Its primary purpose is to reshape the overall user-experience for standalone CiviHR deployments -- emphasizing HR-specific elements, de-emphasizing fundraising-specific elements, tweaking phrases/word-choices. It fills a role similar to Drupal's installation profiles.

If you're an experienced Civi implementer/consultant looking to add some HR elements to an existing Civi site, then you've probably used most of the same tricks as hrui (eg toggling components and toggling display preferences), and you'll probably disagree with some of the opinions in hrui. So skip it; you're not the target audience for that extension. Browse the list of extensions and pick the ones which are relevant.


Can I report data from a disabled custom field or option?

You might consider using css to hide the fields not in used, in this case you can still have them available for reporting,


Why can't I delete a Membership Status that has no memberships of that status

Ok, found it. If you have logging 'on' - and you have a membership which was at some point in history 'that' status - then when you search you find 'no results' - but there is a record in log_civicrm_membership

and presumably it is not be able to be deleted in case the record needs to be reverted.

If that is the issue, then perhaps the error message needs to incorporate that fact.

or should the membership status be ok to delete even with data in the logs?


Allow user to cancel a recurring contribution

If you give your contact access to their Dashboard, then (from memory) they can access and make some limited changes to their recurring payments - ok, not from memory - some screenshots

and


Civi Database erased when upgrading from 4.6.3 to 4.6.4

Two issues.  1. Database is getting reset when you upgrade  2. you cannot restore from backup.

Answer to #1 is this: Make sure you are following the upgrade procedure on
this page: http://wiki.civicrm.org/confluence/display/CRMDOC/Installation+and+Upgrades

Answer to #2 is this, before restoring from backup, follow this procedure.

a. ensure that the backup is intact, examine in a text editor, or import the backup into an entirely new database (not the civicrm database) called "justtesting" or whatever

b. drop the civicrm database.  this resets the schema of the database entirely, as new tables and columns are added during partial/failed upgrades, and must be removed.

c. recreate the civicrm database with the same name as it had before

d. import the mysql backup dump file into the newly re-created civicrm database.


using cancellation link after event start date?

By chance I also recently discovered this limitation, and opened a ticket for it.

I wrote the code to add this feature, but it requires a change to the CiviCRM schema, so I don't recommend patching yourself unless you know what you're doing.  I wrote a patch to clean up checking whether a participant can self-update.  Once that's approved, I'll submit a patch to allow negative values for the "hours until cancellation" field.


How can I fix "Fatal error: class Mail not found"?

The development system must not have Mail. I went to

mysite://civicrm/admin/setting/smtp?reset=1

And picked 'save to database' as the mailer option as I don't really want to send mail anyway, just debug it.


continue button missing for free event registration

This is definitely an issue with how PayPal express - payment processor works in civicrm, if you have multiple options on the event and the customer chooses to pay nothing and only opts for free part of the event. the continue button disappears as well paypal express button goes away, I've been using paypal standard instead to get around the issue.


Can I upgrade a drupal 7 + civi site to drupal 8?

UPDATE: Note this is now slightly out of date but the gist is correct, so follow the spirit if not the exact details. In particular if I was doing it again now there is a non-roundearth way to also install D8+civi, e.g. https://civicrm.stackexchange.com/a/35608/181 (official docs are in the works), and that method will set different path settings in civicrm.settings.php for you than described below, e.g.

$civicrm_paths['civicrm.files']['url'] = 'http://example.com/sites/default/files/civicrm';
$civicrm_paths['civicrm.files']['path'] = '/full/filesystem/path/to/sites/default/files/civicrm';

Start creating a new D8+civi site by using the installer at https://gitlab.com/roundearth/drupal-civicrm-project.
When doing the D8 install part, just install a minimal site and don't further configure it - just what's needed to get D8 installed.
Follow the standard drupal instructions to upgrade. https://www.drupal.org/docs/8/upgrade/upgrading-from-drupal-6-or-7-to-drupal-8. The short version is enable the Migrate UI module on the new site and then go to /upgrade.
Do not enable civicrm yet.
From your old site, export the civicrm_xxx tables.
There is probably a better way to do this step but it worked for me to manually update any urls and paths in the export file (taking care with php-serialized strings) and then import the sql file into the new database. Note that any references to sites/all/modules/civicrm are now under vendor/civicrm/civicrm-core. URLs for sites/default/files/... can stay as is, but note that filepaths will now be web/sites/default/files. Also userFrameworkResourceURL is now libraries/civicrm.
Copy civicrm.settings.php to the new site under web/sites/default. Edit the file:
Change CIVICRM_UF from "Drupal" to "Drupal8".
Change the mysql connection strings.
Change paths and urls as above. Again note civicrm_root is now under vendor/civicrm/civicrm-core, and you need to put "web/" in front of filepaths to "sites/XXX".
Enable the civicrm module.
Clear caches at admin/config/development/performance and also the civicrm caches at civicrm/admin/setting/updateConfigBackend?reset=1. I also ran /civicrm/menu/rebuild?reset=1 but I'm not sure it's necessary here.
The UI will look all messed up because it was a minimal drupal install but you can change the theme and set things as you normally would.
You may also need to set these settings in civicrm.settings.php:
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_setting['domain']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_paths['cms.root']['path'] = '/full/path/to/web'; // the "web" folder at the root of the install


If there are indices problem, you can get false indices displayed on Administer -> Administration Console -> System Status page.

It will list the wrong indices in your table with the Update Indices button to rebuild them.

The above button tries to delete the listed false indices and recreate them in the correct order. If for some reason the Update Indices is unable to clear the message, you can manually delete the indices from the Table Name shown in the above screen and then create them using the same button.

Note that you can only see this message and button if your civi version is <= 4.7.29. From 4.7.30, this message is hidden via CRM-21298.

So, on version >= 4.7.30, as this UI is not present, you can try rebuilding them using the api via API explorer from Support -> Developer -> API Explorer with

Entity = System and Action = updateindexes (present on all versions).


Validate Drupal accounts after becoming a member?

Is your validation/invalidation a user role in Drupal?

In that case you can use the Drupal rules module to trigger a role change that checks for 'unvalidated user' when the 'member' role is added, and removes it if found (or the other way around depending on which way your validation works). If your validation triggers on anything that rules can be connected up with this should work, even if it's not a role.

One weird fringe case of data security I would consider with the process you described is if you handle any semi-sensitive to sensitive data and if validated users can access/change about themselves that may already be in your database. In that case anyone could get a validated account that hooks up to the contact data and access it by using an email that is not theirs, even if they don't have access to the email account, simply by paying for a membership.


Scheduled Reminders - differentiating by contribution type

If I understand you correctly you have selected 'Activity' as the 'Entity' in the first drop down list.  Instead of 'Activity' you should select 'Contribution Type'.  You will then be able to choose the relevant financial types and contribution status (Ctrl-click to select more than one).

See the screenshot below (taken from the CiviCRM 4.7 demo site):

It sounds like you have already looked at the User Guide, but for the benefit of others here is the relevant page for more details: Scheduled Reminders

Please note that this functionality was added in CiviCRM 4.7.  It is not available in earlier versions of CiviCRM.  As you are using CiviCRM 4.6 perhaps you could consider upgrading to 4.7?


Menu Problem with CiviCRM 5.26.0 in Drupal

Your .htaccess file is incorrect.

It should contain the following content:

# Turn off all options we don't need.
Options -Indexes -ExecCGI -Includes -MultiViews
# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
<Files *>
  # Override the handler again if we're run later in the evaluation list.
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
</Files>
# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>

The remaining lines are added ONLY for private file storage, namely these lines:

# Deny all requests from Apache 2.4+.
<IfModule mod_authz_core.c>
  Require all denied
</IfModule>
# Deny all requests from Apache 2.0-2.2.
<IfModule !mod_authz_core.c>
  Deny from all
</IfModule>

You should check your Drupal configuration, to ensure that you have a separate folder configured for private file storage, this should be outside your web root.

You should check your configuration against the Drupal documentation here: https://www.drupal.org/docs/7/install/setting-up-the-files-directory


How to exclude multiple contact displays in Drupal view with contact-user relationship in CiviCRM multisite setting?

I don't have time to dig out an example but you should find you can add a Views Filter and specify the civi Domain. May depend on whether your View is starting with the Drupal User or with the CiviCRM Contact.


How do I change the Form Processor "Edit Action" Form?

I think you're looking for the "Other: Set Value" action.  Add the condition on this field, and use that action's output to populate the custom field.
Form Processor works on objects, not strings, so it wouldn't work to have a string that isn't generated by another action or input.


How to configure mail_report for every mailing?

See Managing Scheduled Jobs, for mail_report:

  Generates and sends a copy of the specified report instance to the
  email addresses configured in that instance's Report Settings.

So you specify the email address in the settings for the report instance, not in the settings for the scheduled job.


Mosaico 2.x on CiviCRM already has the feature to add "preview text" for emails.

This is handled in the default "versafix-1" template and any derivatives thereof by way of a hidden text field in the HTML.

Your supplemental question regarding Emoji is more difficult - the Mosaico library can handle Emoji however CiviCRM's database storage engine doesn't use UTF8MB4 and isn't setup to handle Emoji content at this time. There is an issue here however getting this change into CiviCRM core (which is where it would need to occur) is not simple nor a priority at this time.


I see the "Make Online Contributions" permission.  I found it by going to:

Administer menu » Users and Permissions » Permissions (Access Control)
Select "WordPress Access Control".
Find "CiviContribute: make online contributions".  You'll probably want to check all the boxes next to it and press "Save".

See screenshots for all the steps above:


Cannot update membership status (No drop down)

When upgrading check all customised files include all the correct changes for your current version.

I was missing a section of code in the membership template.


In CiviHR, is it possible to display the open vacancies on the frontend?

Thank you for your interest in CiviHR.

Publication of jobs on the non-profit's website, and receiving applications from there will be part of CiviHR 1.6. It is scheduled for completion by the end of 2015 : http://wiki.civicrm.org/confluence/display/HR/CiviHR+-+Version+1.6+Basic

Hope this helps.

Ruchi


SYBUNT (some year but not this year) showing 2011 as this year

The sample report instance has the filter saved at 2011. If you do a new create report from template it defaults to current year.

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