Message Error Omeka Storage Exception

Hi there, All of a sudden I’m getting an Error Storage Exception Message when I try to upload files. I presumed maybe that I’d run out of disc space but I seem to have plenty left when I checked with the host. I wonder if you can help?
thanks,
Greg

Can you share more of the error message? It should say more than just that it’s a storage error, there should be some details included.

Hi John, It says:

Omeka_Storage_Exception: Unable to store file. in /home/huarchiv/public_html/application/libraries/Omeka/Storage/Adapter/Filesystem.php:130
Stack trace:
#0 /home/huarchiv/public_html/application/libraries/Omeka/Storage.php(67): Omeka_Storage_Adapter_Filesystem->store(‘/tmp/968e90cc01…’, ‘original/968e90…’)
#1 /home/huarchiv/public_html/application/models/File.php(428): Omeka_Storage->__call(‘store’, Array)
#2 /home/huarchiv/public_html/application/models/Job/FileProcessUpload.php(23): File->storeFiles()
#3 /home/huarchiv/public_html/application/libraries/Omeka/Job/Dispatcher/Adapter/Synchronous.php(25): Job_FileProcessUpload->perform()
#4 /home/huarchiv/public_html/application/libraries/Omeka/Job/Dispatcher/Default.php(137): Omeka_Job_Dispatcher_Adapter_Synchronous->send(‘{“className”:"J…’, Array)
#5 /home/huarchiv/public_html/application/models/File.php(205): Omeka_Job_Dispatcher_Default->send(‘Job_FileProcess…’, Array)
#6 /home/huarchiv/public_html/application/libraries/Omeka/Record/AbstractRecord.php(281): File->afterSave(Array)
#7 /home/huarchiv/public_html/application/libraries/Omeka/Record/AbstractRecord.php(549): Omeka_Record_AbstractRecord->runCallbacks(‘afterSave’, Array)
#8 /home/huarchiv/public_html/application/models/Item.php(338): Omeka_Record_AbstractRecord->save()
#9 /home/huarchiv/public_html/application/models/Builder/Item.php(205): Item->saveFiles()
#10 /home/huarchiv/public_html/application/libraries/globals.php(567): Builder_Item->addFiles(‘Upload’, ‘file’, Array)
#11 /home/huarchiv/public_html/application/models/Item.php(323): insert_files_for_item(Object(Item), ‘Upload’, ‘file’, Array)
#12 /home/huarchiv/public_html/application/models/Item.php(233): Item->_uploadFiles()
#13 /home/huarchiv/public_html/application/libraries/Omeka/Record/AbstractRecord.php(281): Item->beforeSave(Array)
#14 /home/huarchiv/public_html/application/libraries/Omeka/Record/AbstractRecord.php(530): Omeka_Record_AbstractRecord->runCallbacks(‘beforeSave’, Array)
#15 /home/huarchiv/public_html/application/libraries/Omeka/Controller/AbstractActionController.php(245): Omeka_Record_AbstractRecord->save(false)
#16 /home/huarchiv/public_html/application/controllers/ItemsController.php(88): Omeka_Controller_AbstractActionController->editAction()
#17 /home/huarchiv/public_html/application/libraries/Zend/Controller/Action.php(516): ItemsController->editAction()
#18 /home/huarchiv/public_html/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch(‘editAction’)
#19 /home/huarchiv/public_html/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#20 /home/huarchiv/public_html/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(106): Zend_Controller_Front->dispatch()
#21 /home/huarchiv/public_html/application/libraries/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#22 /home/huarchiv/public_html/application/libraries/Omeka/Application.php(73): Zend_Application->run()
#23 /home/huarchiv/public_html/admin/index.php(28): Omeka_Application->run()
#24 {main}

So, the usual culprits are disk space or an issue with the permissions on the files directory and/or its subdirectories.

Out of curiosity, where is your site hosted?

The site is hosted by fastcomet. I did notice that on the control panel the public html file space indicator seemed to be full but the disc space indicator said there was plenty left. Is this something that would cause it do you think? Can the public htlm space be increased if that is causing it if I contact fastcomet? I’m not well up on this. Ta again for your help.

Yeah, if you’re out of “public html” room that probably would cause this problem. You’d have to check with your host on what your options are for increasing that space (or think about removing some files if that’s a possibility for you).

I gave Fastcomet a shout and they said ‘The error is indeed related to the Omeka Storage Exception setting in the config file of the website. Unfortunately, the further configuration requires a more advanced development knowledge which is out of our scope of reach.’

I wonder if there 's anyone around here that could help?
thanks,
Greg

If the panel says you’re out of room you’re probably just out of room. There isn’t really configuration to do in an interesting way on the Omeka side here: it just moves files into the files folder using the normal PHP functions for doing so.

A simple test to see if it’s a space issue would be to delete a file or two, then see if you can upload any.

I deleted about three magazines, about 60 odd files, but it still won’t let me upload a single new one, so many it’s not a space issue after all?

OK.

What version of Omeka Classic are you using? There’s just one configuration setting I can think of that may be relevant here. You need to be using Omeka Classic 2.8 or newer to use it.

If you’re using 2.8 or newer, the change you’d need to make is: add the following line to the file application/config/config.ini:

storage.adapterOptions.useCopy = true

Thanks John. I’m using 3.2.1. I’ll try than on Monday when I’m in the office as I can’t get into the control panel at home as the verification code the host sends goes elsewhere. Thanks again for your help and I’ll let you know how I get on then.

Hi John,
Thanks for that. It works! Much appreciated. What was up with it? Ta again.
best,
Greg

So, this setting is needed for specific server setups where the temporary folder where Omeka stores files when working on them is on a different filesystem than the final destination of the “files” folder inside the Omeka install, and the filesystem doesn’t allow some operations.

Omeka uses the function “rename” to move files from one location to the other, but if they’re on different filesystems, PHP internally actually does several steps of copying the file and doing some more steps to simulate a move/rename. If any of those steps fail, the rename gets reported as a failure and you get the “Unable to store file” message.