Installation 

Requirements 

The extension can only be installed with Composer.

Install the extension with Composer 

Install the development version
composer require jweiland/jobboard:dev-main
Copied!

Then set up the extension. This creates the database tables of the job board and adds the column import_key to the table tt_address :

Set up the extension and its database tables
vendor/bin/typo3 extension:setup
Copied!

Add the site sets 

The extension does not provide static TypoScript templates. Add the site set Jobboard - Main ( jweiland/jobboard ) 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/pdfviewhelpers ) as well:

config/sites/<site-identifier>/config.yaml
base: 'https://example.org/'
dependencies:
  - jweiland/jobboard
  - bithost/pdfviewhelpers
Copied!

The set jweiland/jobboard loads the set jweiland/jobboard-pdf automatically. See Site sets for details.

Create a storage folder 

  1. 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.
  2. Set the site setting jobboard.storagePid to the UID of this folder (Site Management > Settings, category Jobboard > Pages):

    config/sites/<site-identifier>/settings.yaml
    jobboard:
      storagePid: '23'
      pidOfApplicationForm: 51
    
    Copied!

    The 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:

Page TSconfig of the storage folder
TCEMAIN.clearCacheCmd = 42
Copied!

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:salary:update 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:

Install EXT:maps2
composer require jweiland/maps2
vendor/bin/typo3 extension:setup
Copied!

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/maps2-default automatically.

config/sites/<site-identifier>/config.yaml
base: 'https://example.org/'
dependencies:
  - jweiland/jobboard
  - bithost/pdfviewhelpers
  # One provider set of EXT:maps2, either OpenStreetMap or Google Maps
  - jweiland/maps2-openstreetmap
Copied!

Configure EXT:maps2 as described in its documentation. Its extension configuration (option mapProvider) 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 

  1. Flush all caches: vendor/bin/typo3 cache:flush .
  2. Create the records in the storage folder, see For editors.
  3. Insert the content element "Job board" on a page, see Insert the content element "Job board".
  4. If you migrate from EXT:jobfair2, run the upgrade wizards, see Upgrade wizards.
  5. 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 .