# Configuration methods list¶

These are the main configuration methods used by TYPO3:

The $GLOBALS array consists of: • Global Configuration $GLOBALS['TYPO3_CONF_VARS'] is used for system wide configuration.
• A subset of this is Extension Configuration ($GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']). It is used for configuration specific to one extension. • TCA GLOBALS['TCA'] is specific to database fields and how they behave and can be edited in the backend. • User settings $GLOBALS['TYPO3_USER_SETTINGS'] defines configuration for backend users
• … you can find more in the TYPO3 backend SYSTEM > Configuration or by viewing the \$GLOBALS array in a debugger. Read more about this on Global Variables.

Furthermore, we have:

• TSconfig is used to configure and customize the backend on a page (page TSconfig) and a user or group basis (user TSconfig).
• TypoScript configuration method is used to configure plugins (FE) and modules (BE), as well as some global settings (config). It is also used to define the rendering, but that is beyond the scope of this page, which focuses only on configuration. TypoScript is mostly used for configuration that affects the Frontend (FE).
• Flexform is used to configure plugins and content elements.
• Feature Toggles are used to switch a specific functionality of TYPO3 on or off.

Additionally, some system extensions use YAML for configuration:

• Site configuration is stored in <project-root>/config/sites/<identifier>/config.yaml and can be configured in the sites module.
• form: Forms in the frontend
• rte_ckeditor: configure editing rich text editing
• Event listeners in Configuration/Services.yaml
• Dependency injection information in Configuration/Services.yaml

There is a YamlFileLoader which can be used to load YAML files.

## Further Documentation¶

This manual covers many different APIs of the TYPO3 CMS Core, but some other documents exist which cover more specific aspects.

### TCA Reference¶

TCA is the backbone of database tables displayed in the backend, it configures how data is stored if editing records in the backend, how fields are displayed, relations to other tables and much more. It is a huge array loaded in almost all access contexts.

A detailed insight on TCA is documented in the TCA Reference. Next to a small introduction, the document forms a complete reference of all different TCA options, with bells and whistles. The document is a must-read for Developers, partially for Integrators, and is often used as a reference book on a daily basis.

### TypoScript Reference¶

TypoScript - or more precisely Frontend TypoScript - is used in TYPO3 to steer the frontend rendering (the actual website) of a TYPO3 instance. It is based on the TypoScript syntax which is outlined in detail here in this document.

Frontend TypoScript is very powerful and has been the backbone of frontend rendering ever since. However, with the rise of the Fluid templating engine, many parts of Frontend TypoScript are much less often used. Nowadays, TypoScript in real life projects is often not much more than a way to set a series of options for plugins, to set some global config options, and to act as a simple pre processor between database data and Fluid templates.

Still, the TypoScript Reference reference document that goes deep into the incredible power of Frontend TypoScript is daily bread for Integrators.

### TSconfig Reference¶

While Frontend TypoScript is used to steer the rendering of the frontend, TSconfig is used to configure backend details for backend users. Using TSconfig it is possible to enable or disable certain views, change the editing interfaces, and much more. All that without coding a single line of PHP. TSconfig can be set on a page (Page TSconfig), as well as a user / group (User TSconfig) basis.

TSconfig uses the same syntax as Frontend TypoScript, the syntax is outlined in detail here in this document. Other than that, TSconfig and Frontend TypoScript don’t have much more in common - they consist of entirely different properties.

A full reference of properties as well as an introduction to explain details configuration usage, API and load orders can be found in the TSconfig Reference document. While Developers should have an eye on this document, it is mostly used as a reference for Integrators who make life as easy as possible for backend users.