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:
- fgtclb/environment-state-manager 1.x, new in 2.4, which academic_base 2.4 requires. Composer installs it on its own. A classic installation installs environment_state_manager before it activates academic_base 2.4.
- fgtclb/academic-base 2.4, the same release as this extension.
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'
A project that requires branch 2 as 2. keeps an inline alias such
as 2. 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/
instead of
vendor/.
vendor/bin/typo3 cache:flush
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/. The other academic extensions
add columns in 2.4.
academic, 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 List, Card or Table, or an empty
or unknown value, to List, Card or Table. It also removes the settings
settings. and settings., 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
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/needs no change. The set keeps its name and now brings the page TSconfig along.academic- bite- jobs - 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
- The page TSconfig directory is
Configuration/now, and the TypoScript moved intoTSconfig/ Configuration/. Take the new path of everyTypo Script/ List/ @importfrom the table of Breaking: Site sets and static templates have been restructured. An import of a missing file fails silently. - A site whose content element layout renders no header sets
plugin.. The plugin no longer renders the header itself, see Important: The job list leaves the content element header to the layout.tx_ academicbitejobs. render Content Element Header = 1 - The job list is grouped only when TypoScript names a field of the job
postings in
plugin.. Set it where a list has to stay grouped, see Grouping the jobs.tx_ academicbitejobs. settings. jobs. group By - Label overrides move from
plugin.totx_ academic_ bite_ jobs._ LOCAL_ LANG plugin., see Important: Label overrides are read from the documented path.tx_ academicbitejobs._ LOCAL_ LANG
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/:
| File | What changed | Entry |
|---|---|---|
Templates/ | The header renders only with
settings., and the list is
grouped only by the field
settings.
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/,
Partials/,
Partials/ | The translations pass the extension name
Academic. | 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 overridePartials/.Bite Jobs/ Header. html - The header of the content element appears once.