4

We have a couple of extensions (e.g. CiviSEPA) that are approved for automated distribution. This means, users should be able to download and install the extension from the CiviCRM menu.

We uploaded the extensions as *.tar.gz files - which works fine if we install the extension manually.However, CiviCRM seems to expect *.zip files when installing from the menu - users reported an error (see screenshot).

Hence my question: Can CiviCRM's automated distribution handle *.tar.gz files? And/or is anyone familiar with the error message?

--> If it can't, it should probably not be possible to upload *.tar.gz files.!

PS: I am aware that we could create a git tag and let the autoreleaser script on civicrm.org do its thing - however this is currently not an option.

error message

5

No, it does not support tar.gz files -- it only supports zip files.

The relevant logic is in CRM_Extension_Downloader. Note that checkRequirements() and extractFiles() are written to use PHP's ZipArchive.

Update: Another tip. You may want to test that a given file can be downloaded+extracted correctly, but that usually requires publishing a new release (which means that you have publish something untested... oops). To test the download+extract steps before publishing the release, you can do something like this:

  • Create the zip file and determine its URL.
  • Run drush cvapi extension.download key=org.example.myext url=http://example.org/myext-test.zip
  • Thanks for the quick answer - we will change our existing extensions. It may make a lot of sense though to limit the file formats you can upload on the "submit an extension page" to *.zip files. – Fabian Jun 16 '15 at 7:13
  • There's no file upload there, just a textfield for a link to your own file. Potentially we could use regex on the link to ensure it ends with .zip? Maybe there's a module for that? – Coleman Jun 16 '15 at 14:57
  • @Coleman based on the fact that extensions are nodes on the Civi site: drupal.org/project/rfv should work. – HomoTechsual May 10 '18 at 17:20

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.