---
title: "Breaking: The frontend assets are built and moved"
manual: "Academic StudyPlan"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-study-plan:breaking-frontend-assets-are-built@main"
source: "Changelog/2.4/Breaking-FrontendAssetBuild.rst"
rendered: "2026-10-17T08:48:10+00:00"
---

# Breaking: The frontend assets are built and moved {#breaking-frontend-assets-are-built}

## Description {#description}

The stylesheet and the script of the study plan are now compiled from sources
in the repository rather than maintained as finished files. Both moved into a
`frontend/` subdirectory:

```text
EXT:academic_study_plan/Resources/Public/Css/academic-study-plan.css
->  EXT:academic_study_plan/Resources/Public/Css/frontend/academic-study-plan.css

EXT:academic_study_plan/Resources/Public/JavaScript/academic-study-plan.js
->  EXT:academic_study_plan/Resources/Public/JavaScript/frontend/academic-study-plan.js
```

How they are loaded does **not** change. The TypoScript of the content element
still adds both through `page.includeCSS` and
`page.includeJSFooter`, and the compiled script is still a classic
script rather than an ES module. The TypoScript file that adds them moved in the
same release, see [Breaking: Site sets and static templates have been restructured](https://docs.typo3.org/permalink/fgtclb/academic-study-plan:breaking-site-sets-and-static-templates-restructured@main).

## Impact {#impact}

An installation that uses the extension as shipped needs to do nothing: the
files are loaded by the extension itself, from the new location.

An installation that referenced the old path keeps pointing at a file that no
longer exists.

## Affected Installations {#affected-installations}

Installations that reference either file by path from their own TypoScript,
site package or template override.

## Migration {#migration}

Add the `frontend/` segment to the path:

```typoscript
page.includeCSS.academicStudyPlan = EXT:academic_study_plan/Resources/Public/Css/frontend/academic-study-plan.css
page.includeJSFooter.academicStudyPlan = EXT:academic_study_plan/Resources/Public/JavaScript/frontend/academic-study-plan.js
```

Nothing else has to change.
