Feature #82254

Store extension configuration as plain array

Added by Susanne Moog almost 2 years ago. Updated 9 months ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
Backend API
Target version:
Start date:
2017-08-31
Due date:
% Done:

100%

PHP Version:
7.0
Tags:
Complexity:
Sprint Focus:
On Location Sprint

Description

There is no reason not to save the extension configuration as plain array instead of serialized values. Arrays are easier to handle + there are already parts of the core using arrays (for example the avatar provider registration).


Related issues

Related to TYPO3 Core - Bug #82370: Change Configuration key for extensions from EXTCONF to extensions to prevent conflicts Closed 2017-09-08
Related to TYPO3 Core - Task #82368: Move extension settings from extension manager to install tool Closed 2017-09-08

Associated revisions

Revision 844b0ad8 (diff)
Added by Susanne Moog almost 2 years ago

[FEATURE] Store extension configuration as plain array

Extension configuration is now stored as plain array
instead of serialized values. To ensure backwards-
compatibility and stream-line core usage, the old
values will still be stored and written in
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'] whereas
the new array will be stored in
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF'].

As a second step we are going to introduce an API for
retrieving extension configuration to remove the necessity
for GLOBALS access in this case.

Resolves: #82254
Releases: master
Change-Id: I52ef7768491633e114e7e1b153a4ba63e07243ff
Reviewed-on: https://review.typo3.org/53657
Reviewed-by: Andreas Fernandez <>
Tested-by: Andreas Fernandez <>
Tested-by: TYPO3com <>
Reviewed-by: Joerg Kummer <>
Tested-by: Joerg Kummer <>
Reviewed-by: Romain Canon <>
Tested-by: Romain Canon <>
Reviewed-by: Christian Kuhn <>
Tested-by: Christian Kuhn <>

Revision ebf0f1a7 (diff)
Added by Markus Hölzle over 1 year ago

[!!!][FEATURE] Move extension configuration to install tool

With #82254 LocalConfiguration serialized array EXT/extConf has been
changed to a not serialized array in EXTENSIONS. This patch follows
up on this task an finishes various tasks:

  • An install tool silent upgrader upmerges given EXT/extConf settings
    to EXTENSIONS array. The resulting EXTENSIONS array does not contain
    dots for sub paths in its array key anymore and is accessible with a
    new ExtensionConfiguration->get() API to fetch values and whole
    extension config.
  • A new API is introduced to get() and set() extension specific
    configuration, is documented and used throughout the core to not
    unserialize old EXT/extConf anymore. Setting values updates legacy
    EXT/extConf to new values including compatible 'dot' ending on
    nested array configurations.
  • If extensions come with new configuration items in ext_conf_template.txt
    a silent upgrader of the install tool synchronizes these to the
    EXTENSIONS and old extConf array. Extension authors can rely on that
    and always fetch new keys from the new ExtensionConfiguration->get()
    API right away. The synchronization is also triggered when new
    extensions are loaded or extensions are updated via the extension
    manager.
  • Core usages are adapted to the new API.
  • Next to the main get() / set() API, the extension configuration
    form is extracted from the extension manager and put into the install
    tool as a new card in "Settings". The code below is streamlined
    and encapsulated with just a couple of public methods in class
    'ExtensionConfigurationService' as internal class for use in install
    tool and extension manager.

Resolves: #82368
Related: #82254
Releases: master
Change-Id: I88568fa355f8f6fd5acc9850dcdd718fdd9a1b2e
Reviewed-on: https://review.typo3.org/54034
Tested-by: TYPO3com <>
Reviewed-by: Daniel Gorges <>
Tested-by: Daniel Gorges <>
Reviewed-by: Andreas Fernandez <>
Reviewed-by: Benni Mack <>
Tested-by: Benni Mack <>

History

#1 Updated by Gerrit Code Review almost 2 years ago

  • Status changed from New to Under Review

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53657

#2 Updated by Gerrit Code Review almost 2 years ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53657

#3 Updated by Christian Kuhn almost 2 years ago

  • Sprint Focus set to On Location Sprint

#4 Updated by Gerrit Code Review almost 2 years ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53657

#5 Updated by Anonymous almost 2 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#6 Updated by Christian Kuhn almost 2 years ago

  • Related to Bug #82370: Change Configuration key for extensions from EXTCONF to extensions to prevent conflicts added

#7 Updated by Christian Kuhn over 1 year ago

  • Related to Task #82368: Move extension settings from extension manager to install tool added

#8 Updated by Benni Mack 9 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF