2

On civicrm 5.20.1 under WordPress, we have added two custom fields to the Registration Info profile (gid=12). We've added that profile to the Online Registration config for one event.

Now and then, for reasons unknown, those fields will stop displaying: on the online registration form, and in the profile preview. Flushing caches (with cv flush or with the "Cleanup Caches" button at q=civicrm%2Fadmin%2Fsetting%2FupdateConfigBackend&reset=1) causes them to reappear.

Then sometime later, they disappear again, until caches are again flushed.

I've verified that neither the profile fields nor the custom fields are being disabled, nor are there any changes in user permissions, ACLs, profile config, custom field config, etc. The only corrective measure is to clear caches.

Is this a known issue in any 5.x version of civicrm? Naturally we're working toward an upgrade to the latest security release, but it would be nice to have some reason to believe that such upgrade might also address this mysterious issue; or to have any other way to address it besides periodically flushing caches.

1

3 Answers 3

2

I had this experience with a Drupal 8 site and fixed it by enabling the permission "access custom fields" for anonymous visitors.

In our case, the issue was that anonymous visitors couldn't access the custom fields, so if the cache was cleared, it would get populated via the anonymous access rules and that same cache was used for everyone.

Clearly there was also an underlying caching problem going on.

1
  • I had the same issue on a Drupal 7 site, and can confirm that enabling that permission solved the problem.
    – AlainB
    Sep 16, 2020 at 7:28
2

The only way we could solve this was turning off php opcache in fpm/apache/nginx and cli

For other sites with opcache turned off we had to enable schedule job 'Clean-up Temporary Data and Files' with parameters

dbCache=1

tplCache=1

Incase you have memcache enabled then memCache=1

4
  • Pradeep, you're saying that by merely disabling php opcache, this problem went away and never reappeared?
    – TwoMice
    Sep 11, 2020 at 20:43
  • Yes.... thats how we fixed it Sep 11, 2020 at 21:11
  • Its temporary but we need to fix the underlying issue in core Sep 11, 2020 at 21:12
  • I do not have opcache installed. But still experiencing this on php 7.3.x
    – Tapash
    Sep 12, 2020 at 6:14
1

I've also encountered this issue. In a profile, some of the custom fields are displayed, but some are not, all within the same single profile.

civi 5.33.2 Joomla: 3.9.24

Clearing civi cache files resolves the issue for a little while, and then issue returns. Digging into user permissions, we found that some Joomla user groups had permission to "CiviCRM: profile create" and others did not. We changed this so all relevant user groups (including public & registered) had this permission, and when we refreshed the page with the profile and missing fields, the fields then reappeared.

I'm still monitoring this to see if in fact our permissions change has any permanent affect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.