Upgrading from 2.3 to 2.4 

Version 2.4 delivers the configuration of academic_bite_jobs per component, hides its content element until a site enables it and migrates the stored plugin settings of older job lists with a new upgrade wizard. It changes no database table of this extension. Work through the sections in order. Skip a step that does not apply to the installation.

Before you start 

Version 2.4 runs on TYPO3 12.4 from 12.4.22 on and on TYPO3 13.4, with PHP 8.1 or later. That is the same as for 2.3, so the TYPO3 core does not have to change for this upgrade.

academic_bite_jobs 2.4 needs these packages. Upgrade them first or in the same deployment, in this order:

The extension now declares the system extension install as a dependency, for its upgrade wizard. TYPO3 keeps that extension active in every installation, so this needs no action.

Update the package 

composer require -W \
    'fgtclb/academic-base':'~2.4.0' \
    'fgtclb/academic-bite-jobs':'~2.4.0'
Copied!

A project that requires branch 2 as 2.x-dev keeps an inline alias such as 2.x-dev as 2.4.x-dev working, see Important: The development branch installs as 2.4.x-dev.

On a classic installation, install environment_state_manager 1.x from the TER in Admin Tools > Extensions first, then update academic_base and academic_bite_jobs there, in this order. Run the commands of this page with typo3/sysext/core/bin/typo3 instead of vendor/bin/typo3 .

vendor/bin/typo3 cache:flush
Copied!

Run the upgrade wizards 

The wizard requires the database comparison of the installation to be applied first, in Admin Tools > Maintenance > Analyze Database Structure or with vendor/bin/typo3 extension:setup . The other academic extensions add columns in 2.4.

academicBiteJobs_listViewFlexFormUpgradeWizard, Migrate the plugin settings of academic_bite_jobs job lists stored before 2.1., is new. It rewrites the stored view of every Bite Jobs List content element, hidden ones included, from ListView, CardView or TableView, or an empty or unknown value, to List, Card or Table. It also removes the settings settings.jobs.groupBy and settings.jobs.custom.zuordnung, which version 2.1 dropped from the plugin but left in the stored records. A stored grouping setting keeps a list grouped by a field the job postings no longer carry until the wizard has run.

vendor/bin/typo3 upgrade:run academicBiteJobs_listViewFlexFormUpgradeWizard
Copied!

Content elements created with version 1.x are plugins stored with the content type list . Neither this version nor the wizard renders or migrates them. See Important: The job list groups only on request and reads old view values.

Adapt the configuration 

The TypoScript and the page TSconfig are now delivered per content element, and the Bite Jobs List content element is hidden in the whole installation until the page TSconfig of its component is included. See Breaking: Site sets and static templates have been restructured.

Include the components 

  • Site set, TYPO3 13 only. A site that depends on the set fgtclb/academic-bite-jobs needs no change. The set keeps its name and now brings the page TSconfig along.
  • Static template. The stored entry of 2.3 keeps working as Academic Bite Jobs: Path up to 2.3 (deprecated, use All components) (academic_bite_jobs), which is removed in version 4.0. Replace it with Academic Bite Jobs: All components (academic_bite_jobs) in the field Include TypoScript sets on the tab Advanced Options of the template record, see Deprecation: The static template path of version 2.3.
  • Page TSconfig. A site without the site set, which is every site on TYPO3 12, adds Academic Bite Jobs: All components (academic_bite_jobs) in the field Include static Page TSconfig (from extensions) on the tab Resources of its root page, see Include static page TSconfig. Without it the content element is not offered for new content. On TYPO3 12 the same file brings the entry of the new content element wizard, which version 2.3 delivered through the site set only, so TYPO3 12 never offered it, see Important: The extension ships page TSconfig for every installation.
  • Use one of the two mechanisms per site, see Do not combine both.

Until the component is included, an existing content element keeps rendering and keeps its type: academic_base 2.4 shows the stored type in the field Type followed by (not enabled on this page), and saving keeps it. The warning of the changelog entry that saving such a record rewrites its type describes the state before that fix. A content element that an older version or a page TSconfig of your own already turned into another type is not repaired. Correct it by hand from its record history.

Adjust your own configuration 

Adapt templates and assets 

Version 2.4 changes these templates and partials. A copy of one of them in a site package keeps rendering the copy, so compare each copy with the shipped file and take over the changes. The paths below are relative to Resources/Private/:

File What changed Entry
Templates/BiteJobs/List.html The header renders only with settings.renderContentElementHeader , and the list is grouped only by the field settings.jobs.groupBy names. Important: The job list leaves the content element header to the layout, Important: The job list groups only on request and reads old view values
Partials/BiteJobs/View/List.html, Partials/BiteJobs/View/Card.html, Partials/BiteJobs/View/Table.html The translations pass the extension name AcademicBiteJobs . Important: Label overrides are read from the documented path

No asset of this extension changed.

Check the result 

  • The Bite Jobs List content element is offered for new content on the pages that should have it, and existing ones keep their type.
  • Content elements saved with version 2.0 render, and their backend form shows the view the frontend renders.
  • Job titles of an ungrouped list moved up one heading level, an <h2> instead of an <h3> for header layout 1. Check the styles of the job list, or override Partials/BiteJobs/Header.html.
  • The header of the content element appears once.