Look for barcodes (and QR codes, though I'm not sure that's avaiable). I believe the best supported area in Civi for this is Events, where it is integrated into ticket printing and event check-in. The code is there for printing barcodes on name tags as well. So then I would check what the token for this is, and check if it is exposed when generating a pdf letter.

In terms of workflow I believe you either want the code on a mailback envelope or card, and/or on a response part of you package.

Generally the barcode is used to send a system to a url when scanned. The url can be set up so that it populates the fields in a profile with the values for a particular contact, similar to the email token that generates a url for this purpose. The lifetime that the token is valid from when it is generated can be configured for a period, say 1 week or 3 weeks.

Brainstorming a bit, this could be used to submit a custom activity for the contact. If the barcode is on a returned piece of mail the actvity type could indicate the address is bad (undeliverable, moved, etc.). If the barcode is on the response mechanism then the actvity could indicate the contact sent the mailback indicating, oh, they agree that Trump shouldn't be allowed to become President.

Without custom code, you may need to use a batch update with profile workflow to convert the activity into an update of the address status. Put the field you want to update, eg Do not mail, on a custom profile. Then find contacts with the Mail returns custom activity with Do not mail false, select 50 or 100 of the contacts, choose Batch update with profile as the search action, set the Do not mail field to true on the top line, and click the icon that means copy the value in this field in the first row to all the other rows  then save. Unfortunately you have to repeat this process until all aee updated.

HTH


5.34 is 6 months from now. So it depends what siteground means by "soon" :)


Should accessing addresses via the API always require the 'view all contacts' permission?

According to the API Security page, this is expected behaviour - only the Contact API applies ACLs and such.

Looks like the best solution is to write a custom API that limits available data.


How do I configure CiviMail to send through sendgrid?

Go to Administer> System Settings> Outbound Email (SMTP/Sendmail)

Select SMTP

server: smtp.sendgrid.net
port: 587
authenticate: Yes
Username: your sendgrid username
password: your sendgrid password


Here is a piece of code that works :

$res = civicrm_api3('Contact', 'duplicatecheck',
  array(
    'match' => array(
      'contact_type' => 'Individual',
      'first_name' => 'Jane',
      'last_name' => 'Doe',
      'email' => 'jane@example.org',
    ),
  )
);

Return :

Array
(
    [is_error] => 0
    [version] => 3
    [count] => 1
    [id] => 810
    [values] => Array
        (
            [810] => Array
                (
                )

        )

)

Note that :

contact_type is really important because it help the api choose the proper rule and CiviCRM won't give you any error if you omit it
I'm not sure if it's possible to test it from the api explorer because match is an array and i have no clue how to put an array in this context...


Definitely use CiviRules. Why can't it use event tokens? If there's a specific shortcoming, why not log it with the team? I've a feeling some work may be done on it in the UK CiviSprint next week... ;)


from a quick read I would expect you to be able to get most of the way, if not the whole way, but using Activities (or possibly Cases) to store the data for referals, and use Drupal Webforms to capture the data for referrals, and Drupal Views along with the Permissioned Relationships ACL extension which Fuzion created, to manage the job of who can see what at various levels of these daisy chains.

Others might suggest doing this directly via the Civi UI etc but we have found that Views + Webforms + Permissioned Relationships can get you a long way past what 'out of the box' civi can do, and without requiring custom coding.

Alternatively, or if required in addition to the above, I expect a developer could fill in any missing steps with an Extension.


Connecting existing contribution to pledge WITHOUT Development

Yes, this currently requires writing an extension (or submitting the code as a patch to be included in the core).


How to fix a login issue on the new CiviCRM gitlab server?

On https://chat.civicrm.org, mention this on the ~infrastructure channel and a Gitlab administrator will give a hand.


Jon G - Megaphone Tech has written an extension Soft Credit Custom Fields which, amongst other things, adds a "Soft Creditee's Name" field to the Advanced Search. This should be used to create the smart group.


What is the number of participants you have?

depending of the entity, getCount is just a wrapper around get, so it might be the issue if you have lots of participants.

I haven't looked for participants, but writing (and contributing that back to civicrm core) a custom getCount api with a simplier query that only does select count() would probably makes it way faster


You should check CRM-15629 and see if it sounds like the problem you're having.


CiviCRM 4.7.27 upgrade undefined method CRM_Price_BAO_PriceField::getVisibilityOptionID()

That method IS present in 4.7.27 - it's at line 892.

If it's not present for you, then either:

There's something squirrelly in your upgrade process - perhaps some file wasn't actually replaced;
You've got some extension or PHP override that's overriding the file in question.


CiviRules triggers, but fails to send email

When you have a delayed email, it generates a record in the civicrm_queue_item table.  Since you're experiencing the same problem without a delay, this is unlikely to solve the problem on its own, but is a good way to troubleshoot whether an email was generated while isolating confounding factors like cron not running, a bad outgoing email setting, etc.


CiviRules not triggering event reached date

I think the issue would indeed be that there are no participants, so therefore no events joined and an empty start_date. Can you try with a participant?
If the issue persists can you please report it as a bug on the Civirules extension page (https://lab.civicrm.org/extensions?utf8=%E2%9C%93&filter=civirules)? Would fixing it be possible for you?


Warning: getimagesize() error profile picture

It sounds like there's a settings mismatch.  Check the values of "Image Directory" on Administer menu > System Settings > Directories and "Image Upload URL" on Administer menu > System Settings > Resource URLs.

If the two look correct, please update the original question with the values so we can see them.


Login Fails For One Account, But Not For Others

Just to clarify, this appears to be a Drupal issue, not a CiviCRM issue as Civi is not involved in checking passwords. I'm just fishing here, but I would try the following:

Clear the Drupal caches.
Delete relevant cookies in the browser.
See if you can login using a different browser on the same machine.
Change the users password.


CiviCRM installation page is blank on Wordpress

Did you follow the instructions from the administrator manual? https://docs.civicrm.org/sysadmin/en/latest/install/wordpress


How to use G Suite / GMail as your CiviMail Provider

Setting up GSuite/Gmail as your CiviMail Provider.

Decide if Gmail/G Suite is right for you.  The limits for GSuite users is 2000 sent messages sent per rolling 24 hour period. Regular @gmail.com users are limited to 500 sent messages per rolling 24 hour period. If you are an organization with less than 1000 email list contacts and you have Gsuite - this may be a good option for you - assuming you only send 1 email blast every 24 hours - to not exceed limits. If you are a regular Gmail user - this would only be a good option if you have less than 400 contacts that receive emails - and I would stagger your email blasts to maybe 100/hour. This would still leave you with 100 emails for regular communication and activity emails. Using the SMTP relay service - limits expand significantly - however - I have not tested the reported 10,000 emails per rolling 24 hours limit for SMTP-Relay.

Create two accounts in Gsuite/GMail, one that will be used as a bounce account and another that will be an email to activity account.

Follow these instructions on how to setup gmail as your email provider in CiviCRM. Same instructions apply for the bounce account except you will use the bounce email and select Used For Bounce Processing. You will need to allow access to less secure apps - if you use 2FA - you will need to setup an app password.

Setup your from email. If you are not using SMTP Relay - it must match the same email address you have in Gmail - or the Gmail server may reject your email. If you are using SMTP Relay - you should be able to add multiple from addresses as long as they are real email addresses that share your same domain. Meaning if your smtp relay is selma@wonky.org, the only other emails you can use as from are @wonky.org. You would not be able to use a @gmail.com address.

Follow these instructions on how to configure your outbound email service. While the doc recommends using mail() - I found the best experience to be using the IMAP settings in your GSuite/GMail account - however - if you are a GSuite user - I highly recommend you use the SMTP-Relay service. Follow these instructions to setup your GSuite account for SMTP Relay - Comprehensive email storage is recommended for best deliverability - but we have not noticed much of a difference.  Then use the following settings for your outbound mail settings.

Server: ssl://smtp-relay.gmail.com
Port: 465
Authentication: Yes
SMTP Username: complete email
SMTP Password: password

Setup Cron & Mailer Settings

We setup our mail cron to send batches every 15 minutes - we also limited batches to 250 contacts (Mailer Batch Limit). (Administer - CiviMail - Mailer Settings)  We have also sent email without the mailer batch limit with success. We will be testing limits further and will update this answer.

I hope you found this guide useful - let me know if I should clear anything up or add anything else.

Do you use Gsuite as your outbound email in CiviCRM?  If so - chime in with your thoughts!


Get Custom CiviCRM Data by ContactID This is not a duplicate

I'll try to answer specifically for this question but this effectively is a duplicate of MySQL Query to return all custom values because it's the exact same technique.

First, look in civicrm_custom_field in the "name" column for the Background Check Status field. I'm going to assume it says "Background_Check_Status" there. If not you'll need to change it below to match.

SELECT civicrm_contact.id,
civicrm_contact.display_name,
civicrm_value_custom__safe_sport_co_9.usoc_sports_safe_complete_9,
civicrm_value_custom__safe_sport_co_9.background_check_7,
civicrm_value_custom__safe_sport_co_9.red_light_override_71,
civicrm_value_custom__safe_sport_co_9.override_expiration_72,
ov1.label AS 'Background Check Status'
FROM
civicrm_contact
INNER JOIN civicrm_value_custom__safe_sport_co_9 ON civicrm_value_custom__safe_sport_co_9.entity_id = civicrm_contact.id
LEFT JOIN civicrm_custom_field cf1 ON cf1.name = 'Background_Check_Status'
LEFT JOIN civicrm_option_group og1 ON cf1.option_group_id = og1.id
LEFT JOIN civicrm_option_value ov1 ON (ov1.option_group_id = og1.id AND ov1.value = civicrm_value_custom__safe_sport_co_9.background_check_status_73)
WHERE civicrm_contact.id = 1000

Since you already knew the option_group_id, you could use that like so, but I find the name is easier on the eyes.

SELECT civicrm_contact.id,
civicrm_contact.display_name,
civicrm_value_custom__safe_sport_co_9.usoc_sports_safe_complete_9,
civicrm_value_custom__safe_sport_co_9.background_check_7,
civicrm_value_custom__safe_sport_co_9.red_light_override_71,
civicrm_value_custom__safe_sport_co_9.override_expiration_72,
ov1.label AS 'Background Check Status'
FROM
civicrm_contact
INNER JOIN civicrm_value_custom__safe_sport_co_9 ON civicrm_value_custom__safe_sport_co_9.entity_id = civicrm_contact.id
LEFT JOIN civicrm_option_value ov1 ON (ov1.option_group_id = 110 AND ov1.value = civicrm_value_custom__safe_sport_co_9.background_check_status_73)
WHERE civicrm_contact.id = 1000


Contribution total amount being doubled when Tax Rate is set to 0 on manual membership renewal

Try upgrading civi to 5.28.4 as it should be fixed in this version


Multiple insances of a custum field for one entity

It is not so much the field you set to multiple, it is the custom group! So for example, many contracts.

You can add multiple custom fields for contacts ONLY (including individuals, orgnaizations and households). You need to check the box Does this Custom Field Set allow multiple records? (see attached screen print) and then you can add multiple hobbies.


unsubscribe via email token gives wrong address

in order to use civimail, you need to have your own domain name for to manage the bounces, and it's the same address used for the unsubscribe (it adds to the address that weird u.xxx string that you see to be able to distinguish between your contacts who is actually unsubscribing or bouncing, it's called VERP).

It doesn't use any of your "normal" mailboxes, it needs a dedicated one to handle automatically bounces and unsubscribe.

For what I see, you haven't properly set-up your email account in civimail and use a gmail address (and didn't fill the local part)

http://book.civicrm.org/user/advanced-configuration/email-system-configuration/


How do I email a report automatically oh the 1st day of each month?

Ramesh's comment is correct.  The best overall solution is most likely to upgrade to CiviCRM 4.7, which adds a "Monthly" option.

If upgrading is not an option and you're on CiviCRM 4.6, you can install the Flexible Jobs extension to get this functionality.


"Create User Record" - possible to ignore required Drupal User custom fields?

I think this is a symptom of a structural issue: you have Drupal fields on a contact. Perhaps they're best brought into Civi?

The quickest option is to give those Drupal fields default values for when they haven't been filled in.

An alternative is to create some kind of custom extension or custom module that prevents this issue for you.


SSL/ Payment Processor Errors on payment form

The issue is that the SSL certificate provided by your transaction processor is untrusted by your OS (or by the certs available to cURL).

The solution for a missing CA is -

to ensure the presence of correct CA certificates to cURL by installing system CA updates, or
to retrieve an old copy of the correct CA and make it available to cURL if the one used by your payment processor is invalid (see AGH link below).

Since the error message contains SSL3_GET_SERVER_CERTIFICATE, I wonder if this is happening because your payment processor extension is attempting to use SSLv3 (recently deprecated). You might want to check that if there are any references to CURLOPT_SSLVERSION in your payment processor, they are not set to 3. (You can set them to 0 as in this fix or simply remove the line.)

This issue was documented by AGH Strategies recently:

https://aghstrategies.com/content/SSL3_GET_SERVER_CERTIFICATE

Authorize.NET say that you should make available three root CAs ("production certificate upgrades") link below.

  "Please contact your solution provider and web hosting company to ensure your solution has these certificates installed and is capable of using them to secure your connection to Authorize.Net. In many cases the certificates may already be installed."

POODLE FAQs
Authorize.Net Begins Infrastructure and SHA-2 Certificate Upgrades
Production Certificate Upgrades begin May 27 2015


Custom Data: Multiple Contact References

It looks like they are activities (new type investment), with a custom field (amount) and that should get you covered without the need of coding anything.

As for the reporting, as you know sql, I would suggest you to create a custom dataviz using https://civicrm.org/extensions/civisualize-missing-data-visualization-extension (you'll need a bit of javascript to do the graphs, but that's a handful of lines)


Differentiate contacts as donors vs. class participants

There are many ways to do this, it really depends on what you want to achieve. The simple and basic way would be to use a tag to flag if someone is a class participant or a donor? But I would really need more description of what you want to achieve to give you a good answer!


Change Log Shows Incorrect "Changed By" Name

First, on the wordpress side, check what email is listed for Alice in her wordpress user record. If it still has foo@myorg.org that might be the problem.

Otherwise there's a civicrm_uf_match table in the database that is used to map between user accounts in the CMS (wordpress) and contacts in CiviCRM and it's partly based on email address. If you look in this table the email address might still be showing as connected to Alice's wordpress user id.


Widget broken after site switched to https

Two separate problems with the same source, which is that your widget is static HTML and Javascript that you copied and pasted in place.  It does not update by itself when you make changes.

If you just see the placeholder text, it means that the Javascript is failing to get the current totals.

Your widget may be trying to connect to your site, failing because it's not connecting through HTTPS.  Depending upon how you implemented HTTPS, these sorts of connections may fail unless you specify the https://... URL.
Your browser may be refusing to connect via an insecure protocol.  Recent versions of browsers will simply exclude Javascript and CSS that comes through HTTP when you're on an HTTPS page.

The solution to either problem is the same: fix the widget.  You can read through the widget's code and replace each instance of "http://" with "https://".  Alternatively, you can simply go manage your contribution page, go to the widget tab, copy the code, and paste it in place of the old code.


CiviVolunteer - Log Hours (requires not zero value)

You're not doing anything wrong -- that's just the way the form was designed.

I think it's time this form got an overhaul. Conditional validation would be helpful in this case as well as some others. As an example, I seem to recall someone else pointed out that if you mark a volunteer as a no-show, you still have to enter a non-zero value for the actual duration. Clearly, that's nonsensical.

Full disclosure: CiviVolunteer is primarily maintained by a small development shop of which I am a part. Unfortunately we are not in a position to do unfunded work, but we'd be happy to improve this feature with funding or to help whatever developers you might have at your disposal, provided they contribute the improvements back to the project.


Scheduled job process_mailing does not complete

I have had similar issues recently, after I have manually ran some random scheduled jobs forcefully.

Later I have changed the time of the scheduled job, specially for the ones that runs daily, to the default (12:00).

Since then my issue resolved. I would suggest try that.


The relationship report will give you all the children of a contact easily for you. Relationship reports are standard with CiviCRM and appear under Contact Reports.

Edit filters to ensure the relationship is filtering on only the type you're interested in reporting on. You can then export to csv which will allow you to sort as required there if you want them to display in a particular way.

You'll see that it can only filter on one relationship at a time, so if you put all the contacts that you want to include into a group, you can filter on that instead to display all the relationships on contact in that group.

If you are using Drupal, you might also want to explore views to display this information for you. However, if you don't use Drupal or aren't familiar with views, this is a steep learning curve! If you use it in conjuction with views data export (https://www.drupal.org/project/views_data_export) you can get the information into excel from the view also.


With such issues it is worth trying a 'right click' on the link to open the Edit screen as you may get to see an error message that you don't see with the pop up. If you find one, the repost in your Q


Site key should be defined in civicrm.settings.php, not settings.php, which isn't necessarily bootstrapped when cron is run.

If that was mis-stated in your question (likely, since you're using WordPress), you can try to troubleshoot this by debugging.

Find your CiviCRM log and your CiviCRM root.
In your CiviCRM root, find the file CRM/Utils/System.php.
Find this section (around line 553):

if ($key !== $siteKey) {
  return self::authenticateAbort(
    "ERROR: Invalid key value sent. " . $docAdd . "\n",
    $abort
  );
}

Add two debugging lines so that section now looks like:

if ($key !== $siteKey) {
  CRM_Core_Error::debug_var('key', $key);
  CRM_Core_Error::debug_var('siteKey', $siteKey);
  return self::authenticateAbort(
    "ERROR: Invalid key value sent. " . $docAdd . "\n",
    $abort
  );
}

Run your cron job again, get the same error.
Check the CiviCRM log.  At or very near the bottom of the log file, you should see lines that look like:

$key = 456;
$siteKey = 456;

...except I'm guessing that one of them looks slightly wrong!  Use that information to either fix this problem and/or update this question with more info.


Add Membership Token to PDF Template Joomla

Are you searching for Contacts or Memberships?  By default, Basic and Advanced Search return Contacts.

Your search needs to return Memberships, not Contacts if you want the membership tokens to be available in the PDF letter.

a) use Search >> Find Memberships

b) use Search >> Advanced Search and set "Display results as" to Memberships

In both cases you should have the "Print PDF Letters for Memberships" action that will let you include the Membership Type token.


How do I search for contacts with "not empty" multiple records field?

In a stock installation of Civi 4.6, I don't think this is possible.  However, this is possible in Civi 4.7: https://issues.civicrm.org/jira/browse/CRM-16137

This is a very simple patch, so if you want this functionality today, check this out: https://github.com/civicrm/civicrm-core/pull/5435/files


constituent detail report not working (timeout)

How many activities do you have (i.e. the number of rows in the activity table)
Where are you hosting the site
Is your database on the same server as the web server

If i had to guess, i suspect your activity table is quite large and the left join with the contact tables is basically causing the query to take forever and hence the timeout


Disable check that a web browser has already signed a petition?

What CMS are you using? If Drupal you could do a webform for your petition which would have all of the basic functionality of Civi petitions plus a lot more configurability. It would definitely let you change this setting.


back-end checkboxes not displaying after switch to Shoreditch

I've discovered that the Shoreditch README states that "At the moment the theme is being developed to work only in Drupal." The CiviCRM extension page for Shoreditch, however, states, "CMS Compatibility:
CMS Independent (CiviCRM-native)". Shoreditch, however, is still required for Mosaico, which does work correctly with Joomla.

So, apparently, my expectations that Shoreditch will work correctly as the Civi theme with my Joomla installation are incorrect, and I'll move back to my custom css.

It would be helpful if the extension page would clarify what Shoreditch is expected to do and not do for non-drupal users.


how to "petition" show using do_shortcode in template file in wordpress?

As mentioned in chat.civicrm.org the do_shortcode does work in a single template (single.php for example) but not in a sidebar.

Two examples to get this going are https://github.com/aghstrategies/civicontribute-widget and https://github.com/agh1/civievent-widget


Log table: nativecode=1118 ** Row size too large. You have to change some columns to TEXT or BLOBs

The column mentioned is of type varchar, which is different from text.

Varchar data is stored differently than text (which gets a level of indirection so it's not filling up the individual row data).

Sounds like you're creating a lot of custom field data.


I would register an account on https://chat.civicrm.org (I don't think it shares logins with the rest of civicrm.org but maybe that's changed).  Go into the "infrastructure" channel and someone should be able to fix any issues.


Bulk update relationships to household members

You don't need Batch Update for this - you can use the search action "Add relationship - to household".  Note that this is the 4.7 language - 4.6 probably calls it something like "Add relationship to household".


Is there a way to apply acl to CiviMail's mass mailings?

Users shouldn't be able to see mailings if they don't have access to the groups that the mailings are to.  Note that this was broken not too long ago, so make sure you're using a newer version; see here; also relevant is this and this, which help if someone saves a draft of a sensitive mailing without specifying a group.

Also, note this patch, which is a related but different issue, and hasn't been merged into core yet.


You could create a custom token to do the calculation and use the token in your mail.  See eg https://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens


User access to own contact record, forwarding upon login

When a user is logged in their information is auto populated in profile forms. So when they go to event registrations, donation pages, etc. their info is listed in the profile fields. If they make changes this information is updated in CiviCRM.

You can create a profile for editing and insert it into a WordPress page via a short code with the edit option and direct the user there after login. You may want to restrict access to that page to logged in users. The 'Members' plugin in WordPress does a good job of restricting access by user role.


Display a form in a widget (footer, sidebar)?

The HTML Form Snippet option will be available for profiles if the Accept profile submissions from external sites option has been set to yes –

Administer > System Settings > Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)


Views integration - Missing handler for custom fields on relationships broken since upgrade to 4.7.15

Just ran into the issue when upgrading from 4.7.13 to 4.7.16. Spent way too much time trying to figure it out and far too many views data cache clears/drush cc all.

In case anyone runs across this having the same problem, this is a direct link to the revert patch mentioned above: CRM-19545: Revert CRM-18776 to get back missing custom fields


This is an ACL issue. If users can login, then register it is simpler.
If you are allowing anonymous users then you have a tiny bit of configuration to do to enable anonymous users.
Have to race out to a client for the day, i can send you info tonight with some screen captures, but also maybe you can look up the instructions in the manuals, it works quite nicely when configured.
CiviCRM » Administer CiviCRM » Access Control

For more reference please give a read https://book.civicrm.org/user/current/initial-set-up/permissions-and-access-control/

Also can you just double check that you have the event checked off as a "public event".


Another is convert your external program to an extension, then make api calls.


Update Multiple Activities - Cannot Display "Details" Field

Based on above, this seems to be a minor bug or deliberate behavior. I have created an issue https://issues.civicrm.org/jira/browse/CRM-20433 and will close this StackExchange thread.


Restricted access to the WordPress page but still getting errors: 'Sorry, due to an error, we are unable to fulfill your request at the moment.'

I have found a partial solution...

To wrap the CiviCRM shortcode in a Members shortcode (which would have been the 'old' / pre-gutenberg block way to do it)

[members_logged_in][civicrm component="user-dashboard"][/members_logged_in]

The content is then restricted to logged in users (in this instance) and no visible errors are thrown, though while the form works it appears some Javascript/CSS is not loaded on the page when the shortcode is nested - which others have also come across here: Request login on edit mode profile form.


"edit message templates" is a separate permission in CiviCRM 4.6 (see screenshot below), so you'll get this functionality by upgrading.

Upgrading is also a good idea, since version 4.5 isn't a "Long Term Support" version of CiviCRM and thus doesn't receive security updates.


You need to also install another extension which is mentioned lower down on the introduction page: https://docs.civicrm.org/civirules/en/latest/#other-useful-extensions-and-modules

You need the Email API: https://civicrm.org/extensions/e-mail-api


Inbound SMS from Twilio not showing up in CiviCRM (getting 404 error on HTTP POST)

The callback path shown in your Twilio debug is

/civicrm/sms/callback?provider=org.civicrm.sms.twilio

For WordPress, this needs to be

/?page=CiviCRM&q=civicrm%2Fsms%2Fcallback&provider=org.civicrm.sms.twilio

The former is suitable for Drupal CMS, but won't work in WordPress CMS. WordPress paths for CiviCRM callbacks are generally /?page=CiviCRM&q=civicrm/callback/here

Per wiki: Setting up a SMS Provider for CiviSMS, the callback URL to use for Twilio/WordPress seems to be:

https://www.example.org/?page=CiviCRM&q=civicrm%2Fsms%2Fcallback&provider=org.civicrm.sms.twilio

Try adjusting the settings for callback over on Twilio and see if that fixes it?


Drupal 8 CiviCRM Entity and Views activities

Here's a working example of "My Activities"
Olly: you should just be able to change Assignee to Source for your use case (in Configure Relationship Contact)
Code: git repo -> last commit ->
commit bb1f503bd67d1537a16b28022a4f2444883ef231
Author: Rob Ellis <>
Date:   Sun Oct 11 23:21:17 2020 +0000

    Changed views contact subtype default arg to return "<none>" for users without a subtype


How can I get Double Opt in to work when using a Profile for to create a user/contact

I would like to comment on Jon G's answer, unfortunately this seems not to be possible directly after sign-up to stackexchange:

Basically, I have the same problem by accepting memberships with pay later option (payments via invoice). Anyone can sign up and have someone sent a membership invoice via e-mail.

I just tried the "Email verification on signup" plugin, but with no success: It messes with the groups plugin, which I am using to sync CiviCRM memberships with wordpress accounts. This plugin assigns all newly registered users to the "registered" group. However, unfortunately not the ones which get processed via the new verification plugin.

Anyways, this would only be half of the solution, since the confirmation needs to be propagated back to the CiviCRM database BEFORE sending out e-mails with invoices.

So, basically I am also searching for the right answer on how to prevent bogus sign-ups to trigger unsolicited E-Mails, which could indeed be regarded as non GDPR-compliant.

Currently, this answer might be a customization with an additional membership state like "pending_unverified" which would be transformed into "pending" after successful verification of the provided e-mail. However, this sounds like a lot of work.

Update:
@petednz - thanks a lot!

I just tried something different (again, rather a comment than a solution):

Given that adding a member to a group will trigger the double opt-in, I defined a new group, to which all new members are automatically added while creating their wordpress profile. My hope was, to receive a confirmation request for the e-mail address and have at least the confirmation on record, even if member access to wp pages would be possible w/o confirmation.

Unfortunately, no confirmation link was sent out by CiviCRM. Instead, no username/password could be set for the wordpress account. Instead, the new member is logged into wordpress and receives also an e-mail with the request to set a new password. While this, in theory, can be seen as kind of a confirmation of the e-mail address, there is nothing on record within the CiviCRM system. I am now a bit confused, how not even addition to a group will trigger the confirmation precedure. I will have to dig deeper into this during the next weeks.

Just to sum up, what I originally tried to achieve:

new member registers online and will pay later
he provides his e-mail address during the registration
he receives an e-mail with a confirmation link to confirm his e-mail address (this is logged for GDPR purposes within the system)
once this is done, an e-mail with an invoice is sent to him
upon receipt of payment, membership status goes from pending to new as usual


Event registration form - How to make one field appear only if another checkbox field was ticked?

If you are using the regular CiviCRM event forms (utilizing profiles) this is only possible with customisations (probably using javascript). In case you are using Drupal you could set up the integration between CiviCRM and teh webform module which allows you to define such conditions (among many other settings such as paged forms, draft saving, advanced styling...).


Why am I getting no data when using PHP API on wordpress page?

Just messed up with my code:

[insert_php]
// Perform bootstrap
civicrm_initialize();

$result = civicrm_api3('Event', 'get', array(
  'sequential' => 1,
  'return' => "title,summary,custom_31"
));

print_r($result);
[/insert_php]


You probably have to ask your hosting provider to do this.

CiviCRM doesn't have an interface to provide DKIM keys; OpenDKIM runs as a separate process alongside the MTA on your hosting environment.

Your key will most likely end up in /etc/opendkim, but that really depends on your hosting environment. DigitalOcean have a pretty straightforward DKIM HOWTO for Debian, if you have control of your server.


Yes, you can, though it's not well-documented!

I recalled that there was some sort of "sort" option, which I confirmed by checked the Using the API documentation.  However, the documentation is incomplete (I'll fix that in a minute).

Fortunately, I found the code that handles this, and saw that you can sort by various field options.  See my screenshot below; I also confirmed that sorting by last_name desc also works.  You should be able to sort by any field.


Add New Organization Option to Public Autocomplete Extension

The issue could be that you have to set the "access AJAX API" permission for the relevant roles


This is a bit tricky to answer, because there are three different token processors in CiviCRM.  The Smarty processor, the legacy token processor, and the new Civi\TokenProcessor processor.

Legacy Processor (aka CRM_Utils_Token)

For most messages - quick emails, PDFs, etc. - you're using the legacy token processor.  You can find most of these tokens in CRM_Core_SelectValues.  Note that contacts will provide all exportable fields as tokens, minus the ones explicitly excluded in that file.

You can also add tokens via extensions, so this isn't a complete list.  Note that with the legacy token processor, you can only add new contact tokens.

TokenProcessor

Currently, TokenProcessor is only available with Scheduled Reminders and Flexmailer.  Work is currently underway to bring TokenProcessor support to the rest of CiviCRM, which will allow you to use more fields, and define custom tokens that are based on contributions/activities/etc.  In the next month or so, I'd expect to see support for TokenProcessor for emails sent with Email API (i.e. CiviRules), along with PDFs/emails generated from activities, with contribution PDFs/emails not far behind.

Smarty

Smarty tokens are available only in System Workflow messages, and the tokens vary on a per-template basis.  You can also enable Smarty token processing if you're not using Flexmailer and/or Mosaico by adding define( 'CIVICRM_MAIL_SMARTY', 1 ); to your civicrm.settings.php.


How to save email adresses having weird, rare format?

Looks like the email validation inside CiviCRM does not like that pattern. If it is a valid email address that validation would have to be changed. You can do that yourself with a PR (https://docs.civicrm.org/dev/en/latest/core/contributing/) or at least raise it as an issue (https://docs.civicrm.org/dev/en/latest/tools/issue-tracking/#guidelines). Thanks!


I can answer for CiviRules: at the moment there is no such combination of condition and action available in CiviRules.

But there is no stopping you to develop (or have someone develop) such a combination for you. It does not sound too complicated for someone familiar with CiviRules.

Do you have the ability to develop this yourself? The condition would be 'relationship is of the type(s)' (that one already exists) and the action 'de-activate previous relationship' would have to be developed.

There is documentation on CiviRules here: https://docs.civicrm.org/civirules/en/latest/.

Documentation on how to develop your own action is here: https://docs.civicrm.org/civirules/en/latest/create-your-own-action/


Activity changes individuals busy/available status

I think the best way to do this is with smart groups instead of custom fields.  Create a smart group of folks who have a translation activity that's unfinished; create another smart group of everyone not in the first smart group.


I needed toL

  drush cc civicrm.

clearing Civi cash via ui did not work
drush cc all did not work

many thanks to Christia: https://civicrm.stackexchange.com/a/19237


Overcome API KEY request at Relationship edit / delete for users of certain Drupal Role

you seem to me mixing two related but different concepts:

the REST API, that's an interface to connect to Civi, mostly from external servers (eg another application). In principle, the api_keys and server key shouldn't be visible to the end user but stored in a configuration setting somewhere.
the ajax API, that's how a user interact with civicrm to avoid to reload the page completely. This one doesn't need the api_key, as it relies on the user authentication to know what is allowed

In both case, it's not possible to bypass the permissions from an external call directly, it would defy the purpose of having a permission system in the first place ;)

What I would suggest you to do is to write a simple civicrm extension that offers a "member.resign" API and a new "quiter" permission (name to be improved ;) and configure the api so it's only the quiters that can resign.

your api can then call the apis to remove the relationship or whatever else you want to do, and can have the skip_permissions parameter

Then you simply have to grant that permissions to the roles you want in drupal and call your new api CRM.api3('member','resign', {...}) and voila

As an aside, I'm not a lawyer and I don't want to speculate what you do with your contacts that resign, but marking them as deceased is likely to be considered illegal in most jurisdictions ;)


Can you include CiviCRM ID in exported fields?

Hmm, I export this all the time.  Maybe it isn't named what you think it's named.  It's called "Internal Contact ID" in the pull down menu.

If you don't find this what version of Civi are you using?


Seems you need to add a profile to the contribution page with Account creation required enabled.

To do this -

Check for the profile added to your contribution page on Profiles tab from Manage Contritbuion Pages or by visiting civicrm/admin/contribute/custom?action=update&reset=1&id=<page_id>
Navigate to Administer -> Customize Data and Screens -> Profiles.
Click on Settings link for the profile added to your contribution page (Create if no profile is added).
Open Advanced Settings tab and look for the Drupal user account registration option? input field.
Enable Account creation required and navigate to the contribution page to see the populated drupal username field.


Assuming your location types and phone types etc have the same ids, you should just be able to copy over the two tables, mysqldump <dbname> civicrm_mapping civicrm_mapping_field > somefile and then import the file into the other site's mysql database. But note that will **** OVERWRITE **** any mappings that you had already set up in the new site.

As noted in the comments there's some constraints so there's some extra steps:

If using mysqldump, use --skip-add-drop-table and --no-create-info. In phpmyadmin uncheck the option to drop/create tables.
In the new system do TRUNCATE TABLE civicrm_mapping_field then TRUNCATE TABLE civicrm_mapping.
Import civicrm_mapping first, then civicrm_mapping_field.


Using CIVICRM API can I get both mobile and phone number?

you can get both Phone and Mobile in a single API call as below

    $result = civicrm_api3('Phone', 'get', [
  'sequential' => 1,
  'contact_id' => 203,
  'phone_type_id' => ['IN' => ["Phone", "Mobile"]],
]);

I have created the test example against https://dmaster.demo.civicrm.org

I guess this helps !!!

Thanks


How to recording financial classes in addition to financial types in a contribution?

You could add a custom field for the donors to effectively pick the campaigns they wish to donate to, then you could reallocate behind the scenes is one option.

Another is to use shop items, these could result in separate contributions being created in CiviCRM for each item.

Either approach would need a bit more then just config so to speak.


Is there an online store where I can buy CiviCRM stickers, t-shirts, books, etc? Should there be?

I can buy the new, second edition of Using CiviCRM by Erik Hommel, Joe Murray and Brian Shaughnessy on Amazon.com .

CiviCRM.org could set up a store on CafePress.com to sell t-shirts, stickers and other stuff. I would buy some stuff that way.


Custom Search Unknown column 'contact_a.id' in 'field list'

Does your class extend a base class? A parent method in there might be expecting you to alias your main contact table "AS contact_a".

You can either

do what the base class is expecting, in exchange for it doing some of the work for you,
override the methods as needed,
not extend the base class and implement the required interface methods yourself.


17 seconds from pressing "Submit" to the thank-you page is still obscenely high.  My only client who comes close to this has maybe 80 extensions installed.  My guess is you have something going on already that's exacerbated by Stripe.
While it's not the easiest solution, doing an xdebug profiling session would be really helpful here.  E.g. I once found a bug in the token processor that made contact creation take a long time - and when I added an extension with custom tokens, the problem got even worse.  Something comparable may be happening here.


How to check contact read email or not when send email to Individual?

You might need to try installing the Transactional Emails extension which aims to address the limitation of CiviCRM which only handles the tracking of emails sent through civimail.

This extension tracks bounce, click, open events for single emails sent from civicrm, either with Send Email action, scheduled reminders, contribution receipts, etc.

The description on the extension link explains in detail on how to install and check the report of these events.


Still getting "ERROR: You need to send a valid key to execute this file" when running cronjob

Check that the user in your cron-script has superuser access in Joomla.


On behalf of one of our customers: is there a publishing company out there that uses CivICRM?

The New Press uses CiviCRM. There's also a magazine publisher (I forget offhand who) who uses CiviCRM and was exploring development to better handle magazine subscriptions in CiviCRM.


Has anyone gotten GiveWP to work with CiviCRM

CiviVIP doesn't make their plugins freely available, so it's very difficult to find support from folks outside of CiviVIP.  I would ask CiviVIP support, they should be able to answer this.


How can I automatically advance to the next member of a filtered group upon webform submission?

This is no quick solution (though I suspect there isn't a reliable one), but just as a note for future development--this situation of grabbing the "next call" is precisely why reserving contacts in the phonebank feature exists.  I think the real solution (that may be out of your immediate budget and timeframe Joe, but is what would actually tackle the issue) is to have a nice frontend on the phonebank.

Just as I call exposing a profile in create mode for semi-privileged users "intern mode"--for allowing someone to enter contacts without actually giving them full CiviCRM access--a phonebank listing would let someone go down the list of contacts reserved for them and potentially reserve a few more as the caller gets to the end of the list.  That would solve this problem in a non-Drupal-centric way, use the nice "reserve" feature to handle the situation in Chris's comment, and provide a complete experience for those running and staffing the phone bank.


Why can't I record backend contributions without using a priceset?

The cause of this symptom was a mis-configured, hidden price set. There is a hidden price set and field (both of id = 1, at least on this site) that are used for non-price-set contributions. On this site, the price set had no financial type configured and the price field was disabled, a fact that was alerted on the System Status page. Setting a valid financial type and enabling the price field was actually kind of tricky (a combination of hacking urls and sql), but it fixed the problem.

I don't know how we ended up with that mis-configuration, an error in the executing code would have been nice.


Google Apps bounce processing - is the wiki current?

So first, the VERP setting you see is about processing replies, it isn't the same as the VERP used for the bounces, that are always in.

For the bounces, you need to create a mailbox dedicated for that purpose, (eg. return@domain.org) that is different than your normal sending email (info@domain.org). You could in theory use info@domain.org, but that's likely to create problems for your org.

To test if it works, create a contact with an invalid email address, send a civimail mailing to a group with that address and verify that the bounce email is properly into the return@domain.org mailbox. If it is, you are almost there, as your cronjob seems to be properly setup to fetch that mailbox.

As for the label:inbox-civimail-ignored, it is simply that you have an email in your "bounce/return" mailbox that isn't a bounce. One of the many reasons to keep your info@domain (where recipients might reply to) separated from your return@domain (where only the mail servers are supposed to reply to when there is a bounce).


How to add a tag or group to a set of pre-existing contacts via import?

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


How do I sort by Case Type Title instead of id in a Drupal View?

Have you tried Civicrm Entities in Drupal?  It should allow you to expose anything as a drupal entity but I haven't verified this case.


Webform-CiviCRM with membership payment has broken on 4.7

The Webform-CiviCRM module is not yet compatible with CiviCRM 4.7. You can help! See https://www.drupal.org/node/2661232


How to split Member Contribution page transactions to multiple financial types?

The data exists in Civi, but it's a bit tricky to get at.

When making a payment for a membership with additional donation the underlying database records a single contribution, but multiple "line items".  Each line item is recorded with the correct financial type, as described in the price set.  Oh yes - if you haven't enabled a price set on the contribution page in question, that's a required first step to setting different financial types on the different line items!  Though be careful if you offer auto-renewing memberships - there's a bug that can break your auto-renew functionality if you use a price set if you don't patch it first.

Once you have the price sets, with each field using its own financial type, you're in business!  CiviAccounts will export the data appropriately if you export data to your bookkeeping program.  You can also use the Extended Reports extension to run reports on line items rather than contributions.

The one missing piece of the puzzle is to search on financial type data instead of contribution data.  This doesn't exist currently in Civi.  Someone started to write it, but doesn't have funding to finish it; if you need that functionality, please reply to this in a comment, I've been trying to round up folks to crowdsource funding for this feature.

EDIT: There's some work afoot to get line item search crowdfunded for core CiviCRM.  Contact me if you're interested at http://palantetech.coop/contact.  Meanwhile, some of you might be interested in this line item report extension.


CiviVolunteer permissions to allow registered (Drupal) users to view assignment details

Rowan...

First, I think you want to remove "Access CiviCRM" from all users, unless you want them to be able to access CiviCRM's back end. Ordinarily, you assign that to people who have access to database functions (entering and updating contacts, recording donations, etc) and not people who just need access to the contact dashboard.

I'm pretty sure that the permissions you need to assign to the Authenticated User role (or another role if that's more appropriate) are "View My Contact" and "Edit My Contact." Volunteer assignments are stored in CiviCRM as activities and the contact permission also gives you access to the activities associated with a contact.

There currently isn't a built-in UI for volunteers to update their assignments, although there has been work done for volunteers to report their hours worked. The lead developer, Frank Gomez, is out of the office this week. I'll make sure he sees this and can give you a better idea of when this will be released. On Drupal, it might be possible to create something with the Views and Webform CiviCRM modules.

Other clients have requested some type of Volunteer Dashboard functionality. Everyone's idea of what this entails is a bit different, though. I'll reach out to you separately to get some details about what you're looking for.


Batch update participants by profile - show more than 9 fields

Try increase $_maxFields in:
CRM/Event/Form/Task/Batch.php

  /**    * Maximum profile fields that will be displayed.    */
  protected $_maxFields = 9;

This would be a core hack though! To do this properly -> copy Batch.php -> into a custom_php directory.


Unable to cancel a PayPal_Standard recurring transaction

As far as i know, Paypal Standard doesn't support cancellation of recurring payment from within CiviCRM. You need to cancel it from your Paypal account.

If you want to have this ability, you need to either upgrade to Paypal Pro or find a payment processor that support it.

Although I can't find a documentation that clearly state if the payment processor support the cancellation or not, the ones that are listed as SSL (Users submit their credit card directly on your site) in https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/ should be able to do it.


How can I add my Wordpress Site's template to my contribution page?

Sorry, I don't have enough reputation to comment.

As Jon says, you need to go to CMS Database Integration

www.example.com/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/uf&reset=1

There you have the WordPress users table and the WordPress base page, I would suggest to create an empty page named CiviCRM - slug 'civicrm' and use that page as your base page in the menu mentioned above.

This should be the default behaviour when you install Civi, as Civi automatically creates this page and sets it as the default base page, more info about this here.


We struggled with this initially. Things we went through:

Check the debug console in Chrome to make sure Civi isn't having trouble finding resources - look for 404s in the Source tab. This can slow down Civi tremendously as it waits for them to time out. Can be fixed in the Admin -> Resource URLs / Directories / Update Paths
If you're running PHP 5.3, get APC cache. If you're on 5.5, turn on PHP Opcache (probably with this). With 5.4 you can install ZendOpcache, but if you can upgrade to 5.5 you probably should. This can make a huge difference.
Disable all Civi extensions and see if speed is better. Then turn them on one by one to see if any in particular are being problematic.
Ditto WordPress plugins. These can be deadly - we have a couple that are very heavy-duty (Admin Menu Editor Pro is great, for example, but can slow things down). I take the hit on them, but it's a close-run thing.
Try disabling the cron job and restarting apache (or whatever), just to make sure that's not doing stuff that's slowing everything down.
If you want to get really fancy, there's a WordPress plugin you can hijack to kill all WP plugins loading on certain Civi pages - instructions here.
Also on the server, install memcache and turn on memcache support in the civi settings file. Honestly, this might just be placebo, but it seems a bit faster
Might be worth optimizing the database tables in phpmyadmin, just in case those have gone wrong somehow.
Civi 4.5+ is pretty snappy, so do update if you're still on 4.4.x. [Edit: some big sites have found upgrades to 4.6, then 4.7, then 5.0 continue to improve performance.]
Turn off as many search options as possible in Admin -> Customize Data and Screens -> Search Preferences to see if any of those help (they never did for me, tbh, but others report good results).
Turn off Smart Group caching on the above page by setting it to 0, in case it's running that every 5mins and dragging everything to a halt.
If the issue is that your server is struggling, WP-Super-Cache does a good job of caching WordPress front-end pages so the server can focus on important stuff, and is very configurable.
Make sure mysql caching is turned on.
Check the mysql slow queries log to see if it's struggling to extract data. Normally this isn't a problem, but worth checking.
If all else fails, you might just need hardware resources (memory and CPU), or a VPS, or a dedicated server. We moved onto the latter and it made a big difference.


How to automatically remove a contact from specific group, if end date is added to specific relationship

You can use civicrm "Smart Group" option for that purpose. Like this:

Go to Contact Advanced search, set the relationship type you want as a filter and other filters if you want, like contact type, etc.

After search is complete, select the All X records radio option in "Select Records" field. Then you in Actions dropdown menu Create Smart Group. Smartgroup automatically updates its contacts list based on the criteria you had set.

Hope this helps.


Local (flywheel) wordpress install with CiviCRM

I've posted a possible solution to the language part of the problem at https://lab.civicrm.org/dev/translation/issues/40#note_33313. It works for me on drupal 7 and should work for wordpress too I think. Add this to install/index.php around line 141:

if (!defined('CIVICRM_L10N_BASEDIR') && file_exists($crmPath . DIRECTORY_SEPARATOR . 'l10n')) {
  define('CIVICRM_L10N_BASEDIR', $crmPath . DIRECTORY_SEPARATOR . 'l10n');
}

The other part of the problem is already fixed in the latest 5.23.


Add legal_identifier field to contact page and form?

Why not simply a civicrm custom field, that you could use in a Profile or a Webform (if you are based upon Drupal) ?


How to add a profile with a fieldset that accepts one or more entries for event registrations

One approach would be to use Activities. Set up a custom Activity with the required fields for Program, Year etc
Another approach might be Multiple Record custom field


Drupal Core Search to show results from CiviCRM Events data along with drupal content results

Good Question! I have three different ideas for answers to this questions, but I'll lump them all here.

First off, we've used Search API module with CiviCRM Entity with success a number of times. If you have an option to use Search API, because it is easier to setup search indexes without code. You might check out that module to create a more powerful site search.

2nd option, register your own search index. It will be a coded solution, there is no module I am aware of to do what is necessary.This could get to be a complex answer, so first I'll say you will have to making a custom module, if you aren't comfortable with that, then likely best course is to use Search API..

You must have the code from the "CMS Database Integration" CiviCRM page added to your settings.php , civicrm/admin/setting/uf?reset=1

See the Drupal API documentation for hook_search_info()

You'll need to implement that hook to register a search page for the CiviCRM Event entity type...see in the description of the hook_search_info() documentation, at a minimum hook_search_execute() and hook_update_index() . They given a pretty good example of how nodes are integrated into Drupal Core search, and the same methodology can be applied for CiviCRM Events or other entity types. The CiviCRM Entity module would be a requirement to use the same methodology.

3rd option. If you have event related content types, you could add a entity reference field that reference the CiviCRM Events. In that case you might only need some little bit of code, that could modify the search for those event related nodes, to index the referenced event data along with the node that references the event. See hook_node_update_index() . In the example provided, they are adding some information about a node's comments to the node's indexed text...a similar procedure could be used to add data from the referenced event. CiviCRM Entity would again be required, as this is how you can reference CiviCRM events from node types..

Let's start there and see where it goes. Sounds like a fun project!


CiviCRM is indeed a good CRM for most charities in my experience :-)

There is actually no such thing as your CRM package. CiviCRM is community based and open source, and getting started works in a different way.
There is no sales organization in CiviCRM itself, the software is community developed and based. Most people answering posts here are CiviCRM users and/or experts answering questions as community members in their own time, like me.

As there is no license cost involved, there is also nothing (and everything) on offer.

Your best first step to get your questions answered would be to contact a CiviCRM partner that is close to you. You can find a list here. One of the partners will be able to help you with some of your questions.

A brief outline of what is on offer can be found in the User Guide. That might help you to get an idea. I would strongly recommend you to outline what you would want to achieve though, rather than focus on what is on offer.

As far as the costs go, please check this similar post.

Good luck setting the first steps!


I think that error message is coming from your civicrm install attempting to check for extension updates. It does this as part of its routine status checks.

There is a fixme in the code to handle failures like this more gracefully - it really should be logging the error and not bugging you about it.


Must my command-line tool be an extension?

If the tool is command-line only, it probably shouldn't be an extension.

If you need to bootstrap CiviCRM from the command line, and you can presume that the cv tool is in the path, and your tool is PHP-based, you can add the line:

eval(`cv php:boot`);

or just:

cv php:boot --level=classloader

This should give you the ability to call CiviCRM classes without creating an extension.


I want to hire a CiviCRM (Joomla) expert to fix a problem

The best source for finding partners is https://civicrm.org/partners-contributors

There you can search on country and the services they provide.


Is it possible to define an activity status to be the equivalent of completed?

The status of an Activity is where it stands on its path from creation to completion (started, in process, awaiting xyz, etc, etc, completed).

In this flow, 'accepted' and 'denied' aren't statuses, because they don't tell us what the next action is (or if there will be another action). We should think of these as outcomes. Assuming the activity is a proposal or similar, what about creating a custom field called Result or Outcome, with 'accepted' or 'denied' as the available options?


Can't use function return value in write context in ... civicrm.php on line 342 (5.8.1, WordPress)

It sounds like you may be using an unsupported PHP version.  CiviCRM 5.8.1 requires PHP 5.6 or higher.

If this solves your problem, please mark it solved; if not, please edit your question to indicate your PHP version?


Mailing not saved, must cleanup caches to be able to save again

Because mosaico uses the new-ish afform form tools (i.e. an integration of AngularJS), it means that a lot of the communication from the form to the server is happening via ajax. When that back-channel communication fails, that's when you get that message.
Possible reasons for the failure include:

The same form open in a different window (leading to invalid state data being sent to the server).
A network problem between your window and the server.
A server error due to a bug.
A server non-response due to a delay.

Your solution will depend on diagnosing which of these is going on, using:

Your browser developer tools network tab and console.
Your civicrm, CMS and server logs.

A lot of the time, you may get that message without it meaning anything terrible and it can be ignored, but usually you want to try an explicit save at that point and then check the civicrm server logs for errors.
For example, I have a client out in the country using a satellite-based ISP, and she regularly has this issue - not much to do except wait for the cloud to stop blocking the satellite ...


This is more of a web server configuration question than CiviCRM-specific.  Having a subdomain (that is, civi.mysite.org, not mysite.org/civi) doesn't even require the sites be on the same server, let alone in a directory of another.
I recommend a complete separation of their folders (assuming non-crappy hosting that doesn't make this difficult/impossible).  When placing a CMS inside another CMS's folder, you can end up in scenarios where files that shouldn't be web-readable become web-readable.


File type custom field to only allow images

You can use validateForm in an extension to restrict it.
You can also vote for this ticket: https://lab.civicrm.org/dev/core/-/issues/2410


It could be related to this bug, fixed in 4.7.14:

https://issues.civicrm.org/jira/browse/CRM-17879

Could you re-test in the latest version to see if it has been resolved?


Does CiviCRM fulfil our charity's requirements?

Yes. Specifically:

CiviCRM is a web-app and therefore works equally well on OS X and Windows.
CiviCRM has a case-management feature which incidentally was originally designed for homelessness services.
There is a grant tracking feature but this is intended for organizations giving grants not receiving them. However CiviCase may be adequate for your grant tracking needs.
Information like "reason for homelessness" can be stored in custom fields - you can create as many of these as you need.
You can import records to CiviCRM from spreadsheets (specifically from the .csv format, which Excel can save as)


Initialization Error when going to Civi CRM dashboard and adding pages/posts

It looks like CiviCRM is unable to access the CiviCRM database.  This is often separate from the content management system database (i.e. the database for WordPress, Drupal or Joomla).  This means that you may be able to access and log in to your website, but not access CiviCRM.

I'm not sure why this has happened in your case but I would suggest that you check your hosting package and see if there have been any changes to the databases or database users.  You should also check that the database settings in your CiviCRM settings file are correct.


CiviCRM access for Wordpress custom group users

Obviously, the CiviSEPA extension messes with the menu for users without administrative permissions. Disabling this extension in the ACL for the non-admin groups solves the problem


The view past events button has disappeared from manage events. How do I view/copy from past events?

You can find the past events by doing a search based on dates


How do I add a column to a Contribution Summary report which will show the date and amount of the most recent payment/donation?

I recommend the summary fields extension:
https://civicrm.org/extensions/summary-fields
It'll keep a calculated copy of the last contribution amount (and many other useful fields) as custom fields of the contact, making reporting like this much easier.
Because contributions are stored in a separate table, generating fields like 'last contribution' tends to be complicated and mixing it with other values isn't going to be well supported in most reports, but pulling in custom contact field values is almost always supported.


Database update failing for CiviCRM upgrade in Joomla 2.5

Just found the issue. In the /CRM/Upgrade/Form.php file, I found this:

static $_numberMap = array(
    0 => 'Zero',
    1 => 'One',
    2 => 'Two',
    3 => 'Three',
    4 => 'Four',
    5 => 'Five',
    6 => 'Fix',
    7 => 'Seven',
    8 => 'Eight',
    9 => 'Nine',
  );

You can see 'Fix' where it should be 'Six'. I corrected that then was able to move forward.

ALSO, I found that I had to install version 4.2.0 before I could install 4.2.19 successfully. I also upgraded to 4.1.6 prior to 4.2.0. Not sure if that was required, but I was seeing what worked.

Hopefully this will help the next poor soul that gets stuck upgrading a 6 year old CiviCRM build in Joomla!


Southern California Civi CRM Expert Wanted

Thanks for your interest in CiviCRM.  This question is likely to be closed as it doesn't really fit into the StackExchange format.

Instead, I would suggest that you look at the list of partners and contributors on the CiviCRM website and contact them directly:

Find an expert


Not that I know of, but FYI that dropdown is searchable, so you don't have to scroll if you don't want to.


Yes you can paste HTML in but guessing you tried that before asking so perhaps there is something else happening on your site. Here is a link to a field on demo where i just used  to prove case.


CiviMember permission issue on net new Wordpress install

It seems I had to add a Price set in Memberships before I could go further.  Doh!  Please excuse my ignorance and ignore the question.


I'm the author of this check.

My guess is that you're forwarding port 80 on the virtual machine to port 10080 on the host machine.  However, the check, since it runs over HTTP internally on the virtual machine, is checking port 80.

That SHOULD work properly to detect whether your paths are correct, but I haven't tested this scenario.  If you know for a fact that your resource URLs are correct, there's no harm in selecting "Never remind me about this again" and ignoring the message.


Joomla account creation fields not appearing on profile forms

Community builder has a plugin called Community Builder System plugin that can be set to redirect or rewrite Joomla user component URLs. Perhaps this interferes and as a result keeps the field set of user registration URLs inaccessible and so out of view in the profile form.

I thank you for your check-list of steps to get the account creation fields to show themselves. It rescued me when I did not know how and why they kept not appearing in a new profile I was trying to get working.
So: well formulated question that answered me in my quest.


Some successful Paypal transactions are showing "Pending (incomplete transaction)"

We had trouble with this, it could be related to your IPN listener in paypal, (Log on to paypal, go to profile, my selling prefs, Instant payment notifications to check out what's going on - if it looks fine, send paypal a message)

Or you should certainly double check that you've got the correct paypal account details saved within the Payment Processor in Civi.

We had loads of trouble figuring out why our payments were not completing, and in the end it boiled down to which paypal email address was being referenced in the payment processor - the default email on paypal had been changed.


How to access the 4.7 Administrator Status Page?

You posted this question almost exactly at the same time that a PR to merge in this feature was posted - see the last comment on the CRM-13823 issue.

I was part of the team that worked on this during the Colorado sprint.  The entity and APIs have been in place for months, and the 4.7 code all uses the new entity - but the status page, for the sake of easier development, was done in an extension, which the PR merges into core.


How to use waitlists with price sets that have registration limits?

The only way I see to accomplish this without writing custom code is to create 3 Civi events. You'd then:

Create a page on your website describing the event, with 3 different registration links.
Give your 3 events the same date, event type, etc, but different limits and pricing structures.
All three can be set to roll over to waitlist after the limit is reached.
Give your events clear names like "Our Gathering (Group A)", "Our Gathering (Group B)" etc.
Set up an event participant report that lists the participants from all 3.


How to make webform forget a selected event?

Be very careful when sending people to a webform that has multiple events on them. If they return to that webform (or another webform that pulls in the same Events) at a later time and select another event -> what they are technically doing is canceling their participant registration for the event they un-select and registering themselves for the newly select event.

The setting to not unregister participants from Events will just affect the processing of the form; On load of the webform it does makes sense to me that it shows the Event one is current registered for.


Replace flash-based charts with something that doesn't use flash

As Lobo would say, "patch welcome."
I think everyone agrees the open flash chart library needs to be replaced, but that's about as far as it's gone to-date.


Email processor silently truncating anything after an emoji in inbound emails

For those looking for a workaround for this issue, we created a tiny extension called Multibite which replaces unsupported multi-byte characters with the Unicode replacement character (or any other character, depending on configuration). We did not want to pollute core with this code as the goal should be to support utf8mb4, after which the extension becomes obsolete.

I should note that we aren't running this in production yet, so it hasn't seen much real-world testing.


I took a look into this today because I thought this would be an easy fix.  It's not really.

What IS easy is to get the Receive Date to respect the Date Format settings like you describe.  If you know how to patch CiviCRM, you can find the patch I just wrote here.

However, this raises a bigger issue - there's only one Date Format for "Complete Date and Time", and most folks use that for letters to donors.  So it defaults to something like "October 3rd, 2019 11:15am".  My patch changes the report to output in this format.

However, I doubt that's what most people want from this report!  Most folks want to be able to sort by date, and changing this report would be counterproductive to them.

That leaves us with two other options:

Instead of using Contribution Details report, instead do an export of Contributions.  If you don't like the format, the Format Date Column in Extension will solve this for you.
Fix this in Excel with a formula.  See my screenshot below for an example.  My "Date Received" is column E, so I created a new column with the formula =LEFT(E2,10) in cell H2 and then pasted it down.

In the longer term, it might make sense for CiviCRM to differentiate between multiple date/time formats - one for public display, one for sorting purposes.


Enable recpatcha on all CiviCRM Contribution pages which does not include profiles

You can add a profile that only captures email address.  Since that's already captured on a contribution page, it doesn't change what appears, but it lets you add a CAPTCHA.


Error using Drush and Civi API when adding data to a custom field with multi-select data

I'm pretty sure you're running into the same problem I've documented on Gitlab as issue #298 - basically, API Explorer doesn't return correct code when you need to pass in an array.


CiviCRM doesn't allow you to add contact fields or custom fields of different contact type or contact sub type. The processing of mix profile is still not handled in CiviCRM.

You can create custom field for individual and then use hook to create organization contact and relationships.


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

HTH

Pradeep


Nationalities extension with dual citizenship

Is "Nationality" a group of custom fields? If so, consider making the group multi-valued.


Can I use multiple values in an api Get call?

Yes, I just used the new API explorer in 4.6 and got a sample PHP call:

$result = civicrm_api3('Contribution', 'get', array(
  'sequential' => 1,
  'contact_id' => array('IN' => array(58, 25)),
));


I had a similar issue and posted here: https://github.com/veda-consulting/uk.co.vedaconsulting.gdpr/issues/50

I have not had a chance to see why the tokens were not working for me, but I can add them manually:

https://example.org/wp-civicrm-basepage/?page=CiviCRM&q=civicrm/gdpr/comms-prefs/update&reset=1&{contact.checksum}&cid={contact.contact_id}

Replace example.org with your domain and wp-civicrm-basepage with your slug for the basepage you are using.

Update:   Version 2.2 of the extension has fixed the issue with tokens


I take it you have already read that CiviCRM is designed to work with only the following 4 CMS: Drupal, WordPress, Joomla and Backdrop.
Therefore I assume you are asking a question more along the lines of 'how can I embed a form for event registrations on a standalone CMS?'
There are tools (RemoteForm, CMRF) that allow for this but they still all require CiviCRM to be set up with D, WP, J or B but will then capture the data from a from on an external website. Suggest you read
How can I connect my website to CiviCRM on a remote server?
https://civicrm.org/blog/jamie/display-civicrm-forms-on-any-web-site-anywhere


How does one call civicrm_api3_system_check API

Your example of calling System.check with an empty $params array should work. For example, this is what I get if I call the API from the command line:

$ cv php:eval 'return civicrm_api3("System","check", array());'
{
    "is_error": 0,
    "version": 3,
    "count": 6,
    "values": {
        "1": {
            "name": "checkExtensionUpgrades",
            "message": "Extension upgrades are pending.  Please visit the upgrade page to run them.",
            "title": "Run Extension Upgrades",
            "severity": "error",
            "severity_id": 4,
            "is_visible": 1,
            "icon": "fa-plug",
            "id": 1
        },
        ...

(For other media, you can use the API Explorer to get code snippets.)

There are a lot of checks, and it's possible that they're slow on some systems. Alternatively, maybe one of the checks has a bug, relies on an incorrect assumption about the environment or data, or has an interaction with third-party code?


How to update ContentType Label through API chaining?

OK, I got it! I had to think backwards:

$result = civicrm_api3('ContactType', 'get', array(
  'sequential' => 1,
  'name' => "Organization",
  'api.ContactType.create' => array('label' => "Entity", 'id' => "\$value.id"),
));


Drupal Webform - CiviCRM - PayPal Website Payment Standard - Email Required Issue

I figured it out. I had two email fields and the first email listed is the assumed billing address


Undefined index: value in _webform_conditional_get_all_components()

It sounds like perhaps you have webform_conditional module installed even though conditionals are part of webform module?
☝This is the answer. If webform_conditional module is uninstalled properly it simply is impossible for that module to still be throwing error messages.


How do I change what appears in the "quick actions" menu on the contact record summary page?

Just noting here that if you have access to your database and set the civicrm_option_value.filter_value = 1 for the activity type it doesn't show.

That wont be the same for all the actions, but at least for the activity types.

Would probably be nice to expose this field in the UI sometime.


How do I add Javascript to pages using Core functions?

The syntax you gave is correct. I suggest you:

Ensure your code is actually running (add a debug statement or exit(); in your code).
Clear your caches. If your page is being cached by the cms then that might be why you're not seeing it.


CiviCRM 4.6 officially supports direct upgrades from versions as far back as 4.0.8, so you fall within that window.

If you've already done a trial run on your test site and everything checks out, I'd say you're good to go. Back up your live site just prior to running the upgrade.

If the core upgrade works fine, then the biggest concern about things that could go wrong is with integrations - if your site has any custom code, modules or extensions related to Civi, be sure to review them to ensure they still work with the latest version. I would do thorough testing on your test site first.


Fuzion tokens for membership start and end date

The issue is that a contact can have multiple memberships, so you can't use membership tokens unless you display your search results as memberships.

In Advanced Search, do your search again, but change Display Results As from Contacts to Memberships.  If your contacts only have one membership each, this is all you need to do; if they can have multiple memberships, you probably need to filter by date, membership type, or status to get the correct ones.

From the search action selector, you'll now have the option Print/merge document for membership.  When you select that, the list of tokens will include membership start and end dates.

UPDATE: I've posted a video here demonstrating what I believe is the answer to the question: https://www.youtube.com/watch?v=5D2aLoW9ovU&feature=youtu.be


Keep getting HTTP ERROR 500 since upgraded to 4.6.16

@Tapash - I tried to reproduce one of the specific issues that you reported post upgrade to 4.6.16 : Fatal Error when renewing membership after Upgrading to 4.6.16

But I can not - it's all working fine on our 4.6.16s - I also don't have any reports of any of our projects experiencing issues on 4.6.16 I'm wondering if perhaps something went wrong during your recent upgrade?

General recipe for this is to restore both code base (files) & databases back to 4.6.14 and then to run the upgrade script [to 4.6.16] again. If you can: run it via drush - it may give you some warnings/errors that give you some insight as to what's going on.

  sudo -u apache drush civicrm-upgrade-db


Field names not showing up on profile screen Wordpress CMS

This looks like a CSS issue.

I would suggest to create a new css file in you custom directory like /wp-content/plugins/files/civicrm/my_css/my_stylesheet.css Navigate to Administer->System Settings->Resource URLs and set your Custom css URL to the css file http://yoursite.com/wp-content/plugins/files/civicrm/my_css/my_stylesheet.css
more info on how to set a custom CSS path here.

In your CSS file put this:

.label {
   color: #000 !important;
}

The field names/labels are there but they have a white color.

I guess that if put the same style in your Wordpress theme stylesheet section it will override Civi's stylesheet, but the above would be the correct and recommended way to do it.


How can I customize the default gear icon on a custom tab set?

For folks looking for a no-coding solution to this, you can use the Contact Layout Editor extension to change icons.  After installing the extension, go to Administer menu » Customize Data and Screens » Contact Summary Layouts.  You can click on the icon on a tab (see screenshot below) and it will bring up a menu of FontAwesome icons to choose from.


How to increase the size of a Note field type?

you can update the field type from text to longtext
ALTER TABLE `civicrm_value_table_name` MODIFY `field_name` LONGTEXT DEFAULT NULL;


Using Export Contacts from Search Builder w/ Field Mapping, mapped field's columns not exported

There is a JIRA issue for this 'oversight' and has been assigned to one of the Fuzion team to work on as part of a community 'pay-back/investment/pay-forward'.


Bulk email sent to group of contacts after new contact added to CiviCRM

Adding here as well

Maybe a scheduled reminder with the activity as the 'trigger' entity and then limit the recipients to your BB smart group would work.


How to enable authenticated user editing their own record in Drupal

Rob - that tends to work by default on the sites we set up using the 'out of the box' drupal permissions for civi relating to Profiles etc. Is it possible that you have removed some permissions that would have let users submit profiles (don't have them in front of me right now)


Why can't I get tokens inserted in to HMTL or Text fields of System Template Messages

This was a regression introduced in 4.7. It gets fixed by applying https://github.com/civicrm/civicrm-core/pull/10149 change.

JIRA filed here - https://issues.civicrm.org/jira/browse/CRM-20418


Is there a way to create a Membership Status for memberships that have recently been renewed?

Well, it's not really possible to have a status for the Renew state because the Start event used for status rules is based on one of the following date :

start date : this date is updated only when there is a gap between the last end date and the new renewal date... if there is no gap, which is the most frequent case, there will be no update
end date : updated any time the membership is successfully renewed / mainly used for "grace" / "expired" status
member since : this date is not updated by the system at all so it is used for new membership

So, without development, the only way i can think of having this kind of status is to manually update the start date every time you renew (which probably defeat the purpose).

Then, you can define :

Start Event to start date
Start Event Adjustment to be 0 (start at the renewal date)
End Event to be start date again
End Event Adjustment to be 1 month or the period you'd like it to lasts
Current Membership should be checked because obviously, membership with those status are valid

Please put the new Renew rule above the Current status by changing the Order because CiviCRM test the rules one by one and stop at the first matching item.


seeking information on CiviCRM 4.1 version of "CRM/Core/BAO/PaymentProcessor.php" file

This was removed before CiviCRM moved to git, so I browsed the old Subversion repo.  I can see that revision 44887 removed it.  It's present if you click the first link but not the second:
http://svn.civicrm.org/civicrm/!svn/bc/44886/trunk/CRM/Core/BAO/
http://svn.civicrm.org/civicrm/!svn/bc/44887/trunk/CRM/Core/BAO/

I then attempted to view the SVN log, and then to check out the SVN repo:
svn log -v http://svn.civicrm.org/civicrm
svn checkout http://svn.civicrm.org/civicrm/trunk civicrm

Both failed with a 503 error, I suspect this is to blame:
https://community.bitnami.com/t/varnish-throwing-503-on-svn-requests/25828

So I Googled "civicrm r44887" and found an IRC log:

[08:54] <civi-bot> r44887 by yashodha: CRM-11334 -- https://fisheye2.atlassian.com/changelog/CiviCRM?cs=44887

So there are your answers!  Check that atlassian.com link and CRM-11334, you'll find what you're looking for.


How can I add (e.g. "add to group") to membership search results or other Action lists?

So there is this perverse magic - wash your car and it rains, get in the shower and the phone rings. Post a question on Stack Exchange and find your answer eight minutes later.
If you go to Reports | Membership Reports | Membership Details, the default action is "Add to a Group".
Now if I only had a group for Impatient Idiots, I could add myself.


When editing participants, can I avoid having all questions from all current events displayed?

You should be able to limit the custom participant data to a specific event or event type and then it shouldn't show up in the back end for events you didn't mean it to.

This is done on the custom data itself (under "used for") rather than in the profile. Also to note, you usually only want to 'require' data inside the profile not inside the custom data set.


Confusion between Contribution ID vs Invoice_ID in the database

It looks like in CiviCRM 4.6, the invoice_id hash gets replaced by the INV_xxxxx number the moment there's an "action" taken - the invoice is downloaded or edited, for example.

Not sure why.


This is exactly like the problem I am having.  I worked with Siteground support and they couldn't figure it out.  They suggested to throttle the outbound to a very small number, which would work for small batches, but ultimately would fail.  At the suggested throttle it would take 8 hours to send out an email to my 500 members.


How can I hide non-mailing list groups in receipts?

In CiviCRM 4.6+, this only happens if the user receiving the receipt has a user account, and that account has the "View All Contacts" permission.  See CRM-16433 for details.


Mosaico 2.0, Drupal 7.64 - "Sorry an error occurred and your information was not saved"

Have you tried asking your web host to see if you're throwing out a server based error, like a ModSecurity issue? I regularly run into those with CiviCRM when I'm doing emails and have to get the server techs to whitelist a process for me so that it doesn't give me an error. Other than a piece of bad formed code (like when someone has copied something from Word or whatever), it's always been this kind of issue for me.


Control Access to CiviCRM functions/actions available to Contacts

The way we approach self-management is

use CiviCRM Permissioned Relationships extension
in Views set up a display using the above relationships as View Relationships so you get a list of 'my' contacts
set a Filter on Drupal user to 'is current user'
provide the user with a block which will show them 'their children' and which provides links to a webform which will populate the URL with the ID of the child and hence allow them to edit 'their' child


CiviDiscount: How do I disable the automatic member discount for additional participants?

I don't think CiviDiscount does what you want.  If you are on Drupal you could use a webform.


We don't use the listed content managers. Can I still use CiviCRM for contacts?

What you can do is set up a new subdomain https://secure.yourdomainname.org -
Then run a very minimal Drupal (or Wordpress) + CiviCRM on that secure.yourdomainname.org - this will provide you with all the benefits CiviCRM can offer and help you to consolidate things for your organization - without the need for your staff to learn how to use Drupal for content editing etc.

If in future you want more integration between your website and CiviCRM (esp in Drupal there are lots of integration options [e.g. views and my personal favourite: webform_civcrm module] that extend what CiviCRM can do for you) - then you can consider moving your SilverStripe website to Drupal!


Mail not sent from CiviCRM via SMTP or mail()

I think I found the issue. If your CiviCRM is installed via buildkit there is a file ~/buildkit/app/civicrm.settings.d/100-mail.php which sets the CIVICRM_MAIL_LOG to /dev/null. This doesn't allow Civi to communicate to MTA (Mail Transfer Agent).

The first solution is to comment out

//if (!defined('CIVICRM_MAIL_LOG')) {
//  define('CIVICRM_MAIL_LOG', '/dev/null');
//}

Further, because this is a dev/testing environment, you may want to log your emails while you send them. In your civicrm.settings.php add the following lines.

if (!defined('CIVICRM_MAIL_LOG')) {
define( 'CIVICRM_MAIL_LOG', 'log_path/mail.log');
}
define('CIVICRM_MAIL_LOG_AND SEND', true);

CIVICRM_MAIL_LOG_AND SEND allows CiviCRM to log as well as send the emails.


CiviMail - Prevent images from being blocked by Outlook

Outlook (and most of the mail clients), block loading external images, because otherwise, the server hosting them would know that you have opened the email (in fact, it's what we do to track the open rate, add a transparent 1x1 pixel image and count when it's displayed)

So to avoid being blocked, you need to send the image as part of the email, not unlike an attachment (with a defined Content-ID:somekey), and as the source of the image (src="cid:somekey") in the mail.

Both of these are not that difficult to implement at the technical level, but might be slightly more tricky in the CKEditor (eg. because it doesn't know it's used to compose an email).

Unfortunately, no one having that need have contributed the code or funded the development.

Would you be able to step up and make it happen? it would be a nice addition to civimail.


To get the Groups, you can use the GroupContact API

$result = civicrm_api3('GroupContact', 'get', array(
  'sequential' => 1,
  'contact_id' => <contact_id>,
));

To get all the smart groups to which the contact belongs, you can use this BAO function defined in GroupContactCache.php

$smartGroup = CRM_Contact_BAO_GroupContactCache::contactGroup($contactId);

returned $smartGroup will be the list of smart_groups for the contactId passed


Why are all my iATS recurring payments for EFT/ACH marked as "pending incomplete transaction"?

Pending / Incomplete is expected for ACHEFT - it can stay in that status for days depending on when iATS connects with the bank/credit union the debit account is with.

On iATSPayments.com -> look under Journal -> ACHEFT transactions -> ACHEFT details

Next make sure your recurring jobs are running. Esp the ACHEFT verify one -> that's the one that will check w/ iATS if any of the pending / incomplete ACHEFT can be updated to completed in CiviCRM.


Deprecated function in CiviEvent error logging (Drupal 7)

That message shouldn't affect your usage of CiviCRM.

A deprecated function is typically one that works, but is no longer recommended for use.  The message is only applicable to developers.

To take an example with a visible component: You may have noticed that CiviCRM has two different calendar widgets.  The older one isn't accessible to folks using screen readers (i.e. Braille or text-to-speech).  However, each date field needs to be converted separately - a lot of work!  Rather than do them all at once, we have both calendar widgets in CiviCRM, but the first is marked "deprecated" so folks are warned not to use it in new code, and to remove it from old code when they touch that section.  In time, that code will be removed - but for now, it works as it always has.

Unless you have an extension that uses this deprecated function, there's no action you need to take.  While it's unlikely you have an extension that uses this, you can double-check by searching your extensions directory for the text CRM_Event_BAO_Event::checkPermission.


Permissions control is not related to Civi groups. It is controlled by WordPress user roles as you suggest for #1 fix. You should have no trouble from a security management stand point to set it up so staff cannot assign themselves to other roles.

You might want to add this plugin for better control. https://www.role-editor.com/


Preventing duplicate entries from online profile form

You should have an unsupervised dedupe rule setup for individuals. This is used to check if a contact is already in the dB when they complete a form as an anonymous (not logged in) user. The default unsupervised rule is to match email. You can create a new one that looks at other fields. It is important that all the fields used in your unsupervised rule are in the profile used.

Also, you may want to look at the advanced settings in your profile setup. There are options there with what to do with duplicate contacts.

There is some more info about the dedupe rule types here:
https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/#understanding-dedupe-rules-supervised-unsupervised-and-general

Hope this helps.


Its not available by default by you install one of the below extension to have these feature availaible

Mailing Subscriptions Report

Group Growth

Subscription History

Thanks

Pradeep


How can I find out what the problem is with my failing CiviCRM installation in WordPress?

I think you need to add an extra step or two. See https://docs.civicrm.org/sysadmin/en/latest/misc/switch-servers/ for more details

Deactivate old version and backup a copy of the CiviCRM database from the old install

Do your install in the new location and then activate with a new (empty database)

Rename the old Civi database as temp, restore the old database, rename the restored database as the new Civi database (and set up user as it was before).

Rename temp back to old Civi Database and reactivate old install so that it continues to work.

If you have changed to a subdomain you may need to edit some other resource settings.

I think the reason you need to take this approach is because of the settings stored in the database. I did quite a lot of trial and error to work it out in my environment (some odd things happened with my hosted server and subdomains.


Custom Field for CiviCRM Membership not accessible from Drupal Rules module

There are a few things you can try here:

Go to CiviCRM's Administer menu >> System Settings >> CMS Database Integration.  Compare the array there against the one listed in settings.php.  This array (in settings.php) must be updated when you add new custom field groups to CiviCRM (since they add new tables).  This is most likely your issue.
Consider installing the civicrm_entity module, which should make your CiviCRM entities available as Drupal entities.
Consider using CiviRules, which is a CiviCRM-native rules engine.  It's very similar to Rules, but it generally understands CiviCRM better.


Does this view error mean CiviCRM has lost some MySQL DB perms?

You're on the right track--when you see a MySQL error and you can't see what's wrong with it, try it out manually.  It seemed like a permission problem on the face of it, and the error you got was a lack of permissions.
I think the wiki just threw you off with how it is written.  It does say,

  Also, to enable CiviCase you should set CREATE VIEW permission.

That's just in this aside just before the main list.

Now, if you don't use CiviCase, you still might try granting that permission and trying it out--I wouldn't put it past someone to change Civi without updating the wiki! Many of us would never notice--I typically give that permission to the DB user as part of a standard setup, and I bet many others do too.


Can I use CiviRules to send a notification to the administrator when an email gets bounced?

I don't think you can do this (at least without development). Most significantly, there isn't any trigger from within the bulk mail system in Civirules so you would not be able to catch the bounces that don't put the email on hold. I suspect that adding that functionality would be very difficult as I doubt that these email bounces go near the sort of things that Civirules for a trigger. There isn't even an option to catch the change to email on hold. The trigger "contact changed" with the condition "field value comparison" doesn't off the email on hold status as option, though I think adding this would be relatively straight forward if you want to write some code.


How can I refresh a custom data tab in the contact summary?

I think you can set something in postProcess hook to reload the tabs possibly below code but not sure, it does work for us when we update something in a form we update the contribution tab using below code

$form->ajaxResponse['updateTabs']['#tab_contribute'] = 1;

HTH

Pradeep


Civi 5.6.0 - wrong css z-index on Activities page when creating/viewing activity

Jern,

This is because of Joomla theme css might be conflicting with CiviCRM css. Try switching the theme to default one if you can replicate the same issue. I tried on my local machine on 5.6.0 and couldn't replicate the issue. Also try to perform CiviCRM cleanup cache if it helps.

Try after reverting the commit in your core file.


I doubt the page format is the issue, it's more likely an issue about custom fields. There have been recent changes (due to security issues) with how custom fields are being handled, I'd update to the latest 4.7 before pursuing further.


PCP confirmation email doen't contain user-login details. [ Drupal ]

Site had a configuration Who can register accounts? as administration only because of which I was not getting the screen where the user will be created before you fill PCP informations. After I changed the settings everything seems to be working fine.

Configuration page link: example.org/admin/config/people/accounts


It's not a setting you can set with Civi::settings. You can set it with a define() anywhere outside of civicrm.settings.php, but it would need to run that section in your file before running the code where it gets used, so somewhere pretty early in a page run. It always falls back to CIVICRM_DSN if CIVICRM_LOGGING_DSN is not set, if your setting runs too late.


Drupal not loading Civi's CSS and jQuery

Check what caching you have set up in Drupal. My suspicion is that aggressive caching somewhere is taking a snapshot of the head on a non-Civi page (since that's most of your site) and presuming that it's the universal header.

You might try disabling all caching and see whether it continues to break an hour or two after you clear your caches. Alternatively, look through any cache modules or services you've got and think whether it might cause this.


Transfer/cancel booking gives error message

This is a new addition in core via https://github.com/civicrm/civicrm-core/pull/18067. You MUST have the below setting enabled in event -> online registration tab to transfer or cancel participants belonging to that event.


It appears that there was a JS conflict with WPMU custom sidebars after an update to the Word Press plugin. The file was wpmu-ui.3.min.js under Word Press 4.7.3.