in2code-de / in2publish_core

in2publish Community Version
https://www.in2code.de/produkte/content-publisher/
GNU General Public License v3.0
40 stars 23 forks source link

Conflict between in2publish_core and bynder #66

Closed Vasile-Loghin-Reea closed 9 months ago

Vasile-Loghin-Reea commented 5 years ago

We are using in2publish_core version 7.0.3 on the staging website, from where we publish pages and content to the live website. Both websites are running on TYPO3 8.7.24, on an apache/linux system. in2publish_core is installed only on the staging website. On both websites, staging and live, we have installed the bynder extension (https://extensions.typo3.org/extension/bynder/), which integrates the bynder DAM (https://www.bynder.com/en/) into TYPO3. Now we come to the problem: if bynder is installed on any of the 2 websites, stage or live, or on both simultaneously, then when we try to publish a page that contains any kind of image content element, whether added directly from TYPO3 or from Bynder, the publishing crashes. It throws the following error:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1476281965: Could not execute RPC [6169]. Errors and Output: Oops, an error occurred: Metadata can only be retrieved for indexed files. UID: "0" | RuntimeException thrown in file /home/www-data/stage.the-website.com/typo3conf/ext/in2publish_core/Classes/Domain/Driver/RemoteFileAbstractionLayerDriver.php in line 719. Requested URL: http://the-website.com/typo3/index.php?M=web_In2publishCoreM1&moduleToken=--AnonymizedToken--&id=1724&tx_in2publishcore_web_in2publishcorem1%%5Bidentifier%%5D=1724&tx_in2publishcore_web_in2publishcorem1%%5Baction%%5D=publishRecord&tx_in2publishcore_web_in2publishcorem1%%5Bcontroller%%5D=Record

If we uninstall the bynder extension from both websites, stage and live, the publishing works again flawlessly.

We have managed to narrow down the problem to a section of code in ext_localconf.php in the bynder extension, which, if it is commented out, then even if bynder is installed on both stage and live, the publishing process is working. This is the section of code:

// Register the FAL driver for Bynder
$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['registeredDrivers']['bynder'] = [
    'class' => \BeechIt\Bynder\Resource\BynderDriver::class,
    'label' => 'Bynder',
    // @todo: is currently needed to not break the backend. Needs to be fixed in TYPO3
    'flexFormDS' => 'FILE:EXT:bynder/Configuration/FlexForms/BynderDriverFlexForm.xml'
];

This piece of code registers another custom driver to FAL for the image processing, besides the standard Local driver. The configuration that results is the following, if we look in the TYPO3 backend in the Configuration module:

fal >
registeredDrivers >
bynder >
    class = BeechIt\Bynder\Resource\BynderDriver
    flexFormDS = FILE:EXT:bynder/Configuration/FlexForms/BynderDriverFlexForm.xml
    label = Bynder
Local >
    class = TYPO3\CMS\Core\Resource\Driver\LocalDriver
    flexFormDS = FILE:EXT:core/Configuration/Resource/Driver/LocalDriverFlexForm.xml
    label = Local filesystem
    shortName = Local

Here is also a screenshot of the FAL configuration in $GLOBALS['TYPO3_CONF_VARS']: https://imgur.com/317eq2U

Of course, this piece of code can not be left commented out, as without it the bynder integration is not working correctly, so simply leaving it out would not be a solution.

So now to the question: are there any known problems that in2publish_core might have with additional registered FAL drivers, such as this one from Bynder? If yes, are there any solutions that we might apply?

Vasile-Loghin-Reea commented 5 years ago

In the meantime we have updated in2publish_core to the latest version available, 8.1.0, but with the same results, it still throws that error mentioned in the previous post.

vertexvaar commented 9 months ago

Closing, because nothing happened for nearly 5 years.