Yakforms implements automatic webforms and submissions deletion after 6 months in the PostgreSQL database if no user action is undertaken.
- each day, the Drupal automated cron checks in the DB for rows aged over 6 months, minus two weeks (24 weeks). It will place their nid in a new row of the
- Yakforms will fetch the corresponding user emails and notify them of their webform expiration, giving them the possibility to change the expiration date (always with a maximum of 6 months in the future). If the email was sent, the
notifiedcolumn in the
yakforms_expiredtable will be set to 1.
- Yakforms will also check for webforms having reached their deletion date, whose owner was notified, but did nothing. In which case, the webform will be deleted, as well as the entry in the
Customizing automatic expiration periods
Both of these periods of time can be modified, so Yakforms feet your needs :
- the expiration period : this is the amount of time between the form creation and its expiration. This is a maximum value : the user will be able to set their form expiration date before this period of time in the future if they wish to (for short-lived forms), but not after. Default is 26 weeks (6 months).
- the deletion period : this is the amount of time between the moment the form expires and when it is deleted from the website. During that period of time, the author will be able to access the form's results, but the form will be unpublished, meaning the form is not accessible publicly. If the form's author modifies the form's expiration date during that time, the form will be republished. Default is 9 weeks (2 months).
If you do not wish to implement automatic webform deletion in your Yakforms instance (meaning all webforms and submissions will live forever in your database), you can simply browse to
yoururl.ex/admin/config/system/yakforms and set the expiration period to 0. Forms won't be deleted after that.
If you want to deactivate the expiration of webforms altogether (meaning forms will stay published even after the expiration date), simply browse to
yoururl.ex/admin/config/workflow/rules/reaction/manage/rules_expiration_form1_expired and delete the "Unpublish content" action. Forms won't ever expire after that.
This is not recommanded if your instance is used intensively : your database will grow forever and a lot of this data can be useless. Allowing a form to run for 6 months and then fade away if the user did not take any action fits 95% of the cases.