Breaking: The content load component of programs is removed 

Description 

Since version 2.4 the page type Academic program renders its content from the variable programContent of its own page object, see Important: The program page renders its own content. The component fgtclb/academic-programs-content-load stayed, and kept defining the global TypoScript object styles.content.getContent for every page of the site.

That site wide override is removed:

  • the set fgtclb/academic-programs-content-load;
  • the dependency on it in the aggregate set fgtclb/academic-programs;
  • the static template Academic Programs: Content load override (academic_programs), stored as EXT:academic_programs/Configuration/TypoScript/ContentLoad, and the entry for it in Academic Programs: All components (academic_programs);
  • the file EXT:academic_programs/Configuration/TypoScript/ContentLoad/setup.typoscript.

Impact 

  • A site configuration that names fgtclb/academic-programs-content-load as a dependency, directly or through a set of the site package, fails completely: TYPO3 answers every page of the site with HTTP 500 and the message "Site <identifier> depends on unavailable sets: ...", which names the removed set, or the set of the site package that depends on it. A site that depends on the aggregate fgtclb/academic-programs is not affected.
  • styles.content.getContent is no longer defined. The content-load sets of EXT:academic_partners and EXT:academic_projects are removed in 3.0 as well. A template of the site package that renders it through f:cObject throws the exception above.
  • A template override of AcademicProgram.html that still renders styles.content.getContent throws the same exception.
  • A customisation of styles.content.getContent , for example one that slides the content from the parent pages, no longer reaches program pages. The same holds for a customisation of styles.content.get that was parsed before the override: the override copied it into styles.content.getContent .
  • A sys_template record that selects the removed static template, or imports the removed file, gets nothing for it, without a message.

Affected Installations 

Installations that name the content load set or select its static template, that render styles.content.getContent in a template of their own, or that customised that object for program pages.

The console command academic:upgrade:check of EXT:academic_base reports each of the stored references: a site that depends on the removed set as unavailable-set , the removed static template as static-template and an @import of the removed file in a TypoScript record as typoscript-import .

Migration 

  • Remove fgtclb/academic-programs-content-load from the dependencies of the site configuration and of every set of the site package. The aggregate fgtclb/academic-programs, or the component sets, deliver everything a program page needs.
  • Remove the static template from the sys_template record, and an @import of the removed file from a site package.
  • A template override of AcademicProgram.html that still renders styles.content.getContent renders {programContent -> f:format.raw()} instead of the f:cObject call.
  • Move a customisation of styles.content.getContent for program pages to page.10.variables.programContent , inside the same condition, see The content of a program page.
  • A site package that renders styles.content.getContent in a template of its own defines the object itself, for example from styles.content.get , which TYPO3 defines on every site:

    styles.content.getContent < styles.content.get
    styles.content.getContent.select.where = {#colPos}=0
    Copied!