1

We have a profile that we invite our members to complete on a bi-annual basis. We don't want them to have to log in to our site (powered by Joomla), so instead we send them an email using the hash and contactID tokens, like this:

https://example.org/index.php?option=com_civicrm&task=civicrm/contribute/transact&reset=1&id=10&cs=cfdd8cbc30fca3d30aea66796f4a3b29_1643317391_320&cid=4579

Joomla is set to have a session of 240 minutes and the server is set to a 3 hour session lifetime.

What we have encountered is that people click on the link to update their profile, they aren't logged in to the site, and some folks take a while to complete the form (at least, more than 30 minutes -- because they have to research some answers). When they submit the form, they are told that their session expired, the form reloads empty, they lose the information they entered.

Upon submitting the form at the 21 minute mark, I get the error:

Your browser session has expired and we are unable to complete your form submission. We have returned you to the initial step so you can complete and resubmit the form. If you experience continued difficulties, please contact us for assistance.

Can anyone suggestion a solution to prevent the session timing out for non-logged in users while they are completing the profile form?

1 Answer 1

3

Add this override into your civicrm.settings.php file and change the parameter as you wish:

// Extend the session cache timeout to 240 minutes
// the default is 20 minutes, but this seems to cause quickform cache issues.
$civicrm_setting['core']['secure_cache_timeout_minutes'] = 240;

You can also install the qfsessionwarning extension to warn users that their form session is about to expire.

1
  • Perfect, thank you! That solves the problem :-) I installed the extension you suggested, but I haven't seen it appear even after the session should have timed out. But at least I can extend the session long enough that people can complete the form. Update -- I realized I didn't have the sweetalert extension installed... Going to test with that now...
    – Alex Block
    Feb 1 at 3:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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