The CLI-based install works on Drupal/Backdrop, but the web-based doesn't.
Why: The old civicrm/install (on Drupal/Backdrop) follows a slightly different protocol than civicrm-setup. Compare these protocols:
Old (Drupal/Backdrop): Navigate to sites/all/modules/civicrm/install/index.php?installType=XYZ. This script displays a web UI, installs Civi, boots the CMS, and activates the module. However, this means that the installer is responsible for booting the CMS.
Old (WP): Activate the civicrm.php plugin. Show a link for the installer (page=civicrm-installer). In this case, the CMS does its normal booting/lifecycle, and the install UI is just a regular page.
civicrm-setup is closer to the WP protocol for two reasons: (1) it's better -- it reduces our responsibility for bootstrap and ensures that all CMS services are available throughout installation and (2) it's convenient -- our initial go-live scenario was for WP.
How:
civicrm.module needs to fail more gracefully. In particular: if you activate civicrm.module without a pre-existing civicrm.settings.php or civicrm_*, the site should still work, and it should display a status message with a link to the install screen.
At time of writing, my local D7 build produces random errors if you activate civicrm.module without having a civicrm.settings.php file.
The CLI-based install works on Drupal/Backdrop, but the web-based doesn't.
Why: The old
civicrm/install
(on Drupal/Backdrop) follows a slightly different protocol thancivicrm-setup
. Compare these protocols:sites/all/modules/civicrm/install/index.php?installType=XYZ
. This script displays a web UI, installs Civi, boots the CMS, and activates the module. However, this means that the installer is responsible for booting the CMS.civicrm.php
plugin. Show a link for the installer (page=civicrm-installer
). In this case, the CMS does its normal booting/lifecycle, and the install UI is just a regular page.civicrm-setup
is closer to the WP protocol for two reasons: (1) it's better -- it reduces our responsibility for bootstrap and ensures that all CMS services are available throughout installation and (2) it's convenient -- our initial go-live scenario was for WP.How:
civicrm.module
needs to fail more gracefully. In particular: if you activatecivicrm.module
without a pre-existingcivicrm.settings.php
orcivicrm_*
, the site should still work, and it should display a status message with a link to the install screen.At time of writing, my local D7 build produces random errors if you activate
civicrm.module
without having acivicrm.settings.php
file.