Unable to install CSVImport 2.0.0 on Omeka S 1.4.0


I’m attempting to install the Omeka S CSVImport module. I did a git clone into the Module directories, then clicked the Install button from the admin panel. This worked for a few other modules. When I clicked the Install button, though, I got a server 500 error.

My apache server logs aren’t particularly useful:
x.x.x.x - - [19/Apr/2019:13:10:18 -0700] “GET /omeka-s/admin/module HTTP/1.1” 500 -

After deleting the folder from the modules/ directory, i was able to get the system back up and running, although the admin page now has just the following error with no way to delete the module:
“CSVImport version 2.0.0 Error: module in database but not in filesystem”

Is there a known compatibility with this module and 1.4.0, or is there an excepted way to enable more extensive error logging. (e.g., I could do this in PHP, but wonder if Omeka surfaces a faster solution. I’m a bit new to Omeka, but have some experience as a sysadmin working on LAMP apps.)

Thanks for any help!
Kevin Metcalf

This may be helpful. After tinkering with some configuration parameters, I see the following error is being generated:
PHP Fatal error: require_once(): Failed opening required ‘/var/www/html/omeka-s/modules/CSVImport/vendor/autoload.php’

I don’t see a vendor/ folder in this module, but the parent directory does have a vendor folder with an autoload.php in it.

Maybe I missed a configuration parameter somewhere?

CSV Import has dependencies that get installed with Composer: if you’re installing it from a Git checkout, you need to go into the modules/CSVImport folder and run composer install (and you’d have to have Composer as well).

If you install from a zip the dependencies are provided out of the box.

Ah! That makes a lot of sense.

I’m trying to build a deployment playbook in Ansible, so I’m having to bounce around a bit. I’ll get composer installed and see about running the composer install command from that directory as part of the ansible yml file.

Thanks for your help!

Awesome news - I got the playbook working fine. I needed the following three sections in my ansible yml playbook.

YML posted to close the loop in case someone needs google to scrape it later.

Thanks again for your help!

  • Kevin

  • name: Ensure php’s composer package is installed.
    gather_facts: false
    hosts: omekas-servers

    • name: Ensure a list of packages are installed.
      name: “{{ packages }}”

      • php-composer-installers
    • name: Module - CSVImport
      repo: ‘https://github.com/omeka-s-modules/CSVImport.git
      dest: /var/www/html/omeka-s/modules/CSVImport/
      clone: yes
      update: yes
      version: master

    • composer:
      command: install
      working_dir: /var/www/html/omeka-s/modules/CSVImport/