Service BW Extension 

Extension key

service_bw2

Package name

jweiland/service-bw2

Version

main

Language

en

Author

Stefan Froemken, Hoja Mustaffa Abdul Latheef

License

This document is published under the Creative Commons BY 4.0 license.

Rendered

Tue, 12 May 2026 08:37:33 +0000


This extensions provides the possibility to integrate parts of Service BW (https://www.service-bw.de/) to your website.


Table of Contents:

Introduction 

What does it do? 

This extensions provides the possibility to integrate parts of Service BW (https://www.service-bw.de/) to your website.

You can integrate the following parts:

  • Departments (Organisationseinheiten)
  • Circumstance (Lebenslagen)
  • Services (Leistungen)

Installation 

Composer 

If your TYPO3 installation works in composer mode, please execute following command:

composer req jweiland/service-bw2
vendor/bin/typo3 extension:setup --extension=service_bw2
Copied!

If you work with DDEV please execute this command:

ddev composer req jweiland/service-bw2
ddev exec vendor/bin/typo3 extension:setup --extension=service_bw2
Copied!

ExtensionManager 

On non composer based TYPO3 installations you can install service_bw2 still over the ExtensionManager:

  1. Login

    Login to backend of your TYPO3 installation as an administrator or system maintainer.

  2. Open ExtensionManager

    Click on Extensions from the left menu to open the ExtensionManager.

  3. Update Extensions

    Choose Get Extensions from the upper selectbox and click on the Update now button at the upper right.

  4. Install service_bw2

    Use the search field to find service_bw2. Choose the service_bw2 line from the search result and click on the cloud icon to install service_bw2.

Next step 

Configure service_bw2.

Configuration 

Please follow these steps to configure service_bw2:

  1. Extension Settings

    Login to TYPO3 backend as an admin or system maintainer and chose Settings from the left menu. Click on Configure Extensions and chose service_bw2. Fill in the needed values as described here: Extension Settings

  2. Scheduler Tasks

    service_bw2 does not work with LIVE data from Service BW API. It only works with cached data. That prevents TYPO3 to show error messages in frontend, if Service BW API is temporary not available.

    Please head over to the scheduler module in TYPO3 backend and create a new task:

    • Class Execute console commands
    • Type: recurring
    • Frequency: We recommend 86400
    • Scheduleable Command: servicebw:cachewarmup
    • Click Save to reload and show the further options:
    • Activate option: include-lebenslagen
    • Activate option: include-leistungen
    • Activate option: include-organisationseinheiten
    • Option locales: leave empty, to collect records for all allowed languages
    • Save and close the task to return to the task overview

    Execute the task manually the first time.

  3. Create Pages

    Now you need to create some pages for list and detail view for all services (Organisationseinheiten, Lebenslagen, Leistungen) you want to show:

    Example Page Tree
  4. Configure TypoScript

    We prefer to set at least all the PIDs in TS settings. That will prevent you to set all these PIDs in each plugins individually.

    See TypoScript how to set defaults for all plugins.

  5. Add Plugins

    For all created pages you need to add the Service BW plugin.

    Choose plugin from content element wizard

    The plugin contains a selectbox to choose the Display mode. Select the desired display mode for your page.

    In case of Organisationseinheiten list view there is an additional field you should fill Choose items to display. We prefer choosing the first item from the left list element to show all available items in frontend.

    If you have configured the PIDs with help of TypoScript you can save the plugin now. Else you have to set all these PIDs for list and detail view individually.

Extension Settings 

After the installation you need to configure the extension settings. Login to TYPO3 backend as an administrator or system maintainer and chose Settings from the left main menu. Click Configure Extensions from the first panel and chose service_bw2 from the extension list.

Open Extension Settings
Locate Extension Settings for service_bw2

Tab: Basic 

Mandant 

Default: <empty>

The mandant number of the city.

Bearer Accesstoken for Service BW API 

Default: <empty>

The Bearer Access Token to get access to Service BW API endpoint. You can retrieve one from here: https://sgw.service-bw.de/rest-v2/documentation/ Scoll down to "Authentifizierung: Token", click on "Try it out" and enter your credentials and click on "Execute". You will find the Bearer Token below in "Response Body". Copy over the full string incl. the "Bearer" word.

Base URL 

Default: https://sgw.service-bw.de:443/

The URL where we can access the API of Service BW. In most cases there is no need to change that value.

It's just [scheme:domain:port]. Do not enter a path to a specific API version, as service_bw2 does that for you automatically in ServiceBwClient class. service_bw2 will use the API V2 endpoint internally.

Allowed languages 

Default: de=0;en=0;fr=0

This is important if your website is multi language.

Format: [2 letters language ISO code]=[sys_language_uid].

Assign multiple languages with ";".

Example: de=2;en=5.

First value will be used as default language.

AGS 

Default: <empty>

German description of Service BW API:

Optional parameter for API requests. Leave empty to not use this filter option.

Gebiet ID 

Default: <empty>

German description of Service BW API:

Optional parameter for API requests. Leave empty to not use this filter option.

TypoScript 

service_bw2 needs some basic TypoScript configuration. To do so you have to add an +ext template to either the root page of your website or to a specific page which contains the service_bw2 plugin.

  1. Locate page

    You have to decide where you want to insert the TypoScript template. Either root page or page with service_bw2 plugin is OK.

  2. Create TypoScript template

    Switch to template module and choose the specific page from above in the pagetree. Choose Click here to create an extension template from the right frame. In the TYPO3 community it is also known as "+ext template".

  3. Add static template

    Choose Info/Modify from the upper selectbox and then click on Edit the whole template record button below the little table. On tab Includes locate the section Include static (from extension). Use the search above Available items to search for service_bw2. Hopefully just one record is visible below. Choose it, to move that record to the left.

  4. Save

    If you want you can give that template a name on tab "General", save and close it.

  5. Constants Editor

    Choose Constant Editor from the upper selectbox.

  6. service_bw2 constants

    Choose PLUGIN.TX_SERVICEBW2 from the category selectbox to show just service_bw2 related constants

  7. Configure constants

    Adapt the constants to your needs. We prefer to set all these pidOfListPage and pidOfDetailPage constants. That prevents you from setting all these PIDs in each plugin individual.

  8. Configure TypoScript

    As constants will only allow modifying a fixed selection of TypoScript you also switch to Info/Modify again and click on Setup. Here you have the possibility to configure all service_bw2 related configuration.

View 

templateRootPaths

templateRootPaths
type

array

Default

EXT:service_bw2/Resources/Private/Templates/

Path

plugin.tx_servicebw2.view.*

You can override our Templates with your own SitePackage extension. We prefer to change this value in TS Constants.

partialRootPaths

partialRootPaths
type

array

Default

EXT:service_bw2/Resources/Private/Partials/

Path

plugin.tx_servicebw2.view.*

You can override our Partials with your own SitePackage extension. We prefer to change this value in TS Constants.

layoutsRootPaths

layoutsRootPaths
type

array

Default

EXT:service_bw2/Resources/Layouts/Templates/

Path

plugin.tx_servicebw2.view.*

You can override our Layouts with your own SitePackage extension. We prefer to change this value in TS Constants.

Settings 

overridePageTitle

overridePageTitle
type

boolean

Default

0 (false)

Path

plugin.tx_servicebw2.settings

Set to 1 (true) to override the page title in show actions with item name.

organisationseinheiten.pidOfListPage

organisationseinheiten.pidOfListPage
type

int

Default

(none)

Path

plugin.tx_servicebw2.settings

If you need a link in a detail view to go back into list view please fill that value with a page UID where the plugin for Organisationseinheiten resides.

organisationseinheiten.pidOfDetailPage

organisationseinheiten.pidOfDetailPage
type

int

Default

(none)

Path

plugin.tx_servicebw2.settings

For design resons it may make sense to link an Organisationseinheit onto its own page UID.

leistungen.pidOfListPage

leistungen.pidOfListPage
type

int

Default

(none)

Path

plugin.tx_servicebw2.settings

If you need a link in a detail view to go back into list view please fill that value with a page UID where the plugin for Leistungen resides.

leistungen.pidOfDetailPage

leistungen.pidOfDetailPage
type

int

Default

(none)

Path

plugin.tx_servicebw2.settings

For design resons it may make sense to link a Leistung onto its own page UID.

lebenslagen.pidOfListPage

lebenslagen.pidOfListPage
type

int

Default

(none)

Path

plugin.tx_servicebw2.settings

If you need a link in a detail view to go back into list view please fill that value with a page UID where the plugin for Lebenslagen resides.

lebenslagen.pidOfDetailPage

lebenslagen.pidOfDetailPage
type

int

Default

(none)

Path

plugin.tx_servicebw2.settings

For design reasons it may make sense to link a Lebenslage onto its own page UID.

Maps2 

If not already done, then you need to configure maps2, because service_bw2 has a maps2 integration for departments. Take a look into the maps2 documentation for that.

Solr Configuration 

The Solr integration in the ServiceBW extension allows indexing and searching of service portal content. It covers indexer configuration and logging configuration related to Solr.

The extension supports the integration of the following content into a Solr search:

  • Organizational Units (Organisationseinheiten)
  • Life Situations (Lebenslagen)
  • Services (Leistungen)

Here are the steps to include default configuration to your TypoScript configuration.

  1. Root page where solr is configured

    You have to insert the TypoScript template where the solr is configured.

  2. Create TypoScript template

    Switch to template module and choose the specific page from above in the pagetree. Choose Click here to create an extension template from the right frame. In the TYPO3 community it is also known as "+ext template".

  3. Add static template

    Choose Info/Modify from the upper selectbox and then click on Edit the whole template record button below the little table. On tab Includes locate the section Include static (from extension). Use the search above Available items to search for service_bw2. Hopefully there will be a record Service BW2 - Search available. Choose it, to move that record to the left.

  4. Save

    If you want you can give that template a name on tab "General", save and close it.

  5. Constant Editor

    Choose Constant Editor from the upper selectbox.

  6. service_bw2 constants

    Choose PLUGIN.TX_SERVICEBW2 from the category selectbox to show just service_bw2 related constants

  7. Configure constants

    Adapt the constants to your needs. We prefer to set all these detail page constants for solr indexing.

  8. Configure TypoScript

    As constants will only allow modifying a fixed selection of TypoScript you also switch to Info/Modify again and click on Setup. Here you have the possibility to configure all service_bw2 related configuration.

Indexing Configuration 

Here are the included solr indexing configuration included with the extension.

plugin.tx_solr.index.queue {
  tx_servicebw2_organisationsEinheiten {
    indexer {
      detailPage = {$plugin.tx_servicebw2.solr.organisationsEinheiten.detailPage}
    }
    fields {
      title = name
      content = processed_textbloecke
      organisationseinheit_textM = processed_organisationseinheit
      url = TEXT
      url {
        typolink.parameter = {$plugin.tx_servicebw2.solr.organisationsEinheiten.detailPage}
        typolink.additionalParams = &tx_servicebw2_organizationalunitsshow[id]={field:uid}&tx_servicebw2_organizationalunitsshow[action]=show&tx_servicebw2_organizationalunitsshow[controller]=Organisationseinheiten
        typolink.additionalParams.insertData = 1
        typolink.useCacheHash = 1
        typolink.returnLast = url
      }
    }
  }

  tx_servicebw2_lebenslagen {
    indexer {
      detailPage = {$plugin.tx_servicebw2.solr.lebenslagen.detailPage}
    }

    fields {
      title = name
      content = processed_textbloecke

      url = TEXT
      url {
        typolink.parameter = {$plugin.tx_servicebw2.solr.lebenslagen.detailPage}
        typolink.additionalParams = &tx_servicebw2_lifesituationsshow[id]={field:uid}&tx_servicebw2_lifesituationsshow[action]=show&tx_servicebw2_lifesituationsshow[controller]=Lebenslagen
        typolink.additionalParams.insertData = 1
        typolink.useCacheHash = 1
        typolink.returnLast = url
      }
    }
  }

  tx_servicebw2_leistungen {
    indexer {
      detailPage = {$plugin.tx_servicebw2.solr.leistungen.detailPage}
    }

    fields {
      title = name
      content = processed_textbloecke

      url = TEXT
      url {
        typolink.parameter = {$plugin.tx_servicebw2.solr.leistungen.detailPage}
        typolink.additionalParams = &tx_servicebw2_servicesshow[id]={field:uid}&tx_servicebw2_servicesshow[action]=show&tx_servicebw2_servicesshow[controller]=Leistungen
        typolink.additionalParams.insertData = 1
        typolink.useCacheHash = 1
        typolink.returnLast = url
      }
    }
  }
}

plugin.tx_solr.logging.indexing.queue.tx_servicebw2_organisationsEinheiten = 1
plugin.tx_solr.logging.indexing.queue.tx_servicebw2_lebenslagen = 1
plugin.tx_solr.logging.indexing.queue.tx_servicebw2_leistungen = 1
Copied!

|

The above configuration is related to the TYPO3 extension Solr, which is used for integrating Solr search functionality into a TYPO3 website. Let's break down the configuration:

Indexing Configuration 

Three distinct Solr index queues are defined:

  • tx_servicebw2_organisationsEinheiten
  • tx_servicebw2_lebenslagen
  • tx_servicebw2_leistungen

Each index queue includes specific settings under the indexer section, notably the detailPage setting, which specifies the detail page for the corresponding content type.

Field Mapping 

For each index queue, the fields section dictates the mapping of fields from TYPO3 content to Solr fields. Key mappings include:

  • title and content: Mapping to standard Solr fields.
  • organisationseinheit_textM: A custom field for organizational units.
  • url: Dynamically generated URLs for linking to content in the Solr index.

URL Generation 

The url field for each index queue is configured using TypoScript's TEXT object. This allows for the dynamic generation of URLs based on specified typolink parameters. These URLs are included in the Solr index for enhanced navigation.

Logging Configuration 

Logging settings are configured for each index queue to facilitate monitoring during the Solr indexing process. The logging is activated for the following index queues:

  • tx_servicebw2_organisationsEinheiten
  • tx_servicebw2_lebenslagen
  • tx_servicebw2_leistungen

Content Types Covered 

This configuration is tailored for the ServiceBW extension and covers the following content types for Solr indexing:

  • tx_servicebw2_organisationsEinheiten: Organizationalal Units
  • tx_servicebw2_lebenslagen: Life Situations
  • tx_servicebw2_leistungen: Services

By following this configuration, the Solr extension ensures that relevant content fields are accurately mapped, URLs are dynamically generated, and indexing actions are logged for monitoring purposes.

Users Manual 

The extension adds a plugin called "Service BW". This plugin is well configurable thanks to flex forms.

Service BW plugin settings

There are three types of items right now. The important thing is that some of them are connected to other types. For example a department (Organisationseinheit) can have some Services (Leistungen). Because of that behaviour you have to set the detail and list pages in every Service BW plugin.

Example configuration

Type specific configuration 

There may be some additional configuration for a type. In this section you can take a look at those settings.

Departments (Organisationseinheiten) 

List view 

Choose items to display (recursive)
Most time it´s not necessary to display all departments with all children in one list. You can define one or more start points with this setting. For example: Your city is a department and all city related departments are children of the city department. In this case you select the city department as starting point to get a cleaner list.

Detail view 

This extension has a ext:maps2 integration for departments. The address provided by the Service BW API will be used to create maps2 records for a department.

Where to store maps2 records of Organisationseinheit items?
The folder where maps2 records for service_bw2 have to stay.
Detail page for maps2 poi collection
The detail page to display maps2 records coming from a department detail view.
Example configuration

Services (Leistungen) 

Detail view 

Region IDs (comma separated list)
The region id will be used to display forms (API name: Externe Formulare) by region and service (Leistung)
Hide selected assigned life situations
In this case assigned life situations are departments (Organisationseinheiten). Maybe you don´t want that your cities "main" department will be listed on every page. Then you can add those department(s) to the list.
Example settings

Administrator 

Declaration of Innocence 

All endpoints of the Service BW API are in German. Every method, every property, every explanation, every thing is in German. We have tried our best, but as we have a request class for each API endpoint, we had trouble finding the right request class for the German API endpoint. That's why we have adapted the German API endpoint to our request classes. That's why you will find German PHP classes in our extension. We are not happy with this situation, but it does reduces our support and simplifies the extensibility of service_bw2 a lot.

Service BW API 

Service BW REST API comes with two API versions: V1 and V2.

V1 contains a note, that you should use V2, if possible. V2 contains a note, that it is still in active development.

Currently, service_bw2 uses the Service BW REST API in version 2.

Here are the official links to the API documentation:

If you're interested you can authorize there and test the API endpoints.

Upgrade 

Version 9.0.0 

With this release, we have introduced significant changes to the extension. Although the major version has been increased, this version remains compatible with TYPO3 13 only. The following sections describe the breaking changes in detail.

Removed ModifyServiceBwResponseEvent 

This event was originally introduced to add further data to the resulting cache entry of a requested record.

With the newly implemented cache strategy, cache data can now be retrieved by using a UID. This makes it possible to relate cache records more directly and removes the need for additional enrichment of cached data.

If you used this event, we recommend enriching the data before frontend output by using DataProcessors instead.

Removed SucheController 

We have renamed the SucheController to SearchController.

Removed ClearCacheHook 

As all fetched data will not be stored in TYPO3 cache anymore, there is no need to clear any cache with this class anymore.

Removed LeistungenHelper 

The LeistungenHelper has been removed because its responsibilities were unclear and the implementation caused unnecessary additional API calls.

Previously, data fetched from the Service BW API triggered an event, which then called the extension's own LeistungenEventListener. This listener made an additional request to the Service BW API and stored the result in a separate TYPO3 cache that was only used by a ViewHelper.

This workflow has been removed in favor of a simpler and more transparent data handling approach.

Removed AlphabeticalIndexUtility 

We have migrated AlphabeticalIndexUtility from a utility class with static method calls to AlphabeticalIndexService.

Removed ModelUtility 

We have removed ModelUtility. Utility classes should never have any dependencies to further services. For migration please use our new Repository classes or make your own calls with our brand new Service BW Client class in your own TYPO3 Extension.

Removed ServiceBwUtility 

The previous configuration suggested that custom repository classes could be provided for Service BW integrations. However, this was misleading: ServiceBwUtility only supported a fixed set of repository classes, and it was not possible to add or remove repositories dynamically.

To make this limitation explicit, we removed the dynamic repository concept from the extension. Instead, the available controller types are now represented by the new ControllerTypeEnum.

Use the new RepositoryFactory and ProviderFactory classes together with ControllerTypeEnum to retrieve the supported repository and provider instances.

Removed TCAUtility 

With the removal of this class we could get rid of all the service_bw2 dependencies in 3 further of our extensions. This helps us a lot while upgrading the extensions individual. No need to wait for service_bw2 to be ready.

For migration: Please implement the TCA for selectMultipleSideBySide on your own. Create a user-func for itemsProcFunc or create your own TCA render-type to fill the selectbox with Organisationseinheiten. Please use our new OrganisationseinheitenRepository to retrieve the data.

Removed LeistungenAdditionalDataViewHelper 

The LeistungenAdditionalDataViewHelper has been removed as part of the removal of LeistungenHelper described above.

It was previously used to check whether related "formulare" and "prozesse" existed. This check is now handled through the new Record model, which is populated with all data fetched from the Service BW API.

Since the required data is now available directly on the model, the existence check can be implemented more simply and without the previous ViewHelper.

Removed Request Folder 

We have removed full Request folder. Yes, there is a new Request folder in Classes/Client, but these are not copies, these are complete new PHP classes for our brand new Service BW Client class.

Removed LocalizationHelper 

The LocalizationHelper has been removed because it was not clear whether the handled language referred to a TYPO3 language or to a language from the Service BW API.

In addition, access to the global TYPO3_REQUEST object should be avoided.

As an alternative, the new LanguageHelper has been introduced. Its method names clearly indicate which values are expected as input and which values are returned. This makes it explicit in every place whether a TYPO3 language or a Service BW language is being handled.

Authorization Handling 

We removed the authentication via username and password entirely from the extension. You no longer need to store sensitive login credentials in any configuration.

Following the official Service BW API guidelines, the extension now exclusively relies on long-lived Bearer Tokens.

Benefits of this change:

  • Security: No master credentials are saved in the TYPO3 database or configuration files.
  • Simplicity: The extension logic is reduced, because login handshakes and token refresh cycles are no longer necessary.
  • Stability: The generated tokens are permanently valid according to the Service BW API.

You can request a new Bearer Token in the official Service BW API documentation under the section Authentifizierung: Token. For detailed instructions on how to apply this token within your TYPO3 installation, please refer to the configuration section.

Version 8.0.0 

In this release, we've addressed compatibility issues with TYPO3 13 LTS and have streamlined compatibility by removing support for lower versions.

Version 7.0.0 

In this release, we've addressed compatibility issues with TYPO3 12 LTS and have streamlined compatibility by removing support for lower versions. A crucial step in this version upgrade is to execute the upgrade wizard, ensuring a smooth transition of all switchable controller actions to separate plugins.

Version 6.0.0 

We have migrated the Solr Indexer Task into a command. Please copy the values of the old tasks, delete the tasks, create new scheduler tasks of type Execute console command, choose servicebw2::preparesolrindex and save the task. After the reload new fields for the chosen command will be visible. Fill in the values from above and save again.

Version 5.0.0 

We updated the whole extension because of the Service BW API Version 2. There is a new much simpler ServiceBwClient which can be used for all API requests (even for version 1).

We removed the post processors and post processor hook of ServiceBwClient. If you added a custom or extended an existing one then keep in mind that these no longer work.

If you added your own requests, you have to update them. Use JWeiland\ServiceBw2\Request\AbstractRequest as base and take a look at the other request classes to build your own one. The newer ServiceBwClient is much easier to understand so it should not take very long to migrate your old request classes.

Custom fluid templates must also be updated due to the new object structure from API v2. To do this, use the existing templates and go through the templates piece by piece.

Third party extensions that use JWeiland\ServiceBw2\Utility\TCAUtility and JWeiland\ServiceBw2\Utility\ModelUtility should not be affected. We updated those classes but kept the public methods and properties.

Version 3.0.0 

We have simplified the Plugin Configuration. That's why you have to change your TS Setup and TS Constants from

plugin.tx_servicebw2_servicebw

to

plugin.tx_servicebw2

Version 2.1.1 

Bugfix Release for TYPO3 9.

As there is no StringFrontend in Caching System of TYPO3 9 anymore we had to switch over to VariableFrontend. Now the cache data itself will be stored in another format, that's why you have to Clear all Caches.

ChangeLog 

Version 9.0.4 

  • [BUGFIX] Introduce retry mechanism for API requests

Version 9.0.3 

  • [BUGFIX] Increate max number of records to retrieve in ServiceBwClient

Version 9.0.2 

  • [BUGFIX] Improve filtering and depth limiting of organisationseinheiten

Version 9.0.1 

  • [BUGFIX] Correct variable and partial names in OE templates

Version 9.0.0 

  • Implemented over 100 commits. Please see section "Upgrade" on how to upgrade to this version.

Version 8.0.6 

  • [Task] Implement an indexer, aligned with the approach used in the "solr" extension.

Version 8.0.5 

  • [TASK] Do not execute unit/func tests on push (main)
  • [TASK] Mark OrganisationseinheitenItems as public
  • [TASK] Make ServiceBwClient stateless

Version 8.0.4 

  • [TASK] Repair Solr implementation for indexing service bw records
  • [TASK] Update version to 8.0.4 and require typo3/cms-install
  • [TASK] Prevent Solr class loading in Command constructors
  • [TASK] Refactor commands to use local variables instead of class properties
  • [TASK] Modernize code using readonly classes and constructor promotion
  • [TASK] Register LeistungenListener via PHP attributes and rename to EventListener
  • [TASK] Improve SolrIndexService visibility and manual instantiation
  • [TASK] Remove CompileableRenderStatic trait from ViewHelpers
  • [TASK] Clean up TokenHelper (remove Singleton) and update logger injection
  • [TASK] Repair warmup command and functional tests
  • [TASK] Remove indexItem from Indexer (alignment with EXT:solr)
  • [TASK] Apply Coding Guidelines (CGL) and clean up test messages

Version 8.0.3 

  • [TASK] Updated wizard title with [extension] name format

Version 8.0.2 

  • [BUGFIX] Fixed DB Call with invalid PDO argument

Version 8.0.1 

  • [BUGFIX] Removed internal_type from FlexForm configuration
  • [BUGFIX] Removed enableMultiSelectFilterTextfield from FlexForm configuration
  • [TASK] Documentation updated migration from Settings to guides.xml

Version 8.0.0 

  • [TASK] Compatibility for TYPO3 13 LTS
  • [TASK] Removed Compatibility for lower versions from 12 LTS

Version 7.0.2 

  • [BUGFIX] Activate default configuration for solr index queue

Version 7.0.1 

  • [BUGFIX] Cast maps2Uid in ViewHelper to INT

Version 7.0.0 

  • [TASK] Compatibility for TYPO3 12 LTS
  • [TASK] Migrated Test Cases to TYPO3 Testing Framework
  • [TASK] Replaced all the deprecated internal API calls to core
  • [TASK] Implemented new Test Suite for git actions
  • [TASK] Added new upgrade wizard for migrating old switchable controller actions to separate plugins
  • [TASK] Removed TYPO3 Compatibility for lower versions from 11 LTS

Version 6.0.3 

  • [DOCU] Update section how to configure service_bw2
  • [TASK] Set TYPO3 scheduler as dependency
  • [TASK] Update .gitignore and .editorconfig

Version 6.0.2 

  • Do not try to index (EXT:solr) empty records
  • Create own TYPO3 log file (var/log/typo3_servicebw2_[hash])
  • Add flash messages to show actions, if a record could not be found

Version 6.0.1 

  • Convert all parent IDs for filtering to int

Version 6.0.0 

  • Add TYPO3 11 compatibility
  • Remove TYPO3 9 compatibility
  • We keep PHP 7.3 compatibility for better migration
  • Check TS path in OrganisationseinheitPoiCollectionUidViewHelper before using it
  • Migrate scheduler task to Symfony command
  • Remove old repo2model mapping
  • Rename TSConfig files to *.tsconfig
  • Better structure for WarmUpCommand
  • Set indent size in docs to 4 spaces
  • Rename DataHandler Hook class

Version 5.0.7 

  • Add .gitattributes
  • Use correct structure for headlines in documentation

Version 5.0.6 

  • Implement new structure to documentation
  • Check value for string before calling setPageTitle()

Version 5.0.5 

  • Catch and log exceptions while requesting Service BW API

Version 5.0.4 

  • Add exclude argument for textbloecke

Version 5.0.3 

  • Add lang attribute to all fluid templates
  • Use full set of method arguments to build cache identifier
  • Show textbloacke of type preamble in frontend again

Version 5.0.2 

  • Remove deprecated TCA option enableMultiSelectFilterTextfield

Version 5.0.1 

  • Delete solr documents for all other languages, too

Version 5.0.0 

Text in quotation marks are original terms from Service BW and therefore in German language.

  • Rewrite ServiceBwClient to be easier to understand and easier to use
  • Remove ServiceBwClient PostProcessors and ServiceBwClient PostProcessor hook
  • Remove all repositories that has been used for API requests
  • Remove all API v1 request classes
  • Replace all repository usages by the new request classes
  • Update fluid templates to work with latest jweiland musterprojekt template
  • Update fluid templates to work with API v2
  • Add contact persons to "Organisationseinheiten" detail view
  • Add electronic forms "Prozesse" to "Leistung" detail view
  • Update "Lebenslagen" list view from glossar to a tree
  • Remove TYPO3 v9 compatibility
  • Add event to modify Service BW API responses before they get cached (Hook)

Version 4.0.1 

  • Add missing Aspect Mapper for RouteEnhancer

Version 4.0.0 

  • Remove TYPO3 8 compatibility
  • Add TYPO3 10 compatibility

Version 3.0.1 

  • Region IDs will internally be used as arrays instead of comma separated values
  • If Region IDs are not known you can add AGS or ZIP to help finding Region IDs.
  • Update Documentation

Version 3.0.0 

  • Breaking: Switched Plugin Namespace in TS from plugin.tx_servicebw2_servicebw to plugin.tx_servicebw2
  • Add TypoScriptService to merge filled TS settings into empty FlexForm settings.
  • Add Fluid Namespace to all Fluid Templates
  • Use AbstractViewHelper of Typo3Fluid package
  • Add FlexForm overview to Page->show module
  • Add configuration for newContentElementWizard
  • Move tt_content changing TCA into TCA/Overrides

Version 2.1.1 

  • Remove strict type from processRequest in ServiceBwClient, as this method can also return null, array and string
  • Switch over from StringFrontend to VariableFrontend. You have to clear Cache completely.
  • Update Documentation

Sitemap