Installation 

This extension does nothing all by itself. Connectors must be developed for specific third-party applications. However this extension must be installed since it provides the base class from which all connector services inherit.

Updating to 7.0.0 

Version 7.0.0 adds support for TYPO3 14 and drops support for TYPO3 12. It also adds support for PHP 8.5, while dropping support for PHP 8.1.

In version 6.0.0, passing the connector parameters to most API methods, particularly the fetch*() methods, had been deprecated. Support for this has been fully removed in version 7.0.0, making it possible to make the methods \Cobweb\Svconnector\Service\ConnectorBase abstract. This makes it mandatory to implement these methods in a custom connector service, although it's hard to imagine a custom service that didn't implement them. So you should be pretty safe. All impacted method signatures have been changed.

Signatures of methods \Cobweb\Svconnector\Utility\FileUtility::getFileContent() and \Cobweb\Svconnector\Utility\FileUtility::getFileAsTemporaryFile() have been changed, adding a new argument and deprecating an existing one. If you have developed a custom connector service using this API, please make sure to adapt your code.

Some method signatures in \Cobweb\Svconnector\Service\ConnectorServiceInterface have been changed to ensure stricter typing. You will to adapt your implementations.

The \Cobweb\Svconnector\Service\ConnectorBase::getCharsetConverter() has been removed since the TYPO3 Core does not provide a charset conversion class anymore as of version 14. Custom connector services should rely on mb_convert_encoding() instead.

The \Cobweb\Svconnector\Service\ConnectorBase constructor now uses dependency injection. If you overrode the constructor in your custom services, you will need to adapt your code.

All hooks have been removed, leaving only events.

Updating to 6.0.0 

Version 6.0.0 adds support for TYPO3 13 and drops support for TYPO3 11. It also adds support for PHP 8.4, while dropping support for PHP 7.4 and 8.0.

It introduces one new important method to the base API: initialize(), which is called by the registry when it collects all available services. Read more about it in the Developer's Guide.

Also new is the availability of a call context which - as its name implies - contains information about the context in which the service is being used. Another object called connection information may contain data than can be used to dynamically change the parameters passed to the service.

Most importantly, passing the connector parameters in the fetch*() methods has been deprecated. Instead, parameters must be passed when getting the connector from the registry:

$service = $connectorRegistry->getServiceForType('json', $parameters);
Copied!

When getServiceForType() is called, the connector's isAvailable() method is now called. If the connector is not available a \Cobweb\Svconnector\Exception\UnavailableServiceException is thrown.

This version also provides events in replacement of existing hooks for all connector services. All hooks have been deprecated and will be removed in the next major version. Please update your code if you have developed custom connectors.

The \Cobweb\Svconnector\Utility\FileUtility class has been modified to allow all connector services that make use of it to pass another method than GET and to send any array of headers. See the documentation for each connector service for details.

Finally it is now possible to register custom connectors using PHP attributes.

Updating to 5.0.0 

Version 5.0.0 adds support for TYPO3 12 and drops support for TYPO3 10. Most importantly it adapts to the deprecation of Services in the TYPO3 Core by implementing its own registry. As such the way to register services has completely changed and the Connector API has been modified as well (some methods were added, some removed and most methods were hardened with regards to strict typing, changing their signature).

All existing services need to be adapted, none will work anymore without some work. The changes to perform are:

  • change registration from ext_localconf.php to Configurations/Services.yaml
  • remove methods init() and reset()
  • add methods getType(), getName() and isAvailable()
  • all fetch*() methods, checkConfiguration() and query() need to adapt to the new base method signatures
  • ensure member variable protected string $extensionKey is declared

Updating to 4.0.0 

Version 4.0.0 adds support for TYPO3 11 and PHP 8.0, while dropping support for TYPO3 9. Apart from that it does not contain other changes and the update process should be smooth.

Updating to 3.4.0 

The sample configuration files have been changed to JSON format to easily allow for nested properties. If you have developed your own service and have defined a sample configuration file, you will need to change it to the new format. As always look at other existing connector services for examples (in particular, the "svconnector_json" extension which uses nested properties).

Also a new method was introduced as part of the Connector Sevice API: checkConfiguration() is expected to parse the connector configuration and return errors, warnings or notices as needed.