Installation
Requirements
- TYPO3 13.4 LTS ( typo3/cms-core 13.4.34 or higher)
- PHP 8.2 or higher with the PHP extension
intl - friendsoftypo3/tt-address : job locations are addresses (required dependency, installed automatically)
- bithost-gmbh/pdfviewhelpers : renders the PDF version of a job (required dependency, installed automatically)
- Optional: jweiland/maps2 shows the job locations on a map
The extension can only be installed with Composer.
Install the extension with Composer
composer require jweiland/jobboard:dev-main
Note
There is no tagged release of the extension yet. Until the first
release, install the branch dev-. As soon as a release is
available, use
composer require jweiland/.
Then set up the extension. This creates the database tables of the job
board and adds the column
import_ to the table
tt_:
vendor/bin/typo3 extension:setup
Add the site sets
The extension does not provide static TypoScript templates. Add the site
set Jobboard - Main (
jweiland/) to your site,
either in the backend module Site Management > Sites (tab
Sets) or in the site configuration file.
The PDF export of a job uses the TypoScript of EXT:pdfviewhelpers. Add its
site set EXT:pdfviewhelpers (
bithost/)
as well:
The set
jweiland/ loads the set
jweiland/ automatically. See
Site sets for details.
Create a storage folder
- Create a page of type Folder in the page tree, for example "Job board". All records of the job board are stored here: jobs, occupational fields, positions, salary grades, benefits and the addresses of the job locations.
-
Set the site setting jobboard.storagePid to the UID of this folder (Site Management > Settings, category Jobboard > Pages):
config/sites/<site-identifier>/settings.yamlThe default value
'0'means that no jobs are found.
Import the route enhancer
For speaking URLs of the detail view, import the shipped route enhancer in your site configuration. See Speaking URLs (route enhancer).
Clear the cache of the job board pages
List and detail view are cached. Add the UIDs of all pages with the job board to the page TSconfig of the storage folder, so that changes in the folder clear the cache of these pages:
TCEMAIN.clearCacheCmd = 42
See Clear the cache of the job board pages for details.
Schedule the daily salary update
The validity of salary grades and steps decides which jobs are listed, if
the site setting jobboard.salary.required is enabled (the
default). The salary shown for a job depends on it in any case.
Create a task Execute console commands in the backend module
System > Scheduler, select jobboard: and
let it run once a day, preferably at night. See Update the effective salary of the jobs.
Optional: show job locations on a map
The map is optional. If you want to show the job locations on a map, install EXT:maps2:
composer require jweiland/maps2
vendor/bin/typo3 extension:setup
The job board does not select a map provider. Add one of the provider sets of EXT:maps2 to your site, either in the backend module Site Management > Sites (tab Sets) or in the site configuration file:
jweiland/maps2- openstreetmap - Label "Maps2 - OpenStreetMap". Needs no API key.
jweiland/maps2- googlemaps - Label "Maps2 - Google Maps".
Both sets load the set
jweiland/ automatically.
base: 'https://example.org/'
dependencies:
- jweiland/jobboard
- bithost/pdfviewhelpers
# One provider set of EXT:maps2, either OpenStreetMap or Google Maps
- jweiland/maps2-openstreetmap
Important
If EXT:maps2 is installed, the site must contain one of its provider sets. Without such a set, EXT:maps2 has neither TypoScript nor site settings on this site and cannot render the map.
Attention
If you use Google Maps, you need Google Maps API keys, and the browsers of the visitors load the map from Google. Check the privacy information and the consent handling of your site. See the documentation of EXT:maps2 for the API keys and the options to ask visitors for consent before a map is loaded.
Configure EXT:maps2 as described in its
documentation.
Its extension configuration (option map) decides which
map providers are available for the map locations in the backend. Choose
a provider set that matches this option.
The address records of the job locations get an additional field for the map location. EXT:maps2 determines the position when an address is saved in the backend, see Map location. The map shows the locations of the jobs on the current page of the list, one marker per address. A click on a marker opens an info window with links to the open jobs at this location, see Info window of a job location.
The map is shown as soon as at least one listed job has an address with a map location. If none of the listed jobs has one, the job board shows the message "The map cannot be shown" instead of the map. Save the addresses in the backend, so that EXT:maps2 determines their positions.
Without EXT:maps2, the job board works the same, but shows no map and the addresses have no map location field.
First steps
- Flush all caches:
vendor/.bin/ typo3 cache: flush - Create the records in the storage folder, see For editors.
- Insert the content element "Job board" on a page, see Insert the content element "Job board".
- If you migrate from EXT:jobfair2, run the upgrade wizards, see Upgrade wizards.
- If the storage folder already contains jobs, for example after a
migration or a direct database import, calculate their salary once:
vendor/.bin/ typo3 jobboard: salary: update -- all