Having installed a site with the latest versions of Drupal8 and CiviCRM, I connected it to a shared CiviCRM database.
- I followed the "full manual process" of David Snopek to successfully install Drupal 8.6.4 & CiviCRM 5.8.2 !
- Then I used the advices of Jon G. on how to separate the Drupal 8 database from my CiviCRM database.
These were great positive steps but very fast, I run into issues concerning the Navigation and several Extensions.
Concerning the Navigation issue the menu items are shown in a wrong alignement and they are not clicable.
The Shoreditch extension is ON but it could not not seen in the CiviCRM settings for the Resource URLs (civicrm/admin/setting/url?reset=1). I manually did set the path.
On one page there is a missing image with this warning : "civicrm Forbidden You don't have permission to access /vendor/civicrm/civicrm-core/i/Inform.gif on this server." Can this be a clue ?
Concerning the Extensions, most of them works fine, like on the Drupal7 sites sharing the same CiviCRM 5.8.2 database. The most troublesome extension is the API v4(org.civicrm.api4) that handle the Contact Layout Editor (org.civicrm.contactlayout). This extension break the CiviCRM site : The website encountered an unexpected error. Please try again later. The Drupal8 is still OK and gave this error message :
Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: Unable to parse file "PATH/sites/default/files/civicrm/ext/org.civicrm.api4/services.xml". in Symfony\Component\DependencyInjection\Loader\XmlFileLoader->parseFileToDOM() (line 386 of PATH/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php).
Another point is there no Views integration settings in the Settings - Drupal Integration
Thanks for any help ;-)
EDIT (pasted from comment)
Thank you very much Jon,
This clarify the question about the position of the vendor file. Your point of view make great sense. It seems to be a more clean organisation and for the security reasons that you mentioned also, I do agree.
So I will then withdraw from this direction where vendor was webroot-accessible to go forward with symlinking the vendor directory into the webroot. But when I follow the process, and at the very beginning of your Drupal 8/CiviCRM notes, with the Civi 5.8.2 there is an Error : our requirements could not be resolved to an installable set of packages. I do not recall this error when I use the (a) method (vendor in the webroot).
But when I follow the process, and at the very beginning of your Drupal 8/CiviCRM notes, with the Civi 5.8.2 there is an Error : our requirements could not be resolved to an installable set of packages. I do not recall this error when I use the (a) method (vendor in the webroot).
But when I follow the process, and at the very beginning of your Drupal 8/CiviCRM notes, with the Civi 5.8.2 there is an Error : our requirements could not be resolved to an installable set of packages. I do not recall this error when I use the (a) method (vendor in the webroot).
Problem 1 - civicrm/civicrm-core 5.8.2 requires civicrm/civicrm-cxn-rpc ~0.17.07.01 -> satisfiable by civicrm/civicrm-cxn-rpc[v0.17.07.01]. - Installation request for civicrm/civicrm-core 5.8.2 -> satisfiable by civicrm/civicrm-core[5.8.2]. - Conclusion: remove psr/log 1.1.0 - Conclusion: don't install psr/log 1.1.0 - civicrm/civicrm-cxn-rpc v0.17.07.01 requires psr/log ~1.0.0 -> satisfiable by psr/log[1.0.0, 1.0.1, 1.0.2]. - Can only install one of: psr/log[1.0.0, 1.1.0]. - Can only install one of: psr/log[1.0.1, 1.1.0]. - Can only install one of: psr/log[1.0.2, 1.1.0]. - Installation request for psr/log (locked at 1.1.0) -> satisfiable by psr/log[1.1.0]. Installation failed, reverting ./composer.json to its original content.
Is this a setting only that I can change in the json file of the Composer ? Can I change the composer repository to access to the Civi 9-beta ? In case, of course, that the Civi 9.0 handle civicrm/civicrm-cxn-rpc ~0.17.07.01. is handled now.
==> EDIT #2
After the several advices of Jon (Thanks a lot ;-) I could complete the install of CiviCRM 5.8.2 which is now OK with Drupal 8.6.4 !
- Install Drupal
composer create-project drupal-composer/drupal-project:8.x-dev --no-dev
- Follow Jon G. CiviCRM for Drupal 8 installation notes
- If the Installation failed (at the initial stage following the David Snopek instructions) with the version psr/log 1.1.0 being too new for CiviCRM, then force with Composer to an earlier version =>
composer require psr/log 1.0.0
- After that restart and complete the Installation
- After adding the recommended lines to civicrm.settings.php, CiviCRM works with the right menu ;-)
- Now the difficult part : connect to the external CiviCRM database. After disabling a few extensions I could make all the system work ! After the few extensions discussed with Jon ( Shoreditch, APIv4 & Contact Layout Editor because it depends on this one) I noticed another trouble with the General Data Protection Regulation extension by (uk.co.vedaconsulting.gdpr). The contact page was white. After disabling the GDPR extension, CiviCRM is now connected to the external database ;-)
Thank you so much David Snopek for your work and Jon G. for your great help !