---
title: "Breaking: Site sets and page TSconfig have been restructured"
manual: "Academic Base"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-base:breaking-site-sets-and-page-tsconfig-restructured@main"
source: "Changelog/2.4/Breaking-SiteSetsAndPageTsConfigRestructured.rst"
rendered: "2026-10-17T08:47:46+00:00"
---

# Breaking: Site sets and page TSconfig have been restructured {#breaking-site-sets-and-page-tsconfig-restructured}

## Description {#description}

This extension ships one piece of page TSconfig: the label of the content
element group **Academic**, the group every academic extension sorts
its content elements into. It lived in
`Configuration/TsConfig/Wizards/NewContentElement.tsconfig` and was
reachable through [`Configuration/page.tsconfig`](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/FileStructure/Configuration/PageTsconfig.html#file-extension-configuration-page-tsconfig), which TYPO3 includes for
the whole installation, and through the `page.tsconfig` of the site set
`fgtclb/academic-base-ctype-group` in
`Configuration/Sets/AcademicBaseCTypeGroup/`.

The file moved to `Configuration/TSconfig/CTypeGroup/page.tsconfig` and is
now reachable in three ways, all of them reading that one copy. Note the
directory as well: `Configuration/TsConfig/` was renamed to
`Configuration/TSconfig/`, the spelling TYPO3 itself uses, so that all
academic extensions agree on one.

-   [`Configuration/page.tsconfig`](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/FileStructure/Configuration/PageTsconfig.html#file-extension-configuration-page-tsconfig), unchanged in effect. The group is
    labelled on every installation, whatever the site configuration says.
-   The site set `fgtclb/academic-base-ctype-group`, which moved to
    `Configuration/Sets/CTypeGroup/` and points its `pagets` key
    at the file instead of importing it from a `page.tsconfig` of its
    own. Site sets arrived in TYPO3 v13.1, so this way exists on v13 and not
    on v12.
-   The page field **Page TSconfig**, for which the file is registered.

The extension also gained the aggregate set `fgtclb/academic-base`,
following the convention every academic extension now uses: one set per
component, plus one aggregate named after the package.

## Impact {#impact}

A site package that imported one of the old files by path fails to resolve it.
`@import` of a missing file is silent, so there is no error
message. The group label itself does not go missing, because
[`Configuration/page.tsconfig`](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/FileStructure/Configuration/PageTsconfig.html#file-extension-configuration-page-tsconfig) of this extension still delivers it to every
installation. What is left is an import that loads nothing, and an override in
the same file that relied on the order of the import can end up applied before
the label instead of after it.

Nothing else changes. The set `fgtclb/academic-base-ctype-group` keeps its
name, the group label keeps being delivered to every installation without any
configuration, and the TCA registration of the group did not move.

What did change alongside the path is the `label` of that set, from
`Academic Base - CType Group` to `Academic Base: Content element group`. It is
what the backend shows in the list of available sets. Nothing references a set
by its label, so this needs no action.

## Affected Installations {#affected-installations}

Installations that import one of the page TSconfig files of this extension by
path, from an own site package or from own page TSconfig.

## Migration {#migration}

Adjust every `@import`:

| Old path | New path |
| --- | --- |
| `EXT:academic_base/Configuration/TsConfig/Wizards/NewContentElement.tsconfig` | `EXT:academic_base/Configuration/TSconfig/CTypeGroup/page.tsconfig` |
| `EXT:academic_base/Configuration/TsConfig/Wizards/*.tsconfig` | `EXT:academic_base/Configuration/TSconfig/Full/page.tsconfig` |
| `EXT:academic_base/Configuration/Sets/AcademicBaseCTypeGroup/page.tsconfig` | `EXT:academic_base/Configuration/TSconfig/CTypeGroup/page.tsconfig` |

```typoscript
# Before
@import 'EXT:academic_base/Configuration/TsConfig/Wizards/NewContentElement.tsconfig'

# After
@import 'EXT:academic_base/Configuration/TSconfig/CTypeGroup/page.tsconfig'
```

An import that only served to label the group can be removed instead, since
[`Configuration/page.tsconfig`](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/FileStructure/Configuration/PageTsconfig.html#file-extension-configuration-page-tsconfig) of this extension delivers the label on
every installation.

An installation that includes page TSconfig through the page field
**Page TSconfig** rather than through a site set can select the file
there instead of importing it:

| Entry | Delivers |
| --- | --- |
| **Academic Base: Content element group (academic_base)** | The label of the content element group **Academic**. |
| **Academic Base: All components (academic_base)** | Every component this extension ships, in one entry. |

Site configurations need no change. `fgtclb/academic-base-ctype-group`
still exists under that name, and `fgtclb/academic-base` is the new
aggregate that depends on it.
