Commit 314c18da authored by Benni Mack's avatar Benni Mack Committed by Georg Ringer
Browse files

[!!!][TASK] Remove "createDirs" directive of extension installation

Extensions should make use of TYPO3's native functionality for
using FAL-based folders, or the Environment API and TYPO3's File
APIs to create folders when needed.

The ext_emconf.php option "createDirs" option is removed,
and not evaluted anymore.

The public method `ensureConfiguredDirectoriesExist` in FileHandling
Utility is removed, however the class is marked as internal.

This change is a pre-work for the CLI Initiative where there
are currently workarounds in using this functionality for "activating"
an extension.

Resolves: #88525
Releases: master
Change-Id: I52ec31da541d3740977068981944bd5a1dd0d2f7
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60485


Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Georg Ringer's avatarGeorg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer's avatarGeorg Ringer <georg.ringer@gmail.com>
parent 71cb708d
......@@ -4,7 +4,6 @@ $EM_CONF[$_EXTKEY] = [
'description' => 'Shows info about TYPO3, installed extensions and a separate module for available modules.',
'category' => 'module',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'TYPO3 Core Team',
'author_email' => 'typo3cms@typo3.org',
......
......@@ -4,7 +4,6 @@ $EM_CONF[$_EXTKEY] = [
'description' => 'The TYPO3 admin panel provides a panel with additional functionality in the frontend (Debugging, Caching, Preview...)',
'category' => 'fe',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 1,
'author' => 'TYPO3 Core Team',
'author_email' => 'typo3cms@typo3.org',
......
......@@ -8,7 +8,6 @@ $EM_CONF[$_EXTKEY] = [
'author_email' => '',
'state' => 'stable',
'uploadfolder' => 0,
'createDirs' => '',
'clearCacheOnLoad' => 1,
'version' => '10.0.0',
'constraints' => [
......
......@@ -8,7 +8,6 @@ $EM_CONF[$_EXTKEY] = [
'author_email' => '',
'state' => 'stable',
'uploadfolder' => 0,
'createDirs' => '',
'clearCacheOnLoad' => 1,
'version' => '10.0.0',
'constraints' => [
......
......@@ -4,7 +4,6 @@ $EM_CONF[$_EXTKEY] = [
'description' => 'Classes for the TYPO3 backend.',
'category' => 'be',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'TYPO3 Core Team',
'author_email' => 'typo3cms@typo3.org',
......
......@@ -4,7 +4,6 @@ $EM_CONF[$_EXTKEY] = [
'description' => 'Displays backend log, both per page and system wide. Available as the module Tools>Log (system wide overview) and Web>Info/Log (page relative overview).',
'category' => 'module',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'TYPO3 Core Team',
'author_email' => 'typo3cms@typo3.org',
......
......@@ -7,7 +7,6 @@ $EM_CONF[$_EXTKEY] = [
'author_email' => 'typo3cms@typo3.org',
'author_company' => '',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'version' => '10.0.0',
'constraints' => [
......
.. include:: ../../Includes.txt
========================================================================================
Breaking: #88525 - Remove "createDirs" directive of extension installation / em_conf.php
========================================================================================
See :issue:`88525`
Description
===========
Every TYPO3 extension has a file called `ext_emconf.php` where important information regarding
dependencies, current version and loading order are stored.
The directive `createDirs` that was responsible to create a list of folders in the file structure
during extension installation has been dropped.
The option was available before any File Abstraction Layer, as the `uploads/` folder is not
created by default by TYPO3 anymore, this directive is not supported as well, as TYPO3 strives
to support unified file handling for content files, volatile files (file uploads within `typo3temp/var/`)
or within Extensions directly. The Environment API, introduced in TYPO3 v9, should support for PHP-based
APIs to choose / create a correct folder location.
Impact
======
Extensions having this directive set will not have this folder available at installation time
of the extension. The folder will not be created for newly installed extensions, existing extensions
when upgrading from previous TYPO3 versions, will continue to exist.
Affected Installations
======================
Any TYPO3 extension having this property within `ext_emconf.php` set.
Migration
=========
When an extension supports TYPO3 v10+ only, this directive can be removed.
If an extension needs a special directory, this should be created via PHP when it is needed
via e.g. `GeneralUtility::mkdir_deep()`.
.. index:: PHP-API, NotScanned, ext:extensionmanager
\ No newline at end of file
......@@ -5,7 +5,6 @@ $EM_CONF[$_EXTKEY] = [
'category' => '',
'version' => '10.0.0',
'state' => 'beta',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'Christian Kuhn',
'author_email' => 'lolli@schwarzbu.ch',
......
......@@ -5,7 +5,6 @@ $EM_CONF[$_EXTKEY] = [
'category' => 'example',
'version' => '10.0.0',
'state' => 'beta',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'Christian Kuhn',
'author_email' => 'lolli@schwarzbu.ch',
......
......@@ -5,7 +5,6 @@ $EM_CONF[$_EXTKEY] = [
'category' => 'example',
'version' => '10.0.0',
'state' => 'beta',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'Oliver Hader',
'author_email' => 'oliver@typo3.org',
......
......@@ -5,7 +5,6 @@ $EM_CONF[$_EXTKEY] = [
'category' => 'example',
'version' => '10.0.0',
'state' => 'beta',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'Oliver Hader',
'author_email' => 'oliver@typo3.org',
......
......@@ -5,7 +5,6 @@ $EM_CONF[$_EXTKEY] = [
'category' => 'example',
'version' => '10.0.0',
'state' => 'beta',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'Oliver Hader',
'author_email' => 'oliver@typo3.org',
......
......@@ -4,7 +4,6 @@ $EM_CONF[$_EXTKEY] = [
'description' => 'This is a fixture extension configuration file used for unit tests.',
'category' => '',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => '',
'author_email' => '',
......
......@@ -4,7 +4,6 @@ $EM_CONF[$_EXTKEY] = [
'description' => 'The core library of TYPO3.',
'category' => 'be',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'author' => 'TYPO3 Core Team',
'author_email' => 'typo3cms@typo3.org',
......
......@@ -7,7 +7,6 @@ $EM_CONF[$_EXTKEY] = [
'author_company' => '',
'author_email' => '',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 1,
'version' => '10.0.0',
'constraints' => [
......
......@@ -8,7 +8,6 @@ $EM_CONF[$_EXTKEY] = [
'author_email' => '',
'state' => 'stable',
'uploadfolder' => 0,
'createDirs' => '',
'clearCacheOnLoad' => 1,
'version' => '10.0.0',
'constraints' => [
......
......@@ -8,7 +8,6 @@ $EM_CONF[$_EXTKEY] = [
'author_email' => '',
'state' => 'stable',
'uploadfolder' => 0,
'createDirs' => '',
'clearCacheOnLoad' => 1,
'version' => '10.0.0',
'constraints' => [
......
......@@ -7,7 +7,6 @@ $EM_CONF[$_EXTKEY] = [
'author_email' => 'typo3cms@typo3.org',
'author_company' => '',
'state' => 'stable',
'createDirs' => '',
'clearCacheOnLoad' => 1,
'version' => '10.0.0',
'constraints' => [
......
......@@ -118,6 +118,7 @@ $EM_CONF[$_EXTKEY] = ' . $emConf . ';
unset($emConf['module']);
unset($emConf['loadOrder']);
unset($emConf['lockType']);
unset($emConf['createDirs']);
unset($emConf['shy']);
unset($emConf['priority']);
unset($emConf['modify_tables']);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment