akeeba / fof

Rapid Application Development framework for Joomla!™ 3 and 4
0 stars 0 forks source link

Handle stuck database updates #624

Closed tampe125 closed 8 years ago

tampe125 commented 8 years ago

Sometimes database updates would cause "stuck" pages: the page keeps loading, while we wait for the query to end. This usually happens when the underlying table is corrupted, leading to a confused user. We could create a stuck flag stored in the session before running the queries and unset it when everything completes (even if there were some errors). It will be developer responsibility to check this flag and warn the user.

nikosdion commented 8 years ago

We can handle it like this, replacing our database update code with this:

Regarding the big fat error message, we could go for something like this:

We have detected that one or more tables with the #_ak prefix are broken. Akeeba Backup will not work properly. Please ask your host to repair these tables and then click here to let Akeeba Backup update its database tables.

Where #__ is to be replaced by the REAL database prefix (we need to cater for inexperienced users and hosts with no idea how Joomla! works) and "click here" will be a forceUpdateDb task in the control panel controller which resets the session variable and runs the code I outlined above.

The EXACT SAME code MUST be present in Akeeba Solo (don't make a new error message, "Akeeba Backup" is automatically replaced by "Akeeba Solo" in the translation code).

We also need to do the same in Admin Tools and Akeeba Ticket System. Please open the relevant tasks and set them all priority 1.

tampe125 commented 8 years ago

Closed since we are going to handle that in every single repository.