#6062 - Optimise the installer's installation of addons, modules, and blocks

This is a spacer post for a website comment topic. The content this topic relates to: #6062 - Optimise the installer's installation of addons, modules, and blocks
Implemented;

I ended up doing more than the original issue called for because, after optimising the addons / blocks / modules, I realised they were not installing in the order they needed to be installing.

In 11 beta5, the installer will now work as follows:

Steps 1-6 remain the same.
Step 7: Installs only the "must have" modules... admin_version, admin_permissions, and now also admin_addons.

Step 8: This is complex
- When we first start step 8, the installer will first gather all the addons we have. It will then grab their dependencies and their files and determine the order in which the addons (and their modules and blocks) should be installed. It puts core and core_* addons first as well. It will bail on error if a cyclic addon dependency occurs.
- Once we know everything that needs to be installed, and in what order, the installer will save this to a temporary bin file so we don't have to re-calculate this again. It then starts installing.
- Between each install of an addon, module, or block, the installer tracks elapsed time. Once we pass 10 seconds, it stops and assigns an offset in the URL (this is to avoid server time-outs). Step 8 will then repeat, but at the specified offset. And this process repeats until we go through the full list of addons / modules / blocks to install.

Step 9 is now formerly step 10... it is the completion screen.
Step 10 is now formerly step 11, which did some final maintenance when the user navigated to the Admin Zone or wherever.
...so we essentially also knocked one step out of the installer as well.

There are still some issues with a few modules not installing (mainly non-bundled). I'm investigating this. It's not critical because they'll get installed eventually anyway, or can be installed from the modules management screen.

Also, any modules or blocks not listed in an addon will not get installed by the installer anymore. I haven't decided if I will keep it that way or fix it. Part of me wants to keep the functionality like that; if a module or block is not listed in any addon file lists, we assume it's in "development", so extra care needs to be taken with them. Developers can still always install them manually in Admin Zone > Addons > Module management.

Fixed; preg_match did not match welcome zone modules.
0 guests and 0 members have recently viewed this.