1. Keep Connection Encryption as default in manual installation.
2. Choose Database Type "MySQLi"
3. PHP REQUIREMENT LINK: https://manual.joomla.org/docs/next/get-started/technical-requirements/
4. If there is a change in extension_id in `schemas` table i.e. it is not 244 anymore we need to update it in upgrade.php for auto upgrade. [NOT REQUIRED NOW because we make a select query to fetch the ID]
5. For languages download the packages here :[CHECK LATEST VERSION OF JOOMLA AND THEN DOWNLOAD THE ZIP]
https://downloads.joomla.org/language-packs/translations-joomla6
6. Simply unzip the packages in joomla30/languages/ folder the structure is as it is in their package
7. Most of the language packages are in correct structure some have wrong structure so you will need to ZIP manually. There should files directly in the below ZIPS :
8. Structure should be as follows :
admin_fr-FR.zip
api_fr-FR.zip
pkg_fr-FR.xml
site_fr-FR.zip
9. In case there are changes in the structure of `extensions` or `update_sites_extensions` table in database make changes in install.php for languages
10. Languages need to be updated for 6.0.0(Try adding new languages in next version)
					
					<option value="af-ZA">Afrikaans</option>
					<option value="bg-BG">Bulgarian</option>
					<option value="cs-CZ">Czech</option>
					<option value="cy-GB">Welsh</option>
					<option value="el-GR">Greek</option>
					<option value="es-ES">Spanish</option>
					<option value="et-EE">Estonian</option>
					<option value="fa-IR">Persian Farsi</option>
					<option value="fi-FI">Finnish</option>
					<option value="hu-HU">Hungarian</option>
					<option value="ja-JP">Japanese</option>
					<option value="ka-GE">Georgian</option>
					<option value="kk-KZ">Kazakh</option>
					<option value="ko-KR">Korean</option>
					<option value="lt-LT">Lithuanian</option>
					<option value="nb-NO">Norwegian</option>
					<option value="ro-RO">Romanian</option>
					<option value="ru-RU">Russian</option>
					<option value="sk-SK">Slovak</option>
					<option value="sl-SI">Slovenian</option>
					<option value="sr-YU">Serbian, Latin</option>
					<option value="th-TH">Thai</option>
					<option value="tr-TR">Turkish</option>
					<option value="zh-TW">Chinese, Traditional</option>											
				
11. Always check "com_languages" lft, rgt values in asset table(It should remain 43,44) and also check lft, rgt values of "com_languages.languages.2" by installing anyone language manually.(It should remain 46,47) If these values are changed in manual installation, change in our install.php too.
12. If you get error while upgrading for deleting some files, then check "administrator/components/com_admin/script.php" file for list of files, folders to be deleted and add them in upgrade.php. Check the complete list from the above file instead of just adding the files of current version. Add them in every version in upgrade.php regardless of error.
13. Auto Upgrade queries are traced from here : {{softpath}}\libraries\src\Schema\ChangeItem\MysqlChangeItem.php
14. We cannot use & in upgrade.xml in setupcontinue hence we have added it in upgrade.php, if the setuplocation changes in future do not forget to update it in upgrade.php as well
15. Since 5.1.0 "tuf_metadata" entry is hardcoded in /installation/sql/mysql/base.sql file.
16. We have manually made a minor change in /administrator/components/com_admin/sql/updates/mysql/5.1.0-2024-02-24.sql file to bypass the comment while running the sql query. It is a syntax error in joomla 5.1.0 https://issues.joomla.org/tracker/joomla-cms/43302

****** CHECK THIS WHEN ADDING SAMPLE DATA ********
1. Compare and update array from function updateUserIds($db) and function updateDates($db) of "installation/model/database.php" in install.php. THIS IS TO UPDATE USERID and DATE when installing with sample data.

******* WHILE ADDING LANGUAGES *********
1. We have disabled languages in Joomla 6 because installing languages manually adds language specific data in SQL ('finder_terms_common' table)
2. Changing the language to anyother (eg. da-DK) and setting that as a default language does not apply to the backend. (If we change from "account--> basic settings --> languages" then it will gets reflected in admin panel.