Why is this module needed?
Fair question! (It's not entirely because I'm a terrible programmer. Honest.)
How could a database get corrupted?
This can happen in a number of different ways, but the most likely causes are:
- Problems with upgrading. This can occur if the SQL updates in the upgrade script fail to run properly, either to a bug in the code or a problem with the content that was FTP'd to your server.
- If someone manually edited your database.
Why would files ever be missing?
This is actually a common source of problems. When unzipped, the default Form Tools installation (including themes + modules) is over 7MB. When you upload those files to your webserver, a separate request is created for each one. Occasionally, the FTP process gets interrupted, preventing all the files from being uploaded. This leads to problems running the script or modules.
Why would there be orphaned records left in the database and not removed?
Speaking candidly, because of bugs. When a form is deleted, all references to that form should be deleted along with it. Similarly Views, Option Lists, etc. etc. However, Form Tools is very big and complex: if there's a loophole here or there, old orphaned records may get left behind. This test helps identify those loopholes so we can fix them.