diff --git a/Documentation/Administration/Installation/Index.rst b/Documentation/Administration/Installation/Index.rst index a944d0465b..1165675ade 100644 --- a/Documentation/Administration/Installation/Index.rst +++ b/Documentation/Administration/Installation/Index.rst @@ -58,3 +58,4 @@ Installation TuneTYPO3 DeployTYPO3 LegacyInstallation + LegacyExtensionInstallation diff --git a/Documentation/Administration/Installation/LegacyExtensionInstallation.rst b/Documentation/Administration/Installation/LegacyExtensionInstallation.rst new file mode 100644 index 0000000000..4d9872ceaf --- /dev/null +++ b/Documentation/Administration/Installation/LegacyExtensionInstallation.rst @@ -0,0 +1,145 @@ +.. include:: /Includes.rst.txt + +.. _extensions-legacy-management: + +==================================== +Installing Extensions - Legacy Guide +==================================== + +.. _extension-manager: +.. _extension-package-manager: +.. _extension-install: + +Installing an Extension using the Extension Manager +=================================================== + +In the backend: + +.. rst-class:: bignums + +1. Go to :guilabel:`Admin Tools > Extensions` +2. In the Docheader, select :guilabel:`Get Extensions` +3. Click :guilabel:`Update now` + + The button is on the top right. + +4. Enter the name of the extension in the search field +5. Click on :guilabel:`Go` +6. Click on the Action icon on the left for the extension: + + :guilabel:`Import and Install` + + Now the extension is installed, but not activated. To activate: + +7. Choose :guilabel:`Installed Extensions` in the Docheader +8. Click on the icon with a :guilabel:`+` sign for your extension + in the :guilabel:`A/D` column. + +.. _uninstall-extension-without-composer: + +Uninstall an Extension Without Composer +======================================= + +If you installed TYPO3 via composer you should uninstall Extensions via composer. + +.. _uninstall-extension-without-composer-dependencies: + +Check Dependencies +------------------ + +First find out, which other extensions and functions of your TYPO3 installation +are dependent on the extension you want to uninstall. You can find out about +the dependencies by checking the +`TYPO3 Extension Repository (TER) `__. Look for +the extension you want to uninstall and the others you have installed. Read +in each extensions manual the sections 'Dependencies' and 'Reverse dependencies'. + +Check whether any referrals have been made to the extension in any setup, config +or other TypoScript files. Check if you included a plugin from the extension +in your web site. Think of the results of removing them and finally do it. + +If you are working locally or on a test server you might as well try to +uninstall the extension. The Extension Manager warns you about dependencies that +are written in an extensions :file:`ext_emconf.php` constraints section. +Note however that you depend on the extensions developers faithfully noting +all dependencies in this config file. + +If you get an exception and cannot access the Extension Manager anymore because +of it, you can uninstall / install extensions manually with +:file:`PackageStates.php` as a last resort, see +:ref:`uninstall-extension-manually` + +.. tip:: + Be sure not to uninstall extensions by trial and error on production + systems, especially not under time pressure. + +.. _uninstall-extension-backend: + +Uninstall / Deactivate Extension via TYPO3 Backend +-------------------------------------------------- + +.. include:: /Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.rst.txt + + +Log into the TYPO3 Backend and open the module +:guilabel:`Admin tools > Extensions`. From the menu choose +:guilabel:`Install extensions`. You get an overview about installed extensions. + +On the left side you see an icon, which shows the status of each extension, +and what you can do: + +* Extension Install Icon with plus sign: The extension is + not installed. (Click once to install) +* Extension Uninstall Icon with minus sign: The extension is installed + and running. (Click once to uninstall) + +Next to the extension you want to uninstall click on Extension UnInstall Icon. +After some seconds the icon changes to the grey Extension Install Icon. + +.. _remove-extension-backend: + +Remove an Extension via the TYPO3 Backend +-------------------------------------------------- + +After successfully uninstalling an extension via the Extension Manager you +can permanently remove the extension by clicking on the waste-basket symbol +"Remove" beside the extensions entry in the Extension Manager. + +.. _uninstall-extension-manually: + +Uninstalling an Extension Manually +---------------------------------- + +At times an extension causes a problem and the TYPO3 Backend can not +be opened anymore due to it. In such a case the extension can be uninstalled +manually. This is not common practise but a last resort. + +This can be done by removing the extensions configuration from the file +:file:`PackageStates.php` + +.. rst-class:: bignums + +#. Open the file :file:`typo3conf/PackageStates.php` +#. Search for your ext_key in the array. + + .. code-block:: php + :caption: typo3conf/PackageStates.php + + 'ext_key' => [ + 'packagePath' => 'typo3conf/ext/ext_key/', + ], + //... + +#. Remove the entry. + +.. _remove-extension-manually: + +Removing an extension manually +------------------------------ + +Removing an extension manually is not common practice and should only be done +as a last resort. You should only remove an extension that you uninstalled +successfully. Make a backup first. Then you can permanently remove an extension +by removing its folder at :file:`typo3conf/ext/[extensionname]`. The +corresponding database tables can be removed in the +:guilabel:`Admin Tools > Maintenance > Analyze Database Structure`. diff --git a/Documentation/ExtensionArchitecture/HowTo/ExtensionManagement.rst b/Documentation/ExtensionArchitecture/HowTo/ExtensionManagement.rst deleted file mode 100644 index 04fe4001c6..0000000000 --- a/Documentation/ExtensionArchitecture/HowTo/ExtensionManagement.rst +++ /dev/null @@ -1,110 +0,0 @@ -.. include:: /Includes.rst.txt -.. index:: Extension Manager -.. _extension-manager: - -==================== -Extension management -==================== - -.. todo: Mention Composer here - -Extensions are managed from the Extension Manager inside TYPO3 by -"admin" users. The module is located at :guilabel:`Admin Tools > Extensions` -and offers a menu with options to see loaded extensions (those that -are installed or activated), available extensions on the server and -the possibility to import extensions from online resources, typically -the TER (TYPO3 Extension Repository) located at typo3.org. - -.. include:: /Images/AutomaticScreenshots/AdminTools/ExtensionManager.rst.txt - -The interface is really easy to use. You just click the +/- icon to -the left of an extension in order to install it and follow the -instructions. - - -.. index:: Extensions; Installation -.. _extension-package-manager: -.. _extension-install: - -Installing extensions -^^^^^^^^^^^^^^^^^^^^^ - -There are only two (possibly three) steps involved in using extensions with TYPO3: - -#. You must *import* it. - - This simply means to copy the extensions files into the correct directory into. - More commonly you import an extension directly from the online TYPO3 Extension Repository (TER) - using the Extension Manager. When an extension is found located in one of the extension locations, - it is *available* to the system. - - The Extension Manager (EM) should take care of this process, including updates to - newer versions if needed. - - Another convenient way to install extensions is offered by using Composer (https://getcomposer.org/) - along with the TYPO3 Composer Repository (https://composer.typo3.org/). The TYPO3 Composer Repository - includes all TYPO3 extensions that are uploaded to TER. - -#. You must *load* it. - - In :ref:`legacy installations not based on Composer ` - an extension is loaded only if it is listed in the - :file:`PackageStates.php` file. Extensions are loaded in the order they appear in this list. - In :ref:`Composer installations `, all extensions in the - :file:`composer.json` are considered as active. - - An enabled extension is always global to the TYPO3 Installation - you cannot disable - an extension from being loaded in a particular branch of the page tree. The EM takes - care of enabling extensions. It's highly recommended that the EM is doing - this, because the EM will make sure the priorities, dependencies and - conflicts are managed according to the extension characteristics, - including clearing of the cache-files if any. - -#. You *might* be able to configure it. - - Certain extensions may allow you to configure some settings. - :guilabel:`Admin Tools > Settings > Extension configuration` - provides an interface to configure extensions that provide configuration settings. Any - settings - if present - configured for an extension are available as - an array in the variable :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS'][extensionKey]` and - thus reside in :file:`config/system/settings.php`. - -Loaded extensions can be fetched with :php:`TYPO3\CMS\Core\Package\PackageManager::getActivePackages()`, -available in both frontend and backend of TYPO3. - -This will return an array of :php:`TYPO3\CMS\Core\Package\Package` objects, -containing the data structure for each extension. These include the properties: - -.. t3-field-list-table:: - :header-rows: 1 - - - :Key,20: Key - :Description,60: Description - - - :Key: - packageKey - :Description: - The package key (or extension key). - - - :Key: - packagePath - :Description: - Path to the package. Can be used to determine, if the extension is in the - local :file:`typo3conf/ext` or system :file:`typo3/sysext` scope. - - - :Key: - composerManifest - :Description: - A large array containing the Composer manifest. (the - :file:`composer.json` of the extension, if it exists) - - - :Key: - packageMetaData - :Description: - Properties of the :file:`ext_emconf.php` configuration of the - extension, like its constraints (depends, suggests, conflicts), - version, title, description, …, - - -The order of the registered extensions in this array corresponds to -the order they were listed in :file:`PackageStates.php` in legacy installations. diff --git a/Documentation/Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.png b/Documentation/Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.png new file mode 100644 index 0000000000..1201822ef5 Binary files /dev/null and b/Documentation/Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.png differ diff --git a/Documentation/Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.rst.txt b/Documentation/Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.rst.txt new file mode 100644 index 0000000000..896b720fec --- /dev/null +++ b/Documentation/Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.rst.txt @@ -0,0 +1,6 @@ +.. Automatic screenshot: Remove this line if you want to manually change this file + +.. figure:: /Images/AutomaticScreenshots/ExtensionManager/UninstallExtension.png + :class: with-shadow + + Select "Deactivate" in Extension Manager