OMK-S | Derivative File Thumbnailer Problem

I run two versions of Omeka on the same remote server ( in separate directory )
PHP ( Version 7.0.31 ) Extension Imagick on the server

OMK CLASSIC ( Version 2.6.1 ) is running properly with the following parameters in the config.ini file:
fileDerivatives.strategy = “Omeka_File_Derivative_Strategy_Imagick”

OMK S ( Version 1.1.1) does not accept Imagick or ImageMagick parameter, but work with Gd in the local.config.php file :
‘Omeka\File\Thumbnailer’ => ‘Omeka\File\Thumbnailer\Gd’

I would like to use the Imagick to convert more format like TIFF.
Anyone can help ?

Serge Normand

What version of ImageMagick do you have?

Omeka S requires a somewhat more up-to-date version than Omeka Classic.

Thank you

I will have to check with my Host Provider ( Host Papa )

The Imagick Version :

3.4.3RC4 | release date 2017-05-23

That version should be more than new enough. It should work fine if you’re choosing the Imagick thumbnailer.

If you enable error logging we should log output about why thumbnails aren’t being created.

Error Log

Zend\ServiceManager\Exception\ServiceNotFoundException
Unable to resolve service “Omeka\File\Thumbnailer\imagick” to a factory; are you certain you provided it during configuration?
Zend\ServiceManager\Exception\ServiceNotFoundException: Unable to resolve service “Omeka\File\Thumbnailer\imagick” to a factory; are you certain you provided it during configuration? in /home/patr5456/public_html/omkt/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:687

The complete trace at the end | Here is my local.config file

image

Stack trace:
#0 /home/patr5456/public_html/omkt/vendor/zendframework/zend-servicemanager/src/ServiceManager.php(763): Zend\ServiceManager\ServiceManager->getFactory(‘Omeka\File\Thum…’)
#1 /home/patr5456/public_html/omkt/vendor/zendframework/zend-servicemanager/src/ServiceManager.php(227): Zend\ServiceManager\ServiceManager->doCreate(‘Omeka\File\Thum…’, NULL)
#2 /home/patr5456/public_html/omkt/application/src/File/ThumbnailManager.php(36): Zend\ServiceManager\ServiceManager->build(‘Omeka\File\Thum…’)
#3 /home/patr5456/public_html/omkt/application/src/File/TempFile.php(243): Omeka\File\ThumbnailManager->buildThumbnailer()
#4 /home/patr5456/public_html/omkt/application/src/Media/Ingester/Upload.php(83): Omeka\File\TempFile->storeThumbnails()
#5 /home/patr5456/public_html/omkt/application/src/Api/Adapter/MediaAdapter.php(158): Omeka\Media\Ingester\Upload->ingest(Object(Omeka\Entity\Media), Object(Omeka\Api\Request), Object(Omeka\Stdlib\ErrorStore))
#6 /home/patr5456/public_html/omkt/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Omeka\Api\Adapter\MediaAdapter->hydrate(Object(Omeka\Api\Request), Object(Omeka\Entity\Media), Object(Omeka\Stdlib\ErrorStore))
#7 /home/patr5456/public_html/omkt/application/src/Api/Adapter/ItemAdapter.php(214): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Media), Object(Omeka\Stdlib\ErrorStore))
#8 /home/patr5456/public_html/omkt/application/src/Api/Adapter/AbstractEntityAdapter.php(552): Omeka\Api\Adapter\ItemAdapter->hydrate(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore))
#9 /home/patr5456/public_html/omkt/application/src/Api/Adapter/AbstractEntityAdapter.php(267): Omeka\Api\Adapter\AbstractEntityAdapter->hydrateEntity(Object(Omeka\Api\Request), Object(Omeka\Entity\Item), Object(Omeka\Stdlib\ErrorStore))
#10 /home/patr5456/public_html/omkt/application/src/Api/Manager.php(224): Omeka\Api\Adapter\AbstractEntityAdapter->create(Object(Omeka\Api\Request))
#11 /home/patr5456/public_html/omkt/application/src/Api/Manager.php(78): Omeka\Api\Manager->execute(Object(Omeka\Api\Request))
#12 /home/patr5456/public_html/omkt/application/src/Mvc/Controller/Plugin/Api.php(99): Omeka\Api\Manager->create(‘items’, Array, Array, Array)
#13 /home/patr5456/public_html/omkt/application/src/Controller/Admin/ItemController.php(204): Omeka\Mvc\Controller\Plugin\Api->create(‘items’, Array, Array)
#14 /home/patr5456/public_html/omkt/vendor/zendframework/zend-mvc/src/Controller/AbstractActionController.php(78): Omeka\Controller\Admin\ItemController->addAction()
#15 /home/patr5456/public_html/omkt/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#16 /home/patr5456/public_html/omkt/vendor/zendframework/zend-eventmanager/src/EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure))
#17 /home/patr5456/public_html/omkt/vendor/zendframework/zend-mvc/src/Controller/AbstractController.php(106): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent))
#18 /home/patr5456/public_html/omkt/vendor/zendframework/zend-mvc/src/DispatchListener.php(138): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response))
#19 /home/patr5456/public_html/omkt/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#20 /home/patr5456/public_html/omkt/vendor/zendframework/zend-eventmanager/src/EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure))
#21 /home/patr5456/public_html/omkt/vendor/zendframework/zend-mvc/src/Application.php(332): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent))
#22 /home/patr5456/public_html/omkt/index.php(21): Zend\Mvc\Application->run()
#23 {main}

Does it change at all if you use a capital I there, “Imagick”?

I’m not sure what the difference might be, but I’m on Omeka S 1.2-alpha.2 and just installed ImageMagick and here is the Service Manager section of my config:

'service_manager' => [
        'aliases' => [
            'Omeka\File\Store' => 'Omeka\File\Store\Local',
            'Omeka\File\Thumbnailer' => 'Omeka\File\Thumbnailer\ImageMagick',
        ],
    ],

You’ll notice it uses ImageMagick instead of Imagick (or imagick).

1 Like

Yeah, ImageMagick is the “normal” option which uses the command-line ImageMagick convert command. Imagick uses the imagick PHP extension.

New trial

With config ( Capital I in Imagick ):
‘Omeka\File\Thumbnailer’ => ‘Omeka\File\Thumbnailer\Imagick’,
Error
Class ‘Omeka\File\Thumbnailer\ImagickPixel’ not found

Détails :
Error: Class ‘Omeka\File\Thumbnailer\ImagickPixel’ not found in /home/patr5456/public_html/omkt/application/src/File/Thumbnailer/Imagick.php:101
Stack trace:


With config :
‘Omeka\File\Thumbnailer’ => ‘Omeka\File\Thumbnailer\ImageMagick’,
NO ERROR MESSAGE , BUT NO THUMBNAILER

Should I try with the latest release OMK-S 1.2.0 ???

Please note that the problem is solved in version OMK-S 1.2.0 and the following settings in config file:

‘Omeka\File\Thumbnailer’ => ‘Omeka\File\Thumbnailer\Imagick’,

Thank you

Serge Normand

Hi Dear, please I need your help with ImageMagick configuration in Omeka-S 2.0.2.
I can`t upload images. This is the de ImageMagick directory in the server:
/var/www/html/omeka-s/application/src/File/Thumbnailer/Imagick.php
/var/www/html/omeka-s/application/src/Service/File/Thumbnailer/ImagickFactory.php

What should I modify and where?
In Omeka Classic it was possible to set the ImageMagick directory in the settings, but I can´t see that in Omeka-S.

Thank you in advance