* Do not download Weekly Built.
1) Empty the cache, sessions, muc, lock, localcache and temp folders in data.zip
2) Use "defaultcity" for city while installing, country United States and Timezone America/New_york. Also in New settings - Location settings keep America/New_york
3) Download the Language packs here: https://download.moodle.org/langpack/5.1/
4) Unpack the packages in the /languages/[[language]].zip
5) Change the language [[language]] in SQL config and users table.
6) Check this function and if new file is added update it in upgrade.php:
upgrade_stale_php_files_present() in the file : [NOT REQUIRED]
/lib/upgradelib.php
7) required minimum version check for upgrade in info.xml should be changed in case of major version change
8) We do not change $CFG->directorypermissions = 0777; in the config file because it is outside the web-accessible directory and does not matter if it is 0777
9) Check if /muc/config.php file is created in data folder on non suPHP server i.e. (you can use Webuzo).
10) `allversionshash` in config table is same for every install
11) `assignfeedback_editpdf` has the value '/usr/bin/gs' on Windows as well as Linux Manual install hence we leave it as it is.
12) PHP REQUIREMENT LINK: https://moodledev.io/general/releases/5.1
13) While installing check utf8mb4 collation. To check utfmb4 support, we have referred moodle\lib\dml\mysqli_native_moodle_database.php file. (We have modified the default code to first detect from available collations and then from database since the database created will have a default collation)
14) Install manually with keeping database charset to "utf8mb4_unicode_ci" https://docs.moodle.org/501/en/Installation_quick_guide#Create_a_database
15) check this file /lib/dml/mysqli_native_moodle_database.php and mariadb_native_moodle_database.php for utf8 collation detection.
16) Increase the version number in requirement function of upgrade.php in EVERY MAJOR VERSION as some of the plugings/extensions are not compatible with the latest version.
17) Keep the collation changes in sql as it is required to detect and fill. If not done, the script throws error on higher Mysql versions.
18) [IMP] Keep the .git and .gitignore files in fileindex.php as it is required to fetch the installations which are explicitely installed using git. (Requested by Softaculous core team )
19) We have disabled the script on windows because we have created a symlink of root directory to the public directory. On windows it is not possible to create a symlink.
20) Check core.zip everytime and if there are any structural changes, check all the files are echoed in our import, and update in coreindex.php and $softins['coreindex'] array in upgrade.php file.