Summary
For a straight forward installation of a new typo3 instance it would make sense to move/add some basic functionalities to the typo3cms script while it is no extension at this point. Just a standalone script which provides basic functionalities. Once the core is fetched and the installation is done it shall add the _cli_lowlevel user automatically and install itself as fully functional extension.
Especially extension installation/deinstallation should be detached from any cms bindings because if you have any problem in your local cms installation it should be still possible to disable and enable extensions and clear cache and cachefolders. Also the switching back to a working preset of extensions would be a benefitical feature .
functionalities to include
static optional configuration file
read a optional static configuration file for some static settings depending on the environment [php Path,backupPath,extensionsToInstallPresets[asNamedArraysToSwitchBetween], ]
install:getCore
./typo3cms install:getCore [flavour git[with automatic checkout]/sourceforge] [symlinked/nonSymlinked]
Either an installation from git, sourceforge, (composer?) or individual resource should be possible
install:updateCore
./typo3cms install:updateCore [flavour git[with automatic checkout]/sourceforge] [symlinked/nonSymlinked] toVersion
install:getExtensions
./typo3cms install:getExtensions [flavour git/TER/Composer] [checkout/Version] [alternativePaths]
- Either an installation from git, sourceforge, (composer?) or individual resource should be possible
- Fallbackswitch for extension:install with "--g" option to this function?
extension:uninstall
./typo3cms extension:uninstall [withDeleteOption]
Should be detached from any CMS bindings as this makes an inaccessible cms still managable for inexpierienced users.
cache:wipeTempfolder
./typo3cms cache:wipeTempfolder
Should be detached from any CMS bindings as this makes an inaccessible cms still managable for inexpierienced users.
database:mysqlDump
./typo3cms database:mysqlDump
is a very common task which should be included here. Makes moving and snapshotting installations an ease.
database:mysqlDumpImport
./typo3cms database:mysqlDumpImport
is a very common task which should be included here. Makes moving and importing installations an ease.
maintenance:fullBackup
./typo3cms maintenance:fullBackup
This function shall invoke the the database:xxxDump and run a compression on all folders in docroot as default, optional only with provided array. Naming is the t3installation_timestamp.[tar.gz/zip] .Makes moving and snapshotting installations an ease.
optional frontend GUI
If this script had a GUI for initial installation it would make the whole installation even more fun for inexpierienced users. Imagine: Get this miniscript -> Open in Browser -> Enter some options -> Backendlogin or installtool for more individualized configuration. -> Done
Would make installation easy as hell