Open
Description
Currently t3api uses FileReferenceHandler and FileReferenceSubscriber for the serialisation of FileReference. However, it might be more efficient and straightforward to let the JMS serialiser handle the serialisation of FileReference directly.
Benefits of this approach is simplicity. By allowing the JMS serialiser to handle FileReference directly, we can reduce the complexity of our codebase by removing the FileReferenceHandler and FileReferenceSubscriber.
This is breaking change as structure of FileReference will change however a simple backward compatibility fix is easy.
Just register old handler and subscriber in some of your local extension like this:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['t3api']['serializerSubscribers'][] = \SourceBroker\T3api\Serializer\Subscriber\FileReferenceSubscriber::class;
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['t3api']['serializerHandlers'][] = \SourceBroker\T3api\Serializer\Handler\FileReferenceSubscriber::class;
Steps:
- Remove declaration of FileReferenceSubscriber and FileReferenceSubscriber from $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['t3api']['serializerSubscribers'], $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['t3api']['serializerHandlers']
- Test FileReference read / add / remove.
- Write backward compatibility note.
- Write documentation about YAML level configuration for FileReference and File.