TypoScript Setup

Configuring with TypoScript Setup

All of the following settings are configured at

plugin.tx_zvoove {
    settings {
        // ... HERE!
    }
}

detailPid

Property

detailPid

Data type

int

Description

Define the page-ID that is used to display the detail view of the jobs. This PID can be overriden in the individual flexform.

Default

none

listPid

Property

listPid

Data type

int

Description

Define the page-ID that is used to display the list view of the jobs. This PID can be overriden in the individual flexform.

Default

none

bookmarksPid

Property

bookmarksPid

Data type

int

Description

Define the page-ID that is used to display the bookmarks / wishlist. This PID can be overriden in the individual flexform.

Default

none

applicationFormPid

Property

applicationFormPid

Data type

int

Description

Define the page-ID that is used to display the application form. This PID can be overriden in the individual flexform.

Default

none

list.itemsPerPage

Property

list.itemsPerPage

Data type

int

Description

Maximum number of jobs to display per page in the list view.

Default

none

fallbackImages.stelle

Property

fallbackImages.stelle

Data type

string

Description

Fallback image to show, in case no image exists for the job.

fallbackImages {
     stelle = EXT:zvoove/Resources/Public/Images/fallback-vacancy.jpg
}

Default

EXT:zvoove/Resources/Public/Images/fallback-vacancy.jpg

application.*

Property

application.*

Data type

array

Description

Various settings to decide, if storing of applications in local database is enabled or not

# settings for the application form (based on tx_form)
application {

     # send application-data to zvoove?
     sendToZvoove {
          enabled = 1
     }

     # save application-data in the local database?
     saveInDatabase {
          enabled = 1
          pidApplicant =
          pidApplication =
     }
}

fileUpload.*

Property

fileUpload.*

Data type

array

Description

If you are saving the application data and uploads locally, you can define the path to the upload-folder here.

Make sure, the path is not accessibly by public!!!

# where to upload new files.
fileUpload {
     path = 1:/zoove/
     protectDirectory = 1
     appendHash = 1
}

externalMedia.*

Property

externalMedia.*

Data type

array

Description

Where to copy the files (job-images) from zvoove

# where to copy the files from zvoove
externalMedia {
     path = 1:/zvoove_media/
}

sync.*

Property

sync.*

Data type

array

Description

How to sync the jobs with zvoove.

Option 1: Sync all entries in one run.

The script will loop until all items have been updated

  • setup your cronjob interval to 15+ minutes
  • set processInterval to the interval you want to update the database.
    It doesn’t matter which interval was set in the cronjob or scheduler. This time is the one that is relevant for the update frequency
  • set processAll = 1
  • set maxItemsPerRequest and maxItemsPerLocalSync to the number of items to request per batch.
    This means, that during the loop, only this number of items will be retrieved from the API and updated. The script will run until all items were updated.

Option 2: Sync entries in batches

The script will process the entries step by step

  • setup your cronjob to a small interval (e.g. 5 minutes)
  • set processAll = 0
  • with every call from the scheduler only a small batch of jobs will be processed.
    It might take several runs until everything is updated.
sync {

     # if external media should be copied to fileadmin. Path is defined in `externalMedia.path`
     copyMedia = 1

     # process all entries in a single run? (`0` will execute the update in small portions with every scheduler call)
     processAll = 1

     # if `processAll = 1`: Total max number of loop-runs to prevent DoS.
     # Must be higher than `( [number_of_jobs_in_zvoove] / $maxItemsPerRequest) + ([number_of_jobs_in_zvoove] / $maxItemsPerLocalSync)`
     processAllMaxRuns = 2000

     # how often to update the list from the API (in seconds, 3600 = every hour)
     processInterval = 3600

     # in case there was a problem during last execution, restart the sync after a max duration of (in seconds)
     maxExecutionTime = 7200

     # only update entries with newer modification date
     respectModificationDate = 1

     # Max items during loading the overview of all vacancies to sync
     maxItemsPerRequest = 15

     # Max items during syncing detail-data with local database
     maxItemsPerLocalSync = 15

     # automatically append (m/w/d) if not already in title?
     appendGender = 1

     # automatically clean HTML-code from zvoove?
     cleanHtml = Aufgaben,Stellenziel,description

     # where to save objects (categories / filters)
     objectsPid =
}