Uploaded image for project: 'Ibexa IBX'
  1. Ibexa IBX
  2. IBX-6841

Dam/Unsplash integration unstable against service issues

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • 4.6.x-dev, 5.0.x-dev, 4.6.9
    • 4.5.3
    • None
    • None

    Description

      1. Properly configure Unsplash as a DAM.
      2. Create a content type with an ezimageasset field and create multiple contents of the content type using images from Unsplash.
      3. Check that the contents and their parents can be requested in the backoffice.
      4. Misconfigure application_id and secret for Unsplash so that requests will fail. This also simulates request failure if the DAM was unavailable.

      Expected result:

      Some kind of "graceful" handling of the external service being unavailable and the backoffice still being functional.

      Actual result:

      Exceptions when navigating in the content tree like this one:

      Crew\Unsplash\Exception:
      ["OAuth error: The access token is invalid"]
      
        at vendor/unsplash/unsplash/src/Endpoint.php:98
        at Crew\Unsplash\Endpoint::__callStatic('get', array('/photos/5mZ_M06Fc9g'))
           (vendor/unsplash/unsplash/src/Photo.php:23)
        at Crew\Unsplash\Photo::find('5mZ_M06Fc9g')
           (vendor/ibexa/connector-unsplash/src/lib/UnsplashClient.php:45)
        at Ibexa\Connector\Unsplash\UnsplashClient->find('5mZ_M06Fc9g')
           (vendor/ibexa/connector-unsplash/src/lib/Handler/Handler.php:34)
        at Ibexa\Connector\Unsplash\Handler\Handler->fetchAsset('5mZ_M06Fc9g')
           (vendor/ibexa/connector-dam/src/lib/AssetService.php:51)
        at Ibexa\Connector\Dam\AssetService->get(object(AssetIdentifier), object(AssetSource))
           (vendor/ibexa/connector-dam/src/lib/Rest/FieldTypeProcessor/ImageAssetFieldTypeProcessor.php:59)
        at Ibexa\Connector\Dam\Rest\FieldTypeProcessor\ImageAssetFieldTypeProcessor->postProcessValueHash(array('destinationContentId' => '5mZ_M06Fc9g', 'alternativeText' => null, 'source' => 'unsplash'))
           (vendor/ibexa/rest/src/lib/Output/FieldTypeSerializer.php:150)
        at Ibexa\Rest\Output\FieldTypeSerializer->serializeValue('fieldValue', object(Json), object(FieldType), object(Value))
           (vendor/ibexa/rest/src/lib/Output/FieldTypeSerializer.php:52)
        at Ibexa\Rest\Output\FieldTypeSerializer->serializeFieldValue(object(Json), object(ContentType), object(Field))
           (vendor/ibexa/rest/src/lib/Server/Output/ValueObjectVisitor/Version.php:83)
        at Ibexa\Rest\Server\Output\ValueObjectVisitor\Version->visitField(object(Json), object(ContentType), object(Field))
           (vendor/ibexa/rest/src/lib/Server/Output/ValueObjectVisitor/Version.php:118)
        at Ibexa\Rest\Server\Output\ValueObjectVisitor\Version->visitVersionAttributes(object(Visitor), object(Json), object(Version))
           (vendor/ibexa/rest/src/lib/Server/Output/ValueObjectVisitor/Version.php:54)
        at Ibexa\Rest\Server\Output\ValueObjectVisitor\Version->visit(object(Visitor), object(Json), object(Version))
           (vendor/ibexa/rest/src/contracts/Output/ValueObjectVisitorDispatcher.php:74)
        at Ibexa\Contracts\Rest\Output\ValueObjectVisitorDispatcher->visit(object(Version))
           (vendor/ibexa/rest/src/contracts/Output/Visitor.php:136)
        at Ibexa\Contracts\Rest\Output\Visitor->visitValueObject(object(Version))
           (vendor/ibexa/rest/src/lib/Server/Output/ValueObjectVisitor/RestContent.php:96)
        at Ibexa\Rest\Server\Output\ValueObjectVisitor\RestContent->visit(object(Visitor), object(Json), object(RestContent))
           (vendor/ibexa/rest/src/contracts/Output/ValueObjectVisitorDispatcher.php:74)
        at Ibexa\Contracts\Rest\Output\ValueObjectVisitorDispatcher->visit(object(RestContent))
           (vendor/ibexa/rest/src/contracts/Output/Visitor.php:136)
        at Ibexa\Contracts\Rest\Output\Visitor->visitValueObject(object(RestContent))
           (vendor/ibexa/admin-ui/src/lib/UI/Module/Subitems/ValueObjectVisitor/SubitemsRow.php:30)
        at Ibexa\AdminUi\UI\Module\Subitems\ValueObjectVisitor\SubitemsRow->visit(object(Visitor), object(Json), object(SubitemsRow))
           (vendor/ibexa/rest/src/contracts/Output/ValueObjectVisitorDispatcher.php:74)
        at Ibexa\Contracts\Rest\Output\ValueObjectVisitorDispatcher->visit(object(SubitemsRow))
           (vendor/ibexa/rest/src/contracts/Output/Visitor.php:136)
        at Ibexa\Contracts\Rest\Output\Visitor->visitValueObject(object(SubitemsRow))
           (vendor/ibexa/admin-ui/src/lib/UI/Module/Subitems/ValueObjectVisitor/SubitemsList.php:31)
        at Ibexa\AdminUi\UI\Module\Subitems\ValueObjectVisitor\SubitemsList->visit(object(Visitor), object(Json), object(SubitemsList))
           (vendor/ibexa/admin-ui/src/lib/UI/Module/Subitems/ContentViewParameterSupplier.php:217)
        at Ibexa\AdminUi\UI\Module\Subitems\ContentViewParameterSupplier->visitSubitemsList(object(SubitemsList))
           (vendor/ibexa/admin-ui/src/lib/UI/Module/Subitems/ContentViewParameterSupplier.php:142)
        at Ibexa\AdminUi\UI\Module\Subitems\ContentViewParameterSupplier->supply(object(ContentView))
           (vendor/ibexa/admin-ui/src/bundle/Controller/ContentViewController.php:167)
        at Ibexa\Bundle\AdminUi\Controller\ContentViewController->locationViewAction(object(Request), object(ContentView))
           (vendor/symfony/http-kernel/HttpKernel.php:163)
        at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
           (vendor/symfony/http-kernel/HttpKernel.php:75)
        at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
           (vendor/symfony/http-kernel/Kernel.php:202)
        at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
           (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
        at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
           (vendor/autoload_runtime.php:35)
        at require_once('/…/vendor/autoload_runtime.php')
           (public/index.php:5)                 

      Designs

        Attachments

          Activity

            People

              Unassigned Unassigned
              e4ce5fdc-6f92-47ea-b579-12c992989e8c@accounts.ibexa.co Matthias Schmidt
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: